You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by gd...@apache.org on 2005/08/08 07:38:44 UTC
svn commit: r230756 - in
/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen:
emitter/MultiLanguageClientEmitter.java extension/SimpleDBExtension.java
Author: gdaniels
Date: Sun Aug 7 22:38:41 2005
New Revision: 230756
URL: http://svn.apache.org/viewcvs?rev=230756&view=rev
Log:
Fix build, prep for RPC.
Modified:
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/SimpleDBExtension.java
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java?rev=230756&r1=230755&r2=230756&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java Sun Aug 7 22:38:41 2005
@@ -5,7 +5,17 @@
import org.apache.axis2.wsdl.codegen.Constants;
import org.apache.axis2.wsdl.codegen.writer.*;
import org.apache.axis2.wsdl.databinding.TypeMapper;
-import org.apache.wsdl.*;
+import org.apache.wsdl.MessageReference;
+import org.apache.wsdl.WSDLBinding;
+import org.apache.wsdl.WSDLBindingOperation;
+import org.apache.wsdl.WSDLConstants;
+import org.apache.wsdl.WSDLDescription;
+import org.apache.wsdl.WSDLEndpoint;
+import org.apache.wsdl.WSDLExtensibilityElement;
+import org.apache.wsdl.WSDLInterface;
+import org.apache.wsdl.WSDLOperation;
+import org.apache.wsdl.WSDLService;
+import org.apache.wsdl.WSDLTypes;
import org.apache.wsdl.extensions.ExtensionConstants;
import org.apache.wsdl.extensions.SOAPBody;
import org.apache.wsdl.extensions.SOAPOperation;
@@ -129,8 +139,6 @@
}
}
//
- testCompatibiltyAll(axisBinding);
- //
writeInterface(axisBinding);
//write interface implementations
writeInterfaceImplementation(axisBinding, axisService);
@@ -221,8 +229,7 @@
* @throws Exception
*/
protected void writeInterface(WSDLBinding axisBinding) throws Exception {
- Document interfaceModel = createDOMDocumentForInterface(
- axisBinding);
+ Document interfaceModel = createDOMDocumentForInterface(axisBinding);
InterfaceWriter interfaceWriter =
new InterfaceWriter(this.configuration.getOutputLocation(),
this.configuration.getOutputLanguage());
@@ -396,8 +403,6 @@
for (Iterator iterator = bindingCollection.iterator(); iterator.hasNext();) {
axisBinding = (WSDLBinding)iterator.next();
- //test the compatibility
- testCompatibiltyAll(axisBinding);
//write interfaces
writeSkeleton(axisBinding);
//write interface implementations
@@ -751,11 +756,9 @@
localPart + DATABINDING_SUPPORTER_NAME_SUFFIX,
methodElement);
if (null != binding) {
- WSDLBindingOperation bindingOperation = binding.getBindingOperation(
- operation.getName());
+ WSDLBindingOperation bindingOperation =
+ binding.getBindingOperation(operation.getName());
addSOAPAction(doc, methodElement, bindingOperation);
- testCompatibilityInput(bindingOperation);
- testCompatibilityOutput(bindingOperation);
}
addAttribute(doc,
"mep",
@@ -974,22 +977,8 @@
return word.replaceAll("\\W", "_");
}
- private void testCompatibiltyAll(WSDLBinding binding) {
- HashMap map = binding.getBindingOperations();
- WSDLBindingOperation bindingOp;
- Collection col = map.values();
- for (Iterator iterator = col.iterator(); iterator.hasNext();) {
- bindingOp = (WSDLBindingOperation) iterator.next();
- testCompatibilityInput(bindingOp);
- testCompatibilityOutput(bindingOp);
- }
-
-
- }
-
- private void testCompatibilityInput(WSDLBindingOperation binding) {
-
- Iterator extIterator = binding.getInput().getExtensibilityElements()
+ protected void foo(WSDLBindingOperation bindingOp) {
+ Iterator extIterator = bindingOp.getInput().getExtensibilityElements()
.iterator();
while (extIterator.hasNext()) {
WSDLExtensibilityElement element = (WSDLExtensibilityElement) extIterator.next();
@@ -998,25 +987,6 @@
((SOAPBody) element).getUse())) {
throw new RuntimeException(
"The use 'encoded' is not supported!");
- }
- }
- }
- }
-
- private void testCompatibilityOutput(WSDLBindingOperation binding) {
-
- WSDLBindingMessageReference output = binding.getOutput();
- if (output!=null){
- Iterator extIterator = output.getExtensibilityElements()
- .iterator();
- while (extIterator.hasNext()) {
- WSDLExtensibilityElement element = (WSDLExtensibilityElement) extIterator.next();
- if (element.getType().equals(ExtensionConstants.SOAP_BODY)) {
- if (WSDLConstants.WSDL_USE_ENCODED.equals(
- ((SOAPBody) element).getUse())) {
- throw new RuntimeException(
- "The use 'encoded' is not supported!");
- }
}
}
}
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/SimpleDBExtension.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/SimpleDBExtension.java?rev=230756&r1=230755&r2=230756&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/SimpleDBExtension.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/SimpleDBExtension.java Sun Aug 7 22:38:41 2005
@@ -1,8 +1,5 @@
package org.apache.axis2.wsdl.codegen.extension;
-import org.apache.axis2.wsdl.codegen.CodeGenerationException;
-import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
-
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
@@ -18,15 +15,86 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
- * author : Eran Chinthaka (chinthaka@apache.org)
+ *
*/
+import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
+import org.apache.axis2.wsdl.databinding.JavaTypeMapper;
+import org.apache.axis2.wsdl.databinding.DefaultTypeMapper;
+import org.apache.wsdl.WSDLExtensibilityElement;
+import org.apache.wsdl.WSDLTypes;
+import org.apache.wsdl.extensions.ExtensionConstants;
+import org.apache.wsdl.extensions.Schema;
+import org.apache.axis.xsd.xml.schema.XmlSchemaCollection;
+import org.apache.axis.xsd.xml.schema.XmlSchema;
+import org.w3c.dom.Element;
+
+import java.util.List;
+import java.util.Stack;
+import java.util.Vector;
+import java.util.Map;
+import java.util.Iterator;
+
+/**
+ * Work in progress to test simple DataBinding with the XmlSchema lib
+ *
+ */
public class SimpleDBExtension extends AbstractCodeGenerationExtension {
public void init(CodeGenConfiguration configuration) {
- throw new UnsupportedOperationException();
+ this.configuration = configuration;
}
- public void engage() throws CodeGenerationException {
- throw new UnsupportedOperationException();
+ public void engage() {
+ try {
+ WSDLTypes typesList = configuration.getWom().getTypes();
+ if (typesList == null) {
+ //there are no types to be code generated
+ //However if the type mapper is left empty it will be a problem for the other
+ //processes. Hence the default type mapper is set to the configuration
+ this.configuration.setTypeMapper(new DefaultTypeMapper());
+ return;
+ }
+
+ List typesArray = typesList.getExtensibilityElements();
+ WSDLExtensibilityElement extensiblityElt = null;
+
+ for (int i = 0; i < typesArray.size(); i++) {
+ extensiblityElt = (WSDLExtensibilityElement) typesArray.get(i);
+ Vector xmlObjectsVector = new Vector();
+ XmlSchemaCollection schemaColl = new XmlSchemaCollection();
+ Schema schema = null;
+
+ if (ExtensionConstants.SCHEMA.equals(extensiblityElt.getType())) {
+ schema = (Schema) extensiblityElt;
+ Map inScopeNS = configuration.getWom().getNamespaces();
+ for (Iterator it = inScopeNS.keySet().iterator(); it.hasNext();) {
+ String prefix = (String) it.next();
+ schemaColl.mapNamespace(prefix,
+ (String)inScopeNS.get(prefix));
+ }
+
+ Stack importedSchemaStack = schema.getImportedSchemaStack();
+ //compile these schemas
+ while (!importedSchemaStack.isEmpty()) {
+ Element el = ((javax.wsdl.extensions.schema.Schema)importedSchemaStack.pop()).getElement();
+ XmlSchema thisSchema = schemaColl.read(el);
+ xmlObjectsVector.add(thisSchema);
+ }
+ }
+
+ //create the type mapper
+ JavaTypeMapper mapper = new JavaTypeMapper();
+ int length = 0;
+ for (int j = 0; j < length; j++) {
+// mapper.addTypeMapping();
+ }
+ //set the type mapper to the config
+ configuration.setTypeMapper(mapper);
+
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
}
}