00001
00025 package org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer;
00026
00027 import javax.wsdl.Service;
00028
00029 import org.apache.axis.wsdl.symbolTable.ServiceEntry;
00030 import org.apache.axis.wsdl.symbolTable.SymbolTable;
00031 import org.apache.axis.wsdl.toJava.Emitter;
00032 import org.apache.axis.wsdl.toJava.JavaServiceWriter;
00033
00034 import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.emitter.JOnASWSEmitter;
00035
00040 public class JOnASEWSServiceWriter extends JavaServiceWriter {
00041
00048 public JOnASEWSServiceWriter(Emitter emitter, Service service, SymbolTable symbolTable) {
00049 super(emitter, service, symbolTable);
00050 ServiceEntry sEntry = symbolTable.getServiceEntry(service.getQName());
00051
00052 if (sEntry.isReferenced()) {
00053 serviceIfaceWriter = null;
00054
00055
00056
00057 if (emitter instanceof JOnASWSEmitter) {
00058 ClassLoader cl = ((JOnASWSEmitter) emitter).getClassLoader();
00059 String className = sEntry.getName();
00060 try {
00061 cl.loadClass(className);
00062 } catch (ClassNotFoundException cnfe) {
00063
00064 serviceIfaceWriter = new JOnASEWSServiceIntfWriter(emitter, sEntry, symbolTable);
00065 }
00066 }
00067
00068
00069 serviceImplWriter = new JOnASEWSServiceImplWriter(emitter, sEntry, symbolTable);
00070 }
00071 }
00072
00073 }