[overlord-commits] Overlord SVN: r642 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel: src/java/org/jboss/tools/overlord/cdl/bpel/actions and 9 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Mon Jun 15 18:16:46 EDT 2009


Author: objectiser
Date: 2009-06-15 18:16:46 -0400 (Mon, 15 Jun 2009)
New Revision: 642

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods at Buyer.bpel
Removed:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java
Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java
Log:
Added initial support for parsing with some conversion tests.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF	2009-06-15 22:16:46 UTC (rev 642)
@@ -14,8 +14,8 @@
  org.eclipse.jdt.core,
  org.junit,
  org.scribble.conversation.parser,
- org.apache.log4j;bundle-version="1.2.13",
- org.pi4soa.scribble;resolution:=optional
+ org.pi4soa.scribble;resolution:=optional,
+ org.apache.commons.logging
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: www.jboss.org

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.actions;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.action.IAction;
@@ -108,7 +108,7 @@
 		mbox.open();
 	}
 
-	private static Logger logger = Logger.getLogger(GenerateAction.class);
+	private static Log logger = LogFactory.getLog(GenerateAction.class);
 	
 	private ISelection m_selection=null;
     private IWorkbenchPart m_targetPart=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.dialogs;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
@@ -368,7 +368,7 @@
 		logger.error(mesg, ex);
 	}
 
-	private static Logger logger = Logger.getLogger(GenerateDialog.class);
+	private static Log logger = LogFactory.getLog(GenerateDialog.class);
 
 	private IFile m_file=null;
 	private ConversationModel m_conversationModel=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -1,6 +1,6 @@
 package org.jboss.tools.overlord.cdl.bpel.eclipse;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -69,5 +69,5 @@
 				(t == null ? "" : ": "+t), t);
 	}
 	
-	private static Logger logger = Logger.getLogger(Activator.class);
+	private static Log logger = LogFactory.getLog(Activator.class);
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.generator;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.eclipse.core.resources.IFile;
 import org.jboss.tools.overlord.cdl.bpel.generator.BuildSystem;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -204,7 +204,7 @@
 		return(m_buildSystem);
 	}
 
-	private static Logger logger = Logger.getLogger(Generator.class);
+	private static Log logger = LogFactory.getLog(Generator.class);
 
 	private IFile m_file=null;
 	private java.util.List<ModelReference> m_localModelRefs=null;

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -1,30 +0,0 @@
-/*
- * 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.model;
-
-public interface ConversionContext {
-
-	/**
-	 * This method returns the role associated with the
-	 * endpoint being converted.
-	 * 
-	 *@return The role
-	 */
-	public String getRole();
-	
-}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,8 +17,9 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.model;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
+import org.scribble.conversation.model.Conversation;
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelIssue;
 import org.scribble.model.admin.ModelListener;
@@ -48,6 +49,15 @@
 		m_source = source;
 		m_bpelProcess = new BPELProcess(this, elem);
 		m_contents = contents;
+		
+		// Initialize the existing model
+		Conversation conv=m_bpelProcess.convert();
+		
+		if (conv != null) {
+			getConversations().add(conv);
+		} else {
+			// Log error?
+		}
 	}
 	
 	/**
@@ -110,7 +120,7 @@
 		return(m_bpelProcess);
 	}
 		
-	private static Logger logger = Logger.getLogger(DefaultBPELLanguageModel.class);
+	private static Log logger = LogFactory.getLog(DefaultBPELLanguageModel.class);
 
 	private ModelReference m_source=null;
 	private BPELProcess m_bpelProcess=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -19,7 +19,7 @@
 
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelListener;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
 
 /**
@@ -295,7 +295,7 @@
 	public abstract void convert(java.util.List<Activity> activities,
 					ConversionContext context);
 		
-	private static Logger logger = Logger.getLogger(BPELElement.class);
+	private static Log logger = LogFactory.getLog(BPELElement.class);
 
 	private BPELLanguageModel m_model=null;
 	private org.w3c.dom.Element m_element=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.model.component;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
 
 public class BPELElementFactory {
@@ -64,5 +64,5 @@
 		return(ret);
 	}
 
-	private static Logger logger = Logger.getLogger(BPELElementFactory.class);
+	private static Log logger = LogFactory.getLog(BPELElementFactory.class);
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.model.component;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
 
 /**
@@ -66,7 +66,7 @@
 		return(m_activity);
 	}
 	
-	private static Logger logger = Logger.getLogger(BPELGroupingConstruct.class);
+	private static Log logger = LogFactory.getLog(BPELGroupingConstruct.class);
 
 	private BPELElement m_activity=null;
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -19,6 +19,7 @@
 
 import java.util.List;
 
+import org.scribble.conversation.model.Conversation;
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelListener;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -509,8 +510,44 @@
 	 */
 	public void convert(java.util.List<Activity> activities,
 			ConversionContext context) {
+		
+		// TODO: Deal with fault and event handlers
+		
+		if (m_activity != null) {
+			m_activity.convert(activities, context);
+		}
 	}
+	
+	/**
+	 * This method returns the conversion associated with the
+	 * BPEL process.
+	 * 
+	 * @return The conversation
+	 */
+	public Conversation convert() {
+		Conversation ret=new Conversation();
+		
+		ret.derivedFrom(this);
+		ret.getBlock().derivedFrom(this);
 
+		// Configure model name
+		ModelName modelName=new ModelName();
+		modelName.setName(getName());
+		
+		ret.setModelName(modelName);
+		
+		DefaultConversionContext context=new DefaultConversionContext();
+		
+		// Add variables to the context
+		for (int i=0; i < m_variables.size(); i++) {
+			context.addVariable(m_variables.get(i));
+		}
+		
+		convert(ret.getBlock().getContents(), context);
+		
+		return(ret);
+	}
+
 	private org.w3c.dom.Element m_partnerLinksElem=null;
 	private org.w3c.dom.Element m_messageExchangesElem=null;
 	private org.w3c.dom.Element m_variablesElem=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java (from rev 641, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,46 @@
+/*
+ * 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.model.component;
+
+public interface ConversionContext {
+
+	/**
+	 * This method returns the role associated with the
+	 * endpoint being converted.
+	 * 
+	 *@return The role
+	 */
+	public String getRole();
+
+	/**
+	 * This method returns the variable associated with the
+	 * supplied name.
+	 * 
+	 * @param name The name
+	 * @return The variable, or null if not found
+	 */
+	public Variable getVariable(String name);
+	
+	/**
+	 * This method adds a variable to the context.
+	 * 
+	 * @param var The variable
+	 */
+	public void addVariable(Variable var);
+	
+}

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,59 @@
+/*
+ * 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.model.component;
+
+/**
+ * This class provides a default implementation of the conversation
+ * context.
+ */
+public class DefaultConversionContext implements ConversionContext {
+
+	/**
+	 * This method returns the role associated with the
+	 * endpoint being converted.
+	 * 
+	 *@return The role
+	 */
+	public String getRole() {
+		return(m_role);
+	}
+	
+	/**
+	 * This method returns the variable associated with the
+	 * supplied name.
+	 * 
+	 * @param name The name
+	 * @return The variable, or null if not found
+	 */
+	public Variable getVariable(String name) {
+		return(m_variables.get(name));
+	}
+	
+	/**
+	 * This method adds a variable to the context.
+	 * 
+	 * @param var The variable
+	 */
+	public void addVariable(Variable var) {
+		m_variables.put(var.getName(), var);
+	}
+	
+	private String m_role="myRole";
+	private java.util.Map<String,Variable> m_variables=
+					new java.util.HashMap<String,Variable>();
+}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -19,9 +19,8 @@
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**
@@ -131,7 +130,7 @@
 		
 	}
 
-	private static Logger logger=Logger.getLogger(FaultHandlers.class);
+	private static Log logger=LogFactory.getLog(FaultHandlers.class);
 	
 	private CatchAll m_catchAll=null;
 	private java.util.List<Catch> m_catchPaths=

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -19,7 +19,7 @@
 
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelListener;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
 
 /**
@@ -225,7 +225,7 @@
 		return(m_elsePath);
 	}
 	
-	private static Logger logger=Logger.getLogger(If.class);
+	private static Log logger=LogFactory.getLog(If.class);
 	
 	private Condition m_condition=null;
 	private BPELElement m_activity=null;

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -17,6 +17,7 @@
  */
 package org.jboss.tools.overlord.cdl.bpel.model.component;
 
+import org.scribble.conversation.model.ConversationInteraction;
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelListener;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -114,5 +115,92 @@
 	public void convert(java.util.List<Activity> activities,
 			ConversionContext context) {
 	}
+	
+	protected void convertRequest(java.util.List<Activity> activities,
+			ConversionContext context) {
+		// Create interaction for request
+		ConversationInteraction interaction=new ConversationInteraction();
+		
+		TypeReference tref=new TypeReference();
+		
+		Variable var=context.getVariable(getInputVariable());
+		
+		if (var != null) {
+			tref.setAlias(var.getMessageType());			
+		}
+		
+		MessageSignature ms=new MessageSignature();
+		ms.setOperation(getOperation());
+		ms.getTypes().add(tref);
+		
+		interaction.setFromRole(new Role(context.getRole()));
+		interaction.setToRole(new Role(getPartnerRole()));
+		
+		interaction.setMessageSignature(ms);
+		
+		activities.add(interaction);
+	}
 
+	protected void convertResponse(java.util.List<Activity> activities,
+			ConversionContext context) {
+		
+		// Create interaction for request
+		ConversationInteraction interaction=new ConversationInteraction();
+		
+		TypeReference tref=new TypeReference();
+		
+		Variable var=context.getVariable(getOutputVariable());
+		
+		if (var != null) {
+			tref.setAlias(var.getMessageType());			
+		}
+		
+		MessageSignature ms=new MessageSignature();
+		ms.setOperation(getOperation());
+		ms.getTypes().add(tref);
+		
+		interaction.setFromRole(new Role(getPartnerRole()));
+		interaction.setToRole(new Role(context.getRole()));
+		
+		interaction.setMessageSignature(ms);
+		
+		activities.add(interaction);
+	}
+	
+	protected void convertFaultResponse(java.util.List<Activity> activities,
+			String faultVar, ConversionContext context) {
+		
+		// Create interaction for request
+		ConversationInteraction interaction=new ConversationInteraction();
+		
+		TypeReference tref=new TypeReference();
+		
+		Variable var=context.getVariable(faultVar);
+		
+		if (var != null) {
+			tref.setAlias(var.getMessageType());			
+		}
+		
+		MessageSignature ms=new MessageSignature();
+		ms.setOperation(getOperation());
+		ms.getTypes().add(tref);
+		
+		interaction.setFromRole(new Role(getPartnerRole()));
+		interaction.setToRole(new Role(context.getRole()));
+		
+		interaction.setMessageSignature(ms);
+		
+		activities.add(interaction);
+	}
+	
+	protected String getPartnerRole() {
+		String ret=getPartnerLink();
+		int index=-1;
+		
+		if (ret != null && (index=ret.indexOf("To")) != -1) {
+			ret = ret.substring(index+2);
+		}
+		
+		return(ret);
+	}
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -19,6 +19,8 @@
 
 import java.util.List;
 
+import org.scribble.conversation.model.ConditionalBlock;
+import org.scribble.conversation.model.ConversationInteraction;
 import org.scribble.model.*;
 import org.scribble.model.admin.ModelListener;
 import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -305,7 +307,7 @@
 	 * 
 	 * @param act The activity
 	 */
-	public void setActivity(BPELElement act) {
+	public void setActivity(BPELActivity act) {
 		m_activity = act;
 		
 		BPELElement existing=findChildActivity();
@@ -327,7 +329,7 @@
 	 * 
 	 * @return The activity
 	 */
-	public BPELElement getActivity() {
+	public BPELActivity getActivity() {
 		return(m_activity);
 	}
 	
@@ -523,7 +525,69 @@
 	 */
 	public void convert(java.util.List<Activity> activities,
 			ConversionContext context) {
+		
+		// Add variables to the context
+		for (int i=0; i < m_variables.size(); i++) {
+			context.addVariable(m_variables.get(i));
+		}
+		
+		// Check whether scope has been defined to represent
+		// an interaction with one or more fault responses and
+		// no event handlers
+		Invoke invoke=null;
+		
+		if (m_faultHandlers != null && (m_faultHandlers.getCatchPaths().size() > 0 ||
+				m_faultHandlers.getCatchAll() != null) &&
+				(m_eventHandlers == null || (m_eventHandlers.getOnEvents().size() == 0 &&
+						m_eventHandlers.getOnAlarms().size() == 0)) &&
+				(invoke = getInvoke(m_activity)) != null) {
+
+			invoke.convertRequest(activities, context);
+			
+			// Create choice with normal response and fault paths
+			org.scribble.conversation.model.If choice=new org.scribble.conversation.model.If();
+			
+			ConditionalBlock cb=new ConditionalBlock();
+			
+			invoke.convertResponse(cb.getContents(), context);
+			
+			// Include remaining activities
+			if (m_activity instanceof Sequence) {
+				for (int i=1; i < ((Sequence)m_activity).getActivities().size(); i++) {
+					((Sequence)m_activity).getActivities().get(i).convert(cb.getContents(), context);
+				}
+			}
+			
+			choice.getConditionalBlocks().add(cb);
+			
+			// Process fault handlers
+			for (int i=0; i < m_faultHandlers.getCatchPaths().size(); i++) {
+				Catch catchBlock=m_faultHandlers.getCatchPaths().get(i);
+				
+				ConditionalBlock fcb=new ConditionalBlock();
+				
+				invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+				
+				choice.getConditionalBlocks().add(fcb);
+			}
+			
+			activities.add(choice);
+		}
 	}
+	
+	protected Invoke getInvoke(BPELActivity act) {
+		Invoke ret=null;
+		
+		if (act instanceof Invoke) {
+			ret = (Invoke)act;
+		} else if (act instanceof Sequence &&
+				((Sequence)m_activity).getActivities().size() > 0 &&
+				((Sequence)m_activity).getActivities().get(0) instanceof Invoke) {
+			ret = (Invoke)((Sequence)m_activity).getActivities().get(0);
+		}
+		
+		return(ret);
+	}
 
 	private org.w3c.dom.Element m_partnerLinksElem=null;
 	private org.w3c.dom.Element m_variablesElem=null;
@@ -535,5 +599,5 @@
 	private FaultHandlers m_faultHandlers=null;
 	private CompensationHandler m_compensationHandler=null;
 	private TerminationHandler m_terminationHandler=null;
-	private BPELElement m_activity;
+	private BPELActivity m_activity;
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -135,6 +135,10 @@
 	 */
 	public void convert(java.util.List<Activity> activities,
 			ConversionContext context) {
+		
+		for (int i=0; i < m_activities.size(); i++) {
+			m_activities.get(i).convert(activities, context);
+		}
 	}
 
 	private java.util.List<BPELActivity> m_activities=

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 
 /**

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,237 @@
+/*
+ * 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.parser;
+
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELNotation;
+import org.scribble.conversation.model.ConversationModel;
+import org.scribble.lang.model.*;
+import org.scribble.conversation.model.ConversationNotation;
+import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.ModelReference;
+
+public class ParserTest extends TestCase {
+
+    public static TestSuite suite() {
+        TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
+        
+        suite.addTest(new BPELToConversationTest("PurchaseGoods at Buyer"));
+       
+        return suite;
+    }
+    
+    /**
+     * The test case for running the BPEL to Conversation test.
+     */
+	protected static class BPELToConversationTest extends TestCase {
+
+		/**
+		 * This constructor is initialized with the test
+		 * name.
+		 * 
+		 * @param name The test name
+		 */
+		public BPELToConversationTest(String name) {
+			super(name);
+			m_name = name;
+		}
+		
+		/**
+		 * This method runs the test.
+		 * 
+		 * @param result The test result
+		 */
+		public void run(TestResult result) {
+			result.startTest(this);
+			
+			String filename="testmodels/"+m_name+".bpel";
+			
+			java.io.InputStream is=
+				ParserTest.class.getResourceAsStream(filename);
+			
+			if (is == null) {
+				result.addError(this,
+						new Throwable("Unable to locate resource: "+filename));
+			} else {			
+				org.scribble.parser.Parser p=new org.scribble.parser.DefaultParser();
+				org.scribble.model.ModelReference ref=
+						new org.scribble.model.ModelReference(BPELNotation.NOTATION_CODE);
+				org.scribble.model.admin.DefaultModelListener l=
+						new org.scribble.model.admin.DefaultModelListener();
+				
+				org.scribble.model.Model model=p.parse(ref, is, l);
+				
+				if (model == null) {
+					result.addError(this, new Throwable("Model is null"));
+						
+				} else if ((model instanceof LanguageModel) == false) {
+					result.addError(this, new Throwable("Model is null"));
+					
+				} else if (l.getErrors().size() != 0) {
+					result.addError(this, new Throwable("Failed to parse CDM Model"));
+					
+					for (int i=0; i < l.getErrors().size(); i++) {
+						System.err.println("ModelIssue: "+
+								l.getErrors().get(i).getMessage());
+					}
+				} else {
+					LanguageModel lm=(LanguageModel)model;
+					ConversationModel cm=new ConversationModel();
+					
+					cm.setNamespace(lm.getNamespace());
+					
+					if (lm.getConversations().size() == 1) {
+						cm.setConversation(lm.getConversations().get(0));
+					}
+
+					try {
+						org.scribble.export.Exporter exporter=
+							(org.scribble.export.Exporter)
+							RegistryFactory.getRegistry().getExtension(
+									org.scribble.export.Exporter.class, null);
+
+						org.scribble.export.text.TextFormatter formatter=
+							new org.scribble.export.text.TextFormatter();
+						
+						java.io.ByteArrayOutputStream os=
+							new java.io.ByteArrayOutputStream();
+						
+						formatter.setOutputStream(os);
+														
+						exporter.export(new ModelReference(ConversationNotation.NOTATION_CODE),
+								cm, formatter);
+						
+						String str=new String(os.toByteArray());
+						
+						checkResults(result, str);
+						
+					} catch(Exception e) {
+						e.printStackTrace();
+					}
+				}
+			}
+			
+			result.endTest(this);
+		}
+		
+		/**
+		 * This method checks the generated jboss-esb.xml against a
+		 * previously stored correct version.
+		 * 
+		 * @param result The test result
+		 * @param conv The conversation
+		 */
+		protected void checkResults(TestResult result, String conv) {
+			boolean f_valid=false;
+
+			String filename="results/"+m_name+".scv";
+			
+			java.io.InputStream is=
+				ParserTest.class.getResourceAsStream(filename);
+			
+			if (is != null) {
+				
+				try {
+					byte[] b=new byte[is.available()];
+				
+					is.read(b);
+					
+					is.close();
+					
+					String orig=new String(b);
+					
+					if (orig.equals(conv) == false) {
+						result.addError(this,
+							new Throwable("Generated Conversation does not match stored version"));
+					} else {
+						f_valid = true;
+					}
+				} catch(Exception e) {
+					result.addError(this, e);
+				}
+			} else {
+				result.addError(this,
+						new Throwable("Resulting Conversation '"+filename+
+								"' not found for comparison"));
+			}
+			
+			if (f_valid == false) {
+				String bpelfile="testmodels/"+m_name+".bpel";
+				
+				java.net.URL url=ParserTest.class.getResource(bpelfile);
+				
+				try {
+					url = org.eclipse.core.runtime.FileLocator.toFileURL(url);
+				} catch(Exception e) {
+					e.printStackTrace();
+				}
+				
+				if (url != null) {
+					// URL will point to copy of test models in the classes folder, so need
+					// to obtain reference back to source version
+					java.io.File f=null;
+					
+					if (url.getFile().indexOf("classes") != -1) {
+						f = new java.io.File(url.getFile().replaceFirst("classes","src/plugintest"));
+					} else if (url.getFile().indexOf("bin") != -1) {						
+						f = new java.io.File(url.getFile().replaceFirst("bin","src/plugintest"));
+					} else {
+						result.addError(this, new Exception("Could not locate results folder to record expected result"));
+					}
+					
+					if (f != null && f.exists()) {
+						f = f.getParentFile().getParentFile();
+						
+						java.io.File resultsDir=new java.io.File(f, "results");
+						
+						if (resultsDir.exists() == false) {
+							resultsDir.mkdirs();
+						}
+						
+						java.io.File resultFile=new java.io.File(resultsDir, m_name+".expected");
+						
+						if (resultFile.exists() == false) {
+							try {
+								java.io.FileOutputStream fos=new java.io.FileOutputStream(resultFile);
+								
+								fos.write(conv.getBytes());
+								
+								fos.flush();
+								fos.close();
+								
+							} catch(Exception e){
+								result.addError(this, e);
+							}
+						} else {
+							System.err.println("NOTE: Expected output '"+resultFile+
+										"' already exists - not being overwritten");
+						}
+					} else {
+						result.addError(this, new Throwable("Unable to obtain URL for BPEL model source '"+
+								m_name+"': "+url));
+					}
+				}
+			}
+		}
+
+		private String m_name=null;
+	}
+}

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods at Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods at Buyer.bpel	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods at Buyer.bpel	2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,21 @@
+<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <partnerLinks>
+        <partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="BuyRequest" name="buyRequestVar"/>
+        <variable messageType="BuyConfirmed" name="buyConfirmedVar"/>
+    </variables>
+    <sequence>
+        <scope>
+            <faultHandlers>
+                <catch faultName="BuyFailed">
+                    <sequence/>
+                </catch>
+            </faultHandlers>
+            <sequence>
+                <invoke inputVariable="buyRequestVar" operation="buy" outputVariable="buyConfirmedVar" partnerLink="BuyerToStore" portType="StorePT"/>
+            </sequence>
+        </scope>
+    </sequence>
+</process>

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 import org.w3c.dom.Element;
 

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 import org.w3c.dom.Element;
 

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java	2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java	2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
 import org.scribble.model.Activity;
 import org.w3c.dom.Element;
 




More information about the overlord-commits mailing list