diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.classpath b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.classpath
deleted file mode 100644
index 8a8f166..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.project b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.project
deleted file mode 100644
index c08bb45..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.soa.mangrove.branches.common</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.pde.PluginNature</nature>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f287d53..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

-org.eclipse.jdt.core.compiler.compliance=1.6

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.source=1.6

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/META-INF/MANIFEST.MF b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/META-INF/MANIFEST.MF
deleted file mode 100644
index a332080..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mangrove Branches Common Functionality
-Bundle-SymbolicName: org.eclipse.soa.mangrove.branches.common; singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.soa.mangrove.branches.common.Activator
-Bundle-Vendor: Xerox
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emf.common.util,
- org.eclipse.soa.mangrove,
- org.eclipse.soa.mangrove.util
-Export-Package: org.eclipse.soa.mangrove.branches.common
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/build.properties b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/build.properties
deleted file mode 100644
index 78d73f7..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/

-output.. = bin/

-bin.includes = plugin.xml,\

-               META-INF/,\

-               .

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/plugin.xml b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/plugin.xml
deleted file mode 100644
index cd9ce2b..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.4"?>

-<plugin>

-

-   <extension

-         point="org.eclipse.ui.popupMenus">

-      <objectContribution

-            id="org.eclipse.soa.mangrove.branches.common.menuLabelContribution"

-            objectClass="org.eclipse.core.resources.IFile">

-         <menu

-               label="Mangrove"

-               path="additions"

-               id="org.eclipse.soa.mangrove.branches.common.mainMenu">

-            <separator

-                  name="mainGroup">

-            </separator>

-         </menu>

-      </objectContribution>

-   </extension>

-

-</plugin>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Activator.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Activator.java
deleted file mode 100644
index 4e8f7d0..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.soa.mangrove.branches.common;

-

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-import org.osgi.framework.BundleContext;

-

-/**

- * The activator class controls the plug-in life cycle

- */

-public class Activator extends AbstractUIPlugin {

-

-	// The plug-in ID

-	public static final String PLUGIN_ID = "org.eclipse.soa.mangrove.branches.common"; //$NON-NLS-1$

-

-	// The shared instance

-	private static Activator plugin;

-	

-	/**

-	 * The constructor

-	 */

-	public Activator() {

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext context) throws Exception {

-		super.start(context);

-		plugin = this;

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext context) throws Exception {

-		plugin = null;

-		super.stop(context);

-	}

-

-	/**

-	 * Returns the shared instance

-	 *

-	 * @return the shared instance

-	 */

-	public static Activator getDefault() {

-		return plugin;

-	}

-

-	/**

-	 * Returns an image descriptor for the image file at the given

-	 * plug-in relative path

-	 *

-	 * @param path the path

-	 * @return the image descriptor

-	 */

-	public static ImageDescriptor getImageDescriptor(String path) {

-		return imageDescriptorFromPlugin(PLUGIN_ID, path);

-	}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Core2AnyTransformer.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Core2AnyTransformer.java
deleted file mode 100644
index 78fbd26..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.branches.common/src/org/eclipse/soa/mangrove/branches/common/Core2AnyTransformer.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2013} Xerox Corp.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (Xerox Corp.) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.branches.common;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.soa.mangrove.StpIntermediateModel;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.soa.mangrove.util.*;
-
-/**
- * The main class driving the transformation process from the
- * Mangrove Core to any other meta-model. This class needs to be extended with logic specific to the target meta-model 
- * 
- * @author Adrian Mos
- */
-public abstract class Core2AnyTransformer {
-    
-    private IMReader imReader = new IMReader(); //helper object for reading IM serialized instances
-    private Shell shell; // the SWT shell that will be the parent of different widgets created here
-	protected URI uri;
-	protected StpIntermediateModel im;
-	
-    /**
-     * @param shell
-     */
-    public Core2AnyTransformer(Shell shell, URI uri) {
-        super();
-        this.shell = shell;
-        this.uri = uri;
-        //get the root element of the IM
-        try {
-            im = imReader.loadIM(uri);
-        } catch (Throwable t) {
-            displayIMError("Could not obtain the IM instance contents", t);
-            return;
-        }
-    }
-    
-    
-    /**
-     * Display an error message window for IM-related operations
-     * @param msg the error message
-     */
-    protected void displayIMError(String msg, Throwable t) {
-        IStatus iStatus = null;
-        if (null != t)
-            iStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, t.getLocalizedMessage(), t);
-        else
-            iStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, msg);
-        ErrorDialog.openError(shell, "Intermediate Model Generation Error", msg, iStatus);
-
-    }
-
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.classpath b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.classpath
deleted file mode 100644
index 0215967..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.project b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.project
deleted file mode 100644
index c813699..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.soa.mangrove.in.bpmn</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.pde.PluginNature</nature>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/META-INF/MANIFEST.MF b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/META-INF/MANIFEST.MF
deleted file mode 100644
index 1dce001..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.soa.mangrove.in.bpmn; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.soa.mangrove.in.bpmn2im.Bpmn2ImActivator
-Bundle-Vendor:  %providerName
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.soa.mangrove,
- org.eclipse.stp.bpmn,
- org.eclipse.soa.mangrove.runtime
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.soa.mangrove.in.bpmn2im,
- org.eclipse.soa.mangrove.in.bpmn2im.popup.actions,
- org.eclipse.soa.mangrove.in.bpmn2im.ui.dialogs,
- org.eclipse.soa.mangrove.in.bpmn2im.ui.providers
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/about.html b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/about.html
deleted file mode 100644
index 6cb5ae5..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 24, 2009</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/build.properties b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/build.properties
deleted file mode 100644
index 44d5f39..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/

-output.. = bin/

-bin.includes = plugin.xml,\

-               META-INF/,\

-               .,\

-               about.html

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.properties b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.properties
deleted file mode 100644
index 061b247..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-

-# <copyright>

-# </copyright>

-#

-# $Id$

-

-# ====================================================================

-# To code developer:

-#   Do NOT change the properties between this line and the

-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.

-#   Make a new property name, append to the end of the file and change

-#   the code to use the new property.

-# ====================================================================

-

-# ====================================================================

-# %%% END OF TRANSLATED PROPERTIES %%%

-# ====================================================================

-

-pluginName = Bpmn To Intermediate Model Transformation

-providerName = INRIA - Engineering Ing. Informatica

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.xml b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.xml
deleted file mode 100644
index 8373bc7..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/plugin.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.2"?>

-<plugin>

-   <extension-point id="bpmnprocessor" name="bpmnprocessor" schema="schema/bpmnprocessor.exsd"/>

-    <extension

-         point="org.eclipse.ui.popupMenus">

-      <objectContribution

-            objectClass="org.eclipse.core.resources.IFile"

-            id="org.eclipse.soa.mangrove.in.bpmn2im.BpmnExportPopup"

-            nameFilter="*.bpmn">

-            

-        

-         <action

-               label="Generate Intermediate Model"

-               class="org.eclipse.soa.mangrove.in.bpmn2im.popup.actions.Bpmn2ImAction"

-               menubarPath="org.eclipse.soa.mangrove.menu.BpmnMenu/group1"

-               enablesFor="1"

-               id="org.eclipse.soa.mangrove.in.bpmn2im.Bpmn2ImAction">

-         </action>

-      </objectContribution>

-   </extension>

-   

-   

-

-</plugin>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/schema/bpmnprocessor.exsd b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/schema/bpmnprocessor.exsd
deleted file mode 100644
index 9a5f5b5..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/schema/bpmnprocessor.exsd
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.soa.mangrove.in.bpmn" xmlns="http://www.w3.org/2001/XMLSchema">

-<annotation>

-      <appinfo>

-         <meta.schema plugin="org.eclipse.soa.mangrove.in.bpmn" id="bpmnprocessor" name="bpmnprocessor"/>

-      </appinfo>

-      <documentation>

-         [Enter description of this extension point.]

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <annotation>

-         <appinfo>

-            <meta.element />

-         </appinfo>

-      </annotation>

-      <complexType>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appinfo>

-                  <meta.attribute translatable="true"/>

-               </appinfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="bpmn-processor">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appinfo>

-         <meta.section type="since"/>

-      </appinfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appinfo>

-         <meta.section type="examples"/>

-      </appinfo>

-      <documentation>

-         [Enter extension point usage example here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appinfo>

-         <meta.section type="apiinfo"/>

-      </appinfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appinfo>

-         <meta.section type="implementation"/>

-      </appinfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-

-</schema>

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BPMNProcessorProxy.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BPMNProcessorProxy.java
deleted file mode 100644
index 7f32076..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BPMNProcessorProxy.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.soa.mangrove.util.ImLogger;

-

-public class BPMNProcessorProxy {

-

-	private static final String ATT_ID = "id";

-	private static final String ATT_NAME = "name";

-	private static final String ATT_CLASS = "class";

-	

-	

-	private final IConfigurationElement configElement;

-

-	private final String id;

-	private final String name;

-	

-

-	public BPMNProcessorProxy(IConfigurationElement configElement) {

-		this.configElement = configElement;

-

-		id = getAttribute(configElement, ATT_ID, null);

-		name = getAttribute(configElement, ATT_NAME, id);

-		

-		// Make sure that class is defined,

-		// but don't load it

-		getAttribute(configElement, ATT_CLASS, null);

-		

-	}

-

-	private static String getAttribute(IConfigurationElement configElem,

-			String name, String defaultValue) {

-		String value = configElem.getAttribute(name);

-		if (value != null)

-			return value;

-		if (defaultValue != null)

-			return defaultValue;

-		throw new IllegalArgumentException("Missing " + name + " attribute");

-	}

-	

-	public IBPMNProcessor getBPMNProcessor(){

-		try{

-			IBPMNProcessor runtime = (IBPMNProcessor) configElement.createExecutableExtension(ATT_CLASS);

-			return runtime;

-		}catch (Exception e) {

-			ImLogger.error(Bpmn2ImActivator.PLUGIN_ID, e.getMessage(), e);

-			return null;

-		}

-	}

-

-	public String getId() {

-		return id;

-	}

-

-	public String getName() {

-		return name;

-	}

-

-	

-

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImActivator.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImActivator.java
deleted file mode 100644
index ce9455b..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImActivator.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtension;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IExtensionRegistry;

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.soa.mangrove.runtime.IRuntime;

-import org.eclipse.soa.mangrove.runtime.ImRuntimeActivator;

-import org.eclipse.soa.mangrove.runtime.RuntimeDescriptorProxy;

-import org.eclipse.soa.mangrove.util.ImLogger;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-import org.osgi.framework.BundleContext;

-

-/**

- * The activator class controls the plug-in life cycle

- */

-public class Bpmn2ImActivator extends AbstractUIPlugin {

-

-	// The plug-in ID

-	public static final String PLUGIN_ID = "org.eclipse.soa.mangrove.in.bpmn";

-

-	// The shared instance

-	private static Bpmn2ImActivator plugin;

-	

-	private static List<IBPMNProcessor> bpmnProcessors = null;

-

-	public static final String BPMN_PROCESSOR_TAG= "bpmn-processor";

-	

-	/**

-	 * The constructor

-	 */

-	public Bpmn2ImActivator() {

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext context) throws Exception {

-		super.start(context);

-		plugin = this;

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext context) throws Exception {

-		plugin = null;

-		super.stop(context);

-	}

-

-	/**

-	 * Returns the shared instance

-	 *

-	 * @return the shared instance

-	 */

-	public static Bpmn2ImActivator getDefault() {

-		return plugin;

-	}

-

-	/**

-	 * Returns an image descriptor for the image file at the given

-	 * plug-in relative path

-	 *

-	 * @param path the path

-	 * @return the image descriptor

-	 */

-	public static ImageDescriptor getImageDescriptor(String path) {

-		return imageDescriptorFromPlugin(PLUGIN_ID, path);

-	}

-	

-	public static void initBPMNProcessors() {

-		

-		try{

-			IExtensionRegistry extensionPointRegistry   = Platform.getExtensionRegistry ();

-			IExtensionPoint    extensionPoint = extensionPointRegistry.getExtensionPoint (PLUGIN_ID, "bpmnprocessor");

-

-			IExtension[] extensions = extensionPoint.getExtensions();

-			

-			bpmnProcessors = new ArrayList<IBPMNProcessor>();

-			for (int i = 0; i < extensions.length; i++) {

-				IConfigurationElement[] configElements = extensions[i]

-					.getConfigurationElements();

-				for (int j = 0; j < configElements.length; j++) {

-					BPMNProcessorProxy proxy = parseBPMNDescriptorProxy(

-						configElements[j]);

-					if (proxy != null){

-						bpmnProcessors.add(proxy.getBPMNProcessor());

-					}

-				}

-			}

-			return;

-		}catch (Throwable t) {

-			ImLogger.error(ImRuntimeActivator.PLUGIN_ID, t.getMessage(), t);

-			bpmnProcessors = null;

-			

-		}

-	}

-	

-	private static BPMNProcessorProxy parseBPMNDescriptorProxy(IConfigurationElement configElement) {

-		if (!configElement.getName().equals(BPMN_PROCESSOR_TAG))

-			return null;

-		try {

-			return new BPMNProcessorProxy(configElement);

-		}

-		catch (Exception e) {

-			ImLogger.error(Bpmn2ImActivator.PLUGIN_ID, e.getMessage(), e);

-			return null;

-			

-		}

-	}

-	

-	public static List<IBPMNProcessor> getBPMNProcessors(){

-		

-		if (bpmnProcessors == null)

-			initBPMNProcessors();

-		

-		return bpmnProcessors;

-	}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImWorkspaceOperation.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImWorkspaceOperation.java
deleted file mode 100644
index 846575c..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/Bpmn2ImWorkspaceOperation.java
+++ /dev/null
@@ -1,989 +0,0 @@
-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import java.text.MessageFormat;

-import java.util.ArrayList;

-import java.util.Collections;

-import java.util.HashMap;

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.Path;

-import org.eclipse.emf.common.util.EList;

-import org.eclipse.emf.common.util.EMap;

-import org.eclipse.emf.common.util.URI;

-import org.eclipse.emf.ecore.EAnnotation;

-import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.emf.ecore.resource.ResourceSet;

-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;

-import org.eclipse.soa.mangrove.BasicProperty;

-import org.eclipse.soa.mangrove.Condition;

-import org.eclipse.soa.mangrove.ExpressionCondition;

-import org.eclipse.soa.mangrove.ExtractDataRule;

-import org.eclipse.soa.mangrove.ImFactory;

-import org.eclipse.soa.mangrove.MapProperty;

-import org.eclipse.soa.mangrove.ObservableAttribute;

-import org.eclipse.soa.mangrove.Process;

-import org.eclipse.soa.mangrove.ProcessCollection;

-import org.eclipse.soa.mangrove.Property;

-import org.eclipse.soa.mangrove.PropertyCondition;

-import org.eclipse.soa.mangrove.Service;

-import org.eclipse.soa.mangrove.ServiceBinding;

-import org.eclipse.soa.mangrove.ServiceCollection;

-import org.eclipse.soa.mangrove.Step;

-import org.eclipse.soa.mangrove.StpIntermediateModel;

-import org.eclipse.soa.mangrove.Transition;

-import org.eclipse.soa.mangrove.TransitionUnderCondition;

-import org.eclipse.soa.mangrove.Variable;

-import org.eclipse.soa.mangrove.constants.ImConstants;

-import org.eclipse.soa.mangrove.runtime.IRuntime;

-import org.eclipse.soa.mangrove.runtime.IService;

-import org.eclipse.soa.mangrove.runtime.IServiceBinding;

-import org.eclipse.soa.mangrove.runtime.ImRuntimeActivator;

-import org.eclipse.soa.mangrove.util.ImLogger;

-import org.eclipse.stp.bpmn.Activity;

-import org.eclipse.stp.bpmn.ActivityType;

-import org.eclipse.stp.bpmn.Artifact;

-import org.eclipse.stp.bpmn.Association;

-import org.eclipse.stp.bpmn.AssociationTarget;

-import org.eclipse.stp.bpmn.BpmnDiagram;

-import org.eclipse.stp.bpmn.DataObject;

-import org.eclipse.stp.bpmn.Lane;

-import org.eclipse.stp.bpmn.Pool;

-import org.eclipse.stp.bpmn.SequenceEdge;

-import org.eclipse.stp.bpmn.SubProcess;

-import org.eclipse.stp.bpmn.Vertex;

-import org.eclipse.ui.actions.WorkspaceModifyOperation;

-

-public class Bpmn2ImWorkspaceOperation extends WorkspaceModifyOperation {

-

-	private static String IS_STEP_INTERMEDIATE_EVENT = "im.isStepIntermediateEvent";

-

-	private IFile bpmnFile = null;

-	List<String> selectedPools = null;

-	private List<IFile> generatedFiles = null;

-	

-	public List<IFile> getGeneratedFiles() {

-		return generatedFiles;

-	}

-

-	public void setGeneratedFiles(List<IFile> generatedFiles) {

-		this.generatedFiles = generatedFiles;

-	}

-

-	private boolean separateImForEachPool = false;

-

-	public boolean isSeparateImForEachPool() {

-		return separateImForEachPool;

-	}

-

-	public void setSeparateImForEachPool(boolean separateImForEachPool) {

-		this.separateImForEachPool = separateImForEachPool;

-	}

-

-	

-	public Bpmn2ImWorkspaceOperation(IFile bpmnFile) {

-		this.bpmnFile = bpmnFile;

-		this.generatedFiles = new ArrayList<IFile>();

-	}

-

-	public Bpmn2ImWorkspaceOperation(IFile bpmnFile, List<String> selectedPools) {

-

-		this.bpmnFile = bpmnFile;

-		this.selectedPools = selectedPools;

-		this.generatedFiles = new ArrayList<IFile>();

-

-	}

-

-	protected void execute(IProgressMonitor monitor) {

-		try {

-			Resource resourceBpmn = BpmnDiagramUtils.getResourceFromIFile(bpmnFile);

-			BpmnDiagram bpmnDiagram = BpmnDiagramUtils.getBpmnDiagramFromResource(resourceBpmn);

-

-			List<IBPMNProcessor> processors = Bpmn2ImActivator.getBPMNProcessors();

-

-			if (processors != null) {

-				for (IBPMNProcessor processor : processors) {

-					if (processor.isApplicable(bpmnDiagram))

-						bpmnDiagram = processor.process(bpmnDiagram);

-					List<String> addToSelection = processor.selectPools(bpmnDiagram);

-					if (addToSelection != null)

-						this.selectedPools.addAll(addToSelection);

-

-				}

-			}

-

-			int workingUnits = (10 * selectedPools.size()) + 20;

-			monitor.beginTask(" Creating Intermediate Model", workingUnits);

-			if (separateImForEachPool){

-				for ( String poolID : selectedPools ){

-					List<String> toUsePoolIDs = new ArrayList<String>();

-					toUsePoolIDs.add(poolID);

-					StpIntermediateModel stpIm = createIntermediateModelFromBpmn(bpmnDiagram, toUsePoolIDs, monitor);

-					

-					writeStpIntermediateModel(stpIm, monitor, retrievePoolName(bpmnDiagram, poolID));

-				}

-			}else{

-				StpIntermediateModel stpIm = createIntermediateModelFromBpmn(bpmnDiagram, selectedPools, monitor);

-				writeStpIntermediateModel(stpIm, monitor, null);

-

-			}

-		} catch (Throwable x) {

-			ImLogger.error(x.getMessage(), x);

-			throw new RuntimeException(" Error Generating IM From BPMN", x);

-		} finally {

-			if (monitor != null)

-				monitor.done();

-		}

-	}

-	

-	public String retrievePoolName(BpmnDiagram bpmn, String poolID){

-		for (Pool p : bpmn.getPools()){

-			if (p.getID().equals(poolID))

-				return p.getName();

-		}

-		return "pool";

-	}

-

-	/**

-	 * Copy process parameters from BPMN pool to IM process

-	 * 

-	 * @param aPool

-	 *          Source BPMN pool

-	 * @param process

-	 *          Target IM process

-	 * @param stpModelfactory

-	 *          Factory for creating properties

-	 */

-	private void createProcessParameters(Pool aPool, Process process, ImFactory stpModelfactory) {

-		EAnnotation poolParametersAnnotation = aPool.getEAnnotation(ImConstants.PARAMETERS_ANNOTATION);

-

-		if (poolParametersAnnotation != null) {

-			// Annotation existing: read all contained parameters

-			EMap<String, String> details = poolParametersAnnotation.getDetails();

-			EMap<String, Property> propertyMap = null;

-

-			// Create property map for storing all parameters

-			MapProperty processParametersMapProperty = stpModelfactory.createMapProperty();

-			processParametersMapProperty.setKey(ImConstants.IM_PROCESS_PARAMETERS);

-			propertyMap = processParametersMapProperty.getValue();

-			process.getProperties().put(ImConstants.IM_PROCESS_PARAMETERS, processParametersMapProperty);

-

-			BasicProperty processParameterBasicProperty = null;

-

-			// Store all parameters in the map

-			for (String key : details.keySet()) {

-				String propertyValue = details.get(key);

-

-				processParameterBasicProperty = stpModelfactory.createBasicProperty();

-				processParameterBasicProperty.setKey(key);

-				processParameterBasicProperty.setValue(propertyValue);

-				propertyMap.put(key, processParameterBasicProperty);

-			}

-		}

-	}

-

-	public StpIntermediateModel createIntermediateModelFromBpmn(BpmnDiagram bpmnDiagram, List<String> selectedPools,

-			IProgressMonitor monitor) {

-

-		ImFactory stpModelfactory = ImFactory.eINSTANCE;

-		StpIntermediateModel stpIm = stpModelfactory.createStpIntermediateModel();

-

-		// Working Units : 10 - Iter Configuration

-		// 10 - Service Service Binding Generation

-		String currentVersion = "0";

-		EAnnotation versionAnnotation = bpmnDiagram.getEAnnotation(ImConstants.IM_VERSION_ANNOTATION);

-		if (versionAnnotation != null) {

-			currentVersion = versionAnnotation.getDetails().get(ImConstants.PROCESS_VERSION);

-		}

-

-		BasicProperty iterVersionBasicProperty = stpModelfactory.createBasicProperty();

-		iterVersionBasicProperty.setKey(ImConstants.ITER_VERSION);

-		iterVersionBasicProperty.setValue(currentVersion);

-		stpIm.getProperties().put(ImConstants.ITER_VERSION, iterVersionBasicProperty);

-

-		monitor.subTask("Generating Intermediate Model");

-		// -- Iter Configuration

-		BasicProperty bp = null;

-		MapProperty mp = null;

-		monitor.subTask("Iter Configuration");

-		if (bpmnDiagram.getEAnnotation(ImConstants.IM_ITER_ANNOTATION) != null) {

-			EAnnotation iterAnnotation = bpmnDiagram.getEAnnotation(ImConstants.IM_ITER_ANNOTATION);

-

-			EMap<String, String> iterAnnotationDetails = iterAnnotation.getDetails();

-

-			bp = stpModelfactory.createBasicProperty();

-			bp.setKey(ImConstants.IM_ITER_NAME);

-			bp.setValue(iterAnnotationDetails.get(ImConstants.IM_ITER_NAME));

-			stpIm.getProperties().put(bp.getKey(), bp);

-

-			bp = stpModelfactory.createBasicProperty();

-			bp.setKey(ImConstants.IM_ITER_FIRST_PROCESS_NAME);

-			bp.setValue(iterAnnotationDetails.get(ImConstants.IM_ITER_FIRST_PROCESS_NAME));

-			stpIm.getProperties().put(bp.getKey(), bp);

-

-			String ruleExpr = "";

-			// String ruleExprLanguage = "";

-			ruleExpr = iterAnnotationDetails.get(ImConstants.IM_ITER_RULE_FOR_DETERMINATION);

-

-			if (ruleExpr != null && ruleExpr.trim().length() > 0) {

-				bp = stpModelfactory.createBasicProperty();

-				bp.setKey(ImConstants.IM_ITER_RULE_FOR_DETERMINATION);

-				bp.setValue(iterAnnotationDetails.get(ImConstants.IM_ITER_RULE_FOR_DETERMINATION));

-				stpIm.getProperties().put(bp.getKey(), bp);

-

-				bp = stpModelfactory.createBasicProperty();

-				bp.setKey(ImConstants.IM_ITER_RULE_FOR_DETERMINATION_LANGUAGE);

-				bp.setValue(iterAnnotationDetails.get(ImConstants.IM_ITER_RULE_FOR_DETERMINATION_LANGUAGE));

-				stpIm.getProperties().put(bp.getKey(), bp);

-			}

-

-			bp = stpModelfactory.createBasicProperty();

-			bp.setKey(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_LIST_SIZE);

-			bp.setValue(iterAnnotationDetails.get(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_LIST_SIZE));

-			stpIm.getProperties().put(bp.getKey(), bp);

-

-			Integer size = Integer.valueOf(iterAnnotationDetails.get(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_LIST_SIZE));

-

-			mp = stpModelfactory.createMapProperty();

-			mp.setKey(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_MAP);

-

-			for (int j = 0; j < size; j++) {

-				// Save attribute id

-				bp = stpModelfactory.createBasicProperty();

-				bp.setKey(MessageFormat.format(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_ID, j));

-				bp.setValue(iterAnnotationDetails.get(MessageFormat.format(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_ID, j)));

-				mp.getValue().put(bp.getKey(), bp);

-

-				// Save attribute name

-				bp = stpModelfactory.createBasicProperty();

-				bp.setKey(MessageFormat.format(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_NAME, j));

-				bp.setValue(iterAnnotationDetails.get(MessageFormat.format(ImConstants.IM_ITER_OBSERVABLE_ATTRIBUTE_NAME, j)));

-				mp.getValue().put(bp.getKey(), bp);

-			}

-

-			stpIm.getProperties().put(mp.getKey(), mp);

-

-		}

-		monitor.worked(10);

-		ProcessCollection processCollection = stpModelfactory.createProcessCollection();

-		ServiceCollection serviceCollection = stpModelfactory.createServiceCollection();

-

-		Map<String, Service> imServicesMap = new HashMap<String, Service>();

-		Map<String, ServiceBinding> imServiceBindingsMap = new HashMap<String, ServiceBinding>();

-

-		List<IRuntime> usedRuntimes = new ArrayList<IRuntime>();

-		EAnnotation technologyAnnotation = null;

-		String runtimeId = null;

-

-		//

-		// -- Check all runtimes for which we need to define services and service

-		// binding

-		//

-		for (Pool aPool : bpmnDiagram.getPools()) {

-

-			if (selectedPools != null && !selectedPools.contains(aPool.getID())) {

-				continue;

-			}

-

-			technologyAnnotation = aPool.getEAnnotation(ImConstants.TECHNOLOGY_ANNOTATION);

-			if (technologyAnnotation != null) {

-				runtimeId = technologyAnnotation.getDetails().get(ImConstants.IM_POOL_RUNTIME_ID);

-				if (runtimeId == null) {

-					// --

-				} else {

-					usedRuntimes.add(ImRuntimeActivator.getRuntime(runtimeId));

-				}

-			}

-

-		}

-		monitor.subTask("Generating Services And Service Bindings ");

-		BasicProperty runtimeIdProperty = null;

-		for (IRuntime aRuntime : usedRuntimes) {

-			// For each runtime -- create the bindings

-			Map<String, IServiceBinding> runtimeServiceBinding = aRuntime.getServiceBindings();

-			ServiceBinding aServiceBinding = null;

-			runtimeId = aRuntime.getId();

-			for (IServiceBinding serviceBinding : runtimeServiceBinding.values()) {

-				if (!(imServiceBindingsMap.containsKey(serviceBinding.getName()))) {

-					aServiceBinding = stpModelfactory.createServiceBinding();

-					aServiceBinding.setName(serviceBinding.getName());

-					runtimeIdProperty = stpModelfactory.createBasicProperty();

-					runtimeIdProperty.setKey(ImConstants.IM_STEP_BINDING_RUNTIME_ID);

-					runtimeIdProperty.setValue(runtimeId);

-					aServiceBinding.getProperties().put(runtimeIdProperty.getKey(), runtimeIdProperty);

-					stpIm.getServicebindings().add(aServiceBinding);

-					imServiceBindingsMap.put(serviceBinding.getName(), aServiceBinding);

-				} else {

-					ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " ServiceBinding  [ " + serviceBinding.getName()

-							+ "] already Created in IM");

-				}

-			}

-

-			Service service = null;

-			String serviceEntity = null;

-			for (IService aService : aRuntime.getServices()) {

-				if (!(imServicesMap.containsKey(aService.getName()))) {

-					serviceEntity = aService.getEmfServiceEntity();

-					if (serviceEntity == null)

-						service = stpModelfactory.createService();

-					else if (serviceEntity.equalsIgnoreCase(ImConstants.SERVICE_SPLIT_CONTROL))

-						service = stpModelfactory.createSplitControl();

-					else if (serviceEntity.equalsIgnoreCase(ImConstants.SERVICE_JOIN_CONTROL))

-						service = stpModelfactory.createJoinControl();

-					else if (serviceEntity.equalsIgnoreCase(ImConstants.SERVICE_ROUTER_CONTROL))

-						service = stpModelfactory.createRouterControl();

-					else if (serviceEntity.equalsIgnoreCase(ImConstants.SERVICE_ITERATION_CONTROL))

-						service = stpModelfactory.createIterationControl();

-					else

-						service = stpModelfactory.createService();

-

-					service.setServiceName(aService.getName());

-					service.setServiceType("BPMN-Service");

-					// System.out.println(" service ["+service.getServiceName()+"]");

-					for (String bindingNameForService : aService.getServiceBindingsName()) {

-						// System.out.println(" bindingNameForService ["+bindingNameForService+"]");

-						// System.out.println(" imServiceBindingsMap.get(bindingNameForService) "

-						// + imServiceBindingsMap.get(bindingNameForService));

-						service.getBindings().add(imServiceBindingsMap.get(bindingNameForService));

-					}

-

-					serviceCollection.getServices().add(service);

-					imServicesMap.put(aService.getName(), service);

-				} else {

-					ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Service [ " + aService.getName() + "] already Created in IM");

-				}

-			}

-		}

-

-		monitor.worked(10);

-		Process process = null;

-

-		Map<String, Step> stepMapForPool = new HashMap<String, Step>();

-		for (Pool aPool : bpmnDiagram.getPools()) {

-			if (selectedPools != null && !selectedPools.contains(aPool.getID())) {

-				continue;

-			}

-			aPool.setName(aPool.getName());

-			monitor.subTask("Generating IM Process for Pool " + aPool.getName());

-			stepMapForPool.clear();

-			process = stpModelfactory.createProcess();

-			process.setName(aPool.getName());

-

-			// add lanes to the process

-

-			BasicProperty processProperty = null;

-			EList<Lane> laneList = aPool.getLanes();

-			for (Lane lane : laneList) {

-				String laneName = lane.getName();

-				String prop = "swimlane";

-				if (process.getProperties().containsKey(prop)) {

-					processProperty = (BasicProperty) process.getProperties().get(prop);

-					laneName = processProperty.getValue() + "#" + laneName;

-				} else {

-					processProperty = stpModelfactory.createBasicProperty();

-					processProperty.setKey(prop);

-				}

-				processProperty.setValue(laneName);

-				process.getProperties().put(prop, processProperty);

-			}

-

-			process.setDescription(aPool.getDocumentation());

-			BasicProperty versionBasicProperty = stpModelfactory.createBasicProperty();

-			versionBasicProperty.setKey(ImConstants.PROCESS_VERSION);

-			versionBasicProperty.setValue(currentVersion);

-			process.getProperties().put(ImConstants.PROCESS_VERSION, versionBasicProperty);

-

-			technologyAnnotation = aPool.getEAnnotation(ImConstants.TECHNOLOGY_ANNOTATION);

-			if (technologyAnnotation != null) {

-

-				// Annotation existing: read all contained parameters

-				EMap<String, String> details = technologyAnnotation.getDetails();

-				BasicProperty processParameterBasicProperty = null;

-

-				// Store all parameters in the map

-				for (String key : details.keySet()) {

-					String propertyValue = details.get(key);

-

-					processParameterBasicProperty = stpModelfactory.createBasicProperty();

-					processParameterBasicProperty.setKey(key);

-					processParameterBasicProperty.setValue(propertyValue);

-					process.getProperties().put(key, processParameterBasicProperty);

-				}

-

-			}

-

-			// Copy process parameters from BPMN pool to IM process

-			createProcessParameters(aPool, process, stpModelfactory);

-

-			List<Vertex> vertices = aPool.getVertices();

-

-			Variable var = null;

-			// VARIABLE ARE DATA OBJECTS WITH NO ANNOTATION AND THE NAME SETTED

-			for (Artifact anArtifact : aPool.getArtifacts()) {

-				if ((anArtifact instanceof DataObject) && (anArtifact.getEAnnotations().size() == 0)) {

-					EList<Association> associations = anArtifact.getAssociations();

-					if (associations == null || associations.size() == 0) {

-						var = stpModelfactory.createVariable();

-						var.setName(anArtifact.getName());

-						process.getProcessVariables().add(var);

-					}

-				}

-			}// for

-

-			for (Vertex v : vertices) {

-

-				if (v instanceof Activity) {

-

-					Activity a = (Activity) v;

-

-					Step aStep = createStepForActivity(a, stpModelfactory, imServicesMap, imServiceBindingsMap);

-					process.getSteps().add(aStep);

-					stepMapForPool.put(aStep.getName(), aStep);

-					if (a.isLooping() || a.isSetLooping()) {

-						// System.out.println(" Is Looping "+ a);

-						if (a instanceof SubProcess) {

-							// Generate step for each loop node

-							for (Vertex vertexSubProcess : ((SubProcess) a).getVertices()) {

-

-								aStep = createStepForActivity((Activity) vertexSubProcess, stpModelfactory, imServicesMap,

-										imServiceBindingsMap);

-								process.getSteps().add(aStep);

-								stepMapForPool.put(aStep.getName(), aStep);

-

-							}

-

-							Step endLoopStep = stpModelfactory.createStep();

-							endLoopStep.setName("End." + getStepNameForActivity(a));

-							endLoopStep.setDescription(" Description for " + a.getName());

-							process.getSteps().add(endLoopStep);

-							stepMapForPool.put(endLoopStep.getName(), endLoopStep);

-						}

-					}

-

-					// -- DB Begin

-

-					for (EAnnotation annotation : a.getEAnnotations()) {

-						if (annotation.getSource().equals("genericFile")) {

-							EMap<String, String> details = annotation.getDetails();

-							if (details != null) {

-								String filepath = details.get("projectRelativePath");

-								if (filepath != null && filepath.trim().length() > 0) {

-									BasicProperty property = ImFactory.eINSTANCE.createBasicProperty();

-									property.setKey("documentationRelativePath");

-									property.setValue(filepath);

-									aStep.getProperties().put(property.getKey(), property);

-								}

-							}

-						}

-

-						createTaskConfigProp(annotation, aStep, stpModelfactory);

-					}

-					// -- DB End

-				} else {

-					ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Not Recognized v [" + v.getID() + "] as Activity");

-				}

-

-			}

-

-			Vertex sourceVertex = null;

-			Vertex targetVertex = null;

-

-			for (SequenceEdge seqEdge : aPool.getSequenceEdges()) {

-

-				sourceVertex = seqEdge.getSource();

-				targetVertex = seqEdge.getTarget();

-

-				if ((sourceVertex instanceof Activity) && (targetVertex instanceof Activity)) {

-					Activity sourceActivity = (Activity) sourceVertex;

-					Activity targetActivity = (Activity) targetVertex;

-

-					// Aggiungo le Transizioni del Loop

-					if (sourceActivity.isLooping() && sourceActivity.isSetLooping()) {

-

-						if (sourceActivity instanceof SubProcess) {

-

-							for (SequenceEdge seqEdgeSubPool : ((SubProcess) sourceActivity).getSequenceEdges()) {

-								Vertex sourceVertexSubProcess = seqEdgeSubPool.getSource();

-								Vertex targetVertexSubProcess = seqEdgeSubPool.getTarget();

-

-								if ((sourceVertexSubProcess instanceof Activity) && (sourceVertexSubProcess instanceof Activity)) {

-

-									Activity sourceActivitySubProcess = (Activity) sourceVertexSubProcess;

-									Activity targetActivitySubProcess = (Activity) targetVertexSubProcess;

-

-									Transition aTransition = createTransition(sourceActivitySubProcess, targetActivitySubProcess,

-											seqEdge, stpModelfactory, stepMapForPool);

-									if (aTransition != null) {

-										process.getTransitions().add(aTransition);

-									}

-								}

-							}

-							// Found the firstLoopActivity

-							// The first Loop Activity is an activity that is only a source

-							// activity

-							Activity firstLoopActivity = null;

-							for (Vertex vertexSubProcess : ((SubProcess) sourceActivity).getVertices()) {

-								if ((vertexSubProcess instanceof Activity) && (vertexSubProcess.getIncomingEdges().size() == 0)) {

-									firstLoopActivity = (Activity) vertexSubProcess;

-

-								}

-							}

-

-							// Add Transition to get from loop step to loop first step

-							Transition firstLoopTransition = stpModelfactory.createTransition();

-

-							firstLoopTransition.setSource(stepMapForPool.get(getStepNameForActivity(sourceActivity)));

-							firstLoopTransition.setTarget(stepMapForPool.get(getStepNameForActivity(firstLoopActivity)));

-

-							process.getTransitions().add(firstLoopTransition);

-							Step endLoopStep = stepMapForPool.get("End." + getStepNameForActivity(sourceActivity));

-

-							for (Vertex vertexSubProcess : ((SubProcess) sourceActivity).getVertices()) {

-								if ((vertexSubProcess instanceof Activity) && (vertexSubProcess.getOutgoingEdges().size() == 0)) {

-									{

-										Transition endLoopTransition = stpModelfactory.createTransition();

-

-										endLoopTransition

-												.setSource(stepMapForPool.get(getStepNameForActivity((Activity) vertexSubProcess)));

-										endLoopTransition.setTarget(endLoopStep);

-										process.getTransitions().add(endLoopTransition);

-									}

-								}

-							}

-

-							Transition endLoopOriginalTargetTransition = stpModelfactory.createTransition();

-

-							endLoopOriginalTargetTransition.setSource(endLoopStep);

-							endLoopOriginalTargetTransition.setTarget(stepMapForPool.get(getStepNameForActivity(targetActivity)));

-

-							process.getTransitions().add(endLoopOriginalTargetTransition);

-

-						}

-					} else {

-						Transition aTransition = createTransition(sourceActivity, targetActivity, seqEdge, stpModelfactory,

-								stepMapForPool);

-						if (aTransition != null) {

-							process.getTransitions().add(aTransition);

-						}

-					}

-				} else {

-					ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Not Recognized Activity in Edge Analysis");

-				}

-

-			}

-

-			processCollection.getProcesses().add(process);

-			monitor.worked(10);

-

-			createTaskVariables(process, aPool, stpModelfactory);

-

-		}

-

-		stpIm.setServiceCollection(serviceCollection);

-		stpIm.setProcessCollection(processCollection);

-

-		return stpIm;

-

-	}

-

-	public Transition createTransition(Activity sourceActivity, Activity targetActivity, SequenceEdge seqEdge,

-			ImFactory stpModelfactory, Map<String, Step> stepMapForPool) {

-

-		String sourceStepName = null;

-		String targetStepName = null;

-		Transition aTransition = null;

-		boolean isConditioned = false;

-		Condition condition = null;

-

-		sourceStepName = getStepNameForActivity(sourceActivity);

-		targetStepName = getStepNameForActivity(targetActivity);

-		isConditioned = isEdgeConditioned(seqEdge);

-		if (isConditioned) {

-			aTransition = stpModelfactory.createTransitionUnderCondition();

-		} else {

-			aTransition = stpModelfactory.createTransition();

-

-			if (seqEdge.getName() != null && seqEdge.getName().trim().length() > 0) {

-				BasicProperty transitionProperty = stpModelfactory.createBasicProperty();

-				transitionProperty.setKey("TransitionLabel");

-				transitionProperty.setValue(seqEdge.getName());

-				aTransition.getProperties().put(transitionProperty.getKey(), transitionProperty);

-			}

-		}

-

-		aTransition.setSource(stepMapForPool.get(sourceStepName));

-		aTransition.setTarget(stepMapForPool.get(targetStepName));

-

-		if (isConditioned) {

-

-			condition = createConditionForTransition(stpModelfactory, seqEdge, aTransition);

-			if (condition != null)

-				((TransitionUnderCondition) aTransition).setCondition(condition);

-

-		}

-

-		return aTransition;

-	}

-

-	public Step createStepForActivity(Activity a, ImFactory stpModelfactory, Map<String, Service> imServicesMap,

-			Map<String, ServiceBinding> imServiceBindingsMap) {

-

-		Step aStep = stpModelfactory.createStep();

-

-		String stepServiceName = null;

-		String stepServiceBindingName = null;

-		String stepRuntimeID = null;

-		EAnnotation imAnnotation = null;

-		BasicProperty stepProperty = null;

-		aStep.setName(getStepNameForActivity(a));

-		aStep.setDescription(" Description for " + a.getName());

-

-		// add lanes to the step

-

-		EList<Lane> laneList = a.getLanes();

-		for (Lane lane : laneList) {

-			String laneName = lane.getName();

-			String prop = "swimlane";

-			if (aStep.getProperties().containsKey(prop)) {

-				stepProperty = (BasicProperty) aStep.getProperties().get(prop);

-				laneName = stepProperty.getValue() + "#" + laneName;

-			} else {

-				stepProperty = stpModelfactory.createBasicProperty();

-				stepProperty.setKey(prop);

-			}

-			stepProperty.setValue(laneName);

-			aStep.getProperties().put(prop, stepProperty);

-		}

-

-		checkStartEndEvent(aStep, a, stpModelfactory);

-		checkGatewayElement(aStep, a, stpModelfactory);

-		checkIntermediateEvent(aStep, a, stpModelfactory);

-		imAnnotation = a.getEAnnotation(ImConstants.IM_ANNOTATION);

-

-		if (imAnnotation != null) {

-

-			stepServiceName = imAnnotation.getDetails().get(ImConstants.IM_SERVICE_NAME);

-

-			stepServiceBindingName = imAnnotation.getDetails().get(ImConstants.IM_SERVICE_BINDING_NAME);

-

-			for (String prop : imAnnotation.getDetails().keySet()) {

-

-				if (prop.equalsIgnoreCase(ImConstants.IM_SERVICE_NAME)) {

-					stepServiceName = imAnnotation.getDetails().get(prop);

-					continue;

-				}

-

-				if (prop.equalsIgnoreCase(ImConstants.IM_SERVICE_BINDING_NAME)) {

-					stepServiceBindingName = imAnnotation.getDetails().get(prop);

-					continue;

-				}

-

-				if (prop.equalsIgnoreCase(ImConstants.IM_POOL_RUNTIME_ID)) {

-					stepRuntimeID = imAnnotation.getDetails().get(prop);

-					continue;

-				}

-

-				stepProperty = stpModelfactory.createBasicProperty();

-				stepProperty.setKey(prop);

-				stepProperty.setValue(imAnnotation.getDetails().get(prop));

-				aStep.getProperties().put(stepProperty.getKey(), stepProperty);

-			}

-

-			ImLogger.info(Bpmn2ImActivator.PLUGIN_ID, "Setting service [" + stepServiceName + "] as Service on this step");

-			ImLogger.info(Bpmn2ImActivator.PLUGIN_ID, "Setting serviceBinding [" + stepServiceBindingName

-					+ "] as Service on this step");

-			Service stepService = imServicesMap.get(stepServiceName);

-			ServiceBinding stepServiceBinding = imServiceBindingsMap.get(stepServiceBindingName);

-

-			aStep.setServiceModel(stepService);

-			if (stepServiceBinding != null) {

-				aStep.getStepbindings().add(stepServiceBinding);

-			} else {

-				ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, "stepServiceBinding is null ");

-			}

-

-			Artifact anArtifact = null;

-			EAnnotation relDataAnnotation = null;

-			for (Association anAssociation : a.getAssociations()) {

-				anArtifact = anAssociation.getSource();

-				relDataAnnotation = anArtifact.getEAnnotation(ImConstants.IM_OBSERVABLE_ATTRIBUTE);

-				if (relDataAnnotation != null) {

-

-					EMap<String, String> relDataDetails = relDataAnnotation.getDetails();

-

-					Integer size = Integer.valueOf(relDataDetails.get(ImConstants.IM_OBSERVABLE_ATTRIBUTE_LIST_SIZE));

-

-					String attributeId = null;

-					String attributeName = null;

-					String ruleId = null;

-					String ruleName = null;

-					String ruleExpression = null;

-					String ruleLanguage = null;

-					String ruleSubjectToCondition = null;

-					String conditionExpression = null;

-					String conditionExpressionLanguage = null;

-

-					ObservableAttribute obsAttribute = null;

-					ExtractDataRule extractDataRule = null;

-					for (int i = 1; i <= size; i++) {

-

-						attributeId = relDataDetails.get(MessageFormat.format(ImConstants.IM_OBSERVABLE_ATTRIBUTE_ID, i));

-						attributeName = relDataDetails.get(MessageFormat.format(ImConstants.IM_OBSERVABLE_ATTRIBUTE_NAME, i));

-						ruleId = relDataDetails.get(MessageFormat.format(ImConstants.IM_OBSERVABLE_ATTRIBUTE_RULE_ID, i));

-						ruleName = relDataDetails.get(MessageFormat.format(ImConstants.IM_OBSERVABLE_ATTRIBUTE_RULE_NAME, i));

-

-						ruleExpression = relDataDetails.get(MessageFormat.format(

-								ImConstants.IM_OBSERVABLE_ATTRIBUTE_RULE_EXPRESSION, i));

-

-						ruleLanguage = relDataDetails.get(MessageFormat

-								.format(ImConstants.IM_OBSERVABLE_ATTRIBUTE_RULE_LANGUAGE, i));

-

-						ruleSubjectToCondition = relDataDetails.get(MessageFormat.format(

-								ImConstants.IM_OBSERVABLE_ATTRIBUTE_RULE_SUBJECT_TO_CONDITION, i));

-

-						conditionExpression = relDataDetails.get(MessageFormat.format(

-								ImConstants.IM_OBSERVABLE_ATTRIBUTE_CONDITION_EXPRESSION, i));

-

-						conditionExpressionLanguage = relDataDetails.get(MessageFormat.format(

-								ImConstants.IM_OBSERVABLE_ATTRIBUTE_CONDITION_EXPRESSION_LANGUAGE, i));

-

-						extractDataRule = stpModelfactory.createExtractDataRule();

-						extractDataRule.setIdRule(ruleId);

-						extractDataRule.setName(ruleName);

-						extractDataRule.setExpression(ruleExpression);

-						extractDataRule.setExpressionLanguage(ruleLanguage);

-

-						if (Boolean.valueOf(ruleSubjectToCondition)) {

-

-							ExpressionCondition exprCondition = stpModelfactory.createExpressionCondition();

-							exprCondition.setExpression(conditionExpression);

-							exprCondition.setExpressionLanguage(conditionExpressionLanguage);

-							extractDataRule.setCondition(exprCondition);

-

-						}

-

-						obsAttribute = stpModelfactory.createObservableAttribute();

-						obsAttribute.setIdAttribute(attributeId);

-						obsAttribute.setName(attributeName);

-						obsAttribute.setObservableAttributeExtractRule(extractDataRule);

-						aStep.getObservableAttributes().add(obsAttribute);

-					}

-				}//

-			}//

-		} else {

-			ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, "Activity [" + a.getName() + "] does not have annotation");

-		}

-		return aStep;

-	}

-

-	public String normalizeName(String s) {

-		return s.replace(' ', '_');

-	}

-

-	public String getStepNameForActivity(Activity a) {

-		String name = a.getName();

-

-		if (name == null) {

-			ImLogger.info(Bpmn2ImActivator.PLUGIN_ID, "Activity [" + a.getID() + "] has no name id is used");

-			name = a.getID();

-		}

-		return name;

-		// return normalizeName(name);

-	}

-

-	public boolean isEdgeConditioned(SequenceEdge seqEdge) {

-		if (seqEdge.getEAnnotation(ImConstants.IM_TRANSITION_ANNOTATION) != null) {

-			return true;

-		} else {

-			return false;

-		}

-

-	}

-

-	public Condition createConditionForTransition(ImFactory stpModelFactory, SequenceEdge seqEdge, Transition aTransition) {

-		EAnnotation transitionAnnotation = seqEdge.getEAnnotation(ImConstants.IM_TRANSITION_ANNOTATION);

-		EMap<String, String> transitionAnnotationDetails = transitionAnnotation.getDetails();

-		Condition condition = null;

-		String transitionType = transitionAnnotationDetails.get(ImConstants.IM_TRANSITION_TYPE);

-		if (transitionType.equalsIgnoreCase(ImConstants.IM_TRANSITION_TYPE_EXPRESSION_CONDITION)) {

-			condition = stpModelFactory.createExpressionCondition();

-			((ExpressionCondition) condition).setExpressionLanguage("XPath");

-			((ExpressionCondition) condition).setExpression(transitionAnnotationDetails.get("Expression"));

-		} else if (transitionType.equalsIgnoreCase(ImConstants.IM_TRANSITION_TYPE_PROPERTY_CONDITION)) {

-			condition = stpModelFactory.createPropertyCondition();

-			((PropertyCondition) condition).setOperator(transitionAnnotationDetails.get("Operator"));

-			((PropertyCondition) condition).setPropertyName(transitionAnnotationDetails.get("PropertyName"));

-			((PropertyCondition) condition).setPropertyValue(transitionAnnotationDetails.get("PropertyValue"));

-		} else {

-			for (String prop : transitionAnnotationDetails.keySet()) {

-				BasicProperty transitionProperty = stpModelFactory.createBasicProperty();

-				transitionProperty.setKey(prop);

-				transitionProperty.setValue(transitionAnnotationDetails.get(prop));

-				aTransition.getProperties().put(transitionProperty.getKey(), transitionProperty);

-			}

-		}

-		return condition;

-

-	}

-

-	public boolean isValidString(String name) {

-		return name != null && name.trim().length() > 0;

-	}

-

-	public void writeStpIntermediateModel(StpIntermediateModel aStpIntermediateModel, IProgressMonitor monitor, String forcedImFileName)

-			throws Exception {

-		IContainer container = bpmnFile.getParent();

-

-		// Create a resource set.

-		ResourceSet resourceSetStpIm = new ResourceSetImpl();

-		// Get the URI of the model file.

-		String destinationStpFileName = bpmnFile.getName();

-		

-		if (forcedImFileName == null){

-			destinationStpFileName = destinationStpFileName.substring(0, destinationStpFileName.indexOf("."));

-			destinationStpFileName = destinationStpFileName + ".im";

-		}else{

-			destinationStpFileName = forcedImFileName + ".im";

-		}

-

-		IFile destinationStpFile = container.getFile(new Path(destinationStpFileName));

-		URI destinationStpFileURI = URI.createPlatformResourceURI(destinationStpFile.getFullPath().toString(), true);

-

-		// Create a resource for this file.

-		Resource resourceStpIm = resourceSetStpIm.createResource(destinationStpFileURI);

-		resourceStpIm.getContents().add(aStpIntermediateModel);

-

-		resourceStpIm.save(Collections.EMPTY_MAP);

-		

-		this.generatedFiles.add(destinationStpFile);

-		

-

-	}

-

-	private void checkIntermediateEvent(Step aStep, Activity a, ImFactory stpModelFactory) {

-		ActivityType at = a.getActivityType();

-

-		switch (at.getValue()) {

-		case ActivityType.EVENT_INTERMEDIATE_EMPTY:

-		case ActivityType.EVENT_INTERMEDIATE_MESSAGE:

-		case ActivityType.EVENT_INTERMEDIATE_TIMER:

-		case ActivityType.EVENT_INTERMEDIATE_ERROR:

-		case ActivityType.EVENT_INTERMEDIATE_COMPENSATION:

-		case ActivityType.EVENT_INTERMEDIATE_RULE:

-		case ActivityType.EVENT_INTERMEDIATE_LINK:

-		case ActivityType.EVENT_INTERMEDIATE_MULTIPLE:

-		case ActivityType.EVENT_INTERMEDIATE_CANCEL: {

-			BasicProperty isIntermediateEventProperty = stpModelFactory.createBasicProperty();

-			isIntermediateEventProperty.setKey(IS_STEP_INTERMEDIATE_EVENT);

-			isIntermediateEventProperty.setValue("true");

-			aStep.getProperties().put(IS_STEP_INTERMEDIATE_EVENT, isIntermediateEventProperty);

-			break;

-		}

-		default:

-			break;

-		}

-		return;

-	}

-

-	private void checkStartEndEvent(Step aStep, Activity a, ImFactory stpModelFactory) {

-		ActivityType at = a.getActivityType();

-

-		switch (at.getValue()) {

-		case ActivityType.EVENT_START_EMPTY:

-			BasicProperty isStartEventProperty = stpModelFactory.createBasicProperty();

-			isStartEventProperty.setKey(ImConstants.IS_STEP_START_EVENT);

-			isStartEventProperty.setValue("true");

-			aStep.getProperties().put(ImConstants.IS_STEP_START_EVENT, isStartEventProperty);

-			break;

-		case ActivityType.EVENT_END_EMPTY: {

-			BasicProperty isEndEventProperty = stpModelFactory.createBasicProperty();

-			isEndEventProperty.setKey(ImConstants.IS_STEP_END_EVENT);

-			isEndEventProperty.setValue("true");

-			aStep.getProperties().put(ImConstants.IS_STEP_END_EVENT, isEndEventProperty);

-			break;

-		}

-		default:

-			break;

-		}

-		return;

-	}

-

-	private void checkGatewayElement(Step aStep, Activity a, ImFactory stpModelFactory) {

-		ActivityType at = a.getActivityType();

-

-		switch (at.getValue()) {

-		case ActivityType.GATEWAY_EVENT_BASED_EXCLUSIVE:

-			BasicProperty isExclusiveGateway = stpModelFactory.createBasicProperty();

-			isExclusiveGateway.setKey(ImConstants.IS_EXCLUSIVE_GATEWAY);

-			isExclusiveGateway.setValue("true");

-			aStep.getProperties().put(ImConstants.IS_EXCLUSIVE_GATEWAY, isExclusiveGateway);

-			break;

-		case ActivityType.GATEWAY_DATA_BASED_EXCLUSIVE:

-			BasicProperty isExclusiveGateway1 = stpModelFactory.createBasicProperty();

-			isExclusiveGateway1.setKey(ImConstants.IS_EXCLUSIVE_GATEWAY);

-			isExclusiveGateway1.setValue("true");

-			aStep.getProperties().put(ImConstants.IS_EXCLUSIVE_GATEWAY, isExclusiveGateway1);

-			break;

-		case ActivityType.GATEWAY_PARALLEL: {

-			BasicProperty isParallelGateway = stpModelFactory.createBasicProperty();

-			isParallelGateway.setKey(ImConstants.IS_PARALLEL_GATEWAY);

-			isParallelGateway.setValue("true");

-			aStep.getProperties().put(ImConstants.IS_PARALLEL_GATEWAY, isParallelGateway);

-			break;

-		}

-		default:

-			break;

-		}

-		return;

-	}

-

-	// -DB

-

-	protected void createTaskConfigProp(EAnnotation annotation, Step step, ImFactory stpModelfactory) {

-	}

-

-	private void createTaskVariables(Process process, Pool aPool, ImFactory stpModelfactory) {

-		EList<Step> steps = process.getSteps();

-		for (Artifact anArtifact : aPool.getArtifacts()) {

-			if ((anArtifact instanceof DataObject) && (anArtifact.getEAnnotations().size() == 0)) {

-				DataObject dataObject = (DataObject) anArtifact;

-				EList<Association> associations = dataObject.getAssociations();

-				if (associations != null && associations.size() > 0) {

-					for (Association association : associations) {

-						AssociationTarget associationTarget = association.getTarget();

-						if (associationTarget instanceof Activity) {

-							Activity target = (Activity) associationTarget;

-							String stepName = target.getName();

-							Step step = null;

-							if (stepName != null && stepName.trim().length() > 0) {

-								for (Step astep : steps) {

-									if (astep.getName().equals(stepName)) {

-										step = astep;

-										break;

-									}

-								}

-							}

-							if (step != null) {

-								EMap<String, Property> props = step.getProperties();

-								MapProperty variables = (MapProperty) props.get("taskVariables");

-								if (variables == null) {

-									variables = stpModelfactory.createMapProperty();

-								}

-								BasicProperty variable = stpModelfactory.createBasicProperty();

-								String varName = dataObject.getName();

-								variable.setKey(varName);

-								variable.setValue(varName);

-								variables.getValue().put(varName, variable);

-								props.put("taskVariables", variables);

-							}

-						}

-					}

-				}

-			}

-		}// for

-

-	}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnDiagramUtils.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnDiagramUtils.java
deleted file mode 100644
index f4ab374..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnDiagramUtils.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.emf.common.util.URI;

-import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.emf.ecore.resource.ResourceSet;

-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;

-import org.eclipse.soa.mangrove.util.ImLogger;

-import org.eclipse.stp.bpmn.BpmnDiagram;

-

-public class BpmnDiagramUtils {

-	public static Resource getResourceFromIFile(IFile iFile){

-		// Read the bpmn emf model

-		ResourceSet resourceSetBpmn = new ResourceSetImpl();

-		ImLogger.info(" BPMN File Full Path  " + iFile.getFullPath().toString());

-		

-		URI uri = URI.createPlatformResourceURI(iFile.getFullPath().toString(),true);

-	

-		ImLogger.info(Bpmn2ImActivator.PLUGIN_ID," URI FileString " + uri.toFileString());

-		ImLogger.info(Bpmn2ImActivator.PLUGIN_ID," URI PlatformString " + uri.toPlatformString(false));

-		ImLogger.info(Bpmn2ImActivator.PLUGIN_ID," URI To File " + uri.toString());

-		

-

-		Resource resourceBpmn = resourceSetBpmn.getResource(uri, true);	

-		

-		return resourceBpmn;

-	}

-	

-	public static BpmnDiagram getBpmnDiagramFromResource(Resource resourceBpmn){

-		

-		BpmnDiagram bpmnDiagram= (BpmnDiagram)resourceBpmn.getContents().get(0);

-		return bpmnDiagram;

-	

-	}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnImValidationException.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnImValidationException.java
deleted file mode 100644
index e217edb..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/BpmnImValidationException.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-public class BpmnImValidationException extends Exception {

-

-	public BpmnImValidationException(String cause){

-		super(cause);

-	}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/FixBpmnDiagramAction.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/FixBpmnDiagramAction.java
deleted file mode 100644
index 75cb06d..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/FixBpmnDiagramAction.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import java.util.Collections;

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.emf.ecore.EAnnotation;

-import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.soa.mangrove.constants.ImConstants;

-import org.eclipse.soa.mangrove.util.ImLogger;

-import org.eclipse.stp.bpmn.Activity;

-import org.eclipse.stp.bpmn.ActivityType;

-import org.eclipse.stp.bpmn.BpmnDiagram;

-import org.eclipse.stp.bpmn.Pool;

-import org.eclipse.stp.bpmn.SequenceEdge;

-import org.eclipse.stp.bpmn.SubProcess;

-import org.eclipse.stp.bpmn.Vertex;

-import org.eclipse.ui.actions.WorkspaceModifyOperation;

-

-public class FixBpmnDiagramAction extends WorkspaceModifyOperation {

-	

-	private String basicPoolName = "Process";

-	private int poolNamesCounter = 0;

-	

-	private String basicStepName = "Step";

-	private int stepNamesCounter = 0;

-	

-	private String basicStartStep = "Start";

-	private int startStepNamesCounter = 0;

-	

-	private String basicEndStep = "End";

-	private int endStepNamesCounter = 0;

-	

-	private String basicExclusiveStepName = "Router";

-	private int exclusiveStepNamesCounter = 0;

-	

-	private String basicParallelStepName = "Parallel";

-	private int parallelStepNamesCounter = 0;

-	

-	private String basicLoopStepName = "Loop";

-	private int loopStepNamesCounter = 0;

-	

-	private String basicSubProcessName = "SubProcess";

-	private int subPocessNamesCounter = 0;

-	

-	private IFile bpmnFile = null;

-

-	

-	private int numberOfFixedError = 0;

-	List<String> selectedPools = null;

-	

-	

-	public FixBpmnDiagramAction(IFile bpmnFile){

-

-		this.bpmnFile = bpmnFile;

-		this.numberOfFixedError = 0;

-		

-	}

-	

-	public FixBpmnDiagramAction(IFile bpmnFile, List<String> selectedPools){

-		

-		this.bpmnFile = bpmnFile;

-		this.numberOfFixedError = 0;

-		this.selectedPools = selectedPools;

-	

-	}

-	

-	public void resetCounter(){

-

-		poolNamesCounter = 0;

-		stepNamesCounter = 0;

-		startStepNamesCounter = 0;

-		endStepNamesCounter = 0;

-		exclusiveStepNamesCounter = 0;

-		parallelStepNamesCounter = 0;

-		loopStepNamesCounter = 0;

-		subPocessNamesCounter = 0;

-		

-	}

-	

-	protected void execute(IProgressMonitor monitor)

-    {	

-			

-		try{

-    	 		resetCounter();

-    	 		

-    	 		Resource resourceBpmn = BpmnDiagramUtils.getResourceFromIFile(bpmnFile);

-    			BpmnDiagram bpmnDiagram = BpmnDiagramUtils.getBpmnDiagramFromResource(resourceBpmn);

-    			

-    			int workingUnits = (10 * selectedPools.size()) + 20; 		        											    

-    			monitor.beginTask(" Validate Fix/Bpmn Diagram",workingUnits);

-

-    			try{

-    				numberOfFixedError = validateFixBpmnDiagramForIntermediateModel(bpmnDiagram, selectedPools, monitor);

-    			}catch (BpmnImValidationException e) {

-    				ImLogger.error(Bpmn2ImActivator.PLUGIN_ID, "BPM-IM-GenerationException", e);

-    				return;

-    			}

-    			

-    			if (numberOfFixedError > 0){

-    				resourceBpmn.save(Collections.EMPTY_MAP);

-    			}

-    			

-			}catch(Exception x) {

-    			

-				throw new RuntimeException(x);

-			

-			}finally{

-			

-				if (monitor != null) 

-    	 			monitor.done();

-			

-			} 	

-    }

-	

-	

-	

-	public int validateFixBpmnDiagramForIntermediateModel(BpmnDiagram bpmnDiagram, List<String> selectedPools, IProgressMonitor monitor) throws BpmnImValidationException{

-		

-		int numberOfFixedErrors = 0;

-		

-		

-		monitor.subTask(" Validating/Fixing BPMN Diagram ");

-		EAnnotation technologyAnnotation = null;

-		for (Pool aPool : bpmnDiagram.getPools()){

-			

-			if (selectedPools != null && !selectedPools.contains(aPool.getID())){

-				continue;

-			}

-			

-			

-			if (!isValidString(aPool.getName())){

-				ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Pool with ID ["+aPool.getID()+"] do not have a Name ");

-				poolNamesCounter++;

-				ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Fixing error setting name ["+basicPoolName + poolNamesCounter+"] on  Pool with ID ["+aPool.getID()+"] do not have a Name ");

-				aPool.setName(basicPoolName + poolNamesCounter);

-				numberOfFixedErrors++;

-			}

-			if ( aPool.getEAnnotation(ImConstants.TECHNOLOGY_ANNOTATION) == null){

-				ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Pool with ID ["+aPool.getID()+"] and Name ["+aPool.getName()+"] is not bund to any technology it will result in abstract IM Process");

-			}

-			

-			technologyAnnotation = null;

-			technologyAnnotation = aPool.getEAnnotation(ImConstants.TECHNOLOGY_ANNOTATION);

-			if (technologyAnnotation == null){

-				ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Pool with ID ["+aPool.getID()+"] and Name ["+aPool.getName()+"] do not have a technology annotation it will result in an abtsract im model  ");

-			}else {

-				String runtimeId = technologyAnnotation.getDetails().get(ImConstants.IM_POOL_RUNTIME_ID);

-				if ((runtimeId != null) && (runtimeId.equalsIgnoreCase("AbstractModel"))){

-					ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Pool with ID ["+aPool.getID()+"] and Name ["+aPool.getName()+"] have AbstractModel result in an abtsract im model  ");

-				}

-			}

-			

-		}

-		

-		

-		for (Pool aPool : bpmnDiagram.getPools()){

-			

-			if (selectedPools != null && !selectedPools.contains(aPool.getID())){

-				continue;

-			}

-			monitor.subTask(" Validating/Fixing Pool "+ aPool.getName());

-			List<Vertex> vertices =  aPool.getVertices();

-			

-			for (Vertex v : vertices){

-				if (v instanceof Activity) {

-					if (!isValidString( ((Activity)v).getName() ) ){

-						ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Activity with ID ["+v.getID()+"] do not have a Name ");

-						setAutomaticActivityName((Activity)v);

-						numberOfFixedErrors++;

-					}

-				}

-			}

-			

-  

-			for (Vertex v : vertices){

-				if ((v instanceof Activity) &&  ((Activity)v).isLooping() &&  (((Activity)v) instanceof SubProcess)) {

-					for (Vertex subVertex : ((SubProcess)v).getVertices()){

-						if (!isValidString( ((Activity)subVertex).getName() )){

-							setAutomaticActivityName(((Activity)subVertex));

-							numberOfFixedErrors++;

-						}

-					}

-				}

-			}

-			

-			

-			Vertex sourceVertex = null;

-			Vertex targetVertex = null;

-			for ( SequenceEdge seqEdge : aPool.getSequenceEdges()){

-				

-				sourceVertex = seqEdge.getSource();

-				targetVertex = seqEdge.getTarget();

-				

-				if (sourceVertex == null){

-					throw new BpmnImValidationException(" Transition with ID ["+seqEdge.getID()+"] has no source");

-				}

-				if (targetVertex == null){

-					throw new BpmnImValidationException(" Transition with ID ["+seqEdge.getID()+"] has no target");

-				}

-				

-				//If source is an exclusive gateway transition must be conditioned

-				if (sourceVertex instanceof Activity){

-					ActivityType at = ((Activity)sourceVertex).getActivityType();

-					if (((at.equals(ActivityType.GATEWAY_DATA_BASED_EXCLUSIVE_LITERAL))

-						|| (at.equals(at.equals(ActivityType.GATEWAY_EVENT_BASED_EXCLUSIVE_LITERAL)))) && 

-						!(isEdgeConditioned(seqEdge))){

-						

-						ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Transition form exclusive based gateway ["+sourceVertex.getID()+"] must be conditioned");

-						//throw new BpmnImValidationException(" Transition form exclusive based gateway ["+sourceVertex.getID()+"] must be conditioned");

-					}

-					

-					if ((at.equals(ActivityType.GATEWAY_PARALLEL)) && 

-							(isEdgeConditioned(seqEdge))){

-							ImLogger.warning(Bpmn2ImActivator.PLUGIN_ID, " Transition form parallel gateway ["+sourceVertex.getID()+"] must not be conditioned");

-							//throw new BpmnImValidationException(" Transition form parallel gateway ["+sourceVertex.getID()+"] must not be conditioned");

-						}

-				}

-			}

-			monitor.worked(10);

-		}

-		return numberOfFixedErrors;

-	}

-

-	public IFile getBpmnFile() {

-		return bpmnFile;

-	}

-

-	public void setBpmnFile(IFile bpmnFile) {

-		this.bpmnFile = bpmnFile;

-	}

-	

-	

-	

-	

-	

-	

-	public String normalizeStepName(String s){

-		return s.replace(' ', '_');

-	}

-	

-	public String getStepNameForActivity(Activity a){

-		String name = a.getName();

-		

-		

-

-		if (name  == null){

-			ImLogger.info(Bpmn2ImActivator.PLUGIN_ID,"Activity ["+a.getID()+"] has no name id is used");

-			name=a.getID();

-		}

-		return normalizeStepName(name);

-	}

-	

-	public boolean isEdgeConditioned(SequenceEdge seqEdge){

-		if (seqEdge.getEAnnotation(ImConstants.IM_TRANSITION_ANNOTATION) != null){

-			return true;

-		}else{

-			return false;

-		}

-			

-	}

-	

-	public boolean isValidString(String name){

-		return name != null && name.trim().length() > 0;

-	}

-	

-	public void setAutomaticActivityName(Activity a){

-		ActivityType at = a.getActivityType();

-		String name = null;

-		switch (at.getValue()) {

-			case ActivityType.EVENT_START_EMPTY:

-			case ActivityType.EVENT_START_LINK:

-			case ActivityType.EVENT_START_RULE:	

-			case ActivityType.EVENT_START_MULTIPLE:

-			case ActivityType.EVENT_START_MESSAGE:{

-				this.startStepNamesCounter++;

-				name = this.basicStartStep + startStepNamesCounter; 

-				break;

-			}	

-			case ActivityType.EVENT_END_CANCEL:

-			case ActivityType.EVENT_END_COMPENSATION:

-			case ActivityType.EVENT_END_EMPTY:	

-			case ActivityType.EVENT_END_ERROR:

-			case ActivityType.EVENT_END_LINK:

-			case ActivityType.EVENT_END_MESSAGE:

-			case ActivityType.EVENT_END_MULTIPLE:

-			case ActivityType.EVENT_END_TERMINATE:{

-				this.endStepNamesCounter++;

-				name = this.basicEndStep + endStepNamesCounter; 

-				break;

-

-			}

-			

-			case ActivityType.GATEWAY_DATA_BASED_EXCLUSIVE:

-			case ActivityType.GATEWAY_EVENT_BASED_EXCLUSIVE:{

-				

-				this.exclusiveStepNamesCounter++;

-				name = this.basicExclusiveStepName + exclusiveStepNamesCounter; 

-				break;

-

-			}

-			

-			case ActivityType.GATEWAY_PARALLEL:{

-				this.parallelStepNamesCounter++;

-				name = this.basicParallelStepName + parallelStepNamesCounter; 

-				break;

-			}

-			case ActivityType.SUB_PROCESS:{

-				if (a.isLooping()){

-					this.loopStepNamesCounter++;

-					name = this.basicLoopStepName + loopStepNamesCounter; 

-					break;

-				}else{

-					this.subPocessNamesCounter++;

-					name = this.basicSubProcessName + subPocessNamesCounter; 

-					break;

-				}

-					

-			}

-			default:

-				this.stepNamesCounter++;

-				name = this.basicStepName + stepNamesCounter; 

-				break;

-			}

-			a.setName(name);

-		}//

-	

-

-		public int getNumberOfFixedError() {

-			return numberOfFixedError;

-		}

-

-		public void setNumberOfFixedError(int numberOfFixedError) {

-			this.numberOfFixedError = numberOfFixedError;

-		}

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/IBPMNProcessor.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/IBPMNProcessor.java
deleted file mode 100644
index d74f77a..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/IBPMNProcessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.soa.mangrove.in.bpmn2im;

-

-import java.util.List;

-

-import org.eclipse.stp.bpmn.BpmnDiagram;

-

-public interface IBPMNProcessor {

-

-	public boolean isApplicable(BpmnDiagram bpmnDiagram);

-	public BpmnDiagram process(BpmnDiagram bpmnDiagram) throws Exception;

-	public List<String> selectPools(BpmnDiagram bpmnDiagram) throws Exception;

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/popup/actions/Bpmn2ImAction.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/popup/actions/Bpmn2ImAction.java
deleted file mode 100644
index f23e570..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/popup/actions/Bpmn2ImAction.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.in.bpmn2im.popup.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.soa.mangrove.in.bpmn2im.Bpmn2ImActivator;
-import org.eclipse.soa.mangrove.in.bpmn2im.Bpmn2ImWorkspaceOperation;
-import org.eclipse.soa.mangrove.in.bpmn2im.FixBpmnDiagramAction;
-import org.eclipse.soa.mangrove.in.bpmn2im.ui.dialogs.ListBpmnPoolsDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-public class Bpmn2ImAction implements IObjectActionDelegate {
-
-	private IFile bpmnFile = null;
-
-	/**
-	 * Constructor for Action1.
-	 */
-	public Bpmn2ImAction() {
-		super();
-	}
-
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		
-		
-		Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		try {
-			
-			ListBpmnPoolsDialog selectPoolsDialog = new ListBpmnPoolsDialog(shell,bpmnFile);
-			int status = selectPoolsDialog.open();
-			
-			if ((status == 1) || ( selectPoolsDialog.getStatus() == 1)){
-			
-				MessageDialog.openInformation(shell,
-						" Information",
-						" Operation Cancelled");
-				return;
-			
-			}
-			
-			List<String> idSelectedPools = selectPoolsDialog.getSelectedPools();
-			
-			if ((idSelectedPools == null) || (idSelectedPools.isEmpty())) {
-				MessageDialog.openInformation(shell,
-						" Information",
-						" No Pool Selected ");
-				return;
-			}
-			
-			boolean sepIm = selectPoolsDialog.isSeparateImFiles();
-			
-			WorkspaceModifyOperation operationFixBpmnDiagram = new FixBpmnDiagramAction(bpmnFile, idSelectedPools);
-			PlatformUI.getWorkbench().getProgressService().run(false, false, operationFixBpmnDiagram);
-			
-			WorkspaceModifyOperation createIMOperation = new Bpmn2ImWorkspaceOperation(bpmnFile, idSelectedPools);
-			((Bpmn2ImWorkspaceOperation)createIMOperation).setSeparateImForEachPool(sepIm);
-			PlatformUI.getWorkbench().getProgressService().run(false, false, createIMOperation);
-			
-			MessageDialog.openInformation(shell,
-					"Information",
-					"Export BPMN To Intermediate Model Completed");
-			
-		} catch (InvocationTargetException x) {
-			reportError(shell, x);
-		} catch (InterruptedException x) {
-			reportError(shell, x);
-		} catch (Throwable e) {
-			reportError(shell, e);
-		}
-	}
-
-	/**
-	 * Displays an error that occured during the project creation.
-	 * 
-	 * @param x
-	 *            details on the error
-	 */
-	private void reportError(Shell shell, Throwable x) {
-		ErrorDialog.openError(shell, "Error", "Error Occurred", makeStatus(x));
-	}
-
-	public static IStatus makeStatus(Throwable x) {
-
-		return new Status(IStatus.ERROR, Bpmn2ImActivator.PLUGIN_ID, IStatus.ERROR,
-				(x.getMessage() != null) ? x.getMessage()
-				: (x.getCause() != null) ? x.getCause().getMessage() : "", null);
-
-
-	}
-	
-	public final void selectionChanged(final IAction action,
-			final ISelection selection) {
-		
-		setBpmnFile((IFile) ((StructuredSelection) selection)
-				.getFirstElement());
-	}
-	public IFile getBpmnFile() {
-		return bpmnFile;
-	}
-
-	public void setBpmnFile(IFile bpmnFile) {
-		this.bpmnFile = bpmnFile;
-	}
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/dialogs/ListBpmnPoolsDialog.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/dialogs/ListBpmnPoolsDialog.java
deleted file mode 100644
index a22e06e..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/dialogs/ListBpmnPoolsDialog.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im.ui.dialogs;

-

-import java.util.ArrayList;

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.dialogs.TitleAreaDialog;

-import org.eclipse.jface.viewers.TableViewer;

-import org.eclipse.soa.mangrove.in.bpmn2im.BpmnDiagramUtils;

-import org.eclipse.soa.mangrove.in.bpmn2im.ui.providers.BpmnPoolContentProvider;

-import org.eclipse.soa.mangrove.in.bpmn2im.ui.providers.BpmnPoolLabelProvider;

-import org.eclipse.stp.bpmn.BpmnDiagram;

-import org.eclipse.stp.bpmn.Pool;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Listener;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.Table;

-import org.eclipse.swt.widgets.TableColumn;

-import org.eclipse.swt.widgets.TableItem;

-

-public class ListBpmnPoolsDialog  extends TitleAreaDialog {

-

-	

-

-    private Composite aComposite = null;	

-    private SashForm internalSash  = null; 

-    

-    private Table tablePools = null;

-    private TableViewer tbvPools = null; 

-    private List<Pool> thePools = null;

-    private List<String> selectedPools = null;

-    private int status = 0;

-    private boolean separateImFiles = false;

-		

-	public boolean isSeparateImFiles() {

-		return separateImFiles;

-	}

-

-

-

-

-	public void setSeparateImFiles(boolean separateImFiles) {

-		this.separateImFiles = separateImFiles;

-	}

-

-

-

-

-	public ListBpmnPoolsDialog(Shell parentShell, IFile bpmnFile ) {

-		

-		super(parentShell);

-		

-		Resource resourceBpmn = BpmnDiagramUtils.getResourceFromIFile(bpmnFile);

-		BpmnDiagram bpmnDiagram = BpmnDiagramUtils.getBpmnDiagramFromResource(resourceBpmn);

-		

-		this.thePools = bpmnDiagram.getPools();

-		this.selectedPools = new ArrayList<String>();

-

-	}

-	

-	

-				

-

-	/**

-	   * @see org.eclipse.jface.window.Window#create() We complete the dialog with

-	   *      a title and a message

-	   */

-	  public void create() {

-		super.create();

-		setTitle(" Bpmn Pools/Process ");

-	    setMessage(" Select Bpmn Pools/Process  ");

-	   

-	  }

-

-	 

-	  

-

-	@Override

-	protected Control createContents(Composite parent) {

-		Control ctrl = super.createContents(parent);

-		return ctrl;

-	}

-	

-

-	protected Control createDialogArea(Composite parent) {

-		

-        this.internalSash = new SashForm(parent,  SWT.VERTICAL | SWT.FLAT);

-        this.internalSash.setLayoutData(new GridData(GridData.FILL_BOTH));

-       	

-    	final ListBpmnPoolsDialog theDialog = this;

-    	

-    	

-    	

-        this.tablePools = new Table(internalSash, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);

-        this.tablePools.setLinesVisible(true);

-        this.tablePools.setHeaderVisible(true);

-        TableColumn column = null;

-		column = new TableColumn(tablePools, SWT.LEFT);

-		column.setText("Name");

-		column.setWidth(100);

-		column = new TableColumn(tablePools, SWT.LEFT);

-		column.setText("Technology");

-		column.setWidth(200);

-		

-		

-        this.tbvPools = new TableViewer(tablePools);

-        tbvPools.setContentProvider(new BpmnPoolContentProvider());

-        tbvPools.setLabelProvider(new BpmnPoolLabelProvider());

-        tbvPools.setInput(this.thePools);    

-    	

-      

-        aComposite = new Composite(internalSash, SWT.NONE);

-		final GridLayout layout = new GridLayout();

-    	layout.marginWidth = 15;

-    	layout.marginHeight = 10;

-    	layout.numColumns = 3;

-    	aComposite.setLayout(layout);

-    	aComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-    	

-    	// 1 - row

-    	Label label = new Label(aComposite, SWT.NULL);

-    	label.setText("IM Generation Options: ");

-    	GridData data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	label.setLayoutData(data);

-    	  

-    	Button oneImFileButton = new Button(aComposite, SWT.RADIO);

-    	oneImFileButton.setText("One IM File");

-    	data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	oneImFileButton.setLayoutData(data);

-    	oneImFileButton.setSelection(true);

-    	separateImFiles = false;

-    	

-    	    

-    	Button separateFilesButton = new Button(aComposite, SWT.RADIO);

-    	separateFilesButton.addSelectionListener(new SelectionListener() {

-			

-			

-			public void widgetSelected(SelectionEvent e) {

-				

-				//MessageDialog.openConfirm(getShell(), "SeparateImFileChecked", "SeparateFile = ["+((Button)e.getSource()).getSelection()+"]");

-				separateImFiles = ((Button)e.getSource()).getSelection();

-				

-			}

-			

-			

-			public void widgetDefaultSelected(SelectionEvent e) {

-				widgetSelected(e);

-				

-			}

-		});

-    	separateFilesButton.setText("Separate IM Files for Pools ");

-    	data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	separateFilesButton.setLayoutData(data);

-    	

-    	

-    	// 1 - row

-    	Button btnSelectAll = new Button(aComposite, SWT.FLAT);

-    	btnSelectAll.setText(" Select All ");

-    	data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	btnSelectAll.setLayoutData(data);

-    	

-    	Button btnSelect = new Button(aComposite, SWT.FLAT);

-    	btnSelect.setText(" OK ");

-    	data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	btnSelect.setLayoutData(data);

-    	

-    	Button btnCancel = new Button(aComposite, SWT.FLAT);

-    	//btnAddSpagicDatasource.setImage(addDatasorceImage);

-    	btnCancel.setText(" Cancel ");

-    	data = new GridData(GridData.FILL_HORIZONTAL);

-    	data.horizontalSpan = 1;

-    	btnCancel.setLayoutData(data);

-    	

-    	

-

-    	btnSelect.addListener(SWT.Selection,new Listener() {

-        	public void handleEvent(Event event) {

-        		

-        		TableItem[] selectedItems = theDialog.tablePools.getSelection();

-        		selectedPools = new ArrayList<String>();

-        		if (selectedItems == null || selectedItems.length == 0){

-        			MessageDialog.openInformation(getShell(), "Bpmn Pools/Processes", " No Pools Selected ");

-        			return;

-        		}

-        		for (int i = 0; i < selectedItems.length; i++) {

-        			selectedPools.add(((Pool)selectedItems[i].getData()).getID());

-        		}

-        		close();

-        	

-        	}

-    	});

-    	

-    	btnSelectAll.addListener(SWT.Selection,new Listener() {

-    		

-    		public void handleEvent(Event event) {

-    			theDialog.tablePools.selectAll();

-    			theDialog.tbvPools.refresh(true);

-    		}

-    	});

-    	btnCancel.addListener(SWT.Selection,new Listener() {

-    		

-    		public void handleEvent(Event event) {

-    			theDialog.tablePools.deselectAll();

-    			theDialog.tbvPools.refresh(true);

-    			selectedPools = null;

-    			theDialog.status = 1;

-    			close();

-    		}

-    	});

-    	

-    	internalSash.setWeights(new int[] {60,40});

-    	this.tablePools.selectAll();

-        return parent;

-	}

-

-	

-	protected void okPressed() {

-		super.okPressed();

-		

-	}

-	

-

-

-

-	protected void createButtonsForButtonBar(Composite parent) {

-		

-		

-	}

-

-

-

-

-	public List<String> getSelectedPools() {

-		return selectedPools;

-	}

-

-

-

-

-	public void setSelectedPools(List<String> selectedPools) {

-		this.selectedPools = selectedPools;

-	}

-

-

-

-

-	public int getStatus() {

-		return status;

-	}

-

-

-

-

-	public void setStatus(int status) {

-		this.status = status;

-	}

-	

-}

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolContentProvider.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolContentProvider.java
deleted file mode 100644
index dd24b3c..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolContentProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im.ui.providers;

-

-import java.util.List;

-

-import org.eclipse.jface.viewers.IStructuredContentProvider;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.stp.bpmn.Pool;

-

-

-	public class BpmnPoolContentProvider  implements IStructuredContentProvider {

-		

-			

-			

-			public BpmnPoolContentProvider(){

-				 super(); 

-				

-			}

-		  

-		

-			public Object[] getElements(Object element){

-				List<Pool> c = (List<Pool>) (element); 

-				Object[] arr = c.toArray();

-				return arr;

-			}	

-

-			public void dispose()

-			{

-				

-			}

-

-			public void inputChanged(Viewer viewer, Object old_object, Object new_object)

-			{

-				

-			}

-		  

-		  

-	}

-

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolLabelProvider.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolLabelProvider.java
deleted file mode 100644
index 0344a06..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.bpmn/src/org/eclipse/soa/mangrove/in/bpmn2im/ui/providers/BpmnPoolLabelProvider.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************

- * Copyright (c) {2007, 2008} Engineering Ingegneria Informatica S.p.A.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors: Andrea Zoppello (Engineering) - initial API and implementation

- *******************************************************************************/

-package org.eclipse.soa.mangrove.in.bpmn2im.ui.providers;

-

-

-

-import org.eclipse.emf.ecore.EAnnotation;

-import org.eclipse.jface.viewers.ILabelProviderListener;

-import org.eclipse.jface.viewers.ITableLabelProvider;

-import org.eclipse.soa.mangrove.constants.ImConstants;

-import org.eclipse.stp.bpmn.Pool;

-import org.eclipse.swt.graphics.Image;

-

-public class BpmnPoolLabelProvider implements ITableLabelProvider

-{

-	

-	public BpmnPoolLabelProvider(){

-	}

-	

-	public String getColumnText(Object element, int column_index) {

-		if (element instanceof Pool) {

-			 Pool pool =(Pool)element;

-			 

-			 if (column_index == 0 ){

-				 return ( pool.getName() != null ? pool.getName() : pool.getID());

-			 }

-			 if (column_index == 1){

-				 String result = " No Technology ";

-				 EAnnotation technologyAnnotation = pool.getEAnnotation(ImConstants.TECHNOLOGY_ANNOTATION);

-				 if (technologyAnnotation != null){

-					 String runtimeId  = technologyAnnotation.getDetails().get(ImConstants.IM_POOL_RUNTIME_ID);

-					 String runtimeName  = technologyAnnotation.getDetails().get(ImConstants.TECHNOLOGY_NAME);

-					 result = (runtimeName != null ? runtimeName : runtimeId);

-				 }

-				 return result;

-			 }

-			 return "";

-		 }else{

-			 return "";

-		 }	 

-			 

-  }

-

-  public void addListener(ILabelProviderListener ilabelproviderlistener)

-  {

-  }

-

-  public void dispose()

-  {

-  }

-

-  public boolean isLabelProperty(Object obj, String s)

-  {

-    return false;

-  }

-

-  public void removeListener(ILabelProviderListener ilabelproviderlistener)

-  {

-  }

-

-  public Image getColumnImage(Object element, int column_index)

-  {

-      return null;

-    

-  }

-}

-

diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.classpath b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.project b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.project
deleted file mode 100644
index 08e5a50..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.soa.mangrove.in.sca</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/META-INF/MANIFEST.MF b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/META-INF/MANIFEST.MF
deleted file mode 100644
index d7c4390..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: SCA to Intermediate Model Support Plug-in
-Bundle-SymbolicName: org.eclipse.soa.mangrove.in.sca; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.soa.mangrove.in.sca.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.soa.mangrove,
- org.eclipse.soa.sca.sca1_1.model;bundle-version="2.2.0",
- org.eclipse.soa.mangrove.branches.common;bundle-version="0.5.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: INRIA
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/about.html b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/about.html
deleted file mode 100644
index 4aa8b00..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 24, 2009</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/build.properties b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/build.properties
deleted file mode 100644
index 95ab5a9..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               about.html
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/plugin.xml b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/plugin.xml
deleted file mode 100644
index d450e3d..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-
-<!--
- /*******************************************************************************
- * Copyright (c) {2008} {INRIA}.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-
--->
-
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            id="org.eclipse.soa.mangrove.in.sca.contribution1"
-            nameFilter="*.composite"
-            objectClass="org.eclipse.core.resources.IFile">
-         <action
-               label="Export to Mangrove Core"
-               class="org.eclipse.soa.mangrove.in.sca.popup.actions.ExportToIMAction"
-               menubarPath="org.eclipse.soa.mangrove.branches.common.mainMenu/mainGroup"
-               enablesFor="1"
-               id="org.eclipse.soa.mangrove.in.sca.exportAction">
-         </action>
-      </objectContribution>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/Activator.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/Activator.java
deleted file mode 100644
index 4e8a4ac..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/Activator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.in.sca;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.soa.mangrove.in.sca";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/popup/actions/ExportToIMAction.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/popup/actions/ExportToIMAction.java
deleted file mode 100644
index f08a4d6..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/popup/actions/ExportToIMAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.in.sca.popup.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.soa.mangrove.in.sca.transform.SCA2IMTransformer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ExportToIMAction implements IObjectActionDelegate {
-
-    private IFile currentSCAFile = null;
-    private SCA2IMTransformer imTransformer;
-    private Shell shell;
-
-    /**
-     * Constructor for Action1.
-     */
-    public ExportToIMAction() {
-        super();
-        shell = new Shell();
-        this.imTransformer = new SCA2IMTransformer(shell);
-    }
-
-    /**
-     * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-     */
-    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-    }
-
-    /**
-     * @see IActionDelegate#run(IAction)
-     */
-    public void run(IAction action) {
-        if (null != this.currentSCAFile) {
-            //MessageDialog.openInformation(shell, "SCA to Intermediate Model", "loading <"
-            //        + this.currentSCAFile.getName() + ">...");
-            
-            //load the SCA model from the selected file (full path includes the workspace location)
-            IPath location = Platform.getLocation();
-            //System.out.println("Workspace Location: " + location.toFile().getAbsolutePath());
-            URI uri = URI.createFileURI(location.toString() + this.currentSCAFile.getFullPath().toString());
-            IContainer container = this.currentSCAFile.getParent();
-            this.imTransformer.createIMfromSCA(uri, container);
-        }
-    }
-
-    /**
-     * @see IActionDelegate#selectionChanged(IAction, ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        this.currentSCAFile = ((IFile) ((StructuredSelection) selection).getFirstElement());
-    }
-
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCA2IMTransformer.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCA2IMTransformer.java
deleted file mode 100644
index 38600fc..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCA2IMTransformer.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.in.sca.transform;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.soa.mangrove.Process;
-import org.eclipse.soa.mangrove.Service;
-import org.eclipse.soa.mangrove.Step;
-import org.eclipse.soa.mangrove.StpIntermediateModel;
-import org.eclipse.soa.mangrove.in.sca.Activator;
-import org.eclipse.soa.mangrove.util.IMHandler;
-import org.eclipse.soa.sca.sca1_1.model.sca.Component;
-import org.eclipse.soa.sca.sca1_1.model.sca.ComponentService;
-import org.eclipse.soa.sca.sca1_1.model.sca.Composite;
-import org.eclipse.soa.sca.sca1_1.model.sca.DocumentRoot;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The main class driving the transformation process from SCA to the
- * Intermediate Model
- * 
- * @author Adrian Mos
- */
-public class SCA2IMTransformer {
-    private SCAModelReader scaReader = new SCAModelReader(); // helper object
-                                                                // for reading
-                                                                // SCA files
-    private Shell shell; // the SWT shell that will be the parent of
-                            // different widgets created here
-
-    public SCA2IMTransformer(Shell shell) {
-        super();
-        this.shell = shell;
-    }
-
-    /**
-     * Creates an IM instance from the SCA model instance contained by the file
-     * @param uri the URI of the SCA composite file to load   
-     * @param container the Eclipse resource container (typically the workspace)
-     */
-    public synchronized void createIMfromSCA(URI uri, IContainer container) {
-
-        // get the SCA Document Root and the Composite
-        DocumentRoot scaRoot = null;
-        Composite composite = null;
-        try {
-            scaRoot = scaReader.loadSCAModel(uri);
-            composite = scaRoot.getComposite();
-        } catch (Throwable t) {
-            displayIMError("Could not obtain the SCA contents", t);
-            return;
-        }
-        
-        //create the IM helper object and obtain the IM EMF instance
-        IMHandler imHandler = new IMHandler();
-        StpIntermediateModel im = imHandler.getStpIM();
-        
-        //for each component service, must create a service in the IM
-        for (Component comp : composite.getComponent()) { //get all the components
-            //get all the services it declares
-            for (ComponentService service : comp.getService()) {
-                Service serv = imHandler.createService(service.getName());
-            }
-            //get all the references it declares
-            //for (ComponentReference ref : comp.getReference()) System.out.println("  * \tref: " + ref.getName());
-        }
-        
-        //for each SCA Composite Service, must create an IM process
-        for(org.eclipse.soa.sca.sca1_1.model.sca.Service compService : composite.getService()){
-            Process proc = imHandler.createProcess(compService.getName());
-            //if the composite service is a promoted service from a component (as it should)
-            //the promoted component service must be added as a first step to the process
-            Step firstStep = imHandler.createStep(compService.getPromote().getName(), proc);
-            //Service serv = imHandler.createService(compService.getPromote2().getName());
-        }
-                
-        //to finish up, the IM must be persisted in the workspace 
-        //(using an identical file name to the SCA one, with a changed extension)
-        try {
-            URI imURI = uri.trimFileExtension().appendFileExtension("mangrove");
-            imHandler.persistIM(imURI);
-            container.refreshLocal(2, null); //refreshes the workspace so that the saved file is visible
-        } catch (IOException e) {
-            displayIMError("Could not save the Mangrove file", e);
-        } catch (CoreException e) {
-            displayIMError("Could not refresh the workspace", e);
-        }
-        
-    }
-
-    /**
-     * Display an error message window for IM-related operations
-     * @param msg the error message
-     */
-    private void displayIMError(String msg, Throwable t) {
-        IStatus iStatus = null;
-        if (null != t)
-            iStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, t.getLocalizedMessage(), t);
-        else
-            iStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, msg);
-        ErrorDialog.openError(shell, "Intermediate Model Generation Error", msg, iStatus);
-
-    }
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCAModelReader.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCAModelReader.java
deleted file mode 100644
index 6517c19..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.in.sca/src/org/eclipse/soa/mangrove/in/sca/transform/SCAModelReader.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.in.sca.transform;
-
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.soa.sca.sca1_1.model.sca.Component;
-import org.eclipse.soa.sca.sca1_1.model.sca.ComponentReference;
-import org.eclipse.soa.sca.sca1_1.model.sca.ComponentService;
-import org.eclipse.soa.sca.sca1_1.model.sca.Composite;
-import org.eclipse.soa.sca.sca1_1.model.sca.DocumentRoot;
-import org.eclipse.soa.sca.sca1_1.model.sca.Reference;
-import org.eclipse.soa.sca.sca1_1.model.sca.ScaPackage;
-import org.eclipse.soa.sca.sca1_1.model.sca.Service;
-import org.eclipse.soa.sca.sca1_1.model.sca.util.ScaResourceFactoryImpl;
-
-public class SCAModelReader {
-
-    /**
-     * Loads the SCA model instance contained by the file
-     * @param uri the URI of the file to load
-     */
-    public DocumentRoot loadSCAModel(URI uri) {
-        
-        DocumentRoot docRoot = null; //the SCA document root to be returned
-        
-        //System.out.println("Loading SCA model from " + uri.toFileString());
-
-        // Create a resource set to hold the resources.
-        ResourceSet resourceSet = new ResourceSetImpl();
-
-        // Register the appropriate resource factory to handle all file extensions.
-        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
-                Resource.Factory.Registry.DEFAULT_EXTENSION, new ScaResourceFactoryImpl());
-
-        // Register the package to ensure it is available during loading.
-        resourceSet.getPackageRegistry().put(ScaPackage.eNS_URI, ScaPackage.eINSTANCE);
-
-        //load the resource for the file
-        Resource resource = null;
-        try {
-            resource = resourceSet.getResource(uri, true);
-            //System.out.println("Loaded " + uri);
-        } catch (RuntimeException exception) {
-            System.out.println("Problem loading " + uri);
-            exception.printStackTrace();
-        }
-
-            //printEMFResourceContents(resource);
-            
-            //get the Document Root
-            docRoot = (DocumentRoot) resource.getContents().get(0);
-            
-            //printSCADocumentContents(docRoot);
-
-        return docRoot;
-    }
-
-
-    /**
-     * test method so that we can get a quick view of the SCA composite's contents
-     * @param docRoot the SCA DocumentRoot element
-     */
-    private void printSCADocumentContents(DocumentRoot docRoot) {
-        //get the composite
-        Composite composite = docRoot.getComposite();
-        System.out.println("Composite: " + composite.getName());
-        //get all the services it declares
-        for (Service service : composite.getService()) System.out.println("  service: " + service.getName());
-        //get all the references it declares
-        for (Reference ref : composite.getReference()) System.out.println("  ref: " + ref.getName());
-        //get all the components it contains
-        for (Component comp : composite.getComponent()) {
-            System.out.println("  * component: " + comp.getName());
-            //get all the services it declares
-            for (ComponentService service : comp.getService()) System.out.println("  * \tservice: " + service.getName());
-            //get all the references it declares
-            for (ComponentReference ref : comp.getReference()) System.out.println("  * \tref: " + ref.getName());
-        }
-        
-        System.out.println("DONE.");
-    }
-
-    
-    /**
-     * Print out the contents of the given resource
-     * @param resource an EMF resource
-     */
-    private void printEMFResourceContents(Resource resource) {
-        TreeIterator<EObject> iterator = resource.getAllContents();
-        while (iterator.hasNext()) {
-            EObject obj = iterator.next();
-            System.out.println("EMF Object: " + obj.eClass().getName() + " : " + obj.eContents());
-        }
-    }
-    
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.classpath b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.project b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.project
deleted file mode 100644
index 03dc625..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.soa.mangrove.out.sca</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/META-INF/MANIFEST.MF b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/META-INF/MANIFEST.MF
deleted file mode 100644
index e286bcc..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mangrove to SCA Support Plug-in
-Bundle-SymbolicName: org.eclipse.soa.mangrove.out.sca; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.soa.mangrove.out.sca.Activator
-Bundle-Vendor: INRIA
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.soa.mangrove,
- org.eclipse.soa.mangrove.branches.common;bundle-version="0.5.0",
- org.eclipse.soa.sca.core.model;bundle-version="2.3.0",
- org.eclipse.soa.sca.sca1_0.model;bundle-version="2.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/about.html b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/about.html
deleted file mode 100644
index 4aa8b00..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 24, 2009</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/build.properties b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/build.properties
deleted file mode 100644
index 95ab5a9..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               about.html
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/plugin.xml b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/plugin.xml
deleted file mode 100644
index 6aed13e..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-
-<!--
- /*******************************************************************************
- * Copyright (c) {2008} {INRIA}.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-
--->
-
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            id="org.eclipse.soa.mangrove.out.sca.contribution1"
-            nameFilter="*.mangrove"
-            objectClass="org.eclipse.core.resources.IFile">
-         <action
-               label="Generate SCA"
-               class="org.eclipse.soa.mangrove.out.sca.popup.actions.GenerateSCAAction"
-               menubarPath="org.eclipse.soa.mangrove.branches.common.mainMenu/mainGroup"
-               enablesFor="1"
-               id="org.eclipse.soa.mangrove.out.sca.generateAction">
-         </action>
-      </objectContribution>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/Activator.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/Activator.java
deleted file mode 100644
index c0a4b48..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.soa.mangrove.out.sca;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.soa.mangrove.out.sca";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/popup/actions/GenerateSCAAction.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/popup/actions/GenerateSCAAction.java
deleted file mode 100644
index 780e8a0..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/popup/actions/GenerateSCAAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.out.sca.popup.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.soa.mangrove.out.sca.transform.IM2SCATransformer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class GenerateSCAAction implements IObjectActionDelegate {
-
-    private IFile selectedIMFile = null;
-    private IM2SCATransformer scaTransformer;
-    private Shell shell;
-    
-
-	public GenerateSCAAction() {
-		super();
-        shell = new Shell();
-	}
-
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-        if (null != this.selectedIMFile) {
-            //load the IM from the selected file (full path includes the workspace location)
-            IPath location = Platform.getLocation();
-            //System.out.println("Workspace Location: " + location.toFile().getAbsolutePath());
-            URI uri = URI.createFileURI(location.toString() + this.selectedIMFile.getFullPath().toString());
-            IContainer container = this.selectedIMFile.getParent();
-            this.scaTransformer = new IM2SCATransformer(shell, uri);
-            this.scaTransformer.createSCAfromIM(container);
-        }
-	}
-
-    /**
-     * @see IActionDelegate#selectionChanged(IAction, ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        this.selectedIMFile = ((IFile) ((StructuredSelection) selection).getFirstElement());
-    }
-
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IM2SCATransformer.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IM2SCATransformer.java
deleted file mode 100644
index d2d3c43..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IM2SCATransformer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.out.sca.transform;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.soa.mangrove.branches.common.Core2AnyTransformer;
-import org.eclipse.soa.sca.sca1_0.model.sca.*;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The main class driving the transformation process from the
- * Intermediate Model to SCA
- * 
- * @author Adrian Mos
- */
-public class IM2SCATransformer extends Core2AnyTransformer{
-    
-    public IM2SCATransformer(Shell shell, URI uri) {
-		super(shell, uri);
-	}
-
-	/**
-     * Creates an SCA model instance from the IM instance contained by the file
-     * @param uri the URI of the IM serialized instance file to load   
-     * @param container the Eclipse resource container (typically the workspace)
-     */
-    public synchronized void createSCAfromIM(IContainer container){
-
-        SCAHandler scaHandler = new SCAHandler();
-        Composite composite = scaHandler.getComposite();
-        //System.out.println("Creating Composite");
-        //for each process in the IM, create a composite service and the inner components containing 
-        //the services taking part in the process (orchestrated by a component)
-        for (org.eclipse.soa.mangrove.Process proc : im.getProcessCollection().getProcesses()) {
-        	//System.out.println("Creating component for " + proc.getName());
-        	Service compositeService = scaHandler.createCompositeService(proc.getName());
-            // create an orchestration component exposing the same service and
-            // connects the composite service to the orchestration service
-            // (which has the same name as it is the SAME service)
-            Component orchestrComponent = scaHandler.createComponent(proc.getName() + "_orchestrationComponent");
-            ComponentService orchestrService = scaHandler.createComponentService(orchestrComponent, proc.getName());
-            compositeService.setPromote(orchestrService);
-
-            // for each of the services invoked by this process, create
-            // components with the respective services
-            // and connect the orchestration component to these services
-            for (org.eclipse.soa.mangrove.Step step : proc.getSteps()) {
-                // if the process step relates to a service, get it and create
-                // the appropriate artefacts
-                // if the process step does not CURRENTLY relate to a service,
-                // CREATE a mockup service
-                // to give the architect the option for creating one or not in
-                // an easy manner
-                // this policy could easily change when we switch to declarative
-                // rules
-                org.eclipse.soa.mangrove.Service procService = step.getServiceModel();
-                String pServiceName = null;
-                if (null == procService) pServiceName = step.getName() + "_genService";
-                else pServiceName = procService.getServiceName();
-                // create a SCA component with the service
-                Component scaComponent = scaHandler.createComponent(step.getName() + "_component");
-                //System.out.println("Created component for step: " + scaComponent.getName());
-                ComponentService scaService = scaHandler.createComponentService(scaComponent, pServiceName);
-                // create a service reference in the orchestration component for
-                // this service
-                // and connect it to the newly created component service
-                ComponentReference scaRef = scaHandler.createComponentRef(orchestrComponent, pServiceName + "_ref");
-                scaRef.getTarget().add(scaService);
-
-            }
-        }
-        
-        //to finish up, the SCA composite must be persisted in the workspace 
-        //(using an identical file name to the SCA one, with a changed extension)
-        try {
-            URI scaURI = uri.trimFileExtension().appendFileExtension("composite");
-            scaHandler.persistSCA(scaURI);
-            container.refreshLocal(2, null); //refreshes the workspace so that the saved file is visible
-        } catch (IOException e) {
-            displayIMError("Could not save the SCA Composite file", e);
-        } catch (CoreException e) {
-            displayIMError("Could not refresh the workspace", e);
-        }
-    }
-
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IMReader.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IMReader.java
deleted file mode 100644
index 39eb60e..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/IMReader.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.out.sca.transform;
-
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.soa.mangrove.StpIntermediateModel;
-
-/**
- * Helper class for reading an Intermediate Model instance
- * @author Adrian Mos
- */
-public class IMReader {
-
-    /**
-     * Loads an Intermediate Model instance from a file on the disk
-     * @param uri the file URI containing the serialized instance of the IM
-     * @return the top-level element of the IM instance
-     */
-    public StpIntermediateModel loadIM (URI uri){
-        StpIntermediateModel im = null; //the IM top level element
-
-        // Create a resource set to hold the resources.
-        ResourceSet resourceSet = new ResourceSetImpl();
-
-        //load the resource for the file
-        Resource resource = null;
-        try {
-            resource = resourceSet.getResource(uri, true);
-            //System.out.println("Loaded IM from " + uri);
-        } catch (RuntimeException exception) {
-            System.out.println("Problem loading " + uri);
-            exception.printStackTrace();
-        }
-
-            //printEMFResourceContents(resource);
-            
-            //get the IM root
-            im = (StpIntermediateModel) resource.getContents().get(0);
-
-        return im;
-    }
-    
-    /**
-     * Print out the contents of the given resource
-     * @param resource an EMF resource
-     */
-    private void printEMFResourceContents(Resource resource) {
-        TreeIterator<EObject> iterator = resource.getAllContents();
-        while (iterator.hasNext()) {
-            EObject obj = iterator.next();
-            System.out.println("EMF Object: " + obj.eClass().getName() + " : " + obj.eContents());
-        }
-    }
-    
-}
diff --git a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/SCAHandler.java b/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/SCAHandler.java
deleted file mode 100644
index 6d03dcb..0000000
--- a/org.eclipse.soa.mangrove.branches/trunk/org.eclipse.soa.mangrove.out.sca/src/org/eclipse/soa/mangrove/out/sca/transform/SCAHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) {2008} INRIA
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Adrian Mos (INRIA) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.soa.mangrove.out.sca.transform;
-
-import java.io.IOException;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.soa.sca.sca1_0.model.sca.*;
-
-/**
- * Contains operations for creating elements in the SCA model and writing it to disk
- * It is oriented towards IM-related elements, so will handle a similar subset of SCA
- * An instance of this class corresponds to one SCA composite file
- * @author Adrian Mos
- */
-public class SCAHandler {
-    private DocumentRoot scaRoot = null; //the top-level element of the SCA meta-model
-    private ScaFactory scaFactory = null;
-    private Composite composite = null; //the only composite in the SCA model
-
-    /**
-     * Instantiates the SCA meta-model and performs set-up operations
-     */
-    public SCAHandler() {
-        scaFactory = ScaFactory.eINSTANCE;
-        scaRoot = scaFactory.createDocumentRoot();
-        composite = scaFactory.createComposite();
-        scaRoot.setComposite(composite);
-    }
-
-    public Composite getComposite() {
-        return composite;
-    }
-
-    
-    /**
-     * Creates a Service for the SCA composite
-     * @param name the names of the service
-     * @return the created service
-     */
-    public Service createCompositeService (String name){
-        //create the service
-        Service service = scaFactory.createService();
-        service.setName(name.replaceAll("\\s", ""));
-        //add the created service to the composite
-        composite.getService().add(service);
-        return service;
-    }
-
-    /**
-     * Creates a component
-     * @param name the name of the component
-     * @return the created component
-     */
-    public Component createComponent(String name) {
-        //create the component
-        Component component = scaFactory.createComponent();
-        component.setName(name.replaceAll("\\s", ""));
-        //add the component to the composite
-        composite.getComponent().add(component);
-        return component;
-    }
-
-    /**
-     * Creates a component service
-     * @param parent the component that will expose this service
-     * @param name the name of the component service
-     * @return
-     */
-    public ComponentService createComponentService(Component parent, String name) {
-        //create the service
-        ComponentService compServ = scaFactory.createComponentService();
-        compServ.setName(name.replaceAll("\\s", ""));
-        //add the service to its containing component
-        parent.getService().add(compServ);
-        return compServ;
-    }
-
-
-    /**
-     * Creates a component reference
-     * @param parent the component that will expose this reference
-     * @param name the name of the component reference
-     * @return
-     */
-    public ComponentReference createComponentRef(Component parent, String name) {
-        //create the reference
-        ComponentReference compRef = scaFactory.createComponentReference();
-        compRef.setName(name.replaceAll("\\s", ""));
-        //add the reference to its containing component
-        parent.getReference().add(compRef);
-        return compRef;
-    }
-    
-    /**
-     * will create a file and save the SCA composite in it
-     * @param uri the URI of the file to save to
-     * @throws IOException if the save operation does not succeed
-     */
-    public void persistSCA(URI uri) throws IOException {
-
-        ResourceSet rs = new ResourceSetImpl();
-
-        Resource resource = rs.createResource(uri);
-        resource.getContents().add(this.scaRoot);
-        //System.out.println("Persisting ROOT " + scaRoot);
-        
-        resource.save(Collections.EMPTY_MAP);
-    }
-    
-}