00001
00025 package org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.factory;
00026
00027 import javax.wsdl.Binding;
00028 import javax.wsdl.Definition;
00029 import javax.wsdl.PortType;
00030 import javax.wsdl.Service;
00031
00032 import org.apache.axis.wsdl.gen.Generator;
00033 import org.apache.axis.wsdl.gen.NoopGenerator;
00034 import org.apache.axis.wsdl.symbolTable.BindingEntry;
00035 import org.apache.axis.wsdl.symbolTable.ServiceEntry;
00036 import org.apache.axis.wsdl.symbolTable.SymbolTable;
00037 import org.apache.axis.wsdl.symbolTable.TypeEntry;
00038 import org.apache.geronimo.ews.jaxrpcmapping.J2eeGeneratorFactory;
00039
00040 import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.J2EEClientDeployWriter;
00041 import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.JOnASEWSBindingWriter;
00042 import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.JOnASEWSServiceWriter;
00043 import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.JOnASTypeWriter;
00044
00049 public class JOnASClientGeneratorFactory extends J2eeGeneratorFactory {
00050
00054 protected void addDefinitionGenerators() {
00055
00056
00057
00058
00059 addGenerator(Definition.class, J2EEClientDeployWriter.class);
00060 }
00061
00068 public Generator getGenerator(Service service, SymbolTable symbolTable) {
00069 Generator writer = new JOnASEWSServiceWriter(emitter, service, symbolTable);
00070 ServiceEntry sEntry = symbolTable.getServiceEntry(service.getQName());
00071 serviceWriters.addStuff(writer, sEntry, symbolTable);
00072 return serviceWriters;
00073 }
00074
00081 public Generator getGenerator(Binding binding, SymbolTable symbolTable) {
00082 Generator writer = new JOnASEWSBindingWriter(emitter, binding, symbolTable);
00083 BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
00084 bindingWriters.addStuff(writer, bEntry, symbolTable);
00085 return bindingWriters;
00086 }
00087
00094 public Generator getGenerator(PortType portType, SymbolTable symbolTable) {
00095 return new NoopGenerator();
00096 }
00097
00103 public Generator getGenerator(TypeEntry type, SymbolTable symbolTable) {
00104 Generator writer = new JOnASTypeWriter(emitter, type, symbolTable);
00105 typeWriters.addStuff(writer, type, symbolTable);
00106 return typeWriters;
00107 }
00108 }