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 ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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);
- }
-
-}