01: /**
02: * JOnAS : Java(TM) OpenSource Application Server
03: * Copyright (C) 2004 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * --------------------------------------------------------------------------
22: * $Id: JOnASEndpointGeneratorFactory.java 7560 2005-10-21 13:50:04Z sauthieg $
23: * --------------------------------------------------------------------------
24: */package org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.factory;
25:
26: import javax.wsdl.Binding;
27: import javax.wsdl.Definition;
28: import javax.wsdl.PortType;
29: import javax.wsdl.Service;
30:
31: import org.apache.axis.wsdl.gen.Generator;
32: import org.apache.axis.wsdl.gen.NoopGenerator;
33: import org.apache.axis.wsdl.symbolTable.SymbolTable;
34: import org.apache.axis.wsdl.symbolTable.TypeEntry;
35: import org.apache.ws.ews.mapper.J2eeGeneratorFactory;
36:
37: import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.J2EEServerDeployWriter;
38: import org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer.JOnASTypeWriter;
39:
40: /**
41: * JOnAS extension of the EWS J2EEGeneratorFactory that handles the jaxrpc mapping file.
42: * It only writes the deploy-server.wsdd ...
43: * @author Guillaume Sauthier
44: */
45: public class JOnASEndpointGeneratorFactory extends J2eeGeneratorFactory {
46:
47: /**
48: * @see org.apache.geronimo.ews.jaxrpcmapping.J2eeGeneratorFactory#addDefinitionGenerators()
49: */
50: protected void addDefinitionGenerators() {
51: addGenerator(Definition.class, J2EEServerDeployWriter.class); // for deploy.wsdd
52: }
53:
54: /**
55: * Since this Generator doesn't output anything else than deploy-server.wsdd, other generator are NoopGenerator.
56: * @see org.apache.axis.wsdl.gen.GeneratorFactory#getGenerator(javax.wsdl.Binding, org.apache.axis.wsdl.symbolTable.SymbolTable)
57: */
58: public Generator getGenerator(Binding binding,
59: SymbolTable symbolTable) {
60: return new NoopGenerator();
61: }
62:
63: /**
64: * Since this Generator doesn't output anything else than deploy-server.wsdd, other generator are NoopGenerator.
65: * @see org.apache.axis.wsdl.gen.GeneratorFactory#getGenerator(javax.wsdl.PortType, org.apache.axis.wsdl.symbolTable.SymbolTable)
66: */
67: public Generator getGenerator(PortType portType,
68: SymbolTable symbolTable) {
69: return new NoopGenerator();
70: }
71:
72: /**
73: * Since this Generator doesn't output anything else than deploy-server.wsdd, other generator are NoopGenerator.
74: * @see org.apache.axis.wsdl.gen.GeneratorFactory#getGenerator(javax.wsdl.Service, org.apache.axis.wsdl.symbolTable.SymbolTable)
75: */
76: public Generator getGenerator(Service service,
77: SymbolTable symbolTable) {
78: return new NoopGenerator();
79: }
80:
81: /**
82: * Use the JOnASTypeWriter instead of default JavaTypeWriter
83: * @see org.apache.axis.wsdl.gen.GeneratorFactory#getGenerator(org.apache.axis.wsdl.symbolTable.TypeEntry, org.apache.axis.wsdl.symbolTable.SymbolTable)
84: */
85: public Generator getGenerator(TypeEntry type,
86: SymbolTable symbolTable) {
87: Generator writer = new JOnASTypeWriter(emitter, type,
88: symbolTable);
89: typeWriters.addStuff(writer, type, symbolTable);
90: return typeWriters;
91: }
92: }
|