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

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Oct 8 15:41:21 EDT 2009


Author: objectiser
Date: 2009-10-08 15:41:21 -0400 (Thu, 08 Oct 2009)
New Revision: 39

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/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
Log:
Create wsdl for current role. Also will need to eventually create wsdls for partner roles, and additional wsdl definitions related to BPEL specific info, like partner link definitions.

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-05 20:00:54 UTC (rev 38)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/META-INF/MANIFEST.MF	2009-10-08 19:41:21 UTC (rev 39)
@@ -17,7 +17,8 @@
  org.apache.commons.logging,
  org.scribble.expression.xpath,
  org.scribble.pi4soa.cdm;resolution:=optional,
- org.scribble.contract.model
+ org.scribble.contract.model,
+ org.jboss.savara.tools.wsdl
 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-05 20:00:54 UTC (rev 38)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/generator/Generator.java	2009-10-08 19:41:21 UTC (rev 39)
@@ -24,6 +24,7 @@
 import org.jboss.savara.tools.bpel.generator.BuildSystem;
 import org.jboss.savara.tools.bpel.model.*;
 import org.jboss.savara.tools.bpel.util.XMLUtils;
+import org.scribble.contract.model.Contract;
 import org.scribble.conversation.model.*;
 import org.scribble.extensions.RegistryFactory;
 import org.scribble.model.*;
@@ -157,7 +158,7 @@
 					generator.generate(targetRef, role, target,
 								lcm);
 					
-					generateRoleProject(projectName,
+					generateRoleProject(projectName, role,
 								target.getBPELProcess().getDOMElement(),
 								lcm, target);
 				} else {
@@ -167,9 +168,9 @@
 		}
 	}
 	
-	protected void generateRoleProject(String projectName,
+	protected void generateRoleProject(String projectName, Role role,
 			org.w3c.dom.Element bpel, ConversationModel localcm,
-			BPELLanguageModel model)	throws Exception {
+			BPELLanguageModel model) throws Exception {
 		
 		final IProject proj=createProject(projectName);
 		
@@ -193,9 +194,47 @@
 						bpelText.getBytes()), true, false,
 						new org.eclipse.core.runtime.NullProgressMonitor());
 			}
+			
+			// Write the WSDL files
+			generateWSDL(role, proj, localcm);		
 		}
 	}
+	
+	protected void generateWSDL(Role role, IProject proj, ConversationModel localcm)
+						throws Exception {		
+		
+		if (role.getAnnotations().containsKey(Contract.class.getName())) {
+			javax.wsdl.xml.WSDLWriter writer=
+				javax.wsdl.factory.WSDLFactory.newInstance().newWSDLWriter();
+			org.jboss.savara.tools.wsdl.WSDLGenerator generator=
+						new org.jboss.savara.tools.wsdl.WSDLGenerator();
+			Contract contract=(Contract)role.getAnnotations().get(Contract.class.getName());
+
+			javax.wsdl.Definition defn=generator.generateDefinition(contract);
 			
+			java.io.ByteArrayOutputStream baos=new java.io.ByteArrayOutputStream();
+			
+			writer.writeWSDL(defn, baos);
+			
+			byte[] b=baos.toByteArray();
+			
+			baos.close();
+			
+			IPath wsdlPath=proj.getFullPath().append(
+					new Path(getBuildSystem().getBPELFilePath())).
+						append(localcm.getModelName().getName()+"_"+
+							role.getName()+".wsdl");
+			
+			IFile wsdlFile=proj.getProject().getWorkspace().getRoot().getFile(wsdlPath);
+			GeneratorUtil.createParentFolder(wsdlFile);
+			wsdlFile.create(null, true,
+					new org.eclipse.core.runtime.NullProgressMonitor());
+			
+			wsdlFile.setContents(new java.io.ByteArrayInputStream(b), true, false,
+						new org.eclipse.core.runtime.NullProgressMonitor());
+		}
+	}
+			
 	protected IProject createProject(String projectName)
 							throws Exception {
 		

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-05 20:00:54 UTC (rev 38)
+++ trunk/tools/eclipse/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java	2009-10-08 19:41:21 UTC (rev 39)
@@ -86,6 +86,7 @@
 		
 		if (defn != null && intf != null) {
 			ret = defn.createPortType();
+			ret.setUndefined(false);
 			
 			if (intf.getName() != null) {
 				ret.setQName(new javax.xml.namespace.QName(intf.getNamespace(), intf.getName()));
@@ -117,6 +118,7 @@
 
 		if (defn != null && mep != null) {
 			ret = defn.createOperation();
+			ret.setUndefined(false);
 			
 			ret.setName(mep.getOperation());
 			
@@ -192,6 +194,7 @@
 			if (qname != null &&
 					(ret = defn.getMessage(qname)) == null) {
 				ret = defn.createMessage();
+				ret.setUndefined(false);
 				
 				ret.setQName(qname);
 				



More information about the savara-commits mailing list