You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ews-dev@ws.apache.org by gu...@apache.org on 2005/08/08 14:42:47 UTC
svn commit: r230793 [8/12] - in /webservices/ews/trunk/ws4j2ee: ./ docs/
docs/images/ docs/src/ samples/ samples/clients/ samples/ejb/
samples/ejb/bookquote/ samples/ejb/bookquote/META-INF/
samples/ejb/bookquote/com/ samples/ejb/bookquote/com/jwsbook/ ...
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeProperties.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeProperties.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeProperties.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeProperties.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Properties;
+
+/**
+ * @author hemapani@opensource.lk
+ */
+public class Ws4J2eeProperties {
+ private Properties properties;
+ /**
+ * these a properties of the files or dir
+ * they are checked are they really exists
+ */
+ private ArrayList properitesToCheck;
+
+ public Ws4J2eeProperties() {
+ properties = new Properties();
+ properitesToCheck = new ArrayList();
+ properitesToCheck.add(GenerationConstants.AXIS_WEBAPPS_LIB);
+ properitesToCheck.add(GenerationConstants.EJB_DEPLOY_DIR);
+ properitesToCheck.add(GenerationConstants.MAVEN_LOCAL_REPOSITARY);
+ loadProperties();
+ checkProperties();
+ }
+
+ public String getProperty(String key) {
+ return properties.getProperty(key);
+ }
+
+ private void checkProperties() {
+ for (int i = 0; i < properitesToCheck.size(); i++) {
+ String key = (String) properitesToCheck.get(i);
+ String value = properties.getProperty(key);
+ if (value != null) {
+ File file = new File(value);
+ if (!file.exists()) {
+ properties.remove(key);
+ }
+ }
+ }
+ }
+
+ private void loadProperties() {
+ InputStream proIn = null;
+ proIn = GenerationConstants.class.getResourceAsStream(GenerationConstants.WS4J2EE_PROPERTY_FILE);
+ try {
+ if (proIn == null) {
+ File file = new File("conf/" + GenerationConstants.WS4J2EE_PROPERTY_FILE);
+ if (file.exists()) {
+ proIn = new FileInputStream(file);
+ }
+ }
+ if (proIn == null) {
+ proIn = GenerationConstants.class.getResourceAsStream("META-INF/" + GenerationConstants.WS4J2EE_PROPERTY_FILE);
+ }
+ if (proIn == null) {
+ proIn = new FileInputStream(GenerationConstants.WS4J2EE_PROPERTY_FILE);
+ }
+ if (proIn != null) {
+ properties.load(proIn);
+ }
+ } catch (Exception e) {
+ throw new UnrecoverableGenerationFault(e);
+ }
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeServerCLOptionParser.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeServerCLOptionParser.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeServerCLOptionParser.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/Ws4J2eeServerCLOptionParser.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,739 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs;
+
+import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
+import org.apache.axis.encoding.DefaultTypeMappingImpl;
+import org.apache.axis.i18n.Messages;
+import org.apache.axis.utils.CLArgsParser;
+import org.apache.axis.utils.CLOption;
+import org.apache.axis.utils.CLOptionDescriptor;
+import org.apache.axis.utils.CLUtil;
+import org.apache.axis.utils.ClassUtils;
+import org.apache.axis.wsdl.fromJava.Emitter;
+import org.apache.geronimo.ews.ws4j2ee.module.Module;
+import org.apache.geronimo.ews.ws4j2ee.module.ModuleFactory;
+import org.apache.axis.encoding.TypeMappingRegistryImpl;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author hemapani
+ */
+public class Ws4J2eeServerCLOptionParser implements Ws4J2eeDeployContext {
+ private Module module;
+ private String outPutLocation;
+ private String moduleLocation = null;
+ private String implStyle = GenerationConstants.USE_LOCAL_AND_REMOTE;
+ private String container = GenerationConstants.JBOSS_CONTAINER;
+
+ private String[] args;
+ private int indexToChange = -1;
+
+ /**
+ * @return
+ */
+ public String getOutPutLocation() {
+ return outPutLocation;
+ }
+
+ /**
+ * @param string
+ */
+ public void setOutPutLocation(String string) {
+ outPutLocation = string;
+ }
+ ///////////////////////////////////////////////////////////////////
+// Define our short one-letter option identifiers.
+
+ /**
+ * Field INHERITED_CLASS_OPT
+ */
+ protected static final int INHERITED_CLASS_OPT = 'a';
+
+ /**
+ * Field SOAPACTION_OPT
+ */
+ protected static final int SOAPACTION_OPT = 'A';
+
+ /**
+ * Field BINDING_NAME_OPT
+ */
+ protected static final int BINDING_NAME_OPT = 'b';
+
+ /**
+ * Field STOP_CLASSES_OPT
+ */
+ protected static final int STOP_CLASSES_OPT = 'c';
+
+ /**
+ * Field IMPORT_SCHEMA_OPT
+ */
+ protected static final int IMPORT_SCHEMA_OPT = 'C';
+
+ /**
+ * Field EXTRA_CLASSES_OPT
+ */
+ protected static final int EXTRA_CLASSES_OPT = 'e';
+
+ /**
+ * Field HELP_OPT
+ */
+ protected static final int HELP_OPT = 'h';
+
+ /**
+ * Field IMPL_CLASS_OPT
+ */
+ protected static final int IMPL_CLASS_OPT = 'i';
+
+ /**
+ * Field INPUT_OPT
+ */
+ protected static final int INPUT_OPT = 'I';
+
+ /**
+ * Field LOCATION_OPT
+ */
+ protected static final int LOCATION_OPT = 'l';
+
+ /**
+ * Field LOCATION_IMPORT_OPT
+ */
+ protected static final int LOCATION_IMPORT_OPT = 'L';
+
+ /**
+ * Field METHODS_ALLOWED_OPT
+ */
+ protected static final int METHODS_ALLOWED_OPT = 'm';
+
+ /**
+ * Field NAMESPACE_OPT
+ */
+ protected static final int NAMESPACE_OPT = 'n';
+
+ /**
+ * Field NAMESPACE_IMPL_OPT
+ */
+ protected static final int NAMESPACE_IMPL_OPT = 'N';
+
+ /**
+ * Field OUTPUT_OPT
+ */
+ protected static final int OUTPUT_OPT = 'o';
+
+ /**
+ * Field OUTPUT_IMPL_OPT
+ */
+ protected static final int OUTPUT_IMPL_OPT = 'O';
+
+ /**
+ * Field PACKAGE_OPT
+ */
+ protected static final int PACKAGE_OPT = 'p';
+
+ /**
+ * Field PORTTYPE_NAME_OPT
+ */
+ protected static final int PORTTYPE_NAME_OPT = 'P';
+
+ /**
+ * Field SERVICE_PORT_NAME_OPT
+ */
+ protected static final int SERVICE_PORT_NAME_OPT = 's';
+
+ /**
+ * Field SERVICE_ELEMENT_NAME_OPT
+ */
+ protected static final int SERVICE_ELEMENT_NAME_OPT = 'S';
+
+ /**
+ * Field TYPEMAPPING_OPT
+ */
+ protected static final int TYPEMAPPING_OPT = 'T';
+
+ /**
+ * Field USE_OPT
+ */
+ protected static final int USE_OPT = 'u';
+
+ /**
+ * Field OUTPUT_WSDL_MODE_OPT
+ */
+ protected static final int OUTPUT_WSDL_MODE_OPT = 'w';
+
+ /**
+ * Field METHODS_NOTALLOWED_OPT
+ */
+ protected static final int METHODS_NOTALLOWED_OPT = 'x';
+
+ protected static final int CLASSPATH_OPT = 'X';
+
+ /**
+ * Field STYLE_OPT
+ */
+ protected static final int STYLE_OPT = 'y';
+
+ protected static final int IMPL_STYLE_OPT = 'E';
+ protected static final int CONTAINER_OPT = 'J';
+
+ /**
+ * Define the understood options. Each CLOptionDescriptor contains:
+ * - The "long" version of the option. Eg, "help" means that "--help" will
+ * be recognised.
+ * - The option flags, governing the option's argument(s).
+ * - The "short" version of the option. Eg, 'h' means that "-h" will be
+ * recognised.
+ * - A description of the option for the usage message
+ */
+ protected CLOptionDescriptor[] options = new CLOptionDescriptor[]{
+ new CLOptionDescriptor("help", CLOptionDescriptor.ARGUMENT_DISALLOWED,
+ HELP_OPT, Messages.getMessage("j2wopthelp00")),
+ new CLOptionDescriptor("input", CLOptionDescriptor.ARGUMENT_REQUIRED,
+ INPUT_OPT, Messages.getMessage("j2woptinput00")),
+ new CLOptionDescriptor("output", CLOptionDescriptor.ARGUMENT_REQUIRED,
+ OUTPUT_OPT,
+ Messages.getMessage("j2woptoutput00")),
+ new CLOptionDescriptor("location",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ LOCATION_OPT,
+ Messages.getMessage("j2woptlocation00")),
+ new CLOptionDescriptor("portTypeName",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ PORTTYPE_NAME_OPT,
+ Messages.getMessage("j2woptportTypeName00")),
+ new CLOptionDescriptor("bindingName",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ BINDING_NAME_OPT,
+ Messages.getMessage("j2woptbindingName00")),
+ new CLOptionDescriptor("serviceElementName", CLOptionDescriptor.ARGUMENT_REQUIRED,
+ SERVICE_ELEMENT_NAME_OPT,
+ Messages.getMessage("j2woptserviceElementName00")),
+ new CLOptionDescriptor("servicePortName",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ SERVICE_PORT_NAME_OPT,
+ Messages.getMessage("j2woptservicePortName00")),
+ new CLOptionDescriptor("namespace",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ NAMESPACE_OPT,
+ Messages.getMessage("j2woptnamespace00")),
+ new CLOptionDescriptor("PkgtoNS",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ + CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
+ PACKAGE_OPT,
+ Messages.getMessage("j2woptPkgtoNS00")),
+ new CLOptionDescriptor("methods",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ + CLOptionDescriptor.ARGUMENT_REQUIRED,
+ METHODS_ALLOWED_OPT,
+ Messages.getMessage("j2woptmethods00")),
+ new CLOptionDescriptor("all", CLOptionDescriptor.ARGUMENT_DISALLOWED,
+ INHERITED_CLASS_OPT,
+ Messages.getMessage("j2woptall00")),
+ new CLOptionDescriptor("outputWsdlMode",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ OUTPUT_WSDL_MODE_OPT,
+ Messages.getMessage("j2woptoutputWsdlMode00")),
+ new CLOptionDescriptor("locationImport",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ LOCATION_IMPORT_OPT,
+ Messages.getMessage("j2woptlocationImport00")),
+ new CLOptionDescriptor("namespaceImpl",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ NAMESPACE_IMPL_OPT,
+ Messages.getMessage("j2woptnamespaceImpl00")),
+ new CLOptionDescriptor("outputImpl",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ OUTPUT_IMPL_OPT,
+ Messages.getMessage("j2woptoutputImpl00")),
+ new CLOptionDescriptor("implClass",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ IMPL_CLASS_OPT,
+ Messages.getMessage("j2woptimplClass00")),
+ new CLOptionDescriptor("exclude",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ + CLOptionDescriptor.ARGUMENT_REQUIRED,
+ METHODS_NOTALLOWED_OPT,
+ Messages.getMessage("j2woptexclude00")),
+ new CLOptionDescriptor("stopClasses",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ + CLOptionDescriptor.ARGUMENT_REQUIRED,
+ STOP_CLASSES_OPT,
+ Messages.getMessage("j2woptstopClass00")),
+ new CLOptionDescriptor("typeMappingVersion",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ TYPEMAPPING_OPT,
+ Messages.getMessage("j2wopttypeMapping00")),
+ new CLOptionDescriptor("soapAction",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ SOAPACTION_OPT,
+ Messages.getMessage("j2woptsoapAction00")),
+ new CLOptionDescriptor("style", CLOptionDescriptor.ARGUMENT_REQUIRED,
+ STYLE_OPT, Messages.getMessage("j2woptStyle00")),
+ new CLOptionDescriptor("use", CLOptionDescriptor.ARGUMENT_REQUIRED,
+ USE_OPT, Messages.getMessage("j2woptUse00")),
+ new CLOptionDescriptor("extraClasses",
+ CLOptionDescriptor.DUPLICATES_ALLOWED
+ + CLOptionDescriptor.ARGUMENT_REQUIRED,
+ EXTRA_CLASSES_OPT,
+ Messages.getMessage("j2woptExtraClasses00")),
+ new CLOptionDescriptor("importSchema",
+ CLOptionDescriptor.ARGUMENT_OPTIONAL,
+ IMPORT_SCHEMA_OPT,
+ Messages.getMessage("j2woptImportSchema00")),
+ new CLOptionDescriptor("classpath",
+ CLOptionDescriptor.ARGUMENT_OPTIONAL,
+ CLASSPATH_OPT,
+ Messages.getMessage("optionClasspath")),
+ new CLOptionDescriptor("implStyle",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ IMPL_STYLE_OPT,
+ "impelemtation Style"),
+ new CLOptionDescriptor("container",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ CONTAINER_OPT,
+ "the J2EE contianer")
+ };
+
+ /**
+ * Field emitter
+ */
+ protected Emitter emitter;
+
+ /**
+ * Field className
+ */
+ protected String className = null;
+
+ /**
+ * Field wsdlFilename
+ */
+ protected String wsdlFilename = null;
+
+ /**
+ * Field wsdlImplFilename
+ */
+ protected String wsdlImplFilename = null;
+
+ /**
+ * Field namespaceMap
+ */
+ protected HashMap namespaceMap = new HashMap();
+
+ /**
+ * Field mode
+ */
+ protected int mode = Emitter.MODE_ALL;
+
+ /**
+ * Field locationSet
+ */
+ boolean locationSet = false;
+
+ /**
+ * Instantiate a Java2WSDL emitter.
+ */
+ public Ws4J2eeServerCLOptionParser(String[] args, Emitter emitter) {
+ this.emitter = emitter;
+ // Parse the arguments
+ CLArgsParser argsParser = new CLArgsParser(args, options);
+
+ // Print parser errors, if any
+ if (null != argsParser.getErrorString()) {
+ System.err.println(Messages.getMessage("j2werror00", argsParser.getErrorString()));
+ printUsage();
+ return;
+ }
+
+ // Get a list of parsed options
+ List clOptions = argsParser.getArguments();
+ int size = clOptions.size();
+ // Parse the options and configure the emitter as appropriate.
+ for (int i = 0; i < size; i++) {
+ if (parseOption((CLOption) clOptions.get(i)) == false) {
+ return;
+ }
+ }
+ module = ModuleFactory.createPackageModule(moduleLocation,new File(outPutLocation));
+
+ // validate argument combinations
+ if (validateOptions() == false) {
+ return;
+ }
+
+ // Set the namespace map
+ if (!namespaceMap.isEmpty()) {
+ emitter.setNamespaceMap(namespaceMap);
+ }
+ } // ctor
+
+ public Ws4J2eeServerCLOptionParser(Emitter emitter) {
+ this.emitter = emitter;
+ emitter.setLocationUrl("http://127.0.0.1");
+ }
+
+ /**
+ * addOptions
+ * Add option descriptions to the tool. Allows
+ * extended classes to add additional options.
+ *
+ * @param newOptions CLOptionDescriptor[] the options
+ */
+ protected void addOptions(CLOptionDescriptor[] newOptions) {
+ if ((newOptions != null) && (newOptions.length > 0)) {
+ CLOptionDescriptor[] allOptions =
+ new CLOptionDescriptor[options.length + newOptions.length];
+ System.arraycopy(options, 0, allOptions, 0, options.length);
+ System.arraycopy(newOptions, 0, allOptions, options.length,
+ newOptions.length);
+ options = allOptions;
+ }
+ }
+
+ /**
+ * Parse an option
+ *
+ * @param option CLOption is the option
+ * @return
+ */
+ protected boolean parseOption(CLOption option) {
+ String value;
+ boolean status = true;
+ switch (option.getId()) {
+ case CLOption.TEXT_ARGUMENT:
+ if (moduleLocation != null) {
+ System.out.println(Messages.getMessage("j2wDuplicateClass00", className,
+ option.getArgument()));
+ printUsage();
+ status = false; // error
+ }
+ moduleLocation = option.getArgument();
+
+ break;
+ case METHODS_ALLOWED_OPT:
+ emitter.setAllowedMethods(option.getArgument());
+ break;
+ case INHERITED_CLASS_OPT:
+ emitter.setUseInheritedMethods(true);
+ break;
+ case IMPL_CLASS_OPT:
+ emitter.setImplCls(option.getArgument());
+ break;
+ case HELP_OPT:
+ printUsage();
+ status = false;
+ break;
+ case OUTPUT_WSDL_MODE_OPT:
+ String modeArg = option.getArgument();
+ if ("All".equalsIgnoreCase(modeArg)) {
+ mode = Emitter.MODE_ALL;
+ } else if ("Interface".equalsIgnoreCase(modeArg)) {
+ mode = Emitter.MODE_INTERFACE;
+ } else if ("Implementation".equalsIgnoreCase(modeArg)) {
+ mode = Emitter.MODE_IMPLEMENTATION;
+ } else {
+ mode = Emitter.MODE_ALL;
+ System.err.println(Messages.getMessage("j2wmodeerror",
+ modeArg));
+ }
+ break;
+ case OUTPUT_OPT:
+ outPutLocation = option.getArgument();
+ wsdlFilename = option.getArgument();
+ break;
+ case INPUT_OPT:
+ emitter.setInputWSDL(option.getArgument());
+ break;
+ case OUTPUT_IMPL_OPT:
+ wsdlImplFilename = option.getArgument();
+ break;
+ case PACKAGE_OPT:
+ String packageName = option.getArgument(0);
+ String namespace = option.getArgument(1);
+ namespaceMap.put(packageName, namespace);
+ break;
+ case NAMESPACE_OPT:
+ emitter.setIntfNamespace(option.getArgument());
+ break;
+ case NAMESPACE_IMPL_OPT:
+ emitter.setImplNamespace(option.getArgument());
+ break;
+ case SERVICE_ELEMENT_NAME_OPT:
+ emitter.setServiceElementName(option.getArgument());
+ break;
+ case SERVICE_PORT_NAME_OPT:
+ emitter.setServicePortName(option.getArgument());
+ break;
+ case LOCATION_OPT:
+ emitter.setLocationUrl(option.getArgument());
+ locationSet = true;
+ break;
+ case LOCATION_IMPORT_OPT:
+ emitter.setImportUrl(option.getArgument());
+ break;
+ case METHODS_NOTALLOWED_OPT:
+ emitter.setDisallowedMethods(option.getArgument());
+ break;
+ case PORTTYPE_NAME_OPT:
+ emitter.setPortTypeName(option.getArgument());
+ break;
+ case BINDING_NAME_OPT:
+ emitter.setBindingName(option.getArgument());
+ break;
+ case STOP_CLASSES_OPT:
+ emitter.setStopClasses(option.getArgument());
+ break;
+ case TYPEMAPPING_OPT:
+ value = option.getArgument();
+ TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
+ tmr.doRegisterFromVersion(value);
+ emitter.setTypeMappingRegistry(tmr);
+ break;
+ case SOAPACTION_OPT:
+ value = option.getArgument();
+ if (value.equalsIgnoreCase("DEFAULT")) {
+ emitter.setSoapAction("DEFAULT");
+ } else if (value.equalsIgnoreCase("OPERATION")) {
+ emitter.setSoapAction("OPERATION");
+ } else if (value.equalsIgnoreCase("NONE")) {
+ emitter.setSoapAction("NONE");
+ } else {
+ System.out.println(Messages.getMessage("j2wBadSoapAction00"));
+ status = false;
+ }
+ break;
+ case STYLE_OPT:
+ value = option.getArgument();
+ if (value.equalsIgnoreCase("DOCUMENT")
+ || value.equalsIgnoreCase("RPC")
+ || value.equalsIgnoreCase("WRAPPED")) {
+ emitter.setStyle(value);
+ } else {
+ System.out.println(Messages.getMessage("j2woptBadStyle00"));
+ status = false;
+ }
+ break;
+ case USE_OPT:
+ value = option.getArgument();
+ if (value.equalsIgnoreCase("LITERAL")
+ || value.equalsIgnoreCase("ENCODED")) {
+ emitter.setUse(value);
+ } else {
+ System.out.println(Messages.getMessage("j2woptBadUse00"));
+ status = false;
+ }
+ break;
+ case EXTRA_CLASSES_OPT:
+ try {
+ emitter.setExtraClasses(option.getArgument());
+ } catch (ClassNotFoundException e) {
+ System.out.println(Messages.getMessage("j2woptBadClass00",
+ e.toString()));
+ status = false;
+ }
+ break;
+ case IMPORT_SCHEMA_OPT:
+ emitter.setInputSchema(option.getArgument());
+ break;
+ case CLASSPATH_OPT:
+ ClassUtils.setDefaultClassLoader(ClassUtils.createClassLoader(option.getArgument(),
+ this.getClass().getClassLoader()));
+ break;
+ case IMPL_STYLE_OPT:
+ this.implStyle = option.getArgument();
+ break;
+ case CONTAINER_OPT:
+ this.container = option.getArgument();
+ break;
+ default :
+ break;
+ }
+ return status;
+ }
+
+ /**
+ * validateOptions
+ * This method is invoked after the options are set to validate
+ * the option settings.
+ *
+ * @return
+ */
+ protected boolean validateOptions() {
+// // Can't proceed without a class name
+// if ((className == null)) {
+// System.out.println(Messages.getMessage("j2wMissingClass00"));
+// printUsage();
+//
+// return false;
+// }
+
+// if (!locationSet
+// && ((mode == Emitter.MODE_ALL)
+// || (mode == Emitter.MODE_IMPLEMENTATION))) {
+// System.out.println(Messages.getMessage("j2wMissingLocation00"));
+// printUsage();
+//
+// return false;
+// }
+
+ // Default to SOAP 1.2 JAX-RPC mapping
+ TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
+ tmr.doRegisterFromVersion("1.2");
+ emitter.setTypeMappingRegistry(tmr);
+ return true; // a-OK
+ }
+
+ /**
+ * printUsage
+ * print usage information and quit.
+ */
+ protected void printUsage() {
+ String lSep = System.getProperty("line.separator");
+ StringBuffer msg = new StringBuffer();
+ msg.append("Java2WSDL "
+ + Messages.getMessage("j2wemitter00")).append(lSep);
+ msg.append(Messages.getMessage("j2wusage00",
+ "java " + getClass().getName()
+ + " [options] class-of-portType")).append(lSep);
+ msg.append(Messages.getMessage("j2woptions00")).append(lSep);
+ msg.append(CLUtil.describeOptions(options).toString());
+ msg.append(Messages.getMessage("j2wdetails00")).append(lSep);
+ System.out.println(msg.toString());
+ }
+
+ /**
+ * @return
+ */
+ public String getWsdlFilename() {
+ return wsdlFilename;
+ }
+
+ /**
+ * @param string
+ */
+ public void setWsdlFilename(String string) {
+ wsdlFilename = string;
+ }
+
+ /**
+ * @return
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * @param string
+ */
+ public void setClassName(String string) {
+ className = string;
+ }
+
+ /**
+ * @return
+ */
+ public int getMode() {
+ return mode;
+ }
+
+ /**
+ * @return
+ */
+ public String getWsdlImplFilename() {
+ return wsdlImplFilename;
+ }
+
+ /**
+ * @param i
+ */
+ public void setMode(int i) {
+ mode = i;
+ }
+
+ /**
+ * @param string
+ */
+ public void setWsdlImplFilename(String string) {
+ wsdlImplFilename = string;
+ }
+
+ /**
+ * @return
+ */
+ public Module getModule() {
+ return module;
+ }
+
+ /**
+ * @return
+ */
+ public String getModuleLocation() {
+ return moduleLocation;
+ }
+
+ /**
+ * @param module
+ */
+ public void setModule(Module module) {
+ this.module = module;
+ }
+
+ /**
+ * @param string
+ */
+ public void setModuleLocation(String string) {
+ moduleLocation = string;
+ }
+
+ /**
+ * @return
+ */
+ public String getContanier() {
+ return container;
+ }
+
+ /**
+ * @return
+ */
+ public String getImplStyle() {
+ return implStyle;
+ }
+
+ /**
+ * @param string
+ */
+ public void setContanier(String string) {
+ container = string;
+ }
+
+ /**
+ * @param string
+ */
+ public void setImplStyle(String string) {
+ implStyle = string;
+ }
+
+ public boolean isCompile() {
+ return true;
+ }
+
+ public Map getProperties() {
+ return new HashMap();
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/J2EEContainerSpecificDDGenerator.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/J2EEContainerSpecificDDGenerator.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/J2EEContainerSpecificDDGenerator.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/J2EEContainerSpecificDDGenerator.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Generator;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Writer;
+import org.apache.geronimo.ews.ws4j2ee.toWs.dd.geronimo.GeronimoDDWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.dd.jboss.JBossDDWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.dd.jonas.JOnASDDWriter;
+
+/**
+ * @author Srinath perera(hemapani@opesnource.lk)
+ */
+public class J2EEContainerSpecificDDGenerator implements Generator {
+ private J2EEWebServiceContext j2eewscontext;
+ private Writer writer;
+ protected static Log log =
+ LogFactory.getLog(JaxrpcMapperGenerator.class.getName());
+
+ public J2EEContainerSpecificDDGenerator(J2EEWebServiceContext j2eewscontext) throws GenerationFault {
+ this.j2eewscontext = j2eewscontext;
+ if (GenerationConstants.JBOSS_CONTAINER.equals(j2eewscontext.getMiscInfo().getTargetJ2EEContainer()))
+ writer = new JBossDDWriter(j2eewscontext);
+ else if (GenerationConstants.JONAS_CONTAINER.equals(j2eewscontext.getMiscInfo().getTargetJ2EEContainer()))
+ writer = new JOnASDDWriter(j2eewscontext);
+ else if (GenerationConstants.GERONIMO_CONTAINER.equals(j2eewscontext.getMiscInfo().getTargetJ2EEContainer()))
+ writer = new GeronimoDDWriter(j2eewscontext);
+ else
+ new GenerationFault("unsupported j2ee container " + j2eewscontext.getMiscInfo().getTargetJ2EEContainer());
+ }
+
+ public void generate() throws GenerationFault {
+ if (writer != null)
+ writer.write();
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxRpcMappingFileWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxRpcMappingFileWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxRpcMappingFileWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxRpcMappingFileWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,253 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd;
+
+import org.apache.axis.encoding.SerializationContext;
+import org.apache.axis.wsdl.fromJava.Emitter;
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.UnrecoverableGenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Writer;
+import org.apache.geronimo.ews.ws4j2ee.utils.Utils;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Operation;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.xml.namespace.QName;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author Srinath Perera(hemapani@opensource.lk)
+ */
+public class JaxRpcMappingFileWriter implements Writer {
+ private SerializationContext sc;
+ private String ns = "http://java.sun.com/xml/ns/j2ee";
+ private Emitter emitter;
+ private J2EEWebServiceContext j2eewscontext;
+
+ public JaxRpcMappingFileWriter(java.io.Writer out,
+ Emitter emitter,
+ J2EEWebServiceContext j2eewscontext) {
+ if (out == null) {
+ throw new UnrecoverableGenerationFault(out + " The writer is null");
+ }
+ sc = new SerializationContext(out);
+ sc.setPretty(true);
+ this.emitter = emitter;
+ this.j2eewscontext = j2eewscontext;
+ }
+
+ private void writePackageMapping() throws IOException {
+ String jaxrpcsei = j2eewscontext.getMiscInfo().getJaxrpcSEI();
+ Map map = emitter.getNamespaceMap();
+ String val = null;
+ if (map != null) {
+ Iterator packages = map.keySet().iterator();
+ while (packages.hasNext()) {
+ String pkg = (String) packages.next();
+ if (pkg == null) {
+ //TODO this is temporrary work around to make sure
+ //the mapping is defined.
+ String pkgName = Utils.getPackageNameFromQuallifiedName(jaxrpcsei);
+ val = (String) map.get(pkgName);
+ if (val == null) {
+ val = Utils.javapkgToURI(pkgName);
+ } else {
+ continue;
+ }
+ } else if (pkg.equals(jaxrpcsei)) {
+ continue;
+ } else {
+ val = (String) map.get(pkg);
+ }
+ //TODO FIX this code to simplfy.
+ if (pkg != null) {
+ sc.startElement(new QName(ns, "package-mapping"), null);//package-mapping
+ sc.startElement(new QName(ns, "package-type"), null);
+ sc.writeString(pkg);
+ sc.endElement();
+ sc.startElement(new QName(ns, "namespaceURI"), null);
+ sc.writeString(val);
+ sc.endElement();
+ sc.endElement();//package-mapping
+ }
+ }
+ }
+ }
+
+ public void writeServiceMapping() throws IOException {
+ Service service = j2eewscontext.getWSDLContext().gettargetService().getService();
+ sc.startElement(new QName(ns, "service-interface-mapping"), null);//service-interface-mapping
+ String name = emitter.getCls().getName();
+ int index = name.lastIndexOf('.');
+ String packageName = "";
+ if (index > 0)
+ packageName = name.substring(0, index + 1);
+ sc.startElement(new QName(ns, "service-interface"), null);
+ sc.writeString(packageName + emitter.getServiceElementName());
+ sc.endElement();
+ sc.registerPrefixForURI("ns1", service.getQName().getNamespaceURI());
+ sc.startElement(new QName(ns, "wsdl-service-name"), null);
+ sc.writeString("ns1:" + service.getQName().getLocalPart());
+ sc.endElement();
+
+ //port mapping
+ Port wsdlport = j2eewscontext.getWSDLContext().getTargetPort();
+ sc.startElement(new QName(ns, "port-mapping"), null);//port-mapping
+ sc.startElement(new QName(ns, "port-name"), null);
+ sc.writeString(wsdlport.getName());
+ sc.endElement();
+ sc.startElement(new QName(ns, "java-port-name"), null);
+ sc.writeString(emitter.getServicePortName());
+ sc.endElement();
+ sc.endElement();//port-mapping
+ sc.endElement();//service-interface-mapping
+ }
+
+ private void writeReturnTypes(HashMap methods, Operation op) throws IOException {
+ //set return type
+ Method mtd = (Method) methods.get(op.getName());
+ Class ret = mtd.getReturnType();
+ if (ret != null && !("void".equals(ret.toString()))) {
+ //set return type info
+ Map parts = op.getOutput().getMessage().getParts();
+ if (parts != null) {
+ Iterator partIt = parts.values().iterator();
+ while (partIt.hasNext()) {
+ //set wsdl message type
+ QName messagename = op.getOutput().getMessage().getQName();
+
+ //set wsdl message part type
+ sc.startElement(new QName(ns, "wsdl-return-value-mapping"), null);
+ sc.startElement(new QName(ns, "method-return-value"), null);
+ sc.writeString(ret.getName());
+ sc.endElement();
+ sc.registerPrefixForURI("ns1", messagename.getNamespaceURI());
+ sc.startElement(new QName(ns, "wsdl-message"), null);
+ sc.writeString("ns1:" + messagename.getLocalPart());
+ sc.endElement();
+ sc.startElement(new QName(ns, "wsdl-message-part-name"), null);
+ sc.writeString(((Part) partIt.next()).getName());
+ sc.endElement();
+ sc.endElement();//wsdl-return-value-mapping
+ }
+ }
+ }
+ }
+
+ private void writeParametParts(HashMap methods, Operation op) throws IOException {
+ int position = 0;
+ Class[] params = ((Method) methods.get(op.getName())).getParameterTypes();
+ Iterator parmIt = null;
+ Map parameters = op.getInput().getMessage().getParts();
+ if (parameters != null) {
+ parmIt = parameters.values().iterator();
+ }
+ while (parmIt != null && parmIt.hasNext()) {
+ Part part = (Part) parmIt.next();
+ sc.startElement(new QName(ns, "method-param-parts-mapping"), null);
+
+ //set parameter position
+ sc.startElement(new QName(ns, "param-position"), null);
+ sc.writeString(Integer.toString(position));
+ sc.endElement();
+ //set parameter java typr
+ sc.startElement(new QName(ns, "param-type"), null);
+ sc.writeString(params[position].getName());
+ sc.endElement();
+
+ //set message mapping
+ sc.startElement(new QName(ns, "wsdl-message-mapping"), null);
+ QName messagename = op.getInput().getMessage().getQName();
+ sc.registerPrefixForURI("ns1", messagename.getNamespaceURI());
+ sc.startElement(new QName(ns, "wsdl-message"), null);
+ sc.writeString(messagename.getLocalPart());
+ sc.endElement();
+ sc.startElement(new QName(ns, "wsdl-message-part-name"), null);
+ sc.writeString(part.getName());
+ sc.endElement();
+ sc.startElement(new QName(ns, "parameter-mode"), null);
+ sc.writeString("IN");
+ sc.endElement();
+ sc.endElement();//wsdl-message-mapping
+ sc.endElement();//method-param-parts-mapping
+ }
+ }
+
+ private void writeMethodMapping(Binding binding) throws IOException {
+ //add the operation mappings
+ Iterator ops = binding.getPortType().getOperations().iterator();
+ while (ops.hasNext()) {
+ Operation op = (Operation) ops.next();
+ sc.startElement(new QName(ns, "service-endpoint-method-mapping"), null);//service-endpoint-method-mapping
+
+ //set the java method name
+ sc.startElement(new QName(ns, "java-method-name"), null);
+ sc.writeString(op.getName());
+ sc.endElement();
+ sc.startElement(new QName(ns, "wsdl-operation"), null);
+ sc.writeString(op.getName());
+ sc.endElement();
+ HashMap methods = new HashMap();
+ Method[] javamethods = emitter.getCls().getMethods();
+ for (int i = 0; i < javamethods.length; i++) {
+ methods.put(javamethods[i].getName(), javamethods[i]);
+ }
+ writeReturnTypes(methods, op);
+ //create method param parts mappings
+ sc.endElement();//service-endpoint-method-mapping
+ }
+ }
+
+ public void write() throws GenerationFault {
+ try {
+ sc.startElement(new QName(ns, "java-wsdl-mapping"), null);
+ writePackageMapping();
+ writeServiceMapping();
+ //port mapping
+ Port wsdlport = j2eewscontext.getWSDLContext().getTargetPort();
+ Binding binding = wsdlport.getBinding();
+ if (binding == null)
+ throw new UnrecoverableGenerationFault("no port discription not match with the wsdl file");
+ sc.startElement(new QName(ns, "service-endpoint-interface-mapping"), null);
+ sc.startElement(new QName(ns, "service-endpoint-interface"), null);
+ sc.writeString(emitter.getCls().getName());
+ sc.endElement();
+ sc.registerPrefixForURI("ns2", binding.getQName().getNamespaceURI());
+ sc.startElement(new QName(ns, "wsdl-binding"), null);
+ sc.writeString("ns2:" + binding.getQName().getLocalPart());
+ sc.endElement();
+ QName ptName = binding.getPortType().getQName();
+ sc.registerPrefixForURI("ns3", ptName.getNamespaceURI());
+ sc.startElement(new QName(ns, "wsdl-port-type"), null);
+ sc.writeString("ns3:" + ptName.getLocalPart());
+ sc.endElement();
+ writeMethodMapping(binding);
+ sc.endElement(); //service-endpoint-interface-mapping
+ sc.endElement();//java-wsdl-mapping
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxrpcMapperGenerator.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxrpcMapperGenerator.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxrpcMapperGenerator.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/JaxrpcMapperGenerator.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd;
+
+import org.apache.axis.wsdl.Java2WSDL;
+import org.apache.axis.wsdl.fromJava.Emitter;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.ews.ws4j2ee.context.InputOutputFile;
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Generator;
+
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+
+/**
+ * <p>This genarated theWrapper WS required in the
+ * Axis.</p>
+ *
+ * @author Srinath Perera(hemapani@opensource.lk)
+ */
+public class JaxrpcMapperGenerator extends Java2WSDL implements Generator {
+ private J2EEWebServiceContext j2eewscontext;
+
+ protected static Log log =
+ LogFactory.getLog(JaxrpcMapperGenerator.class.getName());
+
+ public JaxrpcMapperGenerator(J2EEWebServiceContext j2eewscontext) {
+ this.j2eewscontext = j2eewscontext;
+ }
+
+ public void generate() throws GenerationFault {
+ InputOutputFile outfile = j2eewscontext.getMiscInfo().getJaxrpcfile();
+ PrintWriter pw =
+ new PrintWriter(new OutputStreamWriter(outfile.getOutStream()));
+ this.j2eewscontext.getJAXRPCMappingContext().serialize(pw);
+ pw.close();
+ if (j2eewscontext.getMiscInfo().isVerbose())
+ log.info(outfile.fileName() + " genarated .................");
+ }
+
+ public Emitter getEmmiter() {
+ return emitter;
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/WebContainerDDGenerator.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/WebContainerDDGenerator.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/WebContainerDDGenerator.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/WebContainerDDGenerator.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Generator;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Writer;
+
+/**
+ * @author Srinath perera(hemapani@opesnource.lk)
+ */
+public class WebContainerDDGenerator implements Generator {
+ private J2EEWebServiceContext j2eewscontext;
+ private Writer writer;
+ protected static Log log =
+ LogFactory.getLog(JaxrpcMapperGenerator.class.getName());
+
+ public WebContainerDDGenerator(J2EEWebServiceContext j2eewscontext) throws GenerationFault {
+ }
+
+ public void generate() throws GenerationFault {
+ System.out.println("code to generatre web.xml");
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/geronimo/GeronimoDDWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/geronimo/GeronimoDDWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/geronimo/GeronimoDDWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/geronimo/GeronimoDDWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd.geronimo;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.AbstractWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+
+/**
+ * @author hemapani
+ */
+public class GeronimoDDWriter extends AbstractWriter {
+ public GeronimoDDWriter(J2EEWebServiceContext j2eewscontext) throws GenerationFault {
+ super(j2eewscontext, j2eewscontext.getMiscInfo().getOutPutPath() +
+ "/META-INF/" + GenerationConstants.GERONIMO_DD);
+ }
+
+ public void writeCode() throws GenerationFault {
+ writeEJBDD();
+ }
+
+// <?xml version="1.0"?>
+// <openejb-jar
+// xmlns="http://www.openejb.org/xml/ns/openejb-jar"
+// configId="your/domain/name/Example"
+// parentId="org/apache/geronimo/Server">
+//
+// <enterprise-beans>
+// <session>
+// <ejb-name>SimpleStatelessSession</ejb-name>
+// <jndi-name>client/test/simple/SimpleStatelessSessionHome</jndi-name>
+// </session>
+// </enterprise-beans>
+// </openejb-jar>
+ public void writeEJBDD() {
+ String ejbname = j2eewscontext.getWSDLContext().getTargetPortType().getName().toLowerCase();
+ int index = ejbname.lastIndexOf(".");
+ if (index > 0) {
+ ejbname = ejbname.substring(index + 1);
+ }
+ out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ out.write("<openejb-jar\n");
+ out.write(" xmlns=\"http://www.openejb.org/xml/ns/openejb-jar\"\n");
+ out.write(" configId=\"j2ee/geronimo/ews/" + ejbname + "\"\n");
+ out.write(" parentId=\"org/apache/geronimo/Server\">\n");
+ out.write(" <enterprise-beans>\n");
+ out.write(" <session>\n");
+ out.write(" <ejb-name>" + ejbname + "</ejb-name>\n");
+ String implStyle = j2eewscontext.getMiscInfo().getImplStyle();
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_REMOTE.equals(implStyle)) {
+ out.write(" <jndi-name>" + "ejb/" + ejbname + "</jndi-name>\n");
+ }
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_LOCAL.equals(implStyle)) {
+ out.write(" <local-jndi-name>" + "ejb/" + ejbname + "Local" + "</local-jndi-name>\n");
+ }
+ out.write(" </session>\n");
+ out.write(" </enterprise-beans>\n");
+ out.write("</openejb-jar>\n");
+ out.flush();
+ }
+
+
+// <?xml version="1.0" encoding="UTF-8"?>
+// <web-app
+// xmlns="http://geronimo.apache.org/xml/ns/web/jetty"
+// configId="your/domain/name/Example"
+// parentId="org/apache/geronimo/Server"
+// >
+// <context-root>/debug-tool</context-root>
+// <context-priority-classloader>false</context-priority-classloader>
+// </web-app>
+ public void writeWebDD() {
+ String ejbname = j2eewscontext.getWSDLContext().getTargetPortType().getName().toLowerCase();
+ int index = ejbname.lastIndexOf(".");
+ if (index > 0) {
+ ejbname = ejbname.substring(index + 1);
+ }
+ out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ out.write("<web-app\n");
+ out.write(" xmlns=\"http://www.openejb.org/xml/ns/openejb-jar\"\n");
+ out.write(" configId=\"j2ee/geronimo/ews/" + ejbname + "\"\n");
+ out.write(" parentId=\"org/apache/geronimo/Server\">\n");
+ out.write(" <context-root>/axis</context-root>");
+ out.write(" <context-priority-classloader>false</context-priority-classloader>");
+ out.write("</web-app>");
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jboss/JBossDDWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jboss/JBossDDWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jboss/JBossDDWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jboss/JBossDDWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd.jboss;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.AbstractWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+
+/**
+ * @author Srinath Perera(hemapani@opensource.lk)
+ */
+public class JBossDDWriter extends AbstractWriter {
+ public JBossDDWriter(J2EEWebServiceContext j2eewscontext) throws GenerationFault {
+ super(j2eewscontext, j2eewscontext.getMiscInfo().getOutPutPath() +
+ "/META-INF/jboss.xml");
+ }
+
+ public void writeCode() throws GenerationFault {
+ if (out == null)
+ return;
+ String ejbname = j2eewscontext.getWSDLContext().getTargetPortType().getName().toLowerCase();
+ int index = ejbname.lastIndexOf(".");
+ if (index > 0) {
+ ejbname = ejbname.substring(index + 1);
+ }
+ out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ out.write("<jboss>\n");
+ out.write(" <enterprise-beans>\n");
+ out.write(" <session>\n");
+ out.write(" <ejb-name>" + ejbname + "</ejb-name>\n");
+ String implStyle = j2eewscontext.getMiscInfo().getImplStyle();
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_REMOTE.equals(implStyle)) {
+ out.write(" <jndi-name>" + "ejb/" + ejbname + "</jndi-name>\n");
+ }
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_LOCAL.equals(implStyle)) {
+ out.write(" <local-jndi-name>" + "ejb/" + ejbname + "Local" + "</local-jndi-name>\n");
+ }
+ out.write(" </session>\n");
+ out.write(" </enterprise-beans>\n");
+ out.write("</jboss>\n");
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jonas/JOnASDDWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jonas/JOnASDDWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jonas/JOnASDDWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/dd/jonas/JOnASDDWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.dd.jonas;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.AbstractWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+
+/**
+ * @author sauthieg
+ */
+public class JOnASDDWriter extends AbstractWriter {
+ public JOnASDDWriter(J2EEWebServiceContext j2eewscontext) throws GenerationFault {
+ super(j2eewscontext, j2eewscontext.getMiscInfo().getOutPutPath() +
+ "/ejb/META-INF/JonAs.xml");
+ }
+
+ public void writeCode() throws GenerationFault {
+ String ejbname = j2eewscontext.getWSDLContext().getTargetPortType().getName().toLowerCase();
+ int index = ejbname.lastIndexOf(".");
+ if (index > 0) {
+ ejbname = ejbname.substring(index + 1);
+ }
+ out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ out.write("<jonas-ejb-jar xmlns=\"http://www.objectweb.org/jonas/ns\"\n");
+ out.write(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n");
+ out.write(" xsi:schemaLocation=\"http://www.objectweb.org/jonas/ns\"\n");
+ out.write(" http://www.objectweb.org/jonas/ns/jonas-ejb-jar_4_0.xsd\">\n");
+ out.write(" <jonas-session>\n");
+ out.write(" <ejb-name>" + j2eewscontext.getMiscInfo().getJ2eeComponetLink() + "</ejb-name>\n");
+ String implStyle = j2eewscontext.getMiscInfo().getImplStyle();
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_REMOTE.equals(implStyle)) {
+ out.write(" <jndi-name>" + j2eewscontext.getMiscInfo().getJ2eeComponetLink() + "</jndi-name>\n");
+ }
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_LOCAL.equals(implStyle)) {
+ //TODO fill this what is the correct tag for JonAs
+ //out.write(" <local-jndi-name>" + "ejb/" +ejbname+ "Local"+"</local-jndi-name>\n");
+ }
+ out.write(" </jonas-session>\n");
+ out.write("</jonas-ejb-jar>\n");
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBDDWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBDDWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBDDWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBDDWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+/*
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.PropertyException; */
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.AbstractWriter;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+
+/**
+ * We plan to use the JAXB to genarate and parse the
+ * ejb-jar.xml file. This code is here just to get a simple
+ * DD created
+ *
+ * @author Srinath Perera(hemapani@opensource.lk)
+ */
+public class EJBDDWriter extends AbstractWriter {
+ protected EJBContext ejbcontext;
+
+ /**
+ * @param j2eewscontext
+ * @throws GenerationFault
+ */
+ public EJBDDWriter(J2EEWebServiceContext j2eewscontext, EJBContext ejbcontext)
+ throws GenerationFault {
+ super(j2eewscontext, j2eewscontext.getMiscInfo().getOutPutPath() + "/META-INF/ejb-jar.xml");
+ this.ejbcontext = ejbcontext;
+ }
+
+ public void writeCode() throws GenerationFault {
+ if (out != null)
+ writeSessionDD();
+ }
+
+ public void writeSessionDD() throws GenerationFault {
+ String ejbname = j2eewscontext.getWSCFContext().getWscfport().getServiceImplBean().getEjblink();
+ if (ejbname == null || ejbname.equals("")) {
+ throw new GenerationFault("Error reading ejbname from webservices.xml.");
+ }
+ String version = GenerationConstants.J2EE_VERSION_1_4;
+ out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ out.write("<ejb-jar xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n");
+ out.write(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n");
+ out.write(" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee\n");
+ out.write(" http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd\"\n");
+ out.write(" version=\"2.1\">\n");
+
+ out.write("\t<enterprise-beans>\n");
+ out.write("\t\t<session>\n");
+ out.write("\t\t\t<display-name>" + j2eewscontext.getWSCFContext().getDisplayName() + "</display-name>\n");
+ out.write("\t\t\t<ejb-name>" + ejbname + "</ejb-name>\n");
+ String implStyle = j2eewscontext.getMiscInfo().getImplStyle();
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_INTERNALS.equals(implStyle)) {
+ out.write("\t\t\t<home>" + ejbcontext.getEjbhomeInterface() + "</home>\n");
+ out.write("\t\t\t<remote>" + ejbcontext.getEjbRemoteInterface() + "</remote>\n");
+ }
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_LOCAL.equals(implStyle)) {
+ out.write("\t\t\t<local-home>" + ejbcontext.getEjbLocalHomeInterfce() + "</local-home>\n");
+ out.write("\t\t\t<local>" + ejbcontext.getEjbLocalInterface() + "</local>\n");
+ }
+ out.write("\t\t\t<ejb-class>" + ejbcontext.getImplBean() + "</ejb-class>\n");
+ out.write("\t\t\t<session-type>Stateless</session-type>\n");
+ out.write("\t\t\t<transaction-type>Bean</transaction-type>\n");
+ out.write("\t\t\t<security-identity>\n");
+ out.write("\t\t\t\t<description></description>\n");
+ out.write("\t\t\t\t<use-caller-identity></use-caller-identity>\n");
+ out.write("\t\t\t</security-identity>\n");
+ out.write("\t\t</session>\n");
+ out.write("\t</enterprise-beans>\n");
+ out.write("\t<assembly-descriptor>\n");
+ out.write("\t <method-permission>\n");
+ out.write("\t <unchecked/>\n");
+ out.write("\t <method>\n");
+ out.write("\t <ejb-name>" + ejbname + "</ejb-name>\n");
+ out.write("\t <method-name>*</method-name>\n");
+ out.write("\t </method>\n");
+ out.write("\t </method-permission>\n");
+ out.write("\t</assembly-descriptor>\n");
+ out.write("</ejb-jar>\n");
+ }
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBGenerator.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBGenerator.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBGenerator.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBGenerator.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Generator;
+import org.apache.geronimo.ews.ws4j2ee.toWs.UnrecoverableGenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Writer;
+import org.apache.geronimo.ews.ws4j2ee.toWs.Ws4J2eeFactory;
+
+/**
+ * <p>This class crete the nessacsaary EJB artifacts</p>
+ *
+ * @author Srinath Perera(hemapani@opensource.lk)
+ */
+public class EJBGenerator implements Generator {
+ private J2EEWebServiceContext context;
+ private Writer homewriter;
+ private Writer remotewriter;
+ private Writer beanwriter;
+ private Writer ddwriter;
+ private Writer localwriter;
+ private Writer localhomewriter;
+ protected EJBContext ejbcontext;
+ private Ws4J2eeFactory factory;
+
+ public EJBGenerator(J2EEWebServiceContext context) throws GenerationFault {
+ this.context = context;
+ ejbcontext = context.getEJBDDContext();
+ if (ejbcontext == null) {
+ throw new UnrecoverableGenerationFault("for ejbbased Impl" +
+ " the EJBDDContext must not be null");
+ }
+ factory = context.getFactory();
+ String implStyle = context.getMiscInfo().getImplStyle();
+ if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_REMOTE.equals(implStyle)) {
+ homewriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_HOME_INTERFACE_WRITER);
+ remotewriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_REMOTE_INTERFACE_WRITER);
+ } else if (GenerationConstants.USE_LOCAL_AND_REMOTE.equals(implStyle)
+ || GenerationConstants.USE_LOCAL.equals(implStyle)) {
+ localhomewriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_LOCAL_HOME_INTERFACE_WRITER);
+ localwriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_LOCAL_INTERFACE_WRITER);
+ } else if (GenerationConstants.USE_INTERNALS.equals(implStyle)) {
+ homewriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_HOME_INTERFACE_WRITER);
+ remotewriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_REMOTE_INTERFACE_WRITER);
+ }
+ if (!context.getMiscInfo().isImplAvalible()) {
+ beanwriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_IMPLEMENTATION_BEAN_WRITER);
+ }
+ ddwriter = factory.getGenerationFactory().createEJBWriter(context, ejbcontext, GenerationConstants.EJB_DD_WRITER);
+ }
+
+ public void generate() throws GenerationFault {
+ if (homewriter != null)
+ homewriter.write();
+ if (remotewriter != null)
+ remotewriter.write();
+ if (beanwriter != null)
+ beanwriter.write();
+ if (ddwriter != null)
+ ddwriter.write();
+ if (localwriter != null) {
+ localwriter.write();
+ }
+ if (localhomewriter != null) {
+ localhomewriter.write();
+ }
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBHomeWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBHomeWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBHomeWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBHomeWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.JavaInterfaceWriter;
+
+/**
+ * This class can be used to write the appropriate EJB Home interface
+ * class for the given port type.
+ *
+ * @author Rajith Priyanga
+ * @author Srinath Perera
+ * @date Nov 26, 2003
+ */
+public class EJBHomeWriter extends JavaInterfaceWriter {
+ private String name;
+ protected EJBContext ejbcontext;
+
+ /**
+ * Constructs a EJBHomeWriter.
+ *
+ * @param portType The port type which contains the details.
+ * @throws GenerationFault
+ */
+ public EJBHomeWriter(J2EEWebServiceContext context, EJBContext ejbcontext) throws GenerationFault {
+ super(context, ejbcontext.getEjbhomeInterface());
+ this.ejbcontext = ejbcontext;
+ }
+//TODO
+// /**
+// * Returns the complete file name of the source code file which is
+// * generated by the writer.
+// */
+// public String getFileName() {
+// name = ejbcontext.getEjbhomeInterface();
+// String outdir = j2eewscontext.getMiscInfo().getOutPutPath();
+// if (!outdir.endsWith("/"))
+// outdir = outdir + "/";
+//
+// return outdir + name.replace('.', '/') + ".java";
+// }
+
+ protected void writeAttributes() throws GenerationFault {
+ }
+
+ protected void writeMethods() throws GenerationFault {
+ out.write("\tpublic " + ejbcontext.getEjbRemoteInterface() + " create()throws java.rmi.RemoteException,javax.ejb.CreateException;\n");
+ }
+
+ protected String getExtendsPart() {
+ return " extends javax.ejb.EJBHome";
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalHomeWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalHomeWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalHomeWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalHomeWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.JavaInterfaceWriter;
+
+/**
+ * This class can be used to write the appropriate EJB LocalHome interface
+ * class for the given port type.
+ *
+ * @author Rajith Priyanga
+ * @author Srinath Perera
+ * @date Nov 26, 2003
+ */
+public class EJBLocalHomeWriter extends JavaInterfaceWriter {
+ private String name;
+ protected EJBContext ejbcontext;
+
+ /**
+ * Constructs a EJBLocalHomeWriter.
+ *
+ * @param portType The port type which contains the details.
+ * @throws GenerationFault
+ */
+ public EJBLocalHomeWriter(J2EEWebServiceContext context, EJBContext ejbcontext) throws GenerationFault {
+ super(context, ejbcontext.getEjbLocalHomeInterfce());
+ this.ejbcontext = ejbcontext;
+ }
+
+ protected void writeAttributes() throws GenerationFault {
+ }
+
+ protected void writeMethods() throws GenerationFault {
+ out.write("\tpublic " + ejbcontext.getEjbLocalInterface() + " create()throws javax.ejb.CreateException;\n");
+ }
+
+ protected String getExtendsPart() {
+ return " extends javax.ejb.EJBLocalHome ";
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBLocalWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.SEIOperation;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.JavaInterfaceWriter;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * This class can be used to write the appropriate EJB Remote interface
+ * class for the given port type.
+ *
+ * @author Rajith Priyanga
+ * @author Srinath Perera
+ * @date Nov 26, 2003
+ */
+public class EJBLocalWriter extends JavaInterfaceWriter {
+ private String name;
+ protected EJBContext ejbcontext;
+
+ /**
+ * Constructs a EJBRemoteWriter.
+ *
+ * @param portType The port type which contains the details.
+ * @throws GenerationFault
+ */
+ public EJBLocalWriter(J2EEWebServiceContext context, EJBContext ejbcontext) throws GenerationFault {
+ super(context, ejbcontext.getEjbLocalInterface());
+ this.ejbcontext = ejbcontext;
+ }
+
+ protected String getExtendsPart() {
+ return " extends javax.ejb.EJBLocalObject";
+ }
+
+ protected void writeAttributes() throws GenerationFault {
+ }
+
+ protected void writeMethods() throws GenerationFault {
+ String parmlistStr = "";
+ ArrayList operations = j2eewscontext.getMiscInfo().getSEIOperations();
+ for (int i = 0; i < operations.size(); i++) {
+ SEIOperation op = (SEIOperation) operations.get(i);
+ String returnType = op.getReturnType();
+ if (returnType == null)
+ returnType = "void";
+ out.write("\tpublic " + returnType + " " + op.getMethodName() + "(");
+ Iterator pas = op.getParameterNames().iterator();
+ boolean first = true;
+ while (pas.hasNext()) {
+ String name = (String) pas.next();
+ String type = (String) op.getParameterType(name);
+ if (first) {
+ first = false;
+ out.write(type + " " + name);
+ parmlistStr = parmlistStr + name;
+ } else {
+ out.write("," + type + " " + name);
+ parmlistStr = "," + name;
+ }
+ }
+ out.write(")");
+//ejb giving problems deploying check this
+// ArrayList faults = op.getFaults();
+// for (int j = 0; j < faults.size(); j++) {
+// out.write("," + (String) faults.get(i));
+// }
+ out.write(";\n");
+ }
+ }
+
+}
Added: webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBRemoteWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBRemoteWriter.java?rev=230793&view=auto
==============================================================================
--- webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBRemoteWriter.java (added)
+++ webservices/ews/trunk/ws4j2ee/src/java/org/apache/geronimo/ews/ws4j2ee/toWs/ejb/EJBRemoteWriter.java Mon Aug 8 05:40:25 2005
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.ews.ws4j2ee.toWs.ejb;
+
+import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
+import org.apache.geronimo.ews.ws4j2ee.context.SEIOperation;
+import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
+import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.toWs.JavaInterfaceWriter;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * This class can be used to write the appropriate EJB Remote interface
+ * class for the given port type.
+ *
+ * @author Rajith Priyanga
+ * @author Srinath Perera
+ * @date Nov 26, 2003
+ */
+public class EJBRemoteWriter extends JavaInterfaceWriter {
+ private String name;
+ protected EJBContext ejbcontext;
+
+ /**
+ * Constructs a EJBRemoteWriter.
+ *
+ * @param portType The port type which contains the details.
+ * @throws GenerationFault
+ */
+ public EJBRemoteWriter(J2EEWebServiceContext context, EJBContext ejbcontext) throws GenerationFault {
+ super(context, ejbcontext.getEjbRemoteInterface());
+ this.ejbcontext = ejbcontext;
+ }
+
+ protected String getExtendsPart() {
+ return " extends javax.ejb.EJBObject";
+ }
+
+ protected void writeAttributes() throws GenerationFault {
+ }
+
+ protected void writeMethods() throws GenerationFault {
+ String parmlistStr = "";
+ ArrayList operations = j2eewscontext.getMiscInfo().getSEIOperations();
+ for (int i = 0; i < operations.size(); i++) {
+ SEIOperation op = (SEIOperation) operations.get(i);
+ String returnType = op.getReturnType();
+ if (returnType == null)
+ returnType = "void";
+ out.write("\tpublic " + returnType + " " + op.getMethodName() + "(");
+ Iterator pas = op.getParameterNames().iterator();
+ boolean first = true;
+ while (pas.hasNext()) {
+ String name = (String) pas.next();
+ String type = (String) op.getParameterType(name);
+ if (first) {
+ first = false;
+ out.write(type + " " + name);
+ parmlistStr = parmlistStr + name;
+ } else {
+ out.write("," + type + " " + name);
+ parmlistStr = "," + name;
+ }
+ }
+ out.write(") throws java.rmi.RemoteException");
+//ejb giving problems deploying check this
+// ArrayList faults = op.getFaults();
+// for (int j = 0; j < faults.size(); j++) {
+// out.write("," + (String) faults.get(i));
+// }
+ out.write(";\n");
+ }
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: ews-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: ews-dev-help@ws.apache.org