JOnASEWSServiceWriter.java

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             // Write service interface if :
00055             //    - class is not available
00056             //    - emitter is not a J2eeEmitter (for backward compliance)
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                     // class not available, generate it
00064                     serviceIfaceWriter = new JOnASEWSServiceIntfWriter(emitter, sEntry, symbolTable);
00065                 }
00066             }
00067 
00068             // overwrite Axis Writer
00069             serviceImplWriter = new JOnASEWSServiceImplWriter(emitter, sEntry, symbolTable);
00070         }
00071     } // ctor
00072 
00073 } // class JOnASServiceWriter

Generated on Tue Feb 15 15:06:02 2005 for JOnAS by  doxygen 1.3.9.1