[savara-commits] savara SVN: r41 - in trunk/tools/eclipse/plugins: org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Oct 10 17:11:20 EDT 2009
Author: objectiser
Date: 2009-10-10 17:11:20 -0400 (Sat, 10 Oct 2009)
New Revision: 41
Modified:
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/AbstractInteraction.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ConversionContext.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/DefaultConversionContext.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Receive.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java
trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
Log:
Generate and use namespace/prefix information.
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/AbstractInteraction.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/AbstractInteraction.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/AbstractInteraction.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -17,6 +17,7 @@
*/
package org.jboss.savara.tools.bpel.model.component;
+import org.scribble.model.TypeReference;
import org.scribble.model.admin.ModelListener;
import org.jboss.savara.tools.bpel.model.*;
@@ -143,6 +144,30 @@
return(ret);
}
+ protected TypeReference createTypeReference(String type, ConversionContext context) {
+ TypeReference ret=new TypeReference();
+
+ if (type != null) {
+ int index=-1;
+ if ((index=type.indexOf(':')) == -1) {
+ ret.setLocalpart(type);
+ } else {
+ ret.setLocalpart(type.substring(index+1));
+
+ String prefix=type.substring(0, index);
+ String ns=context.getNamespace(prefix);
+
+ if (ns != null) {
+ ret.setNamespace(ns);
+ } else {
+ // TODO: Log error
+ }
+ }
+ }
+
+ return(ret);
+ }
+
/**
* This method validates the BPEL activity and reports warnings or
* errors to the supplied model listener.
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ConversionContext.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ConversionContext.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ConversionContext.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -42,5 +42,13 @@
* @param var The variable
*/
public void addVariable(Variable var);
-
+
+ /**
+ * This method returns the namespace for the supplied prefix.
+ *
+ * @param prefix The prefix
+ * @return The namespace, or null if not found
+ */
+ public String getNamespace(String prefix);
+
}
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/DefaultConversionContext.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/DefaultConversionContext.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/DefaultConversionContext.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -29,8 +29,9 @@
*
* @param role The role
*/
- public DefaultConversionContext(String role) {
+ public DefaultConversionContext(String role, Process proc) {
m_role = role;
+ m_process = proc;
}
/**
@@ -63,7 +64,18 @@
m_variables.put(var.getName(), var);
}
+ /**
+ * This method returns the namespace for the supplied prefix.
+ *
+ * @param prefix The prefix
+ * @return The namespace, or null if not found
+ */
+ public String getNamespace(String prefix) {
+ return(m_process.getNamespace(prefix));
+ }
+
private String m_role=null;
+ private Process m_process=null;
private java.util.Map<String,Variable> m_variables=
new java.util.HashMap<String,Variable>();
}
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -193,14 +193,10 @@
// Create interaction for request
ConversationInteraction interaction=new ConversationInteraction();
- TypeReference tref=new TypeReference();
-
Variable var=context.getVariable(getInputVariable());
- if (var != null) {
- tref.setLocalpart(var.getMessageType());
- }
-
+ TypeReference tref=createTypeReference(var.getMessageType(), context);
+
MessageSignature ms=new MessageSignature();
ms.setOperation(getOperation());
ms.getTypes().add(tref);
@@ -226,13 +222,9 @@
// Create interaction for request
ConversationInteraction interaction=new ConversationInteraction();
- TypeReference tref=new TypeReference();
-
Variable var=context.getVariable(getOutputVariable());
- if (var != null) {
- tref.setLocalpart(var.getMessageType());
- }
+ TypeReference tref=createTypeReference(var.getMessageType(), context);
MessageSignature ms=new MessageSignature();
ms.setOperation(getOperation());
@@ -259,7 +251,7 @@
// Create interaction for request
ConversationInteraction interaction=new ConversationInteraction();
- TypeReference tref=new TypeReference();
+ TypeReference tref=null;
// TODO: Not sure if fault variable is supposed to be declared
// in catch scope, or reused from outer scope?? If declared,
@@ -269,9 +261,11 @@
Variable var=context.getVariable(faultVar);
if (var != null) {
- tref.setLocalpart(var.getMessageType());
+ tref = createTypeReference(var.getMessageType(), context);
+ //tref.setLocalpart(var.getMessageType());
} else if (faultMesgType != null) {
- tref.setLocalpart(faultMesgType);
+ tref = createTypeReference(faultMesgType, context);
+ //tref.setLocalpart(faultMesgType);
}
MessageSignature ms=new MessageSignature();
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -280,6 +280,33 @@
}
/**
+ * This method returns the namespace for the supplied prefix.
+ *
+ * @param prefix The prefix
+ * @return The namespace, or null if not found
+ */
+ public String getNamespace(String prefix) {
+ String ret=null;
+
+ org.w3c.dom.NamedNodeMap map=getDOMElement().getAttributes();
+
+ for (int i=0; ret == null && i < map.getLength(); i++) {
+ org.w3c.dom.Node node=map.item(i);
+
+ if (node instanceof org.w3c.dom.Attr) {
+ org.w3c.dom.Attr attr=(org.w3c.dom.Attr)node;
+
+ if (attr.getNodeName().equals("xmlns:"+prefix) ||
+ attr.getNodeName().equals(prefix)) {
+ ret = attr.getNodeValue();
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
* This method adds a new namespace and returns the
* prefix allocated to it.
*
@@ -713,7 +740,7 @@
}
// Convert the process contents
- DefaultConversionContext context=new DefaultConversionContext(role);
+ DefaultConversionContext context=new DefaultConversionContext(role, this);
// Add variables to the context
for (int i=0; i < m_variables.size(); i++) {
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Receive.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Receive.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Receive.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -132,13 +132,9 @@
ConversionContext context) {
ConversationInteraction interaction=new ConversationInteraction();
- TypeReference tref=new TypeReference();
-
Variable var=context.getVariable(getVariable());
- if (var != null) {
- tref.setLocalpart(var.getMessageType());
- }
+ TypeReference tref=createTypeReference(var.getMessageType(), context);
MessageSignature ms=new MessageSignature();
ms.setOperation(getOperation());
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -120,13 +120,9 @@
ConversionContext context) {
ConversationInteraction interaction=new ConversationInteraction();
- TypeReference tref=new TypeReference();
-
Variable var=context.getVariable(getVariable());
- if (var != null) {
- tref.setLocalpart(var.getMessageType());
- }
+ TypeReference tref=createTypeReference(var.getMessageType(), context);
MessageSignature ms=new MessageSignature();
ms.setOperation(getOperation());
Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java 2009-10-10 21:09:31 UTC (rev 40)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java 2009-10-10 21:11:20 UTC (rev 41)
@@ -20,6 +20,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.scribble.contract.model.FaultDetails;
+import org.scribble.contract.model.Namespace;
import org.scribble.contract.model.RequestResponseMEP;
import org.scribble.model.TypeReference;
@@ -55,11 +56,19 @@
}
ret.setTargetNamespace(contract.getNamespace());
+ // Set up namespace mappings
+ for (int i=0; i < contract.getNamespaces().size(); i++) {
+ Namespace ns=contract.getNamespaces().get(i);
+
+ ret.addNamespace(ns.getPrefix(), ns.getURI());
+ }
+
// Define a port type per interface
for (int i=0; i < contract.getInterfaces().size(); i++) {
javax.wsdl.PortType ptype=generatePortType(ret, contract.getInterfaces().get(i));
- if (ptype != null) {
+ // Only add portType to definition if they have atleast one operation
+ if (ptype != null && ptype.getOperations().size() > 0) {
ret.addPortType(ptype);
}
}
More information about the savara-commits
mailing list