[overlord-commits] Overlord SVN: r483 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: test and 7 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Sat Feb 7 15:41:26 EST 2009


Author: objectiser
Date: 2009-02-07 15:41:26 -0500 (Sat, 07 Feb 2009)
New Revision: 483

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/MANIFEST.MF
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/ManifestRegistryUtil.java
Log:
Added unit test

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java	2009-02-07 20:41:26 UTC (rev 483)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.generator;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
+import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.*;
+import org.scribble.model.change.ModelGenerator;
+import org.scribble.conversation.model.*;
+
+import junit.framework.TestCase;
+
+public class GeneratorTest extends TestCase {
+
+	protected void setUp() {
+		
+		// Uses a locally defined manifest to register
+		// the extra extension 'rules'
+		java.io.InputStream is=ManifestRegistryUtil.class.getResourceAsStream("MANIFEST.MF");
+		
+		try {
+			org.scribble.extensions.ClasspathRegistry reg=
+					new org.scribble.extensions.ClasspathRegistry();
+			
+			reg.initialize();
+			
+			ManifestRegistryUtil.registerScribbleExtensions(reg, new java.util.jar.Manifest(is));
+			
+			RegistryFactory.setRegistry(reg);
+			
+		} catch(Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	public void testGenerate() {
+		
+		// TODO: Write a 'Manifest' utility for registering rules
+		// into the registry - when working move into scribble core,
+		// but so that it is accessible to other plugins
+		ConversationModel model=new ConversationModel();
+		
+		Role role=new Role();
+		role.setName("Broker");
+		
+		ModelName modelName=new ModelName();
+		modelName.setLocatedRole(role);
+		
+		Conversation conv=new Conversation();
+		
+		conv.setModelName(modelName);
+		
+		model.setConversation(conv);
+		
+		ConversationInteraction interaction=new ConversationInteraction();
+		
+		MessageSignature msig=new MessageSignature();
+		msig.setOperation("purchase");
+		
+		TypeReference order=new TypeReference();
+		order.setLocalpart("Order");
+		msig.getTypes().add(order);
+		
+		interaction.setMessageSignature(msig);
+		
+		BPELLanguageModel bpelModel=getBPELLanguageModel(model);
+		
+		org.w3c.dom.Element elem=bpelModel.getBPELProcess();
+		
+		if (elem == null) {
+			fail("No BPEL process");
+		} else {
+			
+			// TODO: Verify the BPEL process returned
+			
+		}
+	}
+	
+	protected BPELLanguageModel getBPELLanguageModel(ConversationModel model) {
+		
+		if (model == null) {
+			fail("Model is null");
+		} else if (model.getModelName() == null) {
+			fail("Model Name is null");
+		} else if (model.getModelName().getLocatedRole() == null) {
+			fail("Model does not define a located role");
+		}
+		
+		ModelReference targetRef=
+			new ModelReference(BPELLanguageModel.BPEL_NOTATION);
+		
+		System.out.println("REG="+RegistryFactory.getRegistry());
+		
+		DefaultBPELLanguageModel target=
+			new DefaultBPELLanguageModel(targetRef);
+		
+		ModelGenerator generator=(ModelGenerator)
+			RegistryFactory.getRegistry().getExtension(
+					ModelGenerator.class, null);
+		
+		if (generator != null) {
+			generator.generate(targetRef, model.getModelName().getLocatedRole(),
+								target,	model);
+		} else {
+			fail("Could not get ModelGenerator");
+		}
+		
+		return(target);
+	}
+}

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/MANIFEST.MF
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/MANIFEST.MF	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/MANIFEST.MF	2009-02-07 20:41:26 UTC (rev 483)
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Overlord CDL BPEL Plug-in
+Bundle-SymbolicName: org.jboss.tools.overlord.cdl.bpel;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.jboss.tools.overlord.cdl.bpel.eclipse.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.scribble.conversation.model,
+ org.scribble.core,
+ org.scribble.lang.model,
+ org.eclipse.core.resources,
+ org.scribble.osgi,
+ org.eclipse.jdt.core,
+ org.junit
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: www.jboss.org
+Scribble-Extensions: org.jboss.tools.overlord.cdl.bpel.parser.BPELParser,
+  org.jboss.tools.overlord.cdl.bpel.parser.BPELNotation,
+  org.jboss.tools.overlord.cdl.bpel.model.change.LanguageToConversationModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.ConversationModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.WhileModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.WhenModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.IfModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.RunModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.SpawnModelChangeRule,
+  org.jboss.tools.overlord.cdl.bpel.model.change.ConversationInteractionModelChangeRule

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/ManifestRegistryUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/ManifestRegistryUtil.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/ManifestRegistryUtil.java	2009-02-07 20:41:26 UTC (rev 483)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.generator;
+
+public class ManifestRegistryUtil {
+
+	public static void registerScribbleExtensions(org.scribble.extensions.AbstractRegistry registry,
+							java.util.jar.Manifest manifest) {
+		
+		String str=manifest.getMainAttributes().getValue("Scribble-Extensions");
+		
+		java.util.StringTokenizer st=new java.util.StringTokenizer(str, ", ");
+		
+		while (st.hasMoreTokens()) {
+			String clsName=st.nextToken();
+			
+			try {
+				Class<?> cls=Class.forName(clsName);
+				registry.addExtension(cls);
+			} catch(Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+}




More information about the overlord-commits mailing list