[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