[savara-commits] savara SVN: r38 - in trunk/tools/eclipse/plugins: org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Oct 5 16:00:55 EDT 2009


Author: objectiser
Date: 2009-10-05 16:00:54 -0400 (Mon, 05 Oct 2009)
New Revision: 38

Modified:
   trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/META-INF/MANIFEST.MF
   trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator/Generator.java
   trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl.tests/src/java/org/jboss/savara/tools/wsdl/tests/WSDLGeneratorTest.java
   trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
Log:
Pass the contract details through to the BPEL generator, to enable it to import appropriate WSDL files.

Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/META-INF/MANIFEST.MF
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/META-INF/MANIFEST.MF	2009-10-03 20:58:25 UTC (rev 37)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/META-INF/MANIFEST.MF	2009-10-05 20:00:54 UTC (rev 38)
@@ -16,7 +16,8 @@
  org.scribble.conversation.parser,
  org.apache.commons.logging,
  org.scribble.expression.xpath,
- org.scribble.pi4soa.cdm;resolution:=optional
+ org.scribble.pi4soa.cdm;resolution:=optional,
+ org.scribble.contract.model
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: www.jboss.org

Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator/Generator.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator/Generator.java	2009-10-03 20:58:25 UTC (rev 37)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator/Generator.java	2009-10-05 20:00:54 UTC (rev 38)
@@ -125,6 +125,13 @@
 		if (projector != null) {
 			Role role=new Role(localModelRef.getLocatedRole());
 			
+			// Transfer contract details (if defined) from local model
+			// reference to role
+			if (localModelRef.getAnnotations().containsKey(org.scribble.contract.model.Contract.class.getName())) {
+				role.getAnnotations().put(org.scribble.contract.model.Contract.class.getName(),
+								localModelRef.getAnnotations().get(org.scribble.contract.model.Contract.class.getName()));
+			}
+			
 			ModelReference srcRef=
 				new ModelReference(ConversationNotation.NOTATION_CODE);
 			

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-03 20:58:25 UTC (rev 37)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java	2009-10-05 20:00:54 UTC (rev 38)
@@ -120,7 +120,7 @@
 			
 			ret.setName(mep.getOperation());
 			
-			javax.wsdl.Message mesg=generateMessage(defn, mep.getTypes());
+			javax.wsdl.Message mesg=getMessage(defn, mep.getTypes());
 			
 			if (mesg != null) {
 				javax.wsdl.Input input=defn.createInput();
@@ -132,7 +132,7 @@
 			if (mep instanceof RequestResponseMEP) {
 				RequestResponseMEP rr=(RequestResponseMEP)mep;
 				
-				javax.wsdl.Message om=generateMessage(defn, rr.getResponseTypes());
+				javax.wsdl.Message om=getMessage(defn, rr.getResponseTypes());
 				if (om != null) {
 					javax.wsdl.Output output=defn.createOutput();
 					output.setMessage(om);
@@ -144,7 +144,7 @@
 					for (int i=0; i < rr.getFaultDetails().size(); i++) {
 						FaultDetails fd=rr.getFaultDetails().get(i);
 						
-						javax.wsdl.Message fm=generateMessage(defn, fd.getTypes());
+						javax.wsdl.Message fm=getMessage(defn, fd.getTypes());
 						if (fm != null) {
 							javax.wsdl.Fault fault=defn.createFault();
 							fault.setName(fd.getName());
@@ -161,29 +161,42 @@
 	}
 	
 	/**
-	 * This method generates a message, using the supplied WSDL definition,
+	 * This method returns a message, using the supplied WSDL definition,
 	 * based on the information supplied in the list of type references. If
 	 * a single type reference is supplied, this will be the message type,
 	 * if multiple type references are supplied, then these will be considered
-	 * the message parts.
+	 * the message parts.<p>
+	 * <p>
+	 * The returned message will be part of the supplied definition. If it
+	 * does not exist prior to the call to this method, then it will be
+	 * created and added to the definition upon returning the message.
 	 * 
 	 * @param defn The WSDL definition
 	 * @param types The list of type references
 	 * @return The WSDL message
 	 */
-	public javax.wsdl.Message generateMessage(javax.wsdl.Definition defn,
+	public javax.wsdl.Message getMessage(javax.wsdl.Definition defn,
 								java.util.List<TypeReference> types) {
 		javax.wsdl.Message ret=null;
 		
 		if (defn != null && types != null && types.size() > 0) {
-			ret = defn.createMessage();
-			
+			javax.xml.namespace.QName qname=null;
+					
 			if (types.size() == 1) {
 				TypeReference ref=types.get(0);
-				ret.setQName(new javax.xml.namespace.QName(ref.getNamespace(),ref.getLocalpart()));				
+				qname = new javax.xml.namespace.QName(ref.getNamespace(),ref.getLocalpart());
 			} else {
 				throw new UnsupportedOperationException("Currently only supports single type reference");
 			}
+			
+			if (qname != null &&
+					(ret = defn.getMessage(qname)) == null) {
+				ret = defn.createMessage();
+				
+				ret.setQName(qname);
+				
+				defn.addMessage(ret);
+			}
 		}
 		
 		return(ret);

Modified: trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl.tests/src/java/org/jboss/savara/tools/wsdl/tests/WSDLGeneratorTest.java
===================================================================
--- trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl.tests/src/java/org/jboss/savara/tools/wsdl/tests/WSDLGeneratorTest.java	2009-10-03 20:58:25 UTC (rev 37)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl.tests/src/java/org/jboss/savara/tools/wsdl/tests/WSDLGeneratorTest.java	2009-10-05 20:00:54 UTC (rev 38)
@@ -283,7 +283,7 @@
 		
 		WSDLGenerator gen=new WSDLGenerator();
 		
-		javax.wsdl.Message result=gen.generateMessage(defn, refs);
+		javax.wsdl.Message result=gen.getMessage(defn, refs);
 		
 		if (result == null) {
 			fail("Message is null");



More information about the savara-commits mailing list