summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Pielmann2012-02-15 04:41:20 (EST)
committer Stephan Born2012-04-24 04:34:22 (EDT)
commitb40ced7605c458682f9f2769ca72cac272d518fe (patch)
treeb6bc0d7d78294291457a35fd916df53f533242a4
parent4671b67e1ae4fd1cc0b88f6ebd4a3b226f72ee76 (diff)
downloadorg.eclipse.stardust.ide-b40ced7605c458682f9f2769ca72cac272d518fe.zip
org.eclipse.stardust.ide-b40ced7605c458682f9f2769ca72cac272d518fe.tar.gz
org.eclipse.stardust.ide-b40ced7605c458682f9f2769ca72cac272d518fe.tar.bz2
Jira-ID: CRNT-22728
Refactor ag.carnot.workflow.model.api plugin to match refactored carmot-engine packages, add it to stardust repository git-svn-id: http://emeafrazerg/svn/ipp/product/trunk/stardust/ide@53779 8100b5e0-4d52-466c-ae9c-bdeccbdeaf6b
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/.classpath7
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/.cvsignore1
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/.project28
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/META-INF/MANIFEST.MF8
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/build.properties6
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/build_mergePropsToNLS.xml57
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/fragment.properties2
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/plugin_en.properties14
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/plugin_ja.properties14
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_en.properties60
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_ja.properties60
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/.classpath7
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/.cvsignore1
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/.project28
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/META-INF/MANIFEST.MF17
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/build.properties17
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/copy-interfaces.xml140
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/plugin.properties12
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/plugin.xml11
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/pom.xml27
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/AccessPointOwner.java36
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/CardinalityKey.java62
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventActionContext.java61
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventHandlerOwner.java27
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventType.java37
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAccessPoint.java30
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAction.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IActivity.java112
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplication.java33
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContext.java25
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContextType.java32
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationType.java28
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IBindAction.java19
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IConditionalPerformer.java28
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IData.java20
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataMapping.java49
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataPath.java29
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataType.java23
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventAction.java19
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventActionType.java35
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventConditionType.java30
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventHandler.java41
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ILinkType.java77
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModel.java200
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModelParticipant.java36
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModeler.java32
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IOrganization.java39
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParameterMapping.java32
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParticipant.java18
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IProcessDefinition.java84
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IRole.java24
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITransition.java45
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITrigger.java23
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITriggerType.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IUnbindAction.java19
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IView.java28
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IViewable.java20
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ImplementationType.java72
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Inconsistency.java105
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/JoinSplitType.java33
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/LoopType.java35
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ParticipantType.java78
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PluggableType.java23
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PredefinedConstants.java554
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/SubProcessModeKey.java68
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Typeable.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Connection.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Identifiable.java20
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/IdentifiableElement.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/ModelElement.java39
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Nameable.java20
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/RootElement.java26
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/API_Messages.java75
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/api-messages.properties35
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ArrowKey.java71
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ColorKey.java73
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ConnectionSymbol.java27
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Diagram.java72
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/LineKey.java65
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/NodeSymbol.java19
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Symbol.java62
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/SymbolOwner.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPoint.java53
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPointProvider.java39
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationContextValidator.java43
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationValidator.java47
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/BridgeObject.java160
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataType.java22
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataValidator.java53
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/ModelApiPlugin.java55
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractAttributeHolder.java94
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractConnectionAdapter.java38
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableElementAdapter.java42
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableModelElementAdapter.java46
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelAdapter.java36
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelElementAdapter.java162
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelParticipantAdapter.java90
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AccessPointOwnerAdapter.java94
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AdapterRegistry.java157
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AttributeUtils.java149
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ConversionUtils.java39
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/DiagramAdapter.java118
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/EventHandlerOwnerAdapter.java45
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAccessPointAdapter.java65
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IActivityAdapter.java402
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAdapterFactory.java16
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationAdapter.java180
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextAdapter.java91
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextTypeAdapter.java60
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationTypeAdapter.java49
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IConditionalPerformerAdapter.java125
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataAdapter.java76
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataMappingAdapter.java130
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataPathAdapter.java106
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataTypeAdapter.java33
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionAdapter.java69
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionTypeAdapter.java117
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventConditionTypeAdapter.java96
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventHandlerAdapter.java224
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ILinkTypeAdapter.java205
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelAdapter.java995
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelerAdapter.java127
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IOrganizationAdapter.java136
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IProcessDefinitionAdapter.java616
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IRoleAdapter.java82
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITransitionAdapter.java143
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerAdapter.java163
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerTypeAdapter.java42
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IViewAdapter.java94
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ModelAdapterFactory.java16
-rw-r--r--model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/Predicates.java44
132 files changed, 9766 insertions, 0 deletions
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/.classpath b/model/org.eclipse.stardust.model.xpdl.api.nl/.classpath
new file mode 100644
index 0000000..bd41578
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/.classpath
@@ -0,0 +1,7 @@
+<?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=".eclipse/bin"/>
+</classpath>
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/.cvsignore b/model/org.eclipse.stardust.model.xpdl.api.nl/.cvsignore
new file mode 100644
index 0000000..3bb4fd7
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/.cvsignore
@@ -0,0 +1 @@
+.eclipse
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/.project b/model/org.eclipse.stardust.model.xpdl.api.nl/.project
new file mode 100644
index 0000000..d65ebc0
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.stardust.model.xpdl.api.nl</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/model/org.eclipse.stardust.model.xpdl.api.nl/META-INF/MANIFEST.MF b/model/org.eclipse.stardust.model.xpdl.api.nl/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f8bfc94
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %nlsFragmentName
+Bundle-SymbolicName: org.eclipse.stardust.model.xpdl.api.nl
+Bundle-Version: 9.9.9.qualifier
+Bundle-Vendor: %nlsProviderName
+Fragment-Host: org.eclipse.stardust.model.xpdl.api
+Bundle-Localization: fragment
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/build.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/build.properties
new file mode 100644
index 0000000..59fd23c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = .eclipse/bin/
+bin.includes = .,\
+ META-INF/,\
+ plugin_*.properties,\
+ fragment.properties
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/build_mergePropsToNLS.xml b/model/org.eclipse.stardust.model.xpdl.api.nl/build_mergePropsToNLS.xml
new file mode 100644
index 0000000..44ad3a0
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/build_mergePropsToNLS.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="mergeProps" default="localizeProperties">
+
+ <property environment="env"/>
+ <property name="cm.home" value="${env.CM_HOME}"/>
+ <property file="${cm.home}/etc/global.properties"/>
+
+ <property name="locale" value="ja" />
+ <property name="rootdir" value="${basedir}/../" />
+ <property name="antdir" value="${rootdir}ag.carnot.scm.ant/bin"/>
+
+ <property name="package" value="org.eclipse.stardust.model.xpdl.api" />
+ <property name="srcpath" value="src/ag/carnot" />
+ <property name="tempfile" value="${srcpath}/tempfile.properties"/>
+
+ <property name="localize.jar" value="$localizeproperties.jar" />
+
+ <taskdef name="foreach" classname="ag.carnot.scm.ant.ForEachTask"
+ classpath="${antdir}"/>
+
+ <taskdef name="localizeProps" classname="ag.carnot.scm.ant.LocalizeProperties"
+ description="adds new entries in internationalized property-files"
+ classpath="${antdir}"/>
+
+ <target name="localizeProperties">
+ <localizeProps sourcepath="${srcpath}" locale="${locale}">
+ <fileset dir="${rootdir}${package}/${srcpath}" casesensitive="yes">
+ <include name="**/*messages.properties" />
+ </fileset>
+ </localizeProps>
+ <localizeProps sourcepath="${basedir}" locale="${locale}">
+ <fileset dir="${rootdir}${package}" casesensitive="yes">
+ <include name="**/*plugin.properties" />
+ </fileset>
+ </localizeProps>
+ <foreach target="toUnicode">
+ <param name="f">
+ <fileset dir="." casesensitive="yes">
+ <include name="**/*messages_${locale}.properties" />
+ </fileset>
+ <fileset dir="${basedir}" casesensitive="yes">
+ <include name="**/*plugin_${locale}.properties" />
+ </fileset>
+ </param>
+ </foreach>
+ </target>
+
+ <target name="toUnicode">
+ <exec executable="cmd">
+ <arg value="/c ${env.JAVA_HOME}\bin\native2ascii.exe ${f} ${tempfile}"/>
+ </exec>
+ <copy file="${tempfile}" tofile="${f}" overwrite="on"/>
+ <delete file="${tempfile}"/>
+ </target>
+
+</project> \ No newline at end of file
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/fragment.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/fragment.properties
new file mode 100644
index 0000000..1c104f9
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/fragment.properties
@@ -0,0 +1,2 @@
+nlsFragmentName = Infinity Workflow Model API Compatibility (NLS Fragment)
+nlsProviderName = SunGard CSA LLC \ No newline at end of file
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_en.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_en.properties
new file mode 100644
index 0000000..46b78b8
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_en.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+pluginName=Infinity Workflow Model API Compatibility Plug-in
+# pluginName_en=Infinity Workflow Model API Compatibility Plug-in
+providerName=SunGard CSA LLC
+# providerName_en=SunGard CSA LLC
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_ja.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_ja.properties
new file mode 100644
index 0000000..d4860bf
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/plugin_ja.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+pluginName= Infinity Workflow Model API Compatibility Plug-in
+# pluginName_en=Infinity Workflow Model API Compatibility Plug-in
+providerName= SunGard CSA LLC
+# providerName_en=SunGard CSA LLC
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_en.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_en.properties
new file mode 100644
index 0000000..d2126c8
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_en.properties
@@ -0,0 +1,60 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+EXC_NOT_IMPLEMENTED_YET=Not implemented yet
+# EXC_NOT_IMPLEMENTED_YET_en=Not implemented yet
+EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE=Unexpected activity implementation type
+# EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE_en=Unexpected activity implementation type
+EXC_UNEXPECTED_SPLIT_TYPE=Unexpected split type
+# EXC_UNEXPECTED_SPLIT_TYPE_en=Unexpected split type
+EXC_UNEXPECTED_SUBPROCESSMODEKEY=Unexpected SubProcessModeKey
+# EXC_UNEXPECTED_SUBPROCESSMODEKEY_en=Unexpected SubProcessModeKey
+EXC_UNEXPECTEDT_SPLIT_TYPE=Unexpected split type
+# EXC_UNEXPECTEDT_SPLIT_TYPE_en=Unexpected split type
+STR_ModelParticipant=Model Participant
+# STR_ModelParticipant_en=Model Participant
+STR_DynParticipant=Dynamic Participant
+# STR_DynParticipant_en=Dynamic Participant
+STR_Org=Organization
+# STR_Org_en=Organization
+STR_Role=Role
+# STR_Role_en=Role
+STR_Route=Route
+# STR_Route_en=Route
+STR_While=While
+# STR_While_en=While
+STR_CondPerformer=Conditional Performer
+# STR_CondPerformer_en=Conditional Performer
+STR_User=User
+# STR_User_en=User
+STR_Manual=Manual
+# STR_Manual_en=Manual
+STR_NoLoop=No Loop
+# STR_NoLoop_en=No Loop
+STR_Repeat=Repeat
+# STR_Repeat_en=Repeat
+STR_UserGroup=User Group
+# STR_UserGroup_en=User Group
+STR_UnbindAct=Unbind Action
+# STR_UnbindAct_en=Unbind Action
+STR_Unknown=Unknown
+# STR_Unknown_en=Unknown
+STR_BindAct=Bind Action
+# STR_BindAct_en=Bind Action
+STR_EventAct=Event Action
+# STR_EventAct_en=Event Action
+STR_Application=Application
+# STR_Application_en=Application
+STR_Subprocess=Subprocess
+# STR_Subprocess_en=Subprocess
+STR_ParticipantOrGroup=Model Participant or User Group
+# STR_ParticipantOrGroup_en=Model Participant or User Group
+MSG_InvalidSym=Invalid symbol
+# MSG_InvalidSym_en=Invalid symbol
diff --git a/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_ja.properties b/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_ja.properties
new file mode 100644
index 0000000..6a02d0c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api.nl/src/org/eclipse/stardust/model/api-messages_ja.properties
@@ -0,0 +1,60 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+EXC_NOT_IMPLEMENTED_YET= \u307E\u3060\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+# EXC_NOT_IMPLEMENTED_YET_en=Not implemented yet
+EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE= \u4E88\u671F\u3057\u306A\u3044\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u306E\u30A4\u30F3\u30D7\u30EA\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u30BF\u30A4\u30D7
+# EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE_en=Unexpected activity implementation type
+EXC_UNEXPECTED_SPLIT_TYPE= \u4E88\u671F\u3057\u306A\u3044\u30B9\u30D7\u30EA\u30C3\u30C8\u30BF\u30A4\u30D7
+# EXC_UNEXPECTED_SPLIT_TYPE_en=Unexpected split type
+EXC_UNEXPECTED_SUBPROCESSMODEKEY= \u4E88\u671F\u3057\u306A\u3044SubProcessModeKey
+# EXC_UNEXPECTED_SUBPROCESSMODEKEY_en=Unexpected SubProcessModeKey
+EXC_UNEXPECTEDT_SPLIT_TYPE= \u4E88\u671F\u3057\u306A\u3044\u30B9\u30D7\u30EA\u30C3\u30C8\u30BF\u30A4\u30D7
+# EXC_UNEXPECTEDT_SPLIT_TYPE_en=Unexpected split type
+STR_ModelParticipant= \u30E2\u30C7\u30EB\u306E\u30D1\u30FC\u30C6\u30A3\u30B7\u30D1\u30F3\u30C8
+# STR_ModelParticipant_en=Model Participant
+STR_DynParticipant= \u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30D1\u30FC\u30C6\u30A3\u30B7\u30D1\u30F3\u30C8
+# STR_DynParticipant_en=Dynamic Participant
+STR_Org= \u7D44\u7E54
+# STR_Org_en=Organization
+STR_Role= \u30ED\u30FC\u30EB
+# STR_Role_en=Role
+STR_Route= \u30EB\u30FC\u30C8
+# STR_Route_en=Route
+STR_While= While
+# STR_While_en=While
+STR_CondPerformer= \u6761\u4EF6\u4ED8\u304D\u30D1\u30D5\u30A9\u30FC\u30DE\u30FC
+# STR_CondPerformer_en=Conditional Performer
+STR_User= \u30E6\u30FC\u30B6
+# STR_User_en=User
+STR_Manual= \u30DE\u30CB\u30E5\u30A2\u30EB
+# STR_Manual_en=Manual
+STR_NoLoop= \u30EB\u30FC\u30D7\u306A\u3057
+# STR_NoLoop_en=No Loop
+STR_Repeat= \u7E70\u308A\u8FD4\u3057
+# STR_Repeat_en=Repeat
+STR_UserGroup= \u30E6\u30FC\u30B6\u30B0\u30EB\u30FC\u30D7
+# STR_UserGroup_en=User Group
+STR_UnbindAct= \u30A2\u30F3\u30D0\u30A4\u30F3\u30C9\u30A2\u30AF\u30B7\u30E7\u30F3
+# STR_UnbindAct_en=Unbind Action
+STR_Unknown= \u4E0D\u660E
+# STR_Unknown_en=Unknown
+STR_BindAct= \u30D0\u30A4\u30F3\u30C9\u30A2\u30AF\u30B7\u30E7\u30F3
+# STR_BindAct_en=Bind Action
+STR_EventAct= \u30A4\u30D9\u30F3\u30C8\u30A2\u30AF\u30B7\u30E7\u30F3
+# STR_EventAct_en=Event Action
+STR_Application= \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3
+# STR_Application_en=Application
+STR_Subprocess= \u30B5\u30D6\u30D7\u30ED\u30BB\u30B9
+# STR_Subprocess_en=Subprocess
+STR_ParticipantOrGroup= \u30E2\u30C7\u30EB\u30D1\u30FC\u30C6\u30A3\u30B7\u30D1\u30F3\u30C8\u307E\u305F\u306F\u30E6\u30FC\u30B6\u30B0\u30EB\u30FC\u30D7
+# STR_ParticipantOrGroup_en=Model Participant or User Group
+MSG_InvalidSym= \u7121\u52B9\u306A\u30B7\u30F3\u30DC\u30EB
+# MSG_InvalidSym_en=Invalid symbol
diff --git a/model/org.eclipse.stardust.model.xpdl.api/.classpath b/model/org.eclipse.stardust.model.xpdl.api/.classpath
new file mode 100644
index 0000000..5b63813
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/.classpath
@@ -0,0 +1,7 @@
+<?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/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path=".eclipse/bin"/>
+</classpath>
diff --git a/model/org.eclipse.stardust.model.xpdl.api/.cvsignore b/model/org.eclipse.stardust.model.xpdl.api/.cvsignore
new file mode 100644
index 0000000..4a1c269
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/.cvsignore
@@ -0,0 +1 @@
+.eclipse
diff --git a/model/org.eclipse.stardust.model.xpdl.api/.project b/model/org.eclipse.stardust.model.xpdl.api/.project
new file mode 100644
index 0000000..71fa674
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.stardust.model.xpdl.api</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/model/org.eclipse.stardust.model.xpdl.api/.settings/org.eclipse.jdt.core.prefs b/model/org.eclipse.stardust.model.xpdl.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..6aa87d7
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon Sep 28 17:37:28 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/model/org.eclipse.stardust.model.xpdl.api/META-INF/MANIFEST.MF b/model/org.eclipse.stardust.model.xpdl.api/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e75025f
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.stardust.model.xpdl.api;singleton:=true
+Bundle-Version: 9.9.9.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.stardust.ide.engine.base,
+ org.eclipse.stardust.model.xpdl
+Bundle-Activator: org.eclipse.stardust.model.xpdl.api.ModelApiPlugin
+Export-Package: org.eclipse.stardust.model.diagram,
+ org.eclipse.stardust.model.spi,
+ org.eclipse.stardust.model.xpdl.api,
+ org.eclipse.stardust.model.xpdl.api.internal.adapters
+Eclipse-LazyStart: true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/model/org.eclipse.stardust.model.xpdl.api/build.properties b/model/org.eclipse.stardust.model.xpdl.api/build.properties
new file mode 100644
index 0000000..7b40ca1
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ plugin.xml
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/model/org.eclipse.stardust.model.xpdl.api/copy-interfaces.xml b/model/org.eclipse.stardust.model.xpdl.api/copy-interfaces.xml
new file mode 100644
index 0000000..67e8214
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/copy-interfaces.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>
+
+<!--
+ Copyright (c) 2011 SunGard CSA LLC and others.
+ 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:
+ SunGard CSA LLC - initial API and implementation and/or initial documentation
+ -->
+
+<project default="copyInterfaces" basedir=".">
+
+ <target name="init">
+ <property name="src.dir" value="${basedir}/src" />
+
+ <property name="latakia.src.dir" value="${basedir}/../latakia/main/src" />
+ </target>
+
+ <target name="copyInterfaces" depends="init, scrubInterfacePackages">
+ <copy todir="${src.dir}/ag/carnot/diagram">
+ <fileset dir="${latakia.src.dir}/ag/carnot/diagram">
+ <include name="ArrowKey.java" />
+ <include name="ColorKey.java" />
+ <include name="LineKey.java" />
+ <include name="ConnectionSymbol.java" />
+ <include name="Diagram.java" />
+ <include name="NodeSymbol.java" />
+ <include name="Symbol.java" />
+ <include name="SymbolOwner.java" />
+
+ <!--include name="DrawArea.java" /-->
+ </fileset>
+ </copy>
+ <copy todir="${src.dir}/ag/carnot/utils/model">
+ <fileset dir="${latakia.src.dir}/ag/carnot/utils/model">
+ <!--include name="AddedElement.java" /-->
+ <!--include name="AddedReference.java" /-->
+ <!--include name="Collector.java" /-->
+ <include name="Connection.java" />
+ <!--include name="Differences.java" /-->
+ <!--include name="Hook.java" /-->
+ <include name="Identifiable.java" />
+ <include name="IdentifiableElement.java" />
+ <include name="ModelElement.java" />
+ <!--include name="ModelElements.java" /-->
+ <!--include name="ModelListener.java" /-->
+ <!--include name="ModifiedProperty.java" /-->
+ <include name="Nameable.java" />
+ <!--include name="RemovedElement.java" /-->
+ <!--include name="RemovedReference.java" /-->
+ <include name="RootElement.java" />
+ </fileset>
+ </copy>
+ <!--copy todir="${src.dir}/ag/carnot/workflow/el">
+ <fileset dir="${latakia.src.dir}/ag/carnot/workflow/el">
+ <include name="SymbolTable.java" />
+ </fileset>
+ </copy-->
+ <copy todir="${src.dir}/ag/carnot/workflow/model">
+ <fileset dir="${latakia.src.dir}/ag/carnot/workflow/model">
+ <include name="CardinalityKey.java" />
+ <include name="ImplementationType.java" />
+ <include name="JoinSplitType.java" />
+ <include name="LoopType.java" />
+ <include name="ParticipantType.java" />
+ <include name="SubProcessModeKey.java" />
+
+ <include name="PredefinedConstants.java" />
+ <include name="Inconsistency.java" />
+
+ <include name="AccessPointOwner.java" />
+ <include name="EventActionContext.java" />
+ <include name="EventHandlerOwner.java" />
+ <include name="EventType.java" />
+ <include name="PluggableType.java" />
+ <include name="Typeable.java" />
+
+ <include name="IAccessPoint.java" />
+ <include name="IAction.java" />
+ <include name="IActivity.java" />
+ <include name="IApplication.java" />
+ <include name="IApplicationContext.java" />
+ <include name="IApplicationContextType.java" />
+ <include name="IApplicationType.java" />
+ <include name="IBindAction.java" />
+ <include name="IConditionalPerformer.java" />
+ <include name="IData.java" />
+ <include name="IDataMapping.java" />
+ <include name="IDataPath.java" />
+ <include name="IDataType.java" />
+ <include name="IEventAction.java" />
+ <include name="IEventActionType.java" />
+ <include name="IEventConditionType.java" />
+ <include name="IEventHandler.java" />
+ <include name="ILinkType.java" />
+ <include name="IModel.java" />
+ <include name="IModeler.java" />
+ <include name="IModelParticipant.java" />
+ <include name="IOrganization.java" />
+ <include name="IParameterMapping.java" />
+ <include name="IParticipant.java" />
+ <include name="IProcessDefinition.java" />
+ <include name="IRole.java" />
+ <include name="ITransition.java" />
+ <include name="ITrigger.java" />
+ <include name="ITriggerType.java" />
+ <include name="IUnbindAction.java" />
+ <include name="IView.java" />
+ <include name="IViewable.java" />
+ </fileset>
+ </copy>
+ <copy todir="${src.dir}/ag/carnot/workflow/spi/model">
+ <fileset dir="${latakia.src.dir}/ag/carnot/workflow/spi/model">
+ <include name="AccessPoint.java" />
+ <include name="AccessPointProvider.java" />
+ <include name="ApplicationContextValidator.java" />
+ <include name="ApplicationValidator.java" />
+ <include name="BridgeObject.java" />
+ <include name="DataType.java" />
+ <include name="DataValidator.java" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="scrubInterfacePackages" depends="init">
+ <delete>
+ <fileset dir="${src.dir}/ag/carnot/diagram" includes="*.java">
+ <exclude name="DrawArea.java" />
+ </fileset>
+ <fileset dir="${src.dir}/ag/carnot/utils/model" includes="*.java" />
+ <!--fileset dir="${src.dir}/ag/carnot/workflow/el" includes="*.java" /-->
+ <fileset dir="${src.dir}/ag/carnot/workflow/model" includes="*.java" />
+ <fileset dir="${src.dir}/ag/carnot/workflow/spi/model" includes="*.java" />
+ </delete>
+ </target>
+
+</project>
diff --git a/model/org.eclipse.stardust.model.xpdl.api/plugin.properties b/model/org.eclipse.stardust.model.xpdl.api/plugin.properties
new file mode 100644
index 0000000..9a0259c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+pluginName = Infinity Workflow Model API Compatibility Plug-in
+providerName = SunGard CSA LLC \ No newline at end of file
diff --git a/model/org.eclipse.stardust.model.xpdl.api/plugin.xml b/model/org.eclipse.stardust.model.xpdl.api/plugin.xml
new file mode 100644
index 0000000..f7dd929
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.stardust.model.xpdl.modelAdapterFactory">
+ <modelAdapterFactory
+ implementation="org.eclipse.stardust.model.xpdl.api.internal.adapters.ModelAdapterFactory">
+ </modelAdapterFactory>
+ </extension>
+
+</plugin>
diff --git a/model/org.eclipse.stardust.model.xpdl.api/pom.xml b/model/org.eclipse.stardust.model.xpdl.api/pom.xml
new file mode 100644
index 0000000..5995ada
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?> <!--
+ Copyright (c) 2011 SunGard CSA LLC and others.
+ 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:
+ SunGard CSA LLC - initial API and implementation and/or initial documentation
+ -->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.stardust.modeling.model</groupId>
+ <artifactId>model-parent</artifactId>
+ <version>9.9.9-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.stardust.model.xpdl.api</artifactId>
+
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/AccessPointOwner.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/AccessPointOwner.java
new file mode 100644
index 0000000..595829d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/AccessPointOwner.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.model.spi.AccessPoint;
+
+
+/**
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface AccessPointOwner
+{
+ AccessPoint findAccessPoint(String id);
+
+ Iterator getAllAccessPoints();
+
+ Iterator getAllInAccessPoints();
+
+ Iterator getAllOutAccessPoints();
+
+ String getProviderClass();
+
+ Iterator getAllPersistentAccessPoints();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/CardinalityKey.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/CardinalityKey.java
new file mode 100644
index 0000000..d5923b4
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/CardinalityKey.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.Key;
+
+/** */
+public class CardinalityKey extends Key
+{
+ public static final CardinalityKey UNKNOWN = new CardinalityKey(-1);
+ public static final CardinalityKey TO_ONE = new CardinalityKey(0);
+ public static final CardinalityKey TO_MANY = new CardinalityKey(1);
+
+ static String[] keyList = {"*:1", "*:N"}; //$NON-NLS-1$ //$NON-NLS-2$
+
+ /** */
+ public CardinalityKey()
+ {
+ super();
+ }
+
+ /** */
+ public CardinalityKey(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Creates an key instance from its string representation.
+ *
+ * @param keyRepresentation java.lang.String
+ */
+ public CardinalityKey(String keyRepresentation)
+ {
+ this(getValue(keyRepresentation, getKeyList()));
+ }
+
+ /** */
+ public static String[] getKeyList()
+ {
+ return keyList;
+ }
+
+ /** */
+ public String getString()
+ {
+ if (value < 0)
+ {
+ return UNKNOWN_STRING;
+ }
+
+ return keyList[value];
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventActionContext.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventActionContext.java
new file mode 100644
index 0000000..462f555
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventActionContext.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+import org.eclipse.stardust.model.API_Messages;
+
+
+/**
+ * @author fherinean
+ * @version $Revision$
+ */
+public class EventActionContext extends StringKey
+{
+ public static final EventActionContext Bind =
+ new EventActionContext("bind", API_Messages.STR_BindAct, "BindAction"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final EventActionContext Event =
+ new EventActionContext("event", API_Messages.STR_EventAct, "EventAction"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final EventActionContext Unbind =
+ new EventActionContext("unbind", API_Messages.STR_UnbindAct, "UnbindAction"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ private String prefix;
+
+ private EventActionContext(String id, String defaultName, String prefix)
+ {
+ super(id, defaultName);
+ this.prefix = prefix;
+ }
+
+ public static EventActionContext getKey(String id)
+ {
+ return (EventActionContext) getKey(EventActionContext.class, id);
+ }
+
+ public String getPrefix()
+ {
+ return prefix;
+ }
+
+ public int getIntValue()
+ {
+ int z = 1; // event;
+ if (this == Bind)
+ {
+ z = 0; // bind
+ }
+ else if (this == Unbind)
+ {
+ z = 2; // unbind
+ }
+ return z;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventHandlerOwner.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventHandlerOwner.java
new file mode 100644
index 0000000..fe81a08
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventHandlerOwner.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface EventHandlerOwner extends ModelElement
+{
+ Iterator getAllEventHandlers();
+
+ IEventHandler findHandlerById(String id);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventType.java
new file mode 100644
index 0000000..57dacda
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/EventType.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public class EventType extends StringKey
+{
+ public static final EventType Pull =
+ new EventType("pull", "pull"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final EventType Push =
+ new EventType("push", "push"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final EventType Engine =
+ new EventType("engine", "engine"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ private EventType(String id, String defaultName)
+ {
+ super(id, defaultName);
+ }
+
+ public static EventType getKey(String id)
+ {
+ return (EventType) getKey(EventType.class, id);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAccessPoint.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAccessPoint.java
new file mode 100644
index 0000000..5fdb9cd
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAccessPoint.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+import org.eclipse.stardust.model.spi.AccessPoint;
+
+
+/**
+ * An <code>AccessPoint</code> is a modelling element where an Application provides
+ * access to it's data.
+ * <p/>
+ * It is used as the endpoint for a data mapping. Basically it exposes
+ * a java type to be the end point of a data mapping. Every application keeps a map of all
+ * access points identified by the <code>id</code> attribute.
+ *
+ * @author rsauer, ubirkemeyer
+ * @version $Revision$
+ */
+public interface IAccessPoint extends IdentifiableElement, AccessPoint
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAction.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAction.java
new file mode 100644
index 0000000..28298cc
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IAction.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IAction extends IdentifiableElement, Typeable
+{
+ public EventActionContext getContext();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IActivity.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IActivity.java
new file mode 100644
index 0000000..3f60f17
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IActivity.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+import java.util.Set;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.model.spi.AccessPoint;
+
+
+/**
+ *
+ */
+public interface IActivity extends IViewable, EventHandlerOwner
+{
+ ImplementationType getImplementationType();
+
+ LoopType getLoopType();
+
+ String getLoopCondition();
+
+ JoinSplitType getJoinType();
+
+ JoinSplitType getSplitType();
+
+ boolean getAllowsAbortByPerformer();
+
+ /**
+ * @return The process definition, the activity belongs to.
+ */
+ IProcessDefinition getProcessDefinition();
+
+ /**
+ * @return The (sub)process definition, the activity uses
+ * for implementation.
+ */
+ IProcessDefinition getImplementationProcessDefinition();
+
+ /**
+ *
+ */
+ SubProcessModeKey getSubProcessMode();
+
+ /**
+ *
+ */
+ Iterator getAllInTransitions();
+
+ /**
+ *
+ */
+ Iterator getAllOutTransitions();
+
+ /**
+ *
+ */
+ IModelParticipant getPerformer();
+
+ /**
+ *
+ */
+ IApplication getApplication();
+
+ Iterator getAllDataMappings();
+
+ /**
+ * Returns an iterator with all IN and INOUT data mappings.
+ */
+ Iterator getAllInDataMappings();
+
+ /**
+ * Returns an iterator with all OUT and INOUT data mappings.
+ */
+ Iterator getAllOutDataMappings();
+
+ IDataMapping findDataMappingById(String id, Direction direction, String context);
+
+ /**
+ * Retrieves a data mapping for the data <code>data</code>.
+ */
+ Iterator findDataMappings(IData data, Direction direction);
+
+ /**
+ * Checks, wether this activity may be suspended to a worklist.
+ */
+ boolean isInteractive();
+
+ Set getApplicationOutDataMappingAccessPoints();
+
+ AccessPoint getAccessPoint(String context, String id);
+
+ Iterator findExceptionHandlers(IData data);
+
+ Iterator getAllContexts();
+
+ IApplicationContext getContext(String id);
+
+ boolean isHibernateOnCreation();
+
+ Iterator getAllEventHandlers(String type);
+
+ boolean hasEventHandlers(String type);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplication.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplication.java
new file mode 100644
index 0000000..e011e3a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplication.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ *
+ */
+public interface IApplication
+ extends IViewable, IdentifiableElement, AccessPointOwner, Typeable
+{
+ Iterator getAllActivities();
+
+ boolean isInteractive();
+
+ Iterator getAllContexts();
+
+ IApplicationContext findContext(String id);
+
+ boolean isSynchronous();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContext.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContext.java
new file mode 100644
index 0000000..aeab26c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContext.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.Identifiable;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+/**
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IApplicationContext
+ extends AccessPointOwner, ModelElement, Identifiable, Typeable
+{
+ String getName();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContextType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContextType.java
new file mode 100644
index 0000000..2db4f8c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationContextType.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IApplicationContextType extends IdentifiableElement, PluggableType
+{
+ /**
+ * Indicates whether for this context data mappings IDs should be shown in the data
+ * mapping configuration for this context in the definition desktop.
+ */
+ boolean hasMappingId();
+
+ /**
+ * Indicates whether for this context application paths should be shown in the data
+ * mapping configuration for this context in the definition desktop.
+ */
+ boolean hasApplicationPath();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationType.java
new file mode 100644
index 0000000..9530d8d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IApplicationType.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IApplicationType extends IdentifiableElement, PluggableType
+{
+
+ /**
+ * Indicates whether the ApplicationType has synchronous behaviour during execution.
+ *
+ * @return
+ */
+ boolean isSynchronous();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IBindAction.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IBindAction.java
new file mode 100644
index 0000000..69e0a5c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IBindAction.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IBindAction extends IAction
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IConditionalPerformer.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IConditionalPerformer.java
new file mode 100644
index 0000000..a846a08
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IConditionalPerformer.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+/**
+ *
+ */
+public interface IConditionalPerformer extends IModelParticipant
+{
+ public boolean isUser();
+
+ public ParticipantType getPerformerKind();
+
+ /**
+ * Returns the workflow data, the conditional performer is retrieved from.
+ */
+ public IData getData();
+
+ public String getDereferencePath();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IData.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IData.java
new file mode 100644
index 0000000..464eac2
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IData.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * Describes Workflow Relevant Data.
+ */
+public interface IData extends IViewable, IdentifiableElement, IAccessPoint
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataMapping.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataMapping.java
new file mode 100644
index 0000000..d046c30
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataMapping.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+import org.eclipse.stardust.model.spi.AccessPoint;
+
+
+/**
+ * Describes the mapping between process data and activity application
+ * parameters.
+ */
+public interface IDataMapping extends ModelElement
+{
+ String getId();
+
+ String getName();
+
+ public IData getData();
+
+ public IActivity getActivity();
+
+ public Direction getDirection();
+
+ public String getDataPath();
+
+ public String getActivityPath();
+
+ /**
+ * Returns the name of the unique access point belonging to the data mapping
+ * at the application end point.
+ *
+ * @return
+ */
+ String getActivityAccessPointId();
+
+ AccessPoint getActivityAccessPoint();
+
+ String getContext();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataPath.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataPath.java
new file mode 100644
index 0000000..724380d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataPath.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ * @author ubirkemeyer
+ */
+public interface IDataPath extends IdentifiableElement
+{
+ Direction getDirection();
+
+ IData getData();
+
+ String getAccessPath();
+
+ boolean isDescriptor();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataType.java
new file mode 100644
index 0000000..d2480cf
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IDataType.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+import org.eclipse.stardust.model.spi.DataType;
+
+
+/**
+ * @author rsauer
+ * @version $Revision$
+ */
+public interface IDataType extends IdentifiableElement, DataType
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventAction.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventAction.java
new file mode 100644
index 0000000..f47e9b3
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventAction.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IEventAction extends IAction
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventActionType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventActionType.java
new file mode 100644
index 0000000..1cbd9f9
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventActionType.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IEventActionType extends IdentifiableElement, PluggableType
+{
+ boolean isActivityAction();
+
+ boolean isProcessAction();
+
+ Iterator getSupportedConditionTypes();
+
+ boolean supports(IEventConditionType type);
+
+ Iterator getUnsupportedContexts();
+
+ boolean supports(EventActionContext type);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventConditionType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventConditionType.java
new file mode 100644
index 0000000..f7d9cd6
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventConditionType.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IEventConditionType extends IdentifiableElement, PluggableType
+{
+ boolean hasProcessInstanceScope();
+
+ boolean hasActivityInstanceScope();
+
+ boolean isAutoBinding();
+
+ boolean isDisableOnMatch();
+
+ EventType getImplementation();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventHandler.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventHandler.java
new file mode 100644
index 0000000..ab0f21a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IEventHandler.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IEventHandler extends IdentifiableElement, Typeable, AccessPointOwner
+{
+ Iterator getAllEventActions();
+
+ Iterator getAllBindActions();
+
+ Iterator getAllUnbindActions();
+
+ boolean isAutoBind();
+
+ boolean isUnbindOnMatch();
+
+ boolean isLogHandler();
+
+ boolean isConsumeOnMatch();
+
+ boolean hasBindActions();
+
+ boolean hasUnbindActions();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ILinkType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ILinkType.java
new file mode 100644
index 0000000..d44b497
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ILinkType.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+import org.eclipse.stardust.model.diagram.ArrowKey;
+import org.eclipse.stardust.model.diagram.ColorKey;
+import org.eclipse.stardust.model.diagram.LineKey;
+
+
+/**
+ * Parameterizes a generic links.
+ */
+public interface ILinkType extends IdentifiableElement
+{
+ /**
+ *
+ */
+ public String getFirstRole();
+
+ /**
+ *
+ */
+ public String getSecondRole();
+
+ /**
+ *
+ */
+ public Class getFirstClass();
+
+ /**
+ *
+ */
+ public Class getSecondClass();
+
+ /**
+ *
+ */
+ public CardinalityKey getFirstCardinality();
+
+ /**
+ *
+ */
+ public CardinalityKey getSecondCardinality();
+
+ /**
+ * Retrieves the class of the other "end" of the link type.
+ */
+ public Class getOtherClass(String role);
+
+ /**
+ * Retrieves the role of the other "end" of the link type.
+ */
+ public String getOtherRole(String role);
+
+ // Attributes for the visualisation
+ public ArrowKey getFirstArrowType();
+
+ public ArrowKey getSecondArrowType();
+
+ public boolean getShowLinkTypeName();
+
+ public boolean getShowRoleNames();
+
+ public LineKey getLineType();
+
+ public ColorKey getLineColor();
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModel.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModel.java
new file mode 100644
index 0000000..54a5040
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModel.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.common.config.Version;
+import org.eclipse.stardust.engine.core.model.utils.RootElement;
+import org.eclipse.stardust.model.diagram.Diagram;
+
+
+/**
+ * @author mgille
+ */
+public interface IModel extends RootElement
+{
+ /**
+ *
+ */
+ IModeler authentify(String id, String password);
+
+ /**
+ *
+ */
+ IApplication findApplication(String id);
+
+ /**
+ *
+ */
+ IData findData(String id);
+
+ /**
+ *
+ */
+ Diagram findDiagram(String id);
+
+ /**
+ *
+ */
+ ILinkType findLinkType(String id);
+
+ /**
+ *
+ */
+ IModelParticipant findParticipant(String id);
+
+ /**
+ *
+ */
+ IProcessDefinition findProcessDefinition(String id);
+
+ /**
+ *
+ */
+ Iterator getAllApplications();
+
+ /**
+ *
+ */
+ int getApplicationsCount();
+
+ /**
+ *
+ */
+ Iterator getAllData();
+
+ /**
+ *
+ */
+ Iterator getAllDiagrams();
+
+ /**
+ *
+ */
+ int getDiagramsCount();
+
+ /**
+ * Returns all participants participating in workflow execution and modeling
+ * that are organizations.
+ *
+ * @see #getAllParticipants
+ */
+ Iterator getAllOrganizations();
+
+ /**
+ * Returns all participants participating in workflow execution and modeling
+ * that are roles.
+ *
+ * @see #getAllParticipants
+ */
+ Iterator getAllRoles();
+
+ /**
+ * Returns all participants participating in workflow execution and modeling.
+ * Currently roles, organizations and modelers.
+ *
+ * @see #getAllParticipants
+ */
+ Iterator getAllParticipants();
+
+ /**
+ * Returns all participants participating in workflow execution.
+ * Currently roles and organizations.
+ *
+ * @see #getAllOrganizations
+ * @see #getAllParticipants
+ */
+ Iterator getAllWorkflowParticipants();
+
+ /**
+ *
+ */
+ Iterator getAllProcessDefinitions();
+
+ /**
+ *
+ */
+ int getProcessDefinitionsCount();
+
+ /**
+ *
+ */
+ Iterator getAllTopLevelParticipants();
+
+ /**
+ *
+ */
+ int getModelersCount();
+
+ /**
+ *
+ */
+ int getRolesCount();
+
+ /**
+ *
+ */
+ int getOrganizationsCount();
+
+ /**
+ *
+ */
+ int getConditionalPerformersCount();
+
+ /**
+ *
+ */
+ int getDataCount();
+
+ /**
+ * Retrieves all (predefined and user defined) link types for the model version
+ */
+ Iterator getAllLinkTypes();
+
+ /**
+ * Retrieves all link types whose first or second type is the class provided
+ * by <tt>type</tt>.
+ */
+ Iterator getAllLinkTypesForType(Class type);
+
+ Iterator getAllViews();
+
+ IApplicationType findApplicationType(String id);
+
+ Iterator getAllApplicationTypes();
+
+ IDataType findDataType(String id);
+
+ Iterator getAllDataTypes();
+
+ IApplicationContextType findApplicationContextType(String id);
+
+ Iterator getAllApplicationContextTypes();
+
+ ITriggerType findTriggerType(String id);
+
+ Iterator getAllTriggerTypes();
+
+ Iterator getAllEventConditionTypes();
+
+ IEventConditionType findEventConditionType(String id);
+
+ IEventActionType findEventActionType(String id);
+
+ Iterator getAllEventActionTypes();
+
+ Iterator getAllModelers();
+
+ Iterator getAllConditionalPerformers();
+
+ Version getCarnotVersion();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModelParticipant.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModelParticipant.java
new file mode 100644
index 0000000..a52861a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModelParticipant.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ * @author mgille
+ */
+public interface IModelParticipant extends IParticipant, IViewable, IdentifiableElement
+{
+ IOrganization findOrganization(String id);
+
+ Iterator getAllOrganizations();
+
+ /**
+ * Retrieves an iterator over all top-level organizations, the user is directly or indirectly
+ * participating in. A top-level organization is an organization without a super organization.
+ */
+ Iterator getAllTopLevelOrganizations();
+
+ Iterator getAllParticipants();
+
+ int getCardinality();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModeler.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModeler.java
new file mode 100644
index 0000000..1d9aae4
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IModeler.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+/**
+ *
+ */
+public interface IModeler extends IModelParticipant
+{
+ /**
+ *
+ */
+ public boolean checkPassword(String password);
+
+ /**
+ *
+ */
+ public String getPassword();
+
+ /**
+ *
+ */
+ public String getEMail();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IOrganization.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IOrganization.java
new file mode 100644
index 0000000..6dcffb5
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IOrganization.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+/**
+ * Enterprise organization acting as a workflow participant.
+ */
+public interface IOrganization extends IModelParticipant
+{
+ /**
+ */
+ IModelParticipant findParticipant(String id);
+
+ /**
+ * @return An iterator on all participants who are not organizations.
+ */
+ Iterator getAllParticipants();
+
+ /**
+ * @return An iterator on all participants who are (sub)organizations.
+ */
+ Iterator getSubOrganizations();
+
+ /**
+ * Checks, wether this process is a direct or indirect suborganization of the
+ * organization <tt>testOrganization</tt>.
+ */
+ boolean isDirectOrIndirectSubOrganizationOf(IOrganization testOrganization);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParameterMapping.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParameterMapping.java
new file mode 100644
index 0000000..dc645f7
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParameterMapping.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+/**
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IParameterMapping extends ModelElement
+{
+ // @todo (france, ub): return reference
+ IData getData();
+
+ // @todo (france, ub): return reference
+ String getParameterId();
+
+ String getParameterPath();
+
+ ITrigger getTrigger();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParticipant.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParticipant.java
new file mode 100644
index 0000000..bee0a9b
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IParticipant.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.Identifiable;
+import org.eclipse.stardust.engine.core.model.utils.Nameable;
+
+public interface IParticipant extends Identifiable, Nameable
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IProcessDefinition.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IProcessDefinition.java
new file mode 100644
index 0000000..420912a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IProcessDefinition.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+/**
+ *
+ */
+public interface IProcessDefinition
+ extends IViewable, IdentifiableElement, EventHandlerOwner
+{
+ IActivity findActivity(String id);
+
+ IDataPath findDescriptor(String id);
+
+ ITransition findTransition(String id);
+
+ ITrigger findTrigger(String id);
+
+ Iterator getAllActivities();
+
+ Iterator getAllDiagrams();
+
+ /**
+ * Returns all activities using this process definition for their implementation
+ */
+ Iterator getAllImplementingActivities();
+
+ Iterator getAllPossibleSubprocesses();
+
+ /**
+ * Retrieves all subprocesses of this process.
+ * <p/>
+ * The subrocess/superprocess association is a conceptual association; it is not used by
+ * the workflow engine but for modeling, reporting and model validation.
+ */
+ Iterator getAllSubProcesses();
+
+ /**
+ * Retrieves all superprocesses of this process.
+ * <p/>
+ * The subrocess/superprocess association is a conceptual association; it is not used by
+ * the workflow engine but for modeling, reporting and model validation.
+ */
+ Iterator getAllSuperProcesses();
+
+ Iterator getAllTransitions();
+
+ Iterator getAllTriggers();
+
+ Iterator getAllDescriptors();
+
+ IActivity getRootActivity();
+
+ /**
+ * Checks wether the model is consistent.
+ */
+ boolean isConsistent();
+
+ Iterator getAllDataPaths();
+
+ IDataPath findDataPath(String id, Direction direction);
+
+ Iterator getAllOutDataPaths();
+
+ Iterator getAllInDataPaths();
+
+ Iterator getAllEventHandlers(String type);
+
+ boolean hasEventHandlers(String type);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IRole.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IRole.java
new file mode 100644
index 0000000..cf5b598
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IRole.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+
+
+/**
+ * A role represents a workflow participant, different users can act as.
+ */
+public interface IRole extends IModelParticipant
+{
+ /**
+ * Gets the cardinality of this role.
+ */
+ public int getCardinality();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITransition.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITransition.java
new file mode 100644
index 0000000..244c456
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITransition.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.Connection;
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ *
+ */
+public interface ITransition extends Connection, IdentifiableElement
+{
+ /**
+ *
+ */
+ public String getCondition();
+
+ /**
+ * Forces the process engine to spawn a workflow thread.
+ */
+ public boolean getForkOnTraversal();
+
+ /**
+ * @return The process definition, the activity belongs to.
+ */
+ public IProcessDefinition getProcessDefinition();
+
+ /**
+ *
+ */
+ public IActivity getFromActivity();
+
+ /**
+ *
+ */
+ public IActivity getToActivity();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITrigger.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITrigger.java
new file mode 100644
index 0000000..b4d90c9
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITrigger.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+public interface ITrigger extends IdentifiableElement, AccessPointOwner, Typeable
+{
+ boolean isSynchronous();
+
+ Iterator getAllParameterMappings();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITriggerType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITriggerType.java
new file mode 100644
index 0000000..f0f89cb
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ITriggerType.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface ITriggerType extends IdentifiableElement, PluggableType
+{
+ boolean isPullTrigger();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IUnbindAction.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IUnbindAction.java
new file mode 100644
index 0000000..27f0c50
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IUnbindAction.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IUnbindAction extends IAction
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IView.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IView.java
new file mode 100644
index 0000000..f5e1525
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IView.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+/**
+ * @author mgille
+ */
+public interface IView extends ModelElement
+{
+ String getName();
+
+ Iterator getAllViewables();
+
+ Iterator getAllViews();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IViewable.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IViewable.java
new file mode 100644
index 0000000..f7562be
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/IViewable.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+/**
+ * Marker interface for all interfaces which can be categorized in views.
+ */
+public interface IViewable extends IdentifiableElement
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ImplementationType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ImplementationType.java
new file mode 100644
index 0000000..bc669b0
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ImplementationType.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+import org.eclipse.stardust.model.API_Messages;
+
+
+/**
+ * The implementation type of an activity.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public class ImplementationType extends StringKey
+{
+ private static final String[] defaultContexts = {
+ PredefinedConstants.DEFAULT_CONTEXT,
+ PredefinedConstants.ENGINE_CONTEXT
+ };
+ private static final String[] engineContext = {
+ PredefinedConstants.ENGINE_CONTEXT
+ };
+
+ /**
+ * An interactive activity which does not execute any application.
+ */
+ public static final ImplementationType Manual = new ImplementationType(
+ "Manual", API_Messages.STR_Manual, defaultContexts); //$NON-NLS-1$
+ /**
+ * An activity which executes an application, either interactive or non-interactive.
+ */
+ public static final ImplementationType Application = new ImplementationType(
+ "Application", API_Messages.STR_Application, null); //$NON-NLS-1$
+ /**
+ * An activity which contains a sub process.
+ */
+ public static final ImplementationType SubProcess = new ImplementationType(
+ "Subprocess", API_Messages.STR_Subprocess, engineContext); //$NON-NLS-1$
+
+ /**
+ * An activity which is used for routing to other activities via the transitions.
+ */
+ public static final ImplementationType Route = new ImplementationType(
+ "Route", API_Messages.STR_Route, engineContext); //$NON-NLS-1$
+
+ private String[] contexts;
+
+ private ImplementationType(String id, String name, String[] contexts)
+ {
+ super(id, name);
+ this.contexts = contexts;
+ }
+
+ /**
+ * Gets the identifiers of the predefined application contexts.
+ *
+ * @return an array containing the valid application contexts for this implementation type.
+ */
+ public String[] getContexts()
+ {
+ return contexts;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Inconsistency.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Inconsistency.java
new file mode 100644
index 0000000..3e895b1
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Inconsistency.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.io.Serializable;
+
+/**
+ * The <code>Inconsistency</code> class provides information about a model inconsistency.
+ * Inconsistencies are of two types: errors and warnings. When an error inconsistency is
+ * issued, the model is unable to work (models with errors cannot be deployed). A warning
+ * inconsistency implies that the specific workflow operation may fail.
+ */
+public class Inconsistency implements Serializable
+{
+ /**
+ * Specifies a warning inconsistency.
+ */
+ public static final int WARNING = 0;
+ /**
+ * Specifies an error inconsistency.
+ */
+ public static final int ERROR = 1;
+
+ private int sourceElementOID;
+ private int severity;
+ private String message;
+
+ /**
+ * Constructs an Inconsistency for a specific model element.
+ *
+ * @param message inconsistency message.
+ * @param sourceElementOID the OID of the inconsistent model element.
+ * @param severity the severity: WARNING or ERROR.
+ */
+ public Inconsistency(String message, int sourceElementOID, int severity)
+ {
+ this.message = message;
+ this.sourceElementOID = sourceElementOID;
+ this.severity = severity;
+ }
+
+ /**
+ * Constructs an Inconsistency.
+ *
+ * @param synopsis inconsistency message.
+ * @param severity the severity: WARNING or ERROR.
+ */
+ public Inconsistency(String synopsis, int severity)
+ {
+ this(synopsis, 0, severity);
+ }
+
+ /**
+ * Returns the element OID of the inconsistent model element (activity, role etc.).
+ *
+ * @return the element OID if the source.
+ */
+ public int getSourceElementOID()
+ {
+ return sourceElementOID;
+ }
+
+ /**
+ * Sets the element OID of the inconsistent model element.
+ *
+ * @param sourceElementOID the element OID of the source.
+ */
+ public void setSourceElementOID(int sourceElementOID)
+ {
+ this.sourceElementOID = sourceElementOID;
+ }
+
+ /**
+ * Gets the severity of the inconsistency.
+ *
+ * @return the severity.
+ */
+ public int getSeverity()
+ {
+ return severity;
+ }
+
+ /**
+ * Gets the message contained in the inconsistency.
+ *
+ * @return the inconsistency message.
+ */
+ public String getMessage()
+ {
+ return message;
+ }
+
+ public String toString()
+ {
+ return Long.toString(sourceElementOID) + " : " + message; //$NON-NLS-1$
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/JoinSplitType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/JoinSplitType.java
new file mode 100644
index 0000000..677df63
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/JoinSplitType.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+
+/**
+ * @author mgille
+ */
+public final class JoinSplitType extends StringKey
+{
+ public static final JoinSplitType None = new JoinSplitType("None", "None"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final JoinSplitType Xor = new JoinSplitType("XOR", "XOR"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static final JoinSplitType And = new JoinSplitType("AND", "And"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ public static JoinSplitType getKey(String id)
+ {
+ return (JoinSplitType) getKey(JoinSplitType.class, id);
+ }
+
+ private JoinSplitType(String id, String name)
+ {
+ super(id, name);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/LoopType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/LoopType.java
new file mode 100644
index 0000000..4e1bb61
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/LoopType.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+import org.eclipse.stardust.model.API_Messages;
+
+
+/** */
+public class LoopType extends StringKey
+{
+ public static final LoopType Unknown = new LoopType(API_Messages.STR_Unknown);
+ public static final LoopType None = new LoopType(API_Messages.STR_NoLoop);
+ public static final LoopType While = new LoopType(API_Messages.STR_While);
+ public static final LoopType Repeat = new LoopType(API_Messages.STR_Repeat);
+
+ public static LoopType getKey(String id)
+ {
+ return (LoopType) getKey(LoopType.class, id);
+ }
+
+ /** */
+ private LoopType(String id)
+ {
+ super(id, id);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ParticipantType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ParticipantType.java
new file mode 100644
index 0000000..6fd4460
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/ParticipantType.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.IntKey;
+import org.eclipse.stardust.model.API_Messages;
+
+
+/**
+ * Indicates all supported concrete types of participants as well as some meta-types like
+ * model participants or kinds of conditional performers.
+ *
+ * @author rsauer
+ * @version $Revision$
+ */
+public class ParticipantType extends IntKey
+{
+ /*
+ * Meta Type Bits are:
+ *
+ * Bit 0 - Flag marking model participants
+ * Bit 1 - Flag marking dynamic participants
+ *
+ * Bits for Model Participants are:
+ *
+ * Bit 4 - Flag marking Organizations
+ * Bit 5 - Flag marking Roles
+ * Bit 6 - Flag marking Conditional Performers
+ *
+ * Bits for Dynamic Participants are:
+ *
+ * Bit 16 - Flag marking Users
+ * Bit 17 - Flag marking User Groups
+ */
+ private static final int FLAG_MODEL_PARTICIPANT = 1 << 0;
+ private static final int FLAG_DYNAMIC_PARTICIPANT = 1 << 1;
+
+ private static final int FLAG_ORGANIZATION = 1 << 4;
+ private static final int FLAG_ROLE = 1 << 5;
+ private static final int FLAG_CONDITIONAL_PERFORMER = 1 << 6;
+
+ private static final int FLAG_USER = 1 << 16;
+ private static final int FLAG_USER_GROUP = 1 << 17;
+
+ public static final ParticipantType ModelParticipant = new ParticipantType(
+ FLAG_MODEL_PARTICIPANT, API_Messages.STR_ModelParticipant);
+ public static final ParticipantType DynamicParticipant = new ParticipantType(
+ FLAG_DYNAMIC_PARTICIPANT, API_Messages.STR_DynParticipant);
+
+ public static final ParticipantType Organization = new ParticipantType(
+ FLAG_MODEL_PARTICIPANT + FLAG_ORGANIZATION, API_Messages.STR_Org);
+ public static final ParticipantType Role = new ParticipantType(FLAG_MODEL_PARTICIPANT
+ + FLAG_ROLE, API_Messages.STR_Role);
+ public static final ParticipantType ConditionalPerformer = new ParticipantType(
+ FLAG_MODEL_PARTICIPANT + FLAG_CONDITIONAL_PERFORMER, API_Messages.STR_CondPerformer);
+
+ public static final ParticipantType User = new ParticipantType(FLAG_DYNAMIC_PARTICIPANT
+ + FLAG_USER, API_Messages.STR_User);
+ public static final ParticipantType UserGroup = new ParticipantType(
+ FLAG_DYNAMIC_PARTICIPANT + FLAG_USER_GROUP, API_Messages.STR_UserGroup);
+
+ public static final ParticipantType ModelParticipantOrUserGroup = new ParticipantType(
+ FLAG_MODEL_PARTICIPANT + FLAG_DYNAMIC_PARTICIPANT + FLAG_USER_GROUP,
+ API_Messages.STR_ParticipantOrGroup);
+
+ private ParticipantType(int id, String name)
+ {
+ super(id, name);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PluggableType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PluggableType.java
new file mode 100644
index 0000000..0e9f095
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PluggableType.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.AttributeHolder;
+import org.eclipse.stardust.engine.core.model.utils.Identifiable;
+
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface PluggableType extends AttributeHolder, Identifiable
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PredefinedConstants.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PredefinedConstants.java
new file mode 100644
index 0000000..e7862f2
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/PredefinedConstants.java
@@ -0,0 +1,554 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A collection of constants containing predefined IDs and attribute names.
+ *
+ * @author purang
+ */
+public final class PredefinedConstants
+{
+ // attribute scopes
+ public static final String MODEL_SCOPE = "carnot:model:"; //$NON-NLS-1$
+ public static final String XPDL_SCOPE = "carnot:model:xpdl:"; //$NON-NLS-1$
+ public static final String DD_SCOPE = "carnot:defdesk:"; //$NON-NLS-1$
+ public static final String ED_SCOPE = "carnot:exdesk:"; //$NON-NLS-1$
+ public static final String WEBEX_SCOPE = "carnot:webex:"; //$NON-NLS-1$
+ public static final String ENGINE_SCOPE = "carnot:engine:"; //$NON-NLS-1$
+ public static final String PWH_SCOPE = "carnot:pwh:"; //$NON-NLS-1$
+
+ // predefined application type IDs
+ public static final String SESSIONBEAN_APPLICATION = "sessionBean"; //$NON-NLS-1$
+ public static final String PLAINJAVA_APPLICATION = "plainJava"; //$NON-NLS-1$
+ public static final String JMS_APPLICATION = "jms"; //$NON-NLS-1$
+ public static final String SPRINGBEAN_APPLICATION = "springBean"; //$NON-NLS-1$
+ public static final String WS_APPLICATION = "webservice"; //$NON-NLS-1$
+ public static final String WFXML_APPLICATION = "wfxml"; //$NON-NLS-1$
+
+ // predefined data type IDs
+ public static final String PRIMITIVE_DATA = "primitive"; //$NON-NLS-1$
+ public static final String SERIALIZABLE_DATA = "serializable"; //$NON-NLS-1$
+ public static final String ENTITY_BEAN_DATA = "entity"; //$NON-NLS-1$
+ public static final String PLAIN_XML_DATA = "plainXML"; //$NON-NLS-1$
+ public static final String HIBERNATE_DATA = "hibernate"; //$NON-NLS-1$
+ public static final String STRUCTURED_DATA = "struct"; //$NON-NLS-1$
+ // DMS
+ public static final String DMS_DOCUMENT_DATA = "dms-document"; //$NON-NLS-1$
+ public static final String DMS_DOCUMENT_SET_DATA = "dms-document-set"; //$NON-NLS-1$
+ public static final String DOCUMENT_DATA = "dmsDocument"; //$NON-NLS-1$
+ public static final String DOCUMENT_LIST_DATA = "dmsDocumentList"; //$NON-NLS-1$
+ public static final String FOLDER_DATA = "dmsFolder"; //$NON-NLS-1$
+
+ // predefined context type IDs
+ public static final String DEFAULT_CONTEXT = "default"; //$NON-NLS-1$
+ public static final String ENGINE_CONTEXT = "engine"; //$NON-NLS-1$
+ public static final String PROCESSINTERFACE_CONTEXT = "processInterface"; //$NON-NLS-1$
+ public static final String JFC_CONTEXT = "jfc"; //$NON-NLS-1$
+ public static final String JSP_CONTEXT = "jsp"; //$NON-NLS-1$
+ public static final String APPLICATION_CONTEXT = "application"; //$NON-NLS-1$
+
+ // predefined action type Ids
+ public static final String MAIL_ACTION = "mail"; //$NON-NLS-1$
+ public static final String TRIGGER_ACTION = "trigger"; //$NON-NLS-1$
+ public static final String EXCEPTION_ACTION = "exception"; //$NON-NLS-1$
+ public static final String DELEGATE_ACTIVITY_ACTION = "delegateActivity"; //$NON-NLS-1$
+ public static final String SCHEDULE_ACTIVITY_ACTION = "scheduleActivity"; //$NON-NLS-1$
+ public static final String ABORT_PROCESS_ACTION = "abortProcess"; //$NON-NLS-1$
+ public static final String COMPLETE_ACTIVITY_ACTION = "completeActivity"; //$NON-NLS-1$
+ public static final String ACTIVATE_ACTIVITY_ACTION = "activateActivity"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION = "setData"; //$NON-NLS-1$
+ public static final String EXCLUDE_USER_ACTION = "excludeUser"; //$NON-NLS-1$
+
+ // predefined trigger type IDs
+ public static final String MANUAL_TRIGGER = "manual"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER = "mail"; //$NON-NLS-1$
+ public static final String JMS_TRIGGER = "jms"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER = "timer"; //$NON-NLS-1$
+
+ // predefined condition type IDs
+ public static final String TIMER_CONDITION = "timer"; //$NON-NLS-1$
+ public static final String ACTIVITY_ON_ASSIGNMENT_CONDITION = "onAssignment"; //$NON-NLS-1$
+ public static final String EXPRESSION_CONDITION = "expression"; //$NON-NLS-1$
+ public static final String EXCEPTION_CONDITION = "exception"; //$NON-NLS-1$
+ public static final String ACTIVITY_STATECHANGE_CONDITION = "statechange"; //$NON-NLS-1$
+ public static final String PROCESS_STATECHANGE_CONDITION = "processStatechange"; //$NON-NLS-1$
+ public static final String EXTERNAL_EVENT_CONDITION = "external"; //$NON-NLS-1$
+ public static final String OBSERVER_EVENT_CONDITION = "observer"; //$NON-NLS-1$
+
+ // predefined data
+ public static final String LAST_ACTIVITY_PERFORMER = "LAST_ACTIVITY_PERFORMER"; //$NON-NLS-1$
+ public static final String STARTING_USER = "STARTING_USER"; //$NON-NLS-1$
+ public static final String CURRENT_USER = "CURRENT_USER"; //$NON-NLS-1$
+ public static final String PROCESS_ID = "PROCESS_ID"; //$NON-NLS-1$
+ public static final String PROCESS_PRIORITY = "PROCESS_PRIORITY"; //$NON-NLS-1$
+ public static final String ROOT_PROCESS_ID = "ROOT_PROCESS_ID"; //$NON-NLS-1$
+ public static final String CURRENT_DATE = "CURRENT_DATE"; //$NON-NLS-1$
+ public static final String CURRENT_LOCALE = "CURRENT_LOCALE"; //$NON-NLS-1$
+ public static final String CURRENT_MODEL = "CURRENT_MODEL"; //$NON-NLS-1$
+
+ // predefined role and user
+ public static final String ADMINISTRATOR_ROLE = "Administrator"; //$NON-NLS-1$
+ public static final String MOTU = "motu"; //$NON-NLS-1$
+ public static final String MOTU_FIRST_NAME = "Master"; //$NON-NLS-1$
+ public static final String MOTU_LAST_NAME = "Of the Universe"; //$NON-NLS-1$
+
+ public static final String SYSTEM = "system_carnot_engine"; //$NON-NLS-1$
+ public static final String SYSTEM_FIRST_NAME = SYSTEM;
+ public static final String SYSTEM_LAST_NAME = SYSTEM;
+
+ public static final String SYSTEM_REALM = SYSTEM;
+
+ // predefined default partition
+ public static final String DEFAULT_PARTITION_ID = "default"; //$NON-NLS-1$
+
+ // predefined default user realm
+ public static final String DEFAULT_REALM_ID = "carnot"; //$NON-NLS-1$
+ public static final String DEFAULT_REALM_NAME = "CARNOT"; //$NON-NLS-1$
+
+ // model attribute names
+ public static final String XPDL_EXTENDED_ATTRIBUTES = XPDL_SCOPE + "extendedAttributes"; //$NON-NLS-1$
+
+ // engine attribute names
+ public static final String ACCEPTOR_CLASS_ATT = ENGINE_SCOPE + "jmsAcceptor"; //$NON-NLS-1$
+
+ public static final String CLASS_NAME_ATT = ENGINE_SCOPE + "className"; //$NON-NLS-1$
+ public static final String PRIMARY_KEY_ATT = ENGINE_SCOPE + "primaryKey"; //$NON-NLS-1$
+ public static final String IS_LOCAL_ATT = ENGINE_SCOPE + "isLocal"; //$NON-NLS-1$
+ public static final String JNDI_PATH_ATT = ENGINE_SCOPE + "jndiPath"; //$NON-NLS-1$
+ public static final String ASYNCHRONOUS_ATT = ENGINE_SCOPE + "asynchronous"; //$NON-NLS-1$
+
+ public static final String HOME_INTERFACE_ATT = ENGINE_SCOPE + "homeInterface"; //$NON-NLS-1$
+ public static final String REMOTE_INTERFACE_ATT = ENGINE_SCOPE + "remoteInterface"; //$NON-NLS-1$
+ public static final String METHOD_NAME_ATT = ENGINE_SCOPE + "methodName"; //$NON-NLS-1$
+ public static final String CREATE_METHOD_NAME_ATT = ENGINE_SCOPE + "createMethodName"; //$NON-NLS-1$
+
+ public static final String CONDITIONAL_PERFORMER_KIND = ENGINE_SCOPE + "conditionalPerformer:kind"; //$NON-NLS-1$
+ public static final String CONDITIONAL_PERFORMER_KIND_USER = "user"; //$NON-NLS-1$
+ public static final String CONDITIONAL_PERFORMER_KIND_MODEL_PARTICIPANT = "modelParticipant"; //$NON-NLS-1$
+ public static final String CONDITIONAL_PERFORMER_KIND_USER_GROUP = "userGroup"; //$NON-NLS-1$
+ public static final String CONDITIONAL_PERFORMER_KIND_MODEL_PARTICIPANT_OR_USER_GROUP = "modelParticipantOrUserGroup"; //$NON-NLS-1$
+
+ public static final String CONDITIONAL_PERFORMER_REALM_DATA = ENGINE_SCOPE + "conditionalPerformer:realmData"; //$NON-NLS-1$
+ public static final String CONDITIONAL_PERFORMER_REALM_DATA_PATH = ENGINE_SCOPE + "conditionalPerformer:realmDataPath"; //$NON-NLS-1$
+
+ // common for generic WebService application and WfXML application types.
+ public static final String AUTHENTICATION_ATT = ENGINE_SCOPE + "wsAuthentication"; //$NON-NLS-1$
+ public static final String BASIC_AUTHENTICATION = "basic"; //$NON-NLS-1$
+ public static final String WS_SECURITY_AUTHENTICATION = "ws-security"; //$NON-NLS-1$
+ public static final String AUTHENTICATION_VARIANT_ATT = ENGINE_SCOPE + "wsAuthenticationVariant"; //$NON-NLS-1$
+ public static final String WS_SECURITY_VARIANT_PASSWORD_TEXT = "passwordText"; //$NON-NLS-1$
+ public static final String WS_SECURITY_VARIANT_PASSWORD_DIGEST = "passwordDigest"; //$NON-NLS-1$
+ public static final String AUTHENTICATION_ID = ENGINE_SCOPE + "authentication"; //$NON-NLS-1$
+
+ public static final String ENDPOINT_REFERENCE_ID = ENGINE_SCOPE + "endpointReference"; //$NON-NLS-1$
+ public static final String WS_ENDPOINT_REFERENCE_ID = ENGINE_SCOPE + "endpointReference"; // deprecated //$NON-NLS-1$
+ public static final String WS_AUTHENTICATION_ID = ENGINE_SCOPE + "authentication"; // deprecated //$NON-NLS-1$
+
+ public static final String WS_WSDL_URL_ATT = ENGINE_SCOPE + "wsdlUrl"; //$NON-NLS-1$
+ public static final String WS_SERVICE_NAME_ATT = ENGINE_SCOPE + "wsServiceName"; //$NON-NLS-1$
+ public static final String WS_PORT_NAME_ATT = ENGINE_SCOPE + "wsPortName"; //$NON-NLS-1$
+ public static final String WS_OPERATION_NAME_ATT = ENGINE_SCOPE + "wsOperationName"; //$NON-NLS-1$
+ public static final String WS_OPERATION_STYLE_ATT = ENGINE_SCOPE + "wsStyle"; //$NON-NLS-1$
+ public static final String WS_OPERATION_USE_ATT = ENGINE_SCOPE + "wsUse"; //$NON-NLS-1$
+ public static final String WS_IMPLEMENTATION_ATT = ENGINE_SCOPE + "wsImplementation"; //$NON-NLS-1$
+ public static final String WS_GENERIC_IMPLEMENTATION = "generic"; //$NON-NLS-1$
+ public static final String WS_CARNOT_IMPLEMENTATION = "carnot"; //$NON-NLS-1$
+ public static final String WS_MAPPING_ATTR_PREFIX = ENGINE_SCOPE + "mapping:"; //$NON-NLS-1$
+ public static final String WS_TEMPLATE_ATTR_PREFIX = ENGINE_SCOPE + "template:"; //$NON-NLS-1$
+ public static final String WS_SERVICE_ENDPOINT_ATT = ENGINE_SCOPE + "wsEndpointAddress"; //$NON-NLS-1$
+ public static final String WS_SOAP_ACTION_ATT = ENGINE_SCOPE + "wsSoapAction"; //$NON-NLS-1$
+ public static final String WS_PARAMETER_NAME_ATT = ENGINE_SCOPE + "wsParameterName:"; //$NON-NLS-1$
+ public static final String WS_PARAMETER_TYPE_ATT = ENGINE_SCOPE + "wsParameterType:"; //$NON-NLS-1$
+ public static final String WS_PARAMETER_STYLE_ATT = ENGINE_SCOPE + "wsParameterStyle:"; //$NON-NLS-1$
+ public static final String WS_RESULT_SUFFIX = "result"; //$NON-NLS-1$
+ public static final String WS_FAULT_NAME_ATT = ENGINE_SCOPE + "wsFaultName:"; //$NON-NLS-1$
+ public static final String WS_FAULT_TYPE_ATT = ENGINE_SCOPE + "wsFaultType:"; //$NON-NLS-1$
+ public static final String WS_FAULT_STYLE_ATT = ENGINE_SCOPE + "wsFaultStyle:"; //$NON-NLS-1$
+
+ // attributes
+ public static final String WFXML_SCOPE = ENGINE_SCOPE + "wfxml:"; //$NON-NLS-1$
+ public static final String WFXML_IS_CARNOT_ATT = WFXML_SCOPE + "isCarnot"; //$NON-NLS-1$
+ public static final String WFXML_RESOURCE_ATT = WFXML_SCOPE + "resource"; //$NON-NLS-1$
+ public static final String WFXML_OPERATION_SCOPE = WFXML_SCOPE + "operation:"; //$NON-NLS-1$
+ public static final String WFXML_OPERATION_ATT = WFXML_SCOPE + "operation"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_ID = "endpoint"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_SCOPE = WFXML_SCOPE + WFXML_ENDPOINT_ID + ":"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_ADDRESS_ATT = "address"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_SERVICE_NAME_ATT = "service:name"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_SERVICE_PORT_ATT = "service:port"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_PORT_TYPE_ATT = "port:type"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_PARAMETER_NAME_SCOPE = WFXML_ENDPOINT_SCOPE + "parameter:name:"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_PARAMETER_VALUE_SCOPE = WFXML_ENDPOINT_SCOPE + "parameter:value:"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_PROPERTY_NAME_SCOPE = WFXML_ENDPOINT_SCOPE + "property:name:"; //$NON-NLS-1$
+ public static final String WFXML_ENDPOINT_PROPERTY_VALUE_SCOPE = WFXML_ENDPOINT_SCOPE + "property:value:"; //$NON-NLS-1$
+
+ public static final String FLAVOR_ATT = ENGINE_SCOPE + "flavor"; //$NON-NLS-1$
+ public static final String BROWSABLE_ATT = ENGINE_SCOPE + "browsable"; //$NON-NLS-1$
+
+ public static final String TARGET_TIMESTAMP_ATT = ENGINE_SCOPE + "targetTime"; //$NON-NLS-1$
+ public static final String WORKFLOW_EXPRESSION_ATT = ENGINE_SCOPE + "expression"; //$NON-NLS-1$
+ public static final String TRIGGER_ACTION_PROCESS_ATT = ENGINE_SCOPE + "processDefinition"; //$NON-NLS-1$
+
+ public static final String MANUAL_TRIGGER_PARTICIPANT_ATT = ENGINE_SCOPE + "participant"; //$NON-NLS-1$
+ public static final String TIMER_PERIOD_ATT = ENGINE_SCOPE + "period"; //$NON-NLS-1$
+
+ public static final String MAIL_ACTION_RECEIVER_TYPE_ATT = ENGINE_SCOPE + "receiverType"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_RECEIVER_ATT = ENGINE_SCOPE + "receiver"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_ADDRESS_ATT = ENGINE_SCOPE + "emailAddress"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_BODY_TEMPLATE_ATT = ENGINE_SCOPE + "mailBodyTemplate"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_BODY_DATA_ATT = ENGINE_SCOPE + "mailBodyData"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_BODY_DATA_PATH_ATT = ENGINE_SCOPE + "mailBodyDataPath"; //$NON-NLS-1$
+
+ public static final String TARGET_STATE_ATT = ENGINE_SCOPE + "targetState"; //$NON-NLS-1$
+ public static final String TARGET_WORKLIST_ATT = ENGINE_SCOPE + "targetWorklist"; //$NON-NLS-1$
+ public static final String TARGET_PARTICIPANT_ATT = ENGINE_SCOPE + "target"; //$NON-NLS-1$
+ public static final String PULL_EVENT_EMITTER_ATT = ENGINE_SCOPE + "pullEventEmitter"; //$NON-NLS-1$
+ public static final String CONDITION_CONDITION_CLASS_ATT = ENGINE_SCOPE + "condition"; //$NON-NLS-1$
+ public static final String CONDITION_BINDER_CLASS_ATT = ENGINE_SCOPE + "binder"; //$NON-NLS-1$
+
+ public static final String ACTION_CLASS_ATT = ENGINE_SCOPE + "action"; //$NON-NLS-1$
+ public static final String VALIDATOR_CLASS_ATT = ENGINE_SCOPE + "validator"; //$NON-NLS-1$
+ public static final String EVALUATOR_CLASS_ATT = ENGINE_SCOPE + "evaluator"; //$NON-NLS-1$
+ public static final String ACCESSPOINT_PROVIDER_ATT = ENGINE_SCOPE + "accessPointProvider"; //$NON-NLS-1$
+ public static final String APPLICATION_INSTANCE_CLASS_ATT = ENGINE_SCOPE + "applicationInstance"; //$NON-NLS-1$
+ public static final String PULL_TRIGGER_EVALUATOR_ATT = ENGINE_SCOPE + "pullTriggerEvaluator"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_ATTRIBUTE_NAME_ATT = ENGINE_SCOPE + "attributeName"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_ATTRIBUTE_PATH_ATT = ENGINE_SCOPE + "attributePath"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_DATA_ID_ATT = ENGINE_SCOPE + "dataId"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_DATA_PATH_ATT = ENGINE_SCOPE + "dataPath"; //$NON-NLS-1$
+ public static final String EXCEPTION_CLASS_ATT = ENGINE_SCOPE + "exceptionName"; //$NON-NLS-1$
+ public static final String TYPE_ATT = ENGINE_SCOPE + "type"; //$NON-NLS-1$
+ public static final String DEFAULT_VALUE_ATT = ENGINE_SCOPE + "defaultValue"; //$NON-NLS-1$
+
+ // @todo (france, ub): should be converted to a period
+ public static final String TIMER_TRIGGER_START_TIMESTAMP_ATT = ENGINE_SCOPE + "startTime"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER_PERIODICITY_ATT = ENGINE_SCOPE + "periodicity"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER_STOP_TIMESTAMP_ATT = ENGINE_SCOPE + "stopTime"; //$NON-NLS-1$
+
+ public static final String MAIL_TRIGGER_USER_ATT = ENGINE_SCOPE + "user"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_SERVER_ATT = ENGINE_SCOPE + "host"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_PASSWORD_ATT = ENGINE_SCOPE + "password"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_PROTOCOL_ATT = ENGINE_SCOPE + "protocol"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_FLAGS_ATT = ENGINE_SCOPE + "mailFlags"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_PREDICATE_SENDER_ATT = ENGINE_SCOPE + "mailSenderPredicate"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_PREDICATE_SUBJECT_ATT = ENGINE_SCOPE + "mailSubjectPredicate"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_PREDICATE_BODY_ATT = ENGINE_SCOPE + "selectorPredicate"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_MAILBOX_ACTION_ATT = ENGINE_SCOPE + "mailboxAction"; //$NON-NLS-1$
+
+ public static final String EXCEPTION_ATT = ENGINE_SCOPE + "exception"; //$NON-NLS-1$
+
+ public static final String SOURCE_STATE_ATT = ENGINE_SCOPE + "sourceState"; //$NON-NLS-1$
+
+ public static final String OBSERVER_STATE_CHANGE_EVENT_ATT = ENGINE_SCOPE + "stateChange"; //$NON-NLS-1$
+ public static final String ENDPOINT_REFERENCE_ATT = ENGINE_SCOPE + "endpointReference"; //$NON-NLS-1$
+ public static final String RESULT_DATA_ATT = ENGINE_SCOPE + "resultData"; //$NON-NLS-1$
+ public static final String OBSERVER_NOTIFICATION_TYPE = ENGINE_SCOPE + "notificationType"; //$NON-NLS-1$
+
+ // exdesk attribute names
+ public static final String RUNTIME_PANEL_ATT = ED_SCOPE + "runtimePanel"; //$NON-NLS-1$
+ // @todo (france, ub): very questionable -->
+ public static final String JFC_CONTEXT_INSTANCE_CLASS_ATT = ED_SCOPE + "instance"; //$NON-NLS-1$
+
+ // webex attribute names
+ public static final String HTML_PATH_ATT = WEBEX_SCOPE + "htmlPath"; //$NON-NLS-1$
+
+
+ // defdesk attribute names
+ public static final String ACCESSPATH_EDITOR_ATT = DD_SCOPE + "accessPathEditor"; //$NON-NLS-1$
+ public static final String PANEL_CLASS_ATT = DD_SCOPE + "panel"; //$NON-NLS-1$
+
+ // predefined implementation classes and icons
+ public static final String PRIMITIVE_PANEL_CLASS = "ag.carnot.workflow.spi.providers.data.java.PrimitivePropertiesEditor"; //$NON-NLS-1$
+ public static final String PRIMITIVE_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.PrimitiveAccessPathEvaluator"; //$NON-NLS-1$
+ public static final String PRIMITIVE_ACCESSPATH_EDITOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.POJOAccessPathEditor"; //$NON-NLS-1$
+ public static final String PRIMITIVE_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.PrimitiveValidator"; //$NON-NLS-1$
+ public static final String PRIMITIVE_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/data/java/images/primitive_data.gif"; //$NON-NLS-1$
+
+ public static final String SERIALIZABLE_PANEL_CLASS = "ag.carnot.workflow.spi.providers.data.java.SerializablePropertiesEditor"; //$NON-NLS-1$
+ public static final String SERIALIZABLE_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.JavaBeanAccessPathEvaluator"; //$NON-NLS-1$
+ public static final String SERIALIZABLE_ACCESSPATH_EDITOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.POJOAccessPathEditor"; //$NON-NLS-1$
+ public static final String SERIALIZABLE_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.SerializableValidator"; //$NON-NLS-1$
+ public static final String SERIALIZABLE_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/data/java/images/serializable_data.gif"; //$NON-NLS-1$
+
+ public static final String ENTITYBEAN_PANEL_CLASS = "ag.carnot.workflow.spi.providers.data.entitybean.EntityBeanPropertiesEditor"; //$NON-NLS-1$
+ public static final String ENTITYBEAN_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.data.entitybean.EntityBeanEvaluator"; //$NON-NLS-1$
+ public static final String ENTITYBEAN_ACCESSPATH_EDITOR_CLASS = "ag.carnot.workflow.spi.providers.data.java.POJOAccessPathEditor"; //$NON-NLS-1$
+ public static final String ENTITYBEAN_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.data.entitybean.EntityBeanValidator"; //$NON-NLS-1$
+ public static final String ENTITYBEAN_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/data/entitybean/icon.gif"; //$NON-NLS-1$
+
+ public static final String PLAINXML_PANEL_CLASS = "ag.carnot.workflow.spi.providers.data.plainxml.XMLDocumentPropertiesEditor"; //$NON-NLS-1$
+ public static final String PLAINXML_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.data.plainxml.XPathEvaluator"; //$NON-NLS-1$
+ public static final String PLAINXML_ACCESSPATH_EDITOR_CLASS = "ag.carnot.workflow.spi.providers.data.plainxml.XPathEditor"; //$NON-NLS-1$
+ public static final String PLAINXML_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.data.plainxml.XMLValidator"; //$NON-NLS-1$
+ public static final String PLAINXML_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/data/plainxml/icon.gif"; //$NON-NLS-1$
+
+ public static final String SESSIONBEAN_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.sessionbean.SessionBeanApplicationInstance"; //$NON-NLS-1$
+ public static final String SESSIONBEAN_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.sessionbean.SessionBeanValidator"; //$NON-NLS-1$
+ public static final String SESSIONBEAN_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.sessionbean.SessionBeanApplicationPanel"; //$NON-NLS-1$
+ public static final String SESSIONBEAN_ACCESSPOINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.applications.sessionbean.SessionBeanAccessPointProvider"; //$NON-NLS-1$
+ public static final String SESSIONBEAN_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/sessionbean/icon.gif"; //$NON-NLS-1$
+
+ public static final String PLAINJAVA_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.plainjava.PlainJavaApplicationInstance"; //$NON-NLS-1$
+ public static final String PLAINJAVA_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.plainjava.PlainJavaValidator"; //$NON-NLS-1$
+ public static final String PLAINJAVA_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.plainjava.PlainJavaApplicationPanel"; //$NON-NLS-1$
+ public static final String PLAINJAVA_ACCESSPOINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.applications.plainjava.PlainJavaAccessPointProvider"; //$NON-NLS-1$
+ public static final String PLAINJAVA_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/plainjava/icon.gif"; //$NON-NLS-1$
+
+ public static final String JMS_APPLICATION_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.jms.JMSApplicationInstance"; //$NON-NLS-1$
+ public static final String JMS_APPLICATION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.jms.JMSValidator"; //$NON-NLS-1$
+ public static final String JMS_APPLICATION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.jms.JMSApplicationPanel"; //$NON-NLS-1$
+ public static final String JMS_APPLICATION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/jms/icon.gif"; //$NON-NLS-1$
+
+ public static final String WS_APPLICATION_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.ws.WebserviceApplicationInstance"; //$NON-NLS-1$
+ public static final String WS_APPLICATION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.ws.WebserviceApplicationValidator"; //$NON-NLS-1$
+ public static final String WS_APPLICATION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.ws.gui.WebserviceApplicationPanel"; //$NON-NLS-1$
+ public static final String WS_APPLICATION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/ws/gui/icon.gif"; //$NON-NLS-1$
+
+ public static final String WFXML_APPLICATION_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.wfxml.WfXMLApplicationInstance"; //$NON-NLS-1$
+ public static final String WFXML_APPLICATION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.wfxml.WfXMLApplicationValidator"; //$NON-NLS-1$
+ public static final String WFXML_APPLICATION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.wfxml.gui.WfXMLApplicationPanel"; //$NON-NLS-1$
+ public static final String WFXML_APPLICATION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/wfxml/gui/icon.gif"; //$NON-NLS-1$
+
+ public static final String JFC_CONTEXT_ACCESSPOINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.contexts.jfc.JFCAccessPointProvider"; //$NON-NLS-1$
+ public static final String JFC_CONTEXT_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.contexts.jfc.JFCValidator"; //$NON-NLS-1$
+ public static final String JFC_CONTEXT_PANEL_CLASS = "ag.carnot.workflow.spi.providers.contexts.jfc.JFCContextTypePanel"; //$NON-NLS-1$
+ public static final String JFC_CONTEXT_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.contexts.jfc.JFCApplicationInstance"; //$NON-NLS-1$
+ public static final String JFC_CONTEXT_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/contexts/jfc/icon.gif"; //$NON-NLS-1$
+
+ public static final String DEFAULT_EVENT_EMITTER_CLASS = "ag.carnot.workflow.spi.runtime.DefaultPullEventEmitter"; //$NON-NLS-1$
+ public static final String DEFAULT_EVENT_BINDER_CLASS = "ag.carnot.workflow.spi.runtime.DefaultEventBinder"; //$NON-NLS-1$
+
+ public static final String EXCEPTION_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.exception.SetExceptionAction"; //$NON-NLS-1$
+ public static final String EXCEPTION_ACTION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.exception.SetExceptionActionPropertiesPanel"; //$NON-NLS-1$
+
+ public static final String SET_DATA_ACTION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.setdata.SetDataActionPropertiesPanel"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.actions.setdata.SetDataActionValidator"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.setdata.SetDataAction"; //$NON-NLS-1$
+ public static final String SET_DATA_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/setdata/icon.gif"; //$NON-NLS-1$
+
+ public static final String JSP_CONTEXT_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.contexts.jsp.JSPValidator"; //$NON-NLS-1$
+ public static final String JSP_CONTEXT_PANEL_CLASS = "ag.carnot.workflow.spi.providers.contexts.jsp.JSPContextTypePanel"; //$NON-NLS-1$
+ public static final String JSP_CONTEXT_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/contexts/jsp/icon.gif"; //$NON-NLS-1$
+
+ public static final String MANUAL_TRIGGER_PANEL_CLASS = "ag.carnot.workflow.spi.providers.triggers.manual.ManualTriggerPanel"; //$NON-NLS-1$
+ public static final String MANUAL_TRIGGER_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.manual.ManualTriggerValidator"; //$NON-NLS-1$
+ public static final String MANUAL_TRIGGER_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/triggers/manual/icon.gif"; //$NON-NLS-1$
+
+ public static final String JMS_TRIGGER_PANEL_CLASS = "ag.carnot.workflow.spi.providers.triggers.jms.JMSTriggerPanel"; //$NON-NLS-1$
+ public static final String JMS_TRIGGER_MESSAGEACCEPTOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.jms.DefaultTriggerMessageAcceptor"; //$NON-NLS-1$
+ public static final String JMS_TRIGGER_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.jms.JMSTriggerValidator"; //$NON-NLS-1$
+ public static final String JMS_TRIGGER_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/triggers/jms/icon.gif"; //$NON-NLS-1$
+
+ public static final String MAIL_TRIGGER_PANEL_CLASS = "ag.carnot.workflow.spi.providers.triggers.mail.MailTriggerPanel"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.mail.MailTriggerValidator"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.mail.MailTriggerEvaluator"; //$NON-NLS-1$
+ public static final String MAIL_TRIGGER_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/triggers/mail/icon.gif"; //$NON-NLS-1$
+
+ public static final String TIMER_TRIGGER_PANEL_CLASS = "ag.carnot.workflow.spi.providers.triggers.timer.TimerTriggerPanel"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.timer.TimerTriggerEvaluator"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.triggers.timer.TimerTriggerValidator"; //$NON-NLS-1$
+ public static final String TIMER_TRIGGER_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/triggers/timer/icon.gif"; //$NON-NLS-1$
+
+ public static final String TIMER_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.PeriodPropertiesPanel"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimerValidator"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_RULE_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimeStampCondition"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_RUNTIME_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimerbasedRuntimeBindPanel"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_BINDER_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimeStampBinder"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_EMITTER_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimeStampEmitter"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_ACCESSPOINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.conditions.timer.TimerAccessPointProvider"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/timer/icon.gif"; //$NON-NLS-1$
+
+ public static final String TRIGGER_ACTION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.trigger.TriggerProcessActionPanel"; //$NON-NLS-1$
+ public static final String TRIGGER_ACTION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.actions.trigger.TriggerActionValidator"; //$NON-NLS-1$
+ public static final String TRIGGER_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.trigger.TriggerProcessAction"; //$NON-NLS-1$
+ public static final String TRIGGER_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/trigger/icon.gif"; //$NON-NLS-1$
+
+ public static final String MAIL_ACTION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.mail.SendmailActionPanel"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.actions.mail.MailActionValidator"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_RULE_CLASS = "ag.carnot.workflow.spi.providers.actions.mail.SendmailAction"; //$NON-NLS-1$
+ public static final String MAIL_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/mail/icon.gif"; //$NON-NLS-1$
+
+ public static final String EXCEPTION_CONDITION_ACCESS_POINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.conditions.exception.ExceptionConditionAccessPointProvider"; //$NON-NLS-1$
+ public static final String EXCEPTION_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.exception.ExceptionConditionPropertiesPanel"; //$NON-NLS-1$
+ public static final String EXCEPTION_CONDITION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.conditions.exception.ExceptionConditionValidator"; //$NON-NLS-1$
+ public static final String EXCEPTION_CONDITION_RULE_CLASS = "ag.carnot.workflow.spi.providers.conditions.exception.ExceptionCondition"; //$NON-NLS-1$
+ public static final String EXCEPTION_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/exception/icon.gif"; //$NON-NLS-1$
+
+ public static final String DELEGATE_ACTIVITY_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.delegate.DelegateEventAction"; //$NON-NLS-1$
+ public static final String DELEGATE_ACTIVITY_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.delegate.DelegateEventActionPanel"; //$NON-NLS-1$
+ public static final String DELEGATE_ACTIVITY_RUNTIME_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.delegate.DelegateEventActionRuntimePanel"; //$NON-NLS-1$
+ public static final String DELEGATE_ACTIVITY_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/delegate/icon.gif"; //$NON-NLS-1$
+
+ public static final String SCHEDULE_ACTIVITY_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.schedule.ScheduleEventAction"; //$NON-NLS-1$
+ public static final String SCHEDULE_ACTIVITY_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.schedule.ScheduleEventActionPanel"; //$NON-NLS-1$
+ public static final String SCHEDULE_ACTIVITY_RUNTIME_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.schedule.ScheduleEventActionRuntimePanel"; //$NON-NLS-1$
+ public static final String SCHEDULE_ACTIVITY_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/schedule/icon.gif"; //$NON-NLS-1$
+
+ public static final String EXPRESSION_CONDITION_CLASS = "ag.carnot.workflow.spi.providers.conditions.expression.ExpressionCondition"; //$NON-NLS-1$
+ public static final String EXPRESSION_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.expression.ExpressionConditionPropertiesPanel"; //$NON-NLS-1$
+ public static final String EXPRESSION_CONDITION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.conditions.expression.ExpressionConditionValidator"; //$NON-NLS-1$
+ public static final String EXPRESSION_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/expression/icon.gif"; //$NON-NLS-1$
+
+ public static final String STATECHANGE_CONDITION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.conditions.statechange.StatechangeConditionValidator"; //$NON-NLS-1$
+ public static final String ACTIVITY_STATECHANGE_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.statechange.StatechangeConditionPropertiesPanel"; //$NON-NLS-1$
+ public static final String ACTIVITY_STATECHANGE_CONDITION_RULE_CLASS = "ag.carnot.workflow.spi.providers.conditions.statechange.StatechangeCondition"; //$NON-NLS-1$
+ public static final String ACTIVITY_STATECHANGE_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/statechange/icon.gif"; //$NON-NLS-1$
+
+ public static final String PROCESS_STATECHANGE_CONDITION_RULE_CLASS = "ag.carnot.workflow.spi.providers.conditions.statechange.ProcessStatechangeCondition"; //$NON-NLS-1$
+ public static final String PROCESS_STATECHANGE_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.statechange.ProcessStatechangeConditionPropertiesPanel"; //$NON-NLS-1$
+ public static final String PROCESS_STATECHANGE_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/statechange/icon.gif"; //$NON-NLS-1$
+
+ public static final String ACTIVITY_ON_ASSIGNMENT_CONDITION_PANEL_CLASS = "ag.carnot.workflow.spi.providers.conditions.assignment.AssignmentConditionPropertiesPanel"; //$NON-NLS-1$
+ public static final String ACTIVITY_ON_ASSIGNMENT_CONDITION_ACCESS_POINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.conditions.assignment.AssignmentConditionAccessPointProvider"; //$NON-NLS-1$
+ public static final String ACTIVITY_ON_ASSIGNMENT_CONDITION_RULE_CLASS = "ag.carnot.workflow.spi.providers.conditions.assignment.AssignmentCondition"; //$NON-NLS-1$
+ public static final String ACTIVITY_ON_ASSIGNMENT_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/assignment/icon.gif"; //$NON-NLS-1$
+
+ public static final String ACTIVATE_ACTIVITY_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.awake.AwakeActivityEventAction";; //$NON-NLS-1$
+ public static final String ACTIVATE_ACTIVITY_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/awake/icon.gif"; //$NON-NLS-1$
+
+ public static final String ABORT_PROCESS_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.abort.AbortProcessEventAction"; //$NON-NLS-1$
+ public static final String ABORT_PROCESS_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/abort/icon.gif"; //$NON-NLS-1$
+
+ public static final String NOTIFY_OBSERVERS_ACTION_CLASS = "ag.carnot.workflow.wfxml.spi.actions.NotifyObserversEventAction"; //$NON-NLS-1$
+ public static final String NOTIFY_OBSERVERS_ACTION_ICON_LOCATION = "/ag/carnot/workflow/wfxml/spi/actions/icon.gif"; //$NON-NLS-1$
+
+ public static final String COMPLETE_ACTIVITY_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.complete.CompleteActivityEventAction"; //$NON-NLS-1$
+ public static final String COMPLETE_ACTIVITY_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/complete/icon.gif"; //$NON-NLS-1$
+
+ public static final String EXCLUDE_USER_ACTION_CLASS = "ag.carnot.workflow.spi.providers.actions.excludeuser.ExcludeUserAction"; //$NON-NLS-1$
+ public static final String EXCLUDE_USER_PANEL_CLASS = "ag.carnot.workflow.spi.providers.actions.excludeuser.ExcludeUserActionPanel"; //$NON-NLS-1$
+ public static final String EXCLUDE_USER_ACTION_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.actions.excludeuser.ExcludeUserActionValidator"; //$NON-NLS-1$
+ public static final String EXCLUDE_USER_ACTION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/actions/excludeuser/icon.gif"; //$NON-NLS-1$
+
+ public static final String EXTERNAL_CONDITION_CLASS = "ag.carnot.workflow.spi.providers.conditions.simplepush.PushCondition"; //$NON-NLS-1$
+ public static final String EXTERNAL_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/conditions/simplepush/icon.gif"; //$NON-NLS-1$
+
+ public static final String OBSERVER_CONDITION_RULE_CLASS = "ag.carnot.workflow.wfxml.spi.conditions.ObserverNotificationCondition"; //$NON-NLS-1$
+ public static final String OBSERVER_CONDITION_PANEL_CLASS = "ag.carnot.workflow.wfxml.spi.conditions.ObserverNotificationPropertiesPanel"; //$NON-NLS-1$
+ public static final String OBSERVER_CONDITION_VALIDATOR_CLASS = "ag.carnot.workflow.wfxml.spi.conditions.ObserverNotificationValidator"; //$NON-NLS-1$
+ public static final String OBSERVER_CONDITION_ACCESS_POINT_PROVIDER_CLASS = "ag.carnot.workflow.wfxml.spi.conditions.ObserverNotificationAccessPointProvider"; //$NON-NLS-1$
+ public static final String OBSERVER_CONDITION_ICON_LOCATION = "/ag/carnot/workflow/wfxml/spi/conditions/icon.gif"; //$NON-NLS-1$
+
+ // random constants
+ // @todo (france, ub): exploit in the queryservice
+ public static final int ACTIVE_MODEL = -10;
+ public static final int LAST_DEPLOYED_MODEL = -20;
+ public static final int ALIVE_MODELS = -30;
+ public static final int ALL_MODELS = -40;
+
+ // unsorted
+
+ public static final String CONSTRUCTOR_NAME_ATT = ENGINE_SCOPE + "constructorName"; //$NON-NLS-1$
+ public static final String ICON_ATT = DD_SCOPE + "icon"; //$NON-NLS-1$
+ public static final String SAP_R3_DATA = "sapr3data"; //$NON-NLS-1$
+ public static final String SAP_DATA_EVALUATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.sap.data.SapAccessPathEvaluator"; //$NON-NLS-1$
+ public static final String SAP_DATA_ACCESSPATH_EDITOR_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.sap.data.SapAccessPathEditor"; //$NON-NLS-1$
+ public static final String SAP_DATA_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.sap.data.SapDataTypePropertiesEditor"; //$NON-NLS-1$
+ public static final String SAP_DATA_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.sap.data.SapDataValidator"; //$NON-NLS-1$
+ public static final String SAP_DATA_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/jca/sap/data/icon.gif"; //$NON-NLS-1$
+ public static final String SAP_R3_APPLICATION = "sapr3application"; //$NON-NLS-1$
+ public static final String CCI_VALIDATOR_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.DefaultCCIValidator"; //$NON-NLS-1$
+ public static final String CCI_PANEL_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.gui.DefaultCCIApplicationPropertiesPanel"; //$NON-NLS-1$
+ public static final String CCI_APPLICATION_INSTANCE_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.DefaultCCIApplicationInstance"; //$NON-NLS-1$
+ public static final String CCI_WRAPPER_CLASS_ATT = ENGINE_SCOPE + "CCIWrapper"; //$NON-NLS-1$
+ public static final String SAP_CCI_WRAPPER_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.sap.application.SapCCIWrapper"; //$NON-NLS-1$
+ public static final String SAP_CCI_ICON_LOCATION = "/ag/carnot/workflow/spi/providers/applications/jca/sap/application/icon.gif"; //$NON-NLS-1$
+ public static final String CCI_ACCESSPOINT_PROVIDER_CLASS = "ag.carnot.workflow.spi.providers.applications.jca.DefaultCCIAccessPointProvider"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_USE_DATA_ATT = ENGINE_SCOPE + "useData"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_DATA_ATT = ENGINE_SCOPE + "data"; //$NON-NLS-1$
+ public static final String TIMER_CONDITION_DATA_PATH_ATT = ENGINE_SCOPE + "dataPath"; //$NON-NLS-1$
+ public static final String VALID_FROM_ATT = ENGINE_SCOPE + "validFrom"; //$NON-NLS-1$
+ public static final String VALID_TO_ATT = ENGINE_SCOPE + "validTo"; //$NON-NLS-1$
+ public static final String DEPLOYMENT_COMMENT_ATT = ENGINE_SCOPE + "deploymentComment"; //$NON-NLS-1$
+
+ public static final String EVENT_ACCESS_POINT = ENGINE_SCOPE + "eventScope"; //$NON-NLS-1$
+ public static final String MESSAGE_TYPE_ATT = ENGINE_SCOPE + "messageType"; //$NON-NLS-1$
+
+ public static final String QUEUE_CONNECTION_FACTORY_NAME_PROPERTY = ENGINE_SCOPE + "queueConnectionFactory.jndiName"; //$NON-NLS-1$
+ public static final String QUEUE_NAME_PROPERTY = ENGINE_SCOPE + "queue.jndiName"; //$NON-NLS-1$
+ public static final String MESSAGE_PROVIDER_PROPERTY = ENGINE_SCOPE + "messageProvider"; //$NON-NLS-1$
+ // @todo (france, ub): usage of this property is probably a misuse because the acceptor is hardwired to the application type??
+ public static final String MESSAGE_ACCEPTOR_PROPERTY = ENGINE_SCOPE + "messageAcceptor"; //$NON-NLS-1$
+ public static final String JMS_LOCATION_PROPERTY = ENGINE_SCOPE + "jms.location"; //$NON-NLS-1$
+ public static final String REQUEST_MESSAGE_TYPE_PROPERTY = ENGINE_SCOPE + "requestMessageType"; //$NON-NLS-1$
+ public static final String RESPONSE_MESSAGE_TYPE_PROPERTY = ENGINE_SCOPE + "responseMessageType"; //$NON-NLS-1$
+ public static final String INCLUDE_OID_HEADERS_PROPERTY = ENGINE_SCOPE + "includeOidHeaders"; //$NON-NLS-1$
+ public static final String EXCLUDE_PERFORMER = ENGINE_SCOPE + "excludePerformer"; //$NON-NLS-1$
+ public static final String EXCLUDED_PERFORMER_DATA = ENGINE_SCOPE + "excludedPerformerData"; //$NON-NLS-1$
+ public static final String EXCLUDED_PERFORMER_DATAPATH = ENGINE_SCOPE + "excludedPerformerDataPath";; //$NON-NLS-1$
+ public static final String ACTIVITY_INSTANCE_ACCESSPOINT = "activityInstance"; //$NON-NLS-1$
+
+ public static final String SOURCE_USER_ATT = ENGINE_SCOPE + "sourceUser"; //$NON-NLS-1$
+ public static final String TARGET_USER_ATT = ENGINE_SCOPE + "targetUser"; //$NON-NLS-1$
+ public static final String VERSION_ATT = ENGINE_SCOPE + "version"; //$NON-NLS-1$
+ public static final String REVISION_ATT = ENGINE_SCOPE + "revision"; //$NON-NLS-1$
+ public static final String IS_RELEASED_ATT = ENGINE_SCOPE + "released"; //$NON-NLS-1$
+ public static final String RELEASE_STAMP = ENGINE_SCOPE + "releaseStamp"; //$NON-NLS-1$
+ public static final String DEPLOYMENT_TIME_ATT = ENGINE_SCOPE + "deploymentStamp"; //$NON-NLS-1$
+ public static final String PREDECESSOR_ATT = ENGINE_SCOPE + "predecessor"; //$NON-NLS-1$
+ public static final String IS_DISABLED_ATT = ENGINE_SCOPE + "disabled"; //$NON-NLS-1$
+ public static final String PLAIN_WEB_SERVICEFACTORY_CLASS = "ag.carnot.web.PlainWebServiceFactory"; //$NON-NLS-1$
+ public static final String REMOTE_WEB_SERVICEFACTORY_CLASS = "ag.carnot.web.RemoteWebServiceFactory"; //$NON-NLS-1$
+ public static final String POJO_SERVICEFACTORY_CLASS = "ag.carnot.workflow.runtime.beans.POJOServiceFactory"; //$NON-NLS-1$
+ public static final String INTERNAL_CREDENTIALPROVIDER_CLASS = "ag.carnot.workflow.runtime.InternalCredentialProvider"; //$NON-NLS-1$
+ public static final String DEFAULT_SERVICEFACTORY_POOL_CLASS = "ag.carnot.workflow.runtime.beans.ThreadLocalServiceFactoryPool"; //$NON-NLS-1$
+// public static final String DEFAULT_SERVICEFACTORY_POOL_CLASS = "ag.carnot.workflow.runtime.beans.DefaultServiceFactoryPool";
+
+ public static final String SUBPROCESS_ACTIVITY_COPY_ALL_DATA_ATT = ENGINE_SCOPE + "subprocess:copyAllData"; //$NON-NLS-1$
+
+ // Controlling / Warehouse
+ public static final String PWH_MEASURE = PWH_SCOPE + "measure"; //$NON-NLS-1$
+ public static final String PWH_TARGET_MEASURE_QUANTITY = PWH_SCOPE + "targetMeasureQuantity"; //$NON-NLS-1$
+ public static final String PWH_DIFFICULTY = PWH_SCOPE + "difficulty"; //$NON-NLS-1$
+ public static final String PWH_TARGET_PROCESSING_TIME = PWH_SCOPE + "targetProcessingTime"; //$NON-NLS-1$
+ public static final String PWH_TARGET_EXECUTION_TIME = PWH_SCOPE + "targetExecutionTime"; //$NON-NLS-1$
+ public static final String PWH_TARGET_IDLE_TIME = PWH_SCOPE + "targetIdleTime"; //$NON-NLS-1$
+ public static final String PWH_TARGET_WAITING_TIME = PWH_SCOPE + "targetWaitingTime"; //$NON-NLS-1$
+ public static final String PWH_TARGET_QUEUE_DEPTH = PWH_SCOPE + "targetQueueDepth"; //$NON-NLS-1$
+ public static final String PWH_TARGET_COST_PER_EXECUTION = PWH_SCOPE + "targetCostPerExecution"; //$NON-NLS-1$
+ public static final String PWH_TARGET_COST_PER_SECOND = PWH_SCOPE + "targetCostPerSecond"; //$NON-NLS-1$
+ public static final String PWH_COST_DRIVER = PWH_SCOPE + "costDriver"; //$NON-NLS-1$
+ public static final String PWH_TARGET_COST_DRIVER_QUANTITY = PWH_SCOPE + "costDriverQuantity"; //$NON-NLS-1$
+// public static final String PWH_PROCESS_CATEGORY = PWH_SCOPE + "processCategory";
+ public static final String PWH_WORKING_WEEKS_PER_YEAR = PWH_SCOPE + "workingWeeksPerYear"; //$NON-NLS-1$
+ public static final String PWH_ACTUAL_COST_PER_MINUTE = PWH_SCOPE + "actualCostPerMinute"; //$NON-NLS-1$
+ public static final String PWH_TARGET_WORK_TIME_PER_DAY = PWH_SCOPE + "targetWorkTimePerDay"; //$NON-NLS-1$
+ public static final String PWH_TARGET_WORK_TIME_PER_WEEK = PWH_SCOPE + "targetWorkTimePerWeek"; //$NON-NLS-1$
+ public static final String PWH_COST_CENTER = PWH_SCOPE + "costCenter"; //$NON-NLS-1$
+ public static final String PWH_ACTUAL_COST_PER_SECOND = PWH_SCOPE + "actualCostPerSecond"; //$NON-NLS-1$
+
+ public static final String PLAINXML_SCHEMA_TYPE_ATT = ENGINE_SCOPE + "schemaType"; //$NON-NLS-1$
+ public static final String PLAINXML_SCHEMA_TYPE_NONE = "none"; //$NON-NLS-1$
+ public static final String PLAINXML_SCHEMA_TYPE_DTD = "dtd"; //$NON-NLS-1$
+ public static final String PLAINXML_SCHEMA_TYPE_XSD = "xsd"; //$NON-NLS-1$
+ public static final String PLAINXML_SCHEMA_TYPE_WSDL = "wsdl"; //$NON-NLS-1$
+
+ public static final String PLAINXML_SCHEMA_URL_ATT = ENGINE_SCOPE + "schemaURL"; //$NON-NLS-1$
+ public static final String PLAINXML_TYPE_ID_ATT = ENGINE_SCOPE + "typeId"; //$NON-NLS-1$
+ public static final String WFXML_EPR_PARAMETER = "parameter"; //$NON-NLS-1$
+ public static final String WFXML_EPR_PROPERTY = "property"; //$NON-NLS-1$
+
+ private static final String[] META_DATA_IDS_ARRAY = {STARTING_USER, ROOT_PROCESS_ID, CURRENT_USER,
+ LAST_ACTIVITY_PERFORMER, CURRENT_DATE, PROCESS_ID, PROCESS_PRIORITY, CURRENT_LOCALE, CURRENT_MODEL};
+
+ public static final List META_DATA_IDS = Collections.unmodifiableList(Arrays.asList(META_DATA_IDS_ARRAY));
+
+
+ private PredefinedConstants() {
+ //disallow instance creation
+ }
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/SubProcessModeKey.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/SubProcessModeKey.java
new file mode 100644
index 0000000..e3f3f16
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/SubProcessModeKey.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+import org.eclipse.stardust.common.StringKey;
+
+/**
+ * Enumeration of possible subprocess execution modes.
+ *
+ * @author rsauer
+ * @version $Revision$
+ */
+public class SubProcessModeKey extends StringKey
+{
+ private static final long serialVersionUID = 3561957360505308402L;
+
+ /**
+ * Subprocesses will be executed synchronously, means the calling activity will wait
+ * for subprocess completion. The subprocess will operate in the calling process's data
+ * space.
+ */
+ public static final SubProcessModeKey SYNC_SHARED = new SubProcessModeKey(
+ "sync_shared", "Synchronous / Shared Data"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * Subprocesses will be executed synchronously, means the calling activity will wait
+ * for subprocess completion. The subprocess will operate in its own
+ * independent data space. Dependent to the flag "CopyAllData" this data space will
+ * initially contain a full copy of data available to the triggering activity or by
+ * defined data mappings.
+ */
+ public static final SubProcessModeKey SYNC_SEPARATE = new SubProcessModeKey(
+ "sync_separate", "Synchronous / Separate Data"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * Subprocesses will be executed asynchronously, means the calling activity will just
+ * trigger the subprocess and then continue. The subprocess will operate in its own
+ * independent data space, which will initially contain a full copy of data available
+ * to the triggering activity.
+ */
+ public static final SubProcessModeKey ASYNC_SEPARATE = new SubProcessModeKey(
+ "async_separate", "Asynchronous / Separate Data"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * Obtain a key instance from an ID.
+ *
+ * @param id
+ * The ID of the key to be retrieved.
+ * @return The appropriate key, or <code>null</code> if the ID was invalid.
+ */
+ public static SubProcessModeKey getKey(String id)
+ {
+ return (SubProcessModeKey) getKey(SubProcessModeKey.class, id);
+ }
+
+ private SubProcessModeKey(String id, String defaultName)
+ {
+ super(id, defaultName);
+ }
+} \ No newline at end of file
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Typeable.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Typeable.java
new file mode 100644
index 0000000..6dc409b
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/api/model/Typeable.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.api.model;
+
+
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface Typeable
+{
+ PluggableType getType();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Connection.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Connection.java
new file mode 100644
index 0000000..f3f2e00
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Connection.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface Connection extends ModelElement
+{
+ ModelElement getFirst();
+
+ ModelElement getSecond();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Identifiable.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Identifiable.java
new file mode 100644
index 0000000..05209ea
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Identifiable.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface Identifiable
+{
+ String getId();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/IdentifiableElement.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/IdentifiableElement.java
new file mode 100644
index 0000000..5330a8e
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/IdentifiableElement.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+
+
+/**
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface IdentifiableElement extends ModelElement, Identifiable, Nameable
+{
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/ModelElement.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/ModelElement.java
new file mode 100644
index 0000000..3601c0d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/ModelElement.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+import java.io.Serializable;
+
+import org.eclipse.stardust.common.AttributeHolder;
+
+/**
+ * @author fherinean
+ * @version $Revision$
+ */
+public interface ModelElement extends Serializable, AttributeHolder
+{
+ String getDescription();
+
+ RootElement getModel();
+
+ ModelElement getParent();
+
+ public int getElementOID();
+
+ /**
+ * Retrieves the unique 64-bit identifier.
+ */
+ public long getOID();
+
+ boolean isTransient();
+
+ boolean isPredefined();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Nameable.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Nameable.java
new file mode 100644
index 0000000..fc7bb9e
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/Nameable.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+/**
+ * @author rsauer
+ * @version $Revision$
+ */
+public interface Nameable
+{
+ String getName();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/RootElement.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/RootElement.java
new file mode 100644
index 0000000..f14dbad
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/engine/core/model/utils/RootElement.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.engine.core.model.utils;
+
+import java.util.Set;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface RootElement extends IdentifiableElement
+{
+ ModelElement lookupElement(int elementOID);
+
+ int getModelOID();
+
+ Set getElementOIDs();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/API_Messages.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/API_Messages.java
new file mode 100644
index 0000000..1866b15
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/API_Messages.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model;
+
+import org.eclipse.osgi.util.NLS;
+
+public class API_Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.stardust.model.api-messages"; //$NON-NLS-1$
+
+ private API_Messages() {
+ }
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, API_Messages.class);
+ }
+
+ public static String EXC_NOT_IMPLEMENTED_YET;
+
+ public static String EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE;
+
+ public static String EXC_UNEXPECTED_SPLIT_TYPE;
+
+ public static String EXC_UNEXPECTED_SUBPROCESSMODEKEY;
+
+ public static String EXC_UNEXPECTEDT_SPLIT_TYPE;
+
+ public static String STR_ModelParticipant;
+
+ public static String STR_DynParticipant;
+
+ public static String STR_Org;
+
+ public static String STR_Role;
+
+ public static String STR_CondPerformer;
+
+ public static String STR_User;
+
+ public static String STR_UserGroup;
+
+ public static String STR_ParticipantOrGroup;
+
+ public static String STR_Manual;
+
+ public static String STR_Application;
+
+ public static String STR_Subprocess;
+
+ public static String STR_Route;
+
+ public static String STR_Unknown;
+
+ public static String STR_NoLoop;
+
+ public static String STR_While;
+
+ public static String STR_Repeat;
+
+ public static String STR_BindAct;
+
+ public static String STR_EventAct;
+
+ public static String STR_UnbindAct;
+
+ public static String MSG_InvalidSym;
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/api-messages.properties b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/api-messages.properties
new file mode 100644
index 0000000..025d7f9
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/api-messages.properties
@@ -0,0 +1,35 @@
+###############################################################################
+# Copyright (c) 2011 SunGard CSA LLC and others.
+# 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:
+# SunGard CSA LLC - initial API and implementation and/or initial documentation
+###############################################################################
+EXC_NOT_IMPLEMENTED_YET=Not implemented yet
+EXC_UNEXPECTED_ACTIVITY_IMPLEMENTATION_TYPE=Unexpected activity implementation type
+EXC_UNEXPECTED_SPLIT_TYPE=Unexpected split type
+EXC_UNEXPECTED_SUBPROCESSMODEKEY=Unexpected SubProcessModeKey
+EXC_UNEXPECTEDT_SPLIT_TYPE=Unexpected split type
+STR_ModelParticipant=Model Participant
+STR_DynParticipant=Dynamic Participant
+STR_Org=Organization
+STR_Role=Role
+STR_Route=Route
+STR_While=While
+STR_CondPerformer=Conditional Performer
+STR_User=User
+STR_Manual=Manual
+STR_NoLoop=No Loop
+STR_Repeat=Repeat
+STR_UserGroup=User Group
+STR_UnbindAct=Unbind Action
+STR_Unknown=Unknown
+STR_BindAct=Bind Action
+STR_EventAct=Event Action
+STR_Application=Application
+STR_Subprocess=Subprocess
+STR_ParticipantOrGroup=Model Participant or User Group
+MSG_InvalidSym=Invalid symbol
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ArrowKey.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ArrowKey.java
new file mode 100644
index 0000000..3e8fa6e
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ArrowKey.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import org.eclipse.stardust.common.Key;
+
+/** */
+public class ArrowKey extends Key
+{
+ public static final ArrowKey UNKNOWN = new ArrowKey(-1);
+ public static final ArrowKey NO_ARROW = new ArrowKey(0);
+ public static final ArrowKey OPEN_TRIANGLE = new ArrowKey(1);
+ public static final ArrowKey EMPTY_TRIANGLE = new ArrowKey(2);
+ public static final ArrowKey FILLED_TRIANGLE = new ArrowKey(3);
+ public static final ArrowKey EMPTY_RHOMBUS = new ArrowKey(4);
+ public static final ArrowKey FILLED_RHOMBUS = new ArrowKey(5);
+
+ static String[] keyList = {"without Symbol" //$NON-NLS-1$
+ , "open Triangle" //$NON-NLS-1$
+ , "empty Triangle" //$NON-NLS-1$
+ , "filled Triangle" //$NON-NLS-1$
+ , "empty Rhombus" //$NON-NLS-1$
+ , "filled Rhombus"}; //$NON-NLS-1$
+
+ /** */
+ public ArrowKey()
+ {
+ super();
+ }
+
+ /** */
+ public ArrowKey(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Creates an key instance from its string representation.
+ *
+ * @param keyRepresentation java.lang.String
+ */
+ public ArrowKey(String keyRepresentation)
+ {
+ this(getValue(keyRepresentation, getKeyList()));
+ }
+
+ /** */
+ public static String[] getKeyList()
+ {
+ return keyList;
+ }
+
+ /** */
+ public String getString()
+ {
+ if (value < 0)
+ {
+ return UNKNOWN_STRING;
+ }
+
+ return keyList[value];
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ColorKey.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ColorKey.java
new file mode 100644
index 0000000..1c97a5d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ColorKey.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import org.eclipse.stardust.common.Key;
+
+/** */
+public class ColorKey extends Key
+{
+ public static final ColorKey UNKNOWN = new ColorKey(-1);
+ public static final ColorKey BLACK = new ColorKey(0);
+ public static final ColorKey DARK_BLUE = new ColorKey(1);
+ public static final ColorKey DARK_GRAY = new ColorKey(2);
+ public static final ColorKey BLUE = new ColorKey(3);
+ public static final ColorKey LIGTH_GRAY = new ColorKey(4);
+ public static final ColorKey RED = new ColorKey(5);
+ public static final ColorKey YELLOW = new ColorKey(6);
+
+ static String[] keyList = {"black" //$NON-NLS-1$
+ , "dark blue" //$NON-NLS-1$
+ , "dark gray" //$NON-NLS-1$
+ , "blue" //$NON-NLS-1$
+ , "ligth gray" //$NON-NLS-1$
+ , "red" //$NON-NLS-1$
+ , "yellow"}; //$NON-NLS-1$
+
+ /** */
+ public ColorKey()
+ {
+ super();
+ }
+
+ /** */
+ public ColorKey(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Creates an key instance from its string representation.
+ *
+ * @param keyRepresentation java.lang.String
+ */
+ public ColorKey(String keyRepresentation)
+ {
+ this(getValue(keyRepresentation, getKeyList()));
+ }
+
+ /** */
+ public static String[] getKeyList()
+ {
+ return keyList;
+ }
+
+ /** */
+ public String getString()
+ {
+ if (value < 0)
+ {
+ return UNKNOWN_STRING;
+ }
+
+ return keyList[value];
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ConnectionSymbol.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ConnectionSymbol.java
new file mode 100644
index 0000000..4d62e74
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/ConnectionSymbol.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import org.eclipse.stardust.engine.core.model.utils.Connection;
+
+/** */
+public interface ConnectionSymbol extends Symbol, Connection
+{
+ /**
+ *
+ */
+ public Symbol getFirstSymbol();
+
+ /**
+ *
+ */
+ public Symbol getSecondSymbol();
+} \ No newline at end of file
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Diagram.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Diagram.java
new file mode 100644
index 0000000..488db60
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Diagram.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+/**
+ *
+ */
+public interface Diagram extends ModelElement, SymbolOwner
+{
+ /**
+ * Returns true if the symbol is contained in the diagram otherwise
+ * false is returned.
+ */
+ public boolean contains(NodeSymbol symbol);
+
+ /**
+ * Returns <code>true</code> if at least one connection exist between
+ * the two symbols
+ */
+ public boolean existConnectionBetween(NodeSymbol symbol1, NodeSymbol symbol2);
+
+ /**
+ * Returns <code>true</code> if at least one connection exist between
+ * the two symbols. The connection must be a instance of the class <code>connectionType</code>.
+ * If the parameter <code>uniDirectional</code> is <code>true</code> only
+ * connection from <code>symbol1</code> to <code>symbol2</code> will be found.
+ */
+ public boolean existConnectionBetween(Symbol symbol1, Symbol symbol2
+ , Class connectionType
+ , boolean uniDirectional);
+
+ /**
+ * Returns an Iterator of connections corresponding to the two symbols.
+ *
+ * @see #existConnectionBetween
+ */
+ public Iterator getExistingConnectionsBetween(Symbol symbol1, Symbol symbol2
+ , Class connectionType
+ , boolean uniDirectional);
+
+ /**
+ * Returns the first symbol that use the <code>searchedObject</code> as its
+ * userobject.
+ */
+ public Symbol findSymbolForUserObject(Object searchedObject);
+
+ public String getName();
+
+ Iterator getAllNodes(Class type);
+
+ Iterator getAllConnections(Class type);
+
+ Iterator getAllNodeSymbols();
+
+ Iterator getAllConnections();
+
+ String getId();
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/LineKey.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/LineKey.java
new file mode 100644
index 0000000..3f4f301
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/LineKey.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import org.eclipse.stardust.common.Key;
+
+/** */
+public class LineKey extends Key
+{
+ public static final LineKey UNKNOWN = new LineKey(-1);
+ public static final LineKey NORMAL = new LineKey(0);
+ public static final LineKey SHORT_STROKES = new LineKey(1);
+ public static final LineKey LONG_STROKES = new LineKey(2);
+
+ static String[] keyList = {"normal line" //$NON-NLS-1$
+ , "short strokes" //$NON-NLS-1$
+ , "long strokes"}; //$NON-NLS-1$
+
+ /** */
+ public LineKey()
+ {
+ super();
+ }
+
+ /** */
+ public LineKey(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Creates an key instance from its string representation.
+ *
+ * @param keyRepresentation java.lang.String
+ */
+ public LineKey(String keyRepresentation)
+ {
+ this(getValue(keyRepresentation, getKeyList()));
+ }
+
+ /** */
+ public static String[] getKeyList()
+ {
+ return keyList;
+ }
+
+ /** */
+ public String getString()
+ {
+ if (value < 0)
+ {
+ return UNKNOWN_STRING;
+ }
+
+ return keyList[value];
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/NodeSymbol.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/NodeSymbol.java
new file mode 100644
index 0000000..5054989
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/NodeSymbol.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+
+
+/** */
+public interface NodeSymbol extends Symbol
+{
+ Diagram getDiagram();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Symbol.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Symbol.java
new file mode 100644
index 0000000..0b3c503
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/Symbol.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+public interface Symbol extends ModelElement
+{
+ /**
+ *
+ */
+ int getBottom();
+
+ /**
+ *
+ */
+ int getHeight();
+
+ /**
+ *
+ */
+ int getLeft();
+
+ /**
+ *
+ */
+ int getRight();
+
+ /**
+ *
+ */
+ int getTop();
+
+ /**
+ *
+ */
+ java.util.Iterator getAllConnections();
+
+ /**
+ *
+ */
+ int getX();
+
+ /**
+ *
+ */
+ int getY();
+
+ /**
+ *
+ */
+ int getWidth();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/SymbolOwner.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/SymbolOwner.java
new file mode 100644
index 0000000..12d14cd
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/diagram/SymbolOwner.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.diagram;
+
+import java.util.Iterator;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface SymbolOwner
+{
+ Iterator getAllSymbols();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPoint.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPoint.java
new file mode 100644
index 0000000..cf17260
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPoint.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import org.eclipse.stardust.common.AttributeHolder;
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.Typeable;
+
+
+/**
+ * Provides an abstraction of a handle to write data into or retrieve data from an entity.
+ * <p />
+ * Examples of such a handle are properties of a JavaBean or attributes of a JMS message.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface AccessPoint extends AttributeHolder, Typeable
+{
+ /**
+ * Gets the data flow direction of this access point, may be either
+ * {@link Direction#In}, {@link Direction#Out} or {@link Direction#InOut}.
+ *
+ * @return The data flow direction.
+ */
+ Direction getDirection();
+
+ /**
+ * Gets the id of this access point.
+ *
+ * @return The access point id.
+ *
+ * @see #getName()
+ */
+ String getId();
+
+ /**
+ * Gets the name of this access point.
+ *
+ * @return The access point name.
+ *
+ * @see #getId()
+ */
+ String getName();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPointProvider.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPointProvider.java
new file mode 100644
index 0000000..af48ead
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/AccessPointProvider.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * Provides an abstraction of an entity supporting external data reads or writes via
+ * {@link AccessPoint}s.
+ * <p />
+ * Examples are JavaBeans providing properties or JMS messages providing various
+ * attributes.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface AccessPointProvider
+{
+ /**
+ * Retrieves the list of {@link AccessPoint}s provided by this entity.
+ * <p />
+ * The implementation is expected to not throw any exceptions.
+ *
+ * @param context Implementation specific context attributes.
+ * @param typeAttributes Implementation specific static attributes.
+ *
+ * @return An {@link Iterator} over the provided access points.
+ */
+ Iterator createIntrinsicAccessPoints(Map context, Map typeAttributes);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationContextValidator.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationContextValidator.java
new file mode 100644
index 0000000..4dad4ce
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationContextValidator.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+// @todo (france, ub): split for contexts/applications?!
+
+/**
+ * Provides static validation of {@link org.eclipse.stardust.model.xpdl.ApplicationContext}
+ * configurations. Will be used during modeling.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ *
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationContextPropertiesPanel
+ */
+public interface ApplicationContextValidator
+{
+ /**
+ * Performs static application context validation. An implementation is expected to
+ * inspect the given context attributes and access points and indicate any problems
+ * with an appropriate {@link org.eclipse.stardust.model.xpdl.Inconsistency}.
+ *
+ * @param attributes Implementation specific context attributes.
+ * @param accessPoints Implemenatation specific {@link AccessPoint}s.
+ *
+ * @return The list of found {@link org.eclipse.stardust.model.xpdl.Inconsistency} instances.
+ *
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationContextPropertiesPanel#getAttributes()
+ */
+ List validate(Map attributes, Iterator accessPoints);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationValidator.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationValidator.java
new file mode 100644
index 0000000..5501378
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/ApplicationValidator.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+// @todo (france, ub): split for contexts/applications?!
+// @todo (france, ub): unify with DataValidator
+
+/**
+ * Provides static validation of {@link org.eclipse.stardust.model.xpdl.Application}
+ * configurations. Will be used during modeling.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ *
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationPropertiesPanel
+ */
+public interface ApplicationValidator
+{
+ /**
+ * Performs static application validation. An implementation is expected to
+ * inspect the given application and type attributes and access points and indicate any
+ * problems with an appropriate {@link org.eclipse.stardust.model.xpdl.Inconsistency}.
+ *
+ * @param attributes Implementation specific context attributes.
+ * @param typeAttributes Implementation specific application type attributes
+ * @param accessPoints Implemenatation specific {@link AccessPoint}s.
+ *
+ * @return The list of found {@link org.eclipse.stardust.model.xpdl.Inconsistency} instances.
+ *
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationPropertiesPanel#getAttributes()
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationPropertiesPanel#setTypeAttributes(java.util.Map)
+ * @see org.eclipse.stardust.model.spi.gui.ApplicationPropertiesPanel#createAccessPoints(org.eclipse.stardust.model.xpdl.IApplication)
+ */
+ List validate(Map attributes, Map typeAttributes, Iterator accessPoints);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/BridgeObject.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/BridgeObject.java
new file mode 100644
index 0000000..60000c5
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/BridgeObject.java
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.common.StringUtils;
+import org.eclipse.stardust.common.reflect.Reflect;
+import org.eclipse.stardust.engine.api.model.PredefinedConstants;
+
+
+/**
+ * Provides an abstraction of a dereferenced {@link AccessPoint}. Contains information
+ * about the data flow direction supported by this bridge and the type of the data.
+ * <p />
+ * Will be used for static type checking.
+ *
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public class BridgeObject
+{
+ private final Class endClass;
+ private final Direction direction;
+
+ /**
+ * Creates a bridge object representing the dereferenced {@link AccessPoint}.
+ *
+ * @param ap The access point to be dereferenced.
+ * @param path The path expression to be used for dereferencing. Path analysis may hint
+ * on the data flow direction of the resulting bridge.
+ * @param direction The data flow direction, either {@link Direction#In}if a LHS bridge
+ * is requested or {@link Direction#Out}if a RHS bridge is requested.
+ *
+ * @return The bridge representing the dereference result.
+ */
+ public static BridgeObject getBridge(AccessPoint ap, String path, Direction direction)
+ {
+ String validatorClass = ap.getType().getStringAttribute(
+ PredefinedConstants.VALIDATOR_CLASS_ATT);
+ if (!StringUtils.isEmpty(validatorClass))
+ {
+ DataValidator validator = (DataValidator) Reflect.getInstance(validatorClass);
+ return validator.getBridgeObject(ap, path, direction);
+ }
+ else
+ {
+ return new BridgeObject(Object.class, direction);
+ }
+ }
+
+ public BridgeObject(Class endClass, Direction direction)
+ {
+ this.endClass = endClass;
+ this.direction = direction;
+ }
+
+ /**
+ * Retrieves the type of data supported by this bridge object. Will be {@link Object}
+ * if no static type information is available.
+ *
+ * @return The Java type of the data supported by this bridge.
+ */
+ public Class getEndClass()
+ {
+ return endClass;
+ }
+
+ /**
+ * Retrieves the data flow direction of the represented data. May be
+ * {@link Direction#In} for a data sink or {@link Direction#Out} for a data source.
+ *
+ * @return The data flow direction of this bridge.
+ */
+ public Direction getDirection()
+ {
+ return direction;
+ }
+
+ /**
+ * Performs a static check if this bridge is valid as a data sink for the data source
+ * represented by <code>rhs</code>.
+ * <p />
+ * Basic validity requires compatible data flow directions and type compatibility (if
+ * available).
+ *
+ * @param rhs The data source to check compatibility against.
+ *
+ * @return <code>true</code> if this bridge may accept assignments from the given data
+ * source, <code>false</code> if not.
+ */
+ public boolean acceptAssignmentFrom(BridgeObject rhs)
+ {
+ // direction must be in or inout or null
+ if (direction == Direction.OUT)
+ {
+ return false;
+ }
+ // rhs direction must be out, inout or null
+ if (rhs.direction == Direction.IN)
+ {
+ return false;
+ }
+ // @todo (france, fh): check if it's correctly working with primitive types
+ return Reflect.isAssignable(endClass, rhs.endClass);
+ }
+
+ /**
+ * Performs a static check if the two given {@link AccessPoint} dereferences are
+ * compatible regarding possible data flow from one to the other.
+ *
+ * @param direction The data flow direction.
+ * @param lhsPoint The left access point.
+ * @param lhsPath The left access point's dereference.
+ * @param rhsPoint The right access point.
+ * @param rhsPath The right access point's dereference.
+ *
+ * @return <code>true</code> if the two dereferences are compatible, <code>false</code>
+ * if not.
+ *
+ * @see #acceptAssignmentFrom(org.eclipse.stardust.model.spi.BridgeObject)
+ */
+ public static boolean isValidMapping(Direction direction,
+ AccessPoint lhsPoint, String lhsPath, AccessPoint rhsPoint, String rhsPath)
+ {
+ BridgeObject leftBridge;
+ try
+ {
+ leftBridge = getBridge(lhsPoint, lhsPath, Direction.IN.equals(direction)
+ ? Direction.IN
+ : Direction.OUT);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ BridgeObject rightBridge;
+ try
+ {
+ rightBridge = getBridge(rhsPoint, rhsPath, Direction.OUT.equals(direction)
+ ? Direction.IN
+ : Direction.OUT);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ return Direction.IN.equals(direction)
+ ? leftBridge.acceptAssignmentFrom(rightBridge)
+ : rightBridge.acceptAssignmentFrom(leftBridge);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataType.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataType.java
new file mode 100644
index 0000000..fa8313f
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataType.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import org.eclipse.stardust.engine.api.model.PluggableType;
+
+/**
+ * @author ubirkemeyer
+ * @version $Revision$
+ */
+public interface DataType extends PluggableType
+{
+ String getName();
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataValidator.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataValidator.java
new file mode 100644
index 0000000..b4466c1
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/spi/DataValidator.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.spi;
+
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.stardust.common.Direction;
+
+/**
+ * Provides static validation of {@link org.eclipse.stardust.model.xpdl.DataMapping}
+ * configurations by tentatively evaluation of {@link AccessPoint} dereferences during
+ * modeling time.
+ */
+public interface DataValidator
+{
+ /**
+ * Performs static Data validation. An implementation is expected to
+ * inspect the given attributes and indicate any
+ * problems with an appropriate {@link org.eclipse.stardust.model.xpdl.Inconsistency}.
+ *
+ * @param attributes Implementation specific data attributes.
+ *
+ * @return The list of found {@link org.eclipse.stardust.model.xpdl.Inconsistency} instances.
+ *
+ * @see org.eclipse.stardust.model.spi.gui.DataPropertiesPanel#getAttributes
+ */
+ List validate(Map attributes);
+
+ /**
+ * Creates an implementation specific bridge object for the given access point and
+ * path.
+ *
+ * @param point
+ * the implementation specific access point.
+ * @param path
+ * the implementation specific access path.
+ * @param direction
+ * the data flow direction, either {@link Direction#In}if a LHS bridge is
+ * requested or {@link Direction#Out}if a RHS bridge is requested
+ *
+ * @return the corresponding bridge object.
+ */
+ BridgeObject getBridgeObject(AccessPoint point, String path, Direction direction);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/ModelApiPlugin.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/ModelApiPlugin.java
new file mode 100644
index 0000000..8c034b7
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/ModelApiPlugin.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.stardust.model.xpdl.api.internal.adapters.AdapterRegistry;
+import org.osgi.framework.BundleContext;
+
+
+public class ModelApiPlugin extends Plugin
+{
+ private static ModelApiPlugin instance;
+
+ public AdapterRegistry adapterRegistry;
+
+ public static ModelApiPlugin instance()
+ {
+ return instance;
+ }
+
+ public static AdapterRegistry getAdapterRegistry()
+ {
+ return instance().adapterRegistry;
+ }
+
+ public ModelApiPlugin()
+ {
+ super();
+ }
+
+ public void start(BundleContext context) throws Exception
+ {
+ super.start(context);
+
+ this.adapterRegistry = new AdapterRegistry();
+
+ instance = this;
+ }
+
+ public void stop(BundleContext context) throws Exception
+ {
+ instance = null;
+
+ super.stop(context);
+ }
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractAttributeHolder.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractAttributeHolder.java
new file mode 100644
index 0000000..7baf427
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractAttributeHolder.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Map;
+
+import org.eclipse.stardust.common.AttributeHolder;
+import org.eclipse.stardust.model.xpdl.carnot.IExtensibleElement;
+
+public class AbstractAttributeHolder implements AttributeHolder
+{
+ protected final IExtensibleElement ieeDelegate;
+
+ public AbstractAttributeHolder(IExtensibleElement delegate)
+ {
+ this.ieeDelegate = delegate;
+ }
+
+ public Object getAttribute(String name)
+ {
+ return AttributeUtils.getAttribute(ieeDelegate, name);
+ }
+
+ public Map getAllAttributes()
+ {
+ return AttributeUtils.getAllAtttributes(ieeDelegate);
+ }
+
+ public String getStringAttribute(String name)
+ {
+ return (String) getAttribute(name);
+ }
+
+ public boolean getBooleanAttribute(String name)
+ {
+ return Boolean.TRUE.equals(getAttribute(name));
+ }
+
+ public int getIntegerAttribute(String name)
+ {
+ Object value = getAttribute(name);
+ return (value instanceof Integer) ? ((Integer) value).intValue() : 0;
+ }
+
+ public long getLongAttribute(String name)
+ {
+ Object value = getAttribute(name);
+ return (value instanceof Long) ? ((Long) value).longValue() : 0l;
+ }
+
+ public float getFloatAttribute(String name)
+ {
+ Object value = getAttribute(name);
+ return (value instanceof Float) ? ((Float) value).floatValue() : 0.0f;
+ }
+
+ public void markModified()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeAllAttributes()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeAttribute(String arg0)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setAllAttributes(Map arg0)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setAttribute(String arg0, Object arg1)
+ {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractConnectionAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractConnectionAdapter.java
new file mode 100644
index 0000000..3d85f4a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractConnectionAdapter.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.stardust.engine.core.model.utils.Connection;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+
+
+public class AbstractConnectionAdapter extends AbstractModelElementAdapter
+ implements Connection
+{
+ public AbstractConnectionAdapter(EObject target)
+ {
+ // TODO
+ super(target);
+ }
+
+ public ModelElement getFirst()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElement getSecond()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableElementAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableElementAdapter.java
new file mode 100644
index 0000000..9a507ec
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableElementAdapter.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.core.model.utils.Identifiable;
+import org.eclipse.stardust.engine.core.model.utils.Nameable;
+import org.eclipse.stardust.model.xpdl.carnot.IExtensibleElement;
+import org.eclipse.stardust.model.xpdl.carnot.IIdentifiableElement;
+
+
+public class AbstractIdentifiableElementAdapter extends AbstractAttributeHolder
+ implements Identifiable, Nameable
+{
+ protected final IIdentifiableElement ieDelegate;
+
+ public AbstractIdentifiableElementAdapter(IIdentifiableElement delegate)
+ {
+ super((delegate instanceof IExtensibleElement)
+ ? (IExtensibleElement) delegate
+ : null);
+
+ this.ieDelegate = delegate;
+ }
+
+ public String getId()
+ {
+ return (null != ieDelegate) ? ieDelegate.getId() : null;
+ }
+
+ public String getName()
+ {
+ return (null != ieDelegate) ? ieDelegate.getName() : null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableModelElementAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableModelElementAdapter.java
new file mode 100644
index 0000000..2670954
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractIdentifiableModelElementAdapter.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.stardust.engine.core.model.utils.IdentifiableElement;
+
+
+public class AbstractIdentifiableModelElementAdapter extends AbstractModelElementAdapter
+ implements IdentifiableElement
+{
+ public AbstractIdentifiableModelElementAdapter(EObject delegate)
+ {
+ super(delegate);
+ }
+
+ public String getId()
+ {
+ return (null != ieDelegate) ? ieDelegate.getId() : null;
+ }
+
+ public String getName()
+ {
+ return (null != ieDelegate) ? ieDelegate.getName() : null;
+ }
+
+ public void setId(String id)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setName(String name)
+ {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelAdapter.java
new file mode 100644
index 0000000..19952da
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelAdapter.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Set;
+
+import org.eclipse.stardust.engine.api.model.IModel;
+import org.eclipse.stardust.model.xpdl.carnot.ModelType;
+
+
+public abstract class AbstractModelAdapter
+ extends AbstractIdentifiableModelElementAdapter implements IModel
+{
+ protected final ModelType mDelegate;
+
+ public AbstractModelAdapter(ModelType delegate)
+ {
+ super(delegate);
+
+ this.mDelegate = delegate;
+ }
+
+ public Set getElementOIDs()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelElementAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelElementAdapter.java
new file mode 100644
index 0000000..f54cb8d
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelElementAdapter.java
@@ -0,0 +1,162 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.stardust.engine.core.model.utils.Hook;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+import org.eclipse.stardust.engine.core.model.utils.RootElement;
+import org.eclipse.stardust.model.xpdl.carnot.IExtensibleElement;
+import org.eclipse.stardust.model.xpdl.carnot.IIdentifiableElement;
+import org.eclipse.stardust.model.xpdl.carnot.IIdentifiableModelElement;
+import org.eclipse.stardust.model.xpdl.carnot.IModelElement;
+import org.eclipse.stardust.model.xpdl.carnot.ModelType;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelUtils;
+
+
+public class AbstractModelElementAdapter extends AbstractAttributeHolder
+ implements ModelElement
+{
+ protected final IIdentifiableElement ieDelegate;
+ protected final IModelElement meDelegate;
+ protected final IIdentifiableModelElement imeDelegate;
+ protected RootElement model = null;
+
+ public AbstractModelElementAdapter(EObject delegate)
+ {
+ super((delegate instanceof IExtensibleElement)
+ ? (IExtensibleElement) delegate
+ : null);
+
+ this.ieDelegate = (delegate instanceof IIdentifiableElement)
+ ? (IIdentifiableElement) delegate
+ : null;
+ this.meDelegate = (delegate instanceof IModelElement)
+ ? (IModelElement) delegate
+ : null;
+ this.imeDelegate = (delegate instanceof IIdentifiableModelElement)
+ ? (IIdentifiableModelElement) delegate
+ : null;
+ }
+
+ public int getElementOID()
+ {
+ return (int) meDelegate.getElementOid();
+ }
+
+ public String getDescription()
+ {
+ return (null != imeDelegate)
+ ? ModelUtils.getDescriptionText(imeDelegate.getDescription())
+ : null;
+ }
+
+ public RootElement getModel()
+ {
+ if(this.model == null)
+ {
+ ModelType mt = ModelUtils.findContainingModel(meDelegate);
+ this.model = new IModelAdapter(mt);
+ }
+
+ return this.model;
+ }
+
+ public long getOID()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public ModelElement getParent()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isPredefined()
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isTransient()
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public <T> T getRuntimeAttribute(String name)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object setRuntimeAttribute(String name, Object value)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setDescription(String description)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void delete()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addReference(Hook reference)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setParent(ModelElement parent)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeReference(Hook reference)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void register(int oid)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setElementOID(int elementOID)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setPredefined(boolean predefined)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public String getUniqueId()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelParticipantAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelParticipantAdapter.java
new file mode 100644
index 0000000..8697109
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AbstractModelParticipantAdapter.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Collections;
+import java.util.Iterator;
+
+import org.eclipse.stardust.common.Unknown;
+import org.eclipse.stardust.engine.api.model.IOrganization;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ConditionalPerformerType;
+import org.eclipse.stardust.model.xpdl.carnot.IModelParticipant;
+import org.eclipse.stardust.model.xpdl.carnot.OrganizationType;
+import org.eclipse.stardust.model.xpdl.carnot.RoleType;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelParticipantUtils;
+
+
+public abstract class AbstractModelParticipantAdapter
+ extends AbstractIdentifiableModelElementAdapter
+ implements org.eclipse.stardust.engine.api.model.IModelParticipant
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ Object result = null;
+ if (adaptee instanceof OrganizationType)
+ {
+ result = IOrganizationAdapter.FACTORY.createAdapter(adaptee);
+ }
+ else if (adaptee instanceof RoleType)
+ {
+ result = IRoleAdapter.FACTORY.createAdapter(adaptee);
+ }
+ else if (adaptee instanceof ConditionalPerformerType)
+ {
+ result = IConditionalPerformerAdapter.FACTORY.createAdapter(adaptee);
+ }
+ return result;
+ }
+ };
+
+ protected final org.eclipse.stardust.model.xpdl.carnot.IModelParticipant mpDelegate;
+
+ public AbstractModelParticipantAdapter(IModelParticipant target)
+ {
+ super(target);
+
+ this.mpDelegate = target;
+ }
+
+ public Iterator getAllOrganizations()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ModelParticipantUtils.getAssociatedOrganizations(mpDelegate),
+ IOrganizationAdapter.FACTORY).iterator();
+ }
+
+ public IOrganization findOrganization(String id)
+ {
+ return (IOrganization) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ ModelParticipantUtils.findAssociatedOrganization(mpDelegate, id),
+ IOrganizationAdapter.FACTORY);
+ }
+
+ public Iterator getAllTopLevelOrganizations()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ModelParticipantUtils.findAssociatedRootOrganizations(mpDelegate),
+ IOrganizationAdapter.FACTORY).iterator();
+ }
+
+ public Iterator getAllParticipants()
+ {
+ return Collections.EMPTY_LIST.iterator();
+ }
+
+ public int getCardinality()
+ {
+ return Unknown.INT;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AccessPointOwnerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AccessPointOwnerAdapter.java
new file mode 100644
index 0000000..bc01c24
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AccessPointOwnerAdapter.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.common.Predicate;
+import org.eclipse.stardust.engine.api.model.AccessPointOwner;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.AccessPointType;
+import org.eclipse.stardust.model.xpdl.carnot.CarnotWorkflowModelPackage;
+import org.eclipse.stardust.model.xpdl.carnot.IAccessPointOwner;
+import org.eclipse.stardust.model.xpdl.carnot.util.AccessPointUtil;
+
+
+public class AccessPointOwnerAdapter implements AccessPointOwner
+{
+ public static final Predicate PRED_IN_ACCESS_POINT = new Predicate()
+ {
+ public boolean accept(Object arg)
+ {
+ return (arg instanceof AccessPointType)
+ && AccessPointUtil.isIn(((AccessPointType) arg).getDirection());
+ }
+ };
+
+ public static final Predicate PRED_OUT_ACCESS_POINT = new Predicate()
+ {
+ public boolean accept(Object arg)
+ {
+ return (arg instanceof AccessPointType)
+ && AccessPointUtil.isOut(((AccessPointType) arg).getDirection());
+ }
+ };
+
+ private static final CarnotWorkflowModelPackage PKG_CWM = CarnotWorkflowModelPackage.eINSTANCE;
+
+ protected final IAccessPointOwner iapoDelegate;
+
+ public AccessPointOwnerAdapter(IAccessPointOwner delegate)
+ {
+ this.iapoDelegate = delegate;
+ }
+
+ public Iterator getAllAccessPoints()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(iapoDelegate, PKG_CWM.getIAccessPointOwner_AccessPoint(),
+ IAccessPointAdapter.FACTORY)
+ .iterator();
+ }
+
+ public Iterator getAllInAccessPoints()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(iapoDelegate,
+ PKG_CWM.getIAccessPointOwner_AccessPoint(), PRED_IN_ACCESS_POINT,
+ IAccessPointAdapter.FACTORY).iterator();
+ }
+
+ public Iterator getAllOutAccessPoints()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(iapoDelegate,
+ PKG_CWM.getIAccessPointOwner_AccessPoint(), PRED_OUT_ACCESS_POINT,
+ IAccessPointAdapter.FACTORY).iterator();
+ }
+
+ public AccessPoint findAccessPoint(String id)
+ {
+ return (AccessPoint) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ iapoDelegate, PKG_CWM.getIAccessPointOwner_AccessPoint(), id,
+ IAccessPointAdapter.FACTORY);
+ }
+
+ public Iterator getAllPersistentAccessPoints()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getProviderClass()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AdapterRegistry.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AdapterRegistry.java
new file mode 100644
index 0000000..72f3675
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AdapterRegistry.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.stardust.common.CompareHelper;
+import org.eclipse.stardust.common.Predicate;
+import org.eclipse.stardust.model.xpdl.carnot.IIdentifiableElement;
+
+public class AdapterRegistry
+{
+ private final Map/* <IAdapterFactory, WeakHashMap> */registry = new HashMap();
+
+ public Object getAdapter(Object adaptee, IAdapterFactory adapterFactory)
+ {
+ WeakHashMap adapters = (WeakHashMap) registry.get(adapterFactory);
+ if (null == adapters)
+ {
+ adapters = new WeakHashMap();
+ registry.put(adapterFactory, adapters);
+ }
+
+ //System.out.println("getAdapter with <"+adaptee+"> <"+adapters+">");
+ if (adaptee == null) {
+ return null;
+ }
+
+ Object result = adapters.get(adaptee);
+ if (null == result)
+ {
+ result = adapterFactory.createAdapter(adaptee);
+ if (null != result)
+ {
+ adapters.put(adaptee, result);
+ }
+ }
+
+ return result;
+ }
+
+ public Object getAdapter(EObject scope, EStructuralFeature feature, String id,
+ IAdapterFactory adapterFactory)
+ {
+ return getAdapter(scope, feature, id, null, adapterFactory);
+ }
+
+ public Object getAdapter(EObject scope, EStructuralFeature feature, String id,
+ Predicate predicate, IAdapterFactory adapterFactory)
+ {
+ Object result = null;
+ if (null != scope)
+ {
+ if (null != scope)
+ {
+ Object rawDomain = scope.eGet(feature);
+ if (rawDomain instanceof List)
+ {
+ List domain = (List) rawDomain;
+ result = getAdapter(domain, id, predicate, adapterFactory);
+ }
+ }
+ }
+ return result;
+ }
+
+ public Object getAdapter(List domain, String id, IAdapterFactory adapterFactory)
+ {
+ return getAdapter(domain, id, null, adapterFactory);
+ }
+
+ public Object getAdapter(List domain, String id, Predicate predicate,
+ IAdapterFactory adapterFactory)
+ {
+ Object result = null;
+
+ for (int i = 0; i < domain.size(); ++i)
+ {
+ Object candidate = domain.get(i);
+ if (candidate instanceof IIdentifiableElement
+ && ((null == predicate) || predicate.accept(candidate))
+ && CompareHelper.areEqual(((IIdentifiableElement) candidate).getId(), id))
+ {
+ result = getAdapter(candidate, adapterFactory);
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ public List getAdapters(EObject scope, EStructuralFeature feature,
+ IAdapterFactory adapterFactory)
+ {
+ //System.out.println("getAdapters entered with <"+scope+"> <"+feature+"> <"+adapterFactory+">");
+ return getAdapters(scope, feature, null, adapterFactory);
+ }
+
+ public List getAdapters(EObject scope, EStructuralFeature feature,
+ Predicate predicate, IAdapterFactory adapterFactory)
+ {
+ List result = null;
+ if (null != scope)
+ {
+ Object adaptees = scope.eGet(feature);
+ if (adaptees instanceof List)
+ {
+ result = getAdapters((List) adaptees, predicate, adapterFactory);
+ }
+ }
+ return (null != result) ? result : Collections.EMPTY_LIST;
+ }
+
+ public List getAdapters(List adaptees, IAdapterFactory adapterFactory)
+ {
+ return getAdapters(adaptees, null, adapterFactory);
+ }
+
+ public List getAdapters(List adaptees, Predicate predicate,
+ IAdapterFactory adapterFactory)
+ {
+ List result = null;
+ for (int i = 0; i < adaptees.size(); i++ )
+ {
+ Object adaptee = adaptees.get(i);
+ if ((null == predicate) || predicate.accept(adaptee))
+ {
+ //System.out.println("getAdapters iteration with <"+predicate+"> <"+adaptee+"> <"+adapterFactory+">");
+ Object adapter = getAdapter(adaptee, adapterFactory);
+ if (null != adapter)
+ {
+ if (null == result)
+ {
+ result = new ArrayList(adaptees.size());
+ }
+ result.add(adapter);
+ }
+ }
+ }
+ return (null != result) ? result : Collections.EMPTY_LIST;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AttributeUtils.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AttributeUtils.java
new file mode 100644
index 0000000..90eb58c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/AttributeUtils.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.stardust.common.StringUtils;
+import org.eclipse.stardust.common.reflect.Reflect;
+import org.eclipse.stardust.engine.api.model.PredefinedConstants;
+import org.eclipse.stardust.model.xpdl.carnot.AttributeType;
+import org.eclipse.stardust.model.xpdl.carnot.CarnotWorkflowModelFactory;
+import org.eclipse.stardust.model.xpdl.carnot.IExtensibleElement;
+import org.eclipse.stardust.model.xpdl.carnot.util.AttributeUtil;
+import org.w3c.dom.DocumentFragment;
+
+
+public class AttributeUtils
+{
+ public static void setAttribute(IExtensibleElement target, String name, Object value)
+ {
+ AttributeType attr = AttributeUtil.getAttribute(target, name);
+
+ if (null == value)
+ {
+ if (null != attr)
+ {
+ target.getAttribute().remove(attr);
+ }
+ }
+ else
+ {
+ if (null == attr)
+ {
+ attr = CarnotWorkflowModelFactory.eINSTANCE.createAttributeType();
+ attr.setName(name);
+
+ target.getAttribute().add(attr);
+ }
+
+ setAttributeValue(attr, value);
+ }
+ }
+
+ public static void setAttributeValue(AttributeType attr, Object value)
+ {
+ if (PredefinedConstants.XPDL_EXTENDED_ATTRIBUTES.equals(attr.getValue())
+ && (value instanceof DocumentFragment))
+ {
+ // TODO
+ // node.appendChild(node.getOwnerDocument().importNode((DocumentFragment)
+ // value, true));
+ }
+ else
+ {
+ attr.setAttributeValue(Reflect.getAbbreviatedName(value.getClass()),
+ Reflect.convertObjectToString(value));
+ }
+ }
+
+ public static Object getAttribute(IExtensibleElement target, String name)
+ {
+ Object result = null;
+
+ AttributeType attr = AttributeUtil.getAttribute(target, name);
+ if (null != attr)
+ {
+ result = getAttributeValue(attr);
+ }
+
+ return result;
+ }
+
+ public static Object getAttributeValue(AttributeType attr)
+ {
+ Object result = null;
+
+ if (PredefinedConstants.XPDL_EXTENDED_ATTRIBUTES.equals(attr.getName()))
+ {
+ // TODO
+ /*
+ * DocumentFragment extFragment =
+ * child.getOwnerDocument().createDocumentFragment();
+ *
+ * NodeList extElements = child.getChildNodes(); for (int i = 0; i <
+ * extElements.getLength(); ++i) { Node extElement = extElements.item(i);
+ * extFragment.appendChild(extElement.cloneNode(true)); }
+ * extFragment.normalize(); result = extFragment;
+ */
+ }
+ else
+ {
+ String valueString = attr.getAttributeValue();
+ if ( !StringUtils.isEmpty(valueString))
+ {
+ String classname = attr.getType();
+ if (StringUtils.isEmpty(classname))
+ {
+ result = valueString;
+ }
+ else
+ {
+ try
+ {
+ result = Reflect.convertStringToObject(classname, valueString);
+ }
+ catch (Exception e)
+ {
+ // TODO
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ public static Map getAllAtttributes(IExtensibleElement target)
+ {
+ Map result = null;
+
+ for (Iterator i = target.getAttribute().iterator(); i.hasNext();)
+ {
+ AttributeType attr = (AttributeType) i.next();
+ Object value = getAttributeValue(attr);
+ if ( !StringUtils.isEmpty(attr.getName()) && (null != value))
+ {
+ if (null == result)
+ {
+ result = new HashMap(target.getAttribute().size());
+ }
+ result.put(attr.getName(), value);
+ }
+ }
+
+ return (null != result)
+ ? Collections.unmodifiableMap(result)
+ : Collections.EMPTY_MAP;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ConversionUtils.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ConversionUtils.java
new file mode 100644
index 0000000..744815a
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ConversionUtils.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.model.xpdl.carnot.DirectionType;
+
+public final class ConversionUtils
+{
+ public static Direction convert(DirectionType src)
+ {
+ return DirectionType.IN_LITERAL.equals(src)
+ ? Direction.IN
+ : DirectionType.OUT_LITERAL.equals(src)
+ ? Direction.OUT
+ : DirectionType.INOUT_LITERAL.equals(src) ? Direction.IN_OUT : null;
+ }
+
+ public static DirectionType convert(Direction src)
+ {
+ return Direction.IN.equals(src)
+ ? DirectionType.IN_LITERAL
+ : Direction.OUT.equals(src)
+ ? DirectionType.OUT_LITERAL
+ : Direction.IN_OUT.equals(src) ? DirectionType.INOUT_LITERAL : null;
+ }
+
+ private ConversionUtils()
+ {
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/DiagramAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/DiagramAdapter.java
new file mode 100644
index 0000000..652fde0
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/DiagramAdapter.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.model.diagram.Diagram;
+import org.eclipse.stardust.model.diagram.NodeSymbol;
+import org.eclipse.stardust.model.diagram.Symbol;
+import org.eclipse.stardust.model.xpdl.carnot.DiagramType;
+
+
+public class DiagramAdapter extends AbstractModelElementAdapter implements Diagram
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof DiagramType) ? new DiagramAdapter(
+ (DiagramType) adaptee) : null;
+ }
+ };
+
+ protected final DiagramType dDelegate;
+
+ public DiagramAdapter(DiagramType target)
+ {
+ super(target);
+
+ this.dDelegate = target;
+ }
+
+ public Iterator getAllSymbols()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean contains(NodeSymbol symbol)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean existConnectionBetween(NodeSymbol symbol1, NodeSymbol symbol2)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean existConnectionBetween(Symbol symbol1, Symbol symbol2, Class connectionType, boolean uniDirectional)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Symbol findSymbolForUserObject(Class userObjectType, int userObjectOID)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Symbol findSymbolForUserObject(Object searchedObject)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator getAllConnections()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator getAllConnections(Class type)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator getAllNodes(Class type)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator getAllNodeSymbols()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterator getExistingConnectionsBetween(Symbol symbol1, Symbol symbol2, Class connectionType, boolean uniDirectional)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getId()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getName()
+ {
+ return dDelegate.getName();
+ }
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/EventHandlerOwnerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/EventHandlerOwnerAdapter.java
new file mode 100644
index 0000000..d26bcf6
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/EventHandlerOwnerAdapter.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.api.model.EventHandlerOwner;
+import org.eclipse.stardust.engine.api.model.IEventHandler;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.IEventHandlerOwner;
+import org.eclipse.stardust.model.xpdl.carnot.IModelElement;
+
+
+public class EventHandlerOwnerAdapter extends AbstractModelElementAdapter
+ implements EventHandlerOwner
+{
+ protected IEventHandlerOwner iehoDelegate;
+
+ public EventHandlerOwnerAdapter(IEventHandlerOwner delegate)
+ {
+ super((delegate instanceof IModelElement) ? (IModelElement) delegate : null);
+
+ this.iehoDelegate = delegate;
+ }
+
+ public Iterator getAllEventHandlers()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ iehoDelegate.getEventHandler(), IEventHandlerAdapter.FACTORY).iterator();
+ }
+
+ public IEventHandler findHandlerById(String id)
+ {
+ return (IEventHandler) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ iehoDelegate.getEventHandler(), id, IEventHandlerAdapter.FACTORY);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAccessPointAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAccessPointAdapter.java
new file mode 100644
index 0000000..83dfd98
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAccessPointAdapter.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IAccessPoint;
+import org.eclipse.stardust.engine.api.model.IDataType;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.AccessPointType;
+
+
+public class IAccessPointAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IAccessPoint
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof AccessPointType) ? new IAccessPointAdapter(
+ (AccessPointType) adaptee) : null;
+ }
+ };
+
+ protected final AccessPointType apDelegate;
+
+ public IAccessPointAdapter(AccessPointType delegate)
+ {
+ super(delegate);
+
+ this.apDelegate = delegate;
+ }
+
+ /**
+ * @category AccessPoint
+ */
+ public Direction getDirection()
+ {
+ return ConversionUtils.convert(apDelegate.getDirection());
+ }
+
+ /**
+ * @category AccessPoint
+ */
+ public PluggableType getType()
+ {
+ return (IDataType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ apDelegate.getMetaType(), IDataTypeAdapter.FACTORY);
+ }
+
+public void setDataType(IDataType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IActivityAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IActivityAdapter.java
new file mode 100644
index 0000000..1352c54
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IActivityAdapter.java
@@ -0,0 +1,402 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.Vector;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IActivity;
+import org.eclipse.stardust.engine.api.model.IApplication;
+import org.eclipse.stardust.engine.api.model.IApplicationContext;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataMapping;
+import org.eclipse.stardust.engine.api.model.IEventHandler;
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IProcessDefinition;
+import org.eclipse.stardust.engine.api.model.ITransition;
+import org.eclipse.stardust.engine.api.model.ImplementationType;
+import org.eclipse.stardust.engine.api.model.LoopType;
+import org.eclipse.stardust.engine.api.model.SubProcessModeKey;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ActivityImplementationType;
+import org.eclipse.stardust.model.xpdl.carnot.ActivityType;
+import org.eclipse.stardust.model.xpdl.carnot.DataMappingType;
+import org.eclipse.stardust.model.xpdl.carnot.DirectionType;
+import org.eclipse.stardust.model.xpdl.carnot.JoinSplitType;
+import org.eclipse.stardust.model.xpdl.carnot.SubProcessModeType;
+import org.eclipse.stardust.model.xpdl.carnot.TransitionType;
+
+
+public class IActivityAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IActivity
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ActivityType) ? new IActivityAdapter(
+ (ActivityType) adaptee) : null;
+ }
+ };
+
+ protected ActivityType aAdapter;
+
+ protected EventHandlerOwnerAdapter ehoAdapter;
+
+ public IActivityAdapter(ActivityType delegate)
+ {
+ super(delegate);
+
+ this.aAdapter = delegate;
+
+ this.ehoAdapter = new EventHandlerOwnerAdapter(delegate);
+ }
+
+ /**
+ * @category EventHandlerOwner
+ */
+ public Iterator getAllEventHandlers()
+ {
+ return ehoAdapter.getAllEventHandlers();
+ }
+
+ /**
+ * @category EventHandlerOwner
+ */
+ public IEventHandler findHandlerById(String id)
+ {
+ return ehoAdapter.findHandlerById(id);
+ }
+
+ public Iterator getAllInTransitions()
+ {
+ List result = new LinkedList();
+
+ for (Iterator i = aAdapter.getInTransitions().iterator(); i.hasNext(); ) {
+ TransitionType transitionType = (TransitionType)i.next();
+ result.add((ITransition) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ transitionType, ITransitionAdapter.FACTORY));
+ }
+
+ return result.iterator();
+ }
+
+ public Iterator getAllOutTransitions()
+ {
+ List result = new LinkedList();
+
+ for (Iterator i = aAdapter.getOutTransitions().iterator(); i.hasNext(); ) {
+ TransitionType transitionType = (TransitionType)i.next();
+ result.add((ITransition) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ transitionType, ITransitionAdapter.FACTORY));
+ }
+
+ return result.iterator();
+ }
+
+ public Iterator getAllDataMappings()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public Iterator getAllInDataMappings()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public Iterator getAllOutDataMappings()
+ {
+ List result = new LinkedList();
+
+ for (Iterator i = aAdapter.getDataMapping().iterator(); i.hasNext(); ) {
+ DataMappingType dataMappingType = (DataMappingType)i.next();
+ if (dataMappingType.getDirection().equals(DirectionType.OUT_LITERAL) ||
+ dataMappingType.getDirection().equals(DirectionType.INOUT_LITERAL)) {
+ result.add((IDataMapping) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ dataMappingType, IDataMappingAdapter.FACTORY));
+ }
+ }
+
+ return result.iterator();
+ }
+
+ public Iterator findDataMappings(IData data, Direction direction)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public IDataMapping findDataMappingById(String id, Direction direction, String context)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public Iterator findExceptionHandlers(IData data)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public AccessPoint getAccessPoint(String context, String id)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public Iterator getAllContexts()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public IApplicationContext getContext(String id)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public boolean hasEventHandlers(String type)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public Iterator getAllEventHandlers(String type)
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public boolean getAllowsAbortByPerformer()
+ {
+ return aAdapter.isAllowsAbortByPerformer();
+ }
+
+ public IApplication getApplication()
+ {
+ return (IApplication) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ aAdapter.getApplication(), IApplicationAdapter.FACTORY);
+ }
+
+ public Set getApplicationOutDataMappingAccessPoints()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public IProcessDefinition getImplementationProcessDefinition()
+ {
+ return (IProcessDefinition) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ aAdapter.getImplementationProcess(), IProcessDefinitionAdapter.FACTORY);
+ }
+
+ public ImplementationType getImplementationType()
+ {
+ if (aAdapter.getImplementation().equals(ActivityImplementationType.ROUTE_LITERAL)) {
+ return ImplementationType.Route;
+ } else if (aAdapter.getImplementation().equals(ActivityImplementationType.APPLICATION_LITERAL)) {
+ return ImplementationType.Application;
+ } else if (aAdapter.getImplementation().equals(ActivityImplementationType.MANUAL_LITERAL)) {
+ return ImplementationType.Manual;
+ } else if (aAdapter.getImplementation().equals(ActivityImplementationType.SUBPROCESS_LITERAL)) {
+ return ImplementationType.SubProcess;
+ } else {
+ throw new RuntimeException("Unexpected activity implementation type <"+aAdapter.getImplementation()+">"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ public org.eclipse.stardust.engine.api.model.JoinSplitType getJoinType()
+ {
+ if (aAdapter.getJoin().equals(JoinSplitType.AND_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.And;
+ } else if (aAdapter.getJoin().equals(JoinSplitType.NONE_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.None;
+ } else if (aAdapter.getJoin().equals(JoinSplitType.XOR_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.Xor;
+ } else {
+ throw new RuntimeException("Unexpected split type <"+aAdapter.getJoin()+">"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ }
+
+ public LoopType getLoopType()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+ }
+
+ public String getLoopCondition()
+ {
+ return aAdapter.getLoopCondition();
+ }
+
+ public IModelParticipant getPerformer()
+ {
+ return (IModelParticipant) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ aAdapter.getPerformer(), AbstractModelParticipantAdapter.FACTORY);
+ }
+
+ public IProcessDefinition getProcessDefinition()
+ {
+ // TODO implement
+ throw new RuntimeException("Not implemented yet"); //$NON-NLS-1$
+
+ }
+
+ public org.eclipse.stardust.engine.api.model.JoinSplitType getSplitType()
+ {
+ if (aAdapter.getSplit().equals(JoinSplitType.AND_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.And;
+ } else if (aAdapter.getSplit().equals(JoinSplitType.NONE_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.None;
+ } else if (aAdapter.getSplit().equals(JoinSplitType.XOR_LITERAL)) {
+ return org.eclipse.stardust.engine.api.model.JoinSplitType.Xor;
+ } else {
+ throw new RuntimeException("Unexpected split type <"+aAdapter.getSplit()+">"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ public SubProcessModeKey getSubProcessMode()
+ {
+ if (aAdapter.getSubProcessMode().equals(SubProcessModeType.ASYNC_SEPARATE_LITERAL)) {
+ return SubProcessModeKey.ASYNC_SEPARATE;
+ } else if (aAdapter.getSubProcessMode().equals(SubProcessModeType.SYNC_SEPARATE_LITERAL)) {
+ return SubProcessModeKey.SYNC_SEPARATE;
+ } else if (aAdapter.getSubProcessMode().equals(SubProcessModeType.SYNC_SHARED_LITERAL)) {
+ return SubProcessModeKey.SYNC_SHARED;
+ } else {
+ throw new RuntimeException("Unexpected SubProcessModeKey <"+aAdapter.getSubProcessMode()+">"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ public boolean isHibernateOnCreation()
+ {
+ return aAdapter.isHibernateOnCreation();
+ }
+
+ public boolean isInteractive()
+ {
+ if(getImplementationType().equals(ImplementationType.Manual)) {
+ return true;
+ } else if (getImplementationType().equals(ImplementationType.Application)) {
+ return getApplication().isInteractive();
+ }
+ return false;
+ }
+
+public void addToDataMappings(IDataMapping arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public IDataMapping createDataMapping(String arg0, IData arg1, Direction arg2) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+}
+
+public IDataMapping createDataMapping(String arg0, IData arg1, Direction arg2, String arg3, int arg4) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+}
+
+public void removeAllDataMappings() {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void removeFromDataMappings(IDataMapping arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setAllowsAbortByPerformer(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setApplication(IApplication arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setHibernateOnCreation(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setImplementationProcessDefinition(IProcessDefinition arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setImplementationType(ImplementationType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setJoinType(org.eclipse.stardust.engine.api.model.JoinSplitType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setLoopCondition(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setLoopType(LoopType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setPerformer(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setSplitType(org.eclipse.stardust.engine.api.model.JoinSplitType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+
+public void setSubProcessMode(SubProcessModeKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException("NIY"); //$NON-NLS-1$
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAdapterFactory.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAdapterFactory.java
new file mode 100644
index 0000000..14b80c1
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IAdapterFactory.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+public interface IAdapterFactory
+{
+ Object createAdapter(Object adaptee);
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationAdapter.java
new file mode 100644
index 0000000..2c54d5c
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationAdapter.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.IAccessPoint;
+import org.eclipse.stardust.engine.api.model.IApplication;
+import org.eclipse.stardust.engine.api.model.IApplicationContext;
+import org.eclipse.stardust.engine.api.model.IApplicationType;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ApplicationType;
+import org.eclipse.stardust.model.xpdl.carnot.CarnotWorkflowModelPackage;
+
+
+public class IApplicationAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IApplication
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ApplicationType) ? new IApplicationAdapter(
+ (ApplicationType) adaptee) : null;
+ }
+ };
+
+ private static final CarnotWorkflowModelPackage PKG_CWM = CarnotWorkflowModelPackage.eINSTANCE;
+
+ protected final ApplicationType aDelegate;
+
+ protected final AccessPointOwnerAdapter apoAdapter;
+
+ public IApplicationAdapter(ApplicationType delegate)
+ {
+ super(delegate);
+
+ this.aDelegate = delegate;
+
+ this.apoAdapter = new AccessPointOwnerAdapter(delegate);
+ }
+
+ public PluggableType getType()
+ {
+ return (IApplicationType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ aDelegate.getMetaType(), IApplicationTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllAccessPoints()
+ {
+ return apoAdapter.getAllAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllInAccessPoints()
+ {
+ return apoAdapter.getAllInAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllOutAccessPoints()
+ {
+ return apoAdapter.getAllOutAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllPersistentAccessPoints()
+ {
+ return apoAdapter.getAllPersistentAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public AccessPoint findAccessPoint(String id)
+ {
+ return apoAdapter.findAccessPoint(id);
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public String getProviderClass()
+ {
+ return apoAdapter.getProviderClass();
+ }
+
+ public Iterator getAllActivities()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(aDelegate, PKG_CWM.getApplicationType_ExecutedActivities(),
+ IActivityAdapter.FACTORY)
+ .iterator();
+ }
+
+ public Iterator getAllContexts()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ aDelegate.getContext(), IApplicationContextAdapter.FACTORY).iterator();
+ }
+
+ public IApplicationContext findContext(String id)
+ {
+ return (IApplicationContext) ModelApiPlugin.getAdapterRegistry()
+ .getAdapter(aDelegate.getContext(), id, IApplicationContextAdapter.FACTORY);
+ }
+
+ public boolean isInteractive()
+ {
+ return aDelegate.isInteractive();
+ }
+
+ public boolean isSynchronous()
+ {
+ // TODO no corresponding method in EMF, what should be returned here
+ return false;
+ }
+
+public void addToPersistentAccessPoints(IAccessPoint arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public IApplicationContext createContext(String arg0, int arg1) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void removeAllContexts() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeContext(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setApplicationType(IApplicationType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setInteractive(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextAdapter.java
new file mode 100644
index 0000000..0401543
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextAdapter.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.api.model.IApplicationContext;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ContextType;
+
+
+public class IApplicationContextAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IApplicationContext
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ContextType) ? new IApplicationContextAdapter(
+ (ContextType) adaptee) : null;
+ }
+ };
+
+ protected final ContextType acDelegate;
+
+ public IApplicationContextAdapter(ContextType target)
+ {
+ super(target);
+
+ this.acDelegate = target;
+ }
+
+ public PluggableType getType()
+ {
+ return (PluggableType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ acDelegate.getType(), IApplicationContextTypeAdapter.FACTORY);
+ }
+
+ public Iterator getAllAccessPoints()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Iterator getAllInAccessPoints()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Iterator getAllOutAccessPoints()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Iterator getAllPersistentAccessPoints()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public AccessPoint findAccessPoint(String id)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public String getProviderClass()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextTypeAdapter.java
new file mode 100644
index 0000000..75374c3
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationContextTypeAdapter.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.IApplicationContextType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.ApplicationContextTypeType;
+
+
+
+public class IApplicationContextTypeAdapter
+ extends AbstractIdentifiableModelElementAdapter implements IApplicationContextType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ApplicationContextTypeType)
+ ? new IApplicationContextTypeAdapter((ApplicationContextTypeType) adaptee)
+ : null;
+ }
+ };
+
+ protected final ApplicationContextTypeType actDelegate;
+
+ public IApplicationContextTypeAdapter(ApplicationContextTypeType target)
+ {
+ super(target);
+
+ this.actDelegate = target;
+ }
+
+ public boolean hasApplicationPath()
+ {
+ return actDelegate.isHasApplicationPath();
+ }
+
+ public boolean hasMappingId()
+ {
+ return actDelegate.isHasMappingId();
+ }
+
+public void setHasApplicationPath(boolean arg0) {
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setHasMappingId(boolean arg0) {
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationTypeAdapter.java
new file mode 100644
index 0000000..8d466d6
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IApplicationTypeAdapter.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.IApplicationType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.ApplicationTypeType;
+
+
+
+public class IApplicationTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IApplicationType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ApplicationTypeType) ? new IApplicationTypeAdapter(
+ (ApplicationTypeType) adaptee) : null;
+ }
+ };
+
+ protected final ApplicationTypeType atDelegate;
+
+ public IApplicationTypeAdapter(ApplicationTypeType target)
+ {
+ super(target);
+
+ this.atDelegate = target;
+ }
+
+ public boolean isSynchronous()
+ {
+ return atDelegate.isSynchronous();
+ }
+
+public void setSynchronous(boolean arg0) {
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IConditionalPerformerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IConditionalPerformerAdapter.java
new file mode 100644
index 0000000..52e6aff
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IConditionalPerformerAdapter.java
@@ -0,0 +1,125 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.common.error.PublicException;
+import org.eclipse.stardust.engine.api.model.IConditionalPerformer;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IParticipant;
+import org.eclipse.stardust.engine.api.model.ParticipantType;
+import org.eclipse.stardust.engine.core.runtime.beans.IProcessInstance;
+import org.eclipse.stardust.engine.core.runtime.beans.IUser;
+import org.eclipse.stardust.engine.core.runtime.beans.IUserGroup;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ConditionalPerformerType;
+
+
+public class IConditionalPerformerAdapter extends AbstractModelParticipantAdapter
+ implements IConditionalPerformer
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ConditionalPerformerType)
+ ? new IConditionalPerformerAdapter((ConditionalPerformerType) adaptee)
+ : null;
+ }
+ };
+
+ protected final ConditionalPerformerType cpDelegate;
+
+ public IConditionalPerformerAdapter(ConditionalPerformerType target)
+ {
+ super(target);
+
+ this.cpDelegate = target;
+ }
+
+ public IData getData()
+ {
+ return (IData) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ cpDelegate.getData(), IDataAdapter.FACTORY);
+ }
+
+ public String getDereferencePath()
+ {
+ return cpDelegate.getDataPath();
+ }
+
+ public ParticipantType getPerformerKind()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean isUser()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+public IParticipant retrievePerformer(IProcessInstance arg0) throws PublicException {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setData(IData arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDereferencePath(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setUser(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public boolean isAuthorized(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUser arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUserGroup arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setDescription(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataAdapter.java
new file mode 100644
index 0000000..c46daff
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataAdapter.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.List;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataType;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.DataType;
+
+
+public class IDataAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IData
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof DataType)
+ ? new IDataAdapter((DataType) adaptee)
+ : null;
+ }
+ };
+
+ protected final DataType dDelegate;
+
+ public IDataAdapter(DataType target)
+ {
+ super(target);
+
+ this.dDelegate = target;
+ }
+
+ /**
+ * @category IData
+ */
+ public PluggableType getType()
+ {
+ return (IDataType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ dDelegate.getMetaType(), IDataTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IData
+ */
+ public Direction getDirection()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+public void checkConsistency(List arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDataType(IDataType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataMappingAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataMappingAdapter.java
new file mode 100644
index 0000000..6425aa4
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataMappingAdapter.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IActivity;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataMapping;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.DataMappingType;
+
+
+public class IDataMappingAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IDataMapping
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof DataMappingType)
+ ? new IDataMappingAdapter((DataMappingType) adaptee)
+ : null;
+ }
+ };
+
+ protected final DataMappingType dDelegate;
+
+ public IDataMappingAdapter(DataMappingType target)
+ {
+ super(target);
+
+ this.dDelegate = target;
+ }
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public IActivity getActivity() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public AccessPoint getActivityAccessPoint() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public String getActivityAccessPointId() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public String getActivityPath() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public String getContext() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public IData getData() {
+ return (IData) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ dDelegate.getData(), IDataAdapter.FACTORY);
+}
+
+public String getDataPath() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public Direction getDirection() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setActivityAccessPointId(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setActivityPath(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setContext(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setData(IData arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDataPath(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDirection(Direction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataPathAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataPathAdapter.java
new file mode 100644
index 0000000..c3650f2
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataPathAdapter.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataPath;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.DataPathType;
+
+
+public class IDataPathAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IDataPath
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof DataPathType) ? new IDataPathAdapter(
+ (DataPathType) adaptee) : null;
+ }
+ };
+
+ protected final DataPathType dpDelegate;
+
+ public IDataPathAdapter(DataPathType target)
+ {
+ super(target);
+
+ this.dpDelegate = target;
+ }
+
+ /**
+ * @category IDataPath
+ */
+ public boolean isDescriptor()
+ {
+ return dpDelegate.isDescriptor();
+ }
+
+ /**
+ * @category IDataPath
+ */
+ public Direction getDirection()
+ {
+ return ConversionUtils.convert(dpDelegate.getDirection());
+ }
+
+ /**
+ * @category IDataPath
+ */
+ public IData getData()
+ {
+ return (IData) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ dpDelegate.getData(), IDataAdapter.FACTORY);
+ }
+
+ /**
+ * @category IDataPath
+ */
+ public String getAccessPath()
+ {
+ return dpDelegate.getDataPath();
+ }
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setAccessPath(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setData(IData arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDescriptor(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDirection(Direction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataTypeAdapter.java
new file mode 100644
index 0000000..1530550
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IDataTypeAdapter.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.IDataType;
+import org.eclipse.stardust.model.xpdl.carnot.DataTypeType;
+
+
+public class IDataTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IDataType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof DataTypeType) ? new IDataTypeAdapter(
+ (DataTypeType) adaptee) : null;
+ }
+ };
+
+ public IDataTypeAdapter(DataTypeType target)
+ {
+ super(target);
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionAdapter.java
new file mode 100644
index 0000000..6272178
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionAdapter.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.EventActionContext;
+import org.eclipse.stardust.engine.api.model.IEventAction;
+import org.eclipse.stardust.engine.api.model.IEventActionType;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.EventActionType;
+
+
+public class IEventActionAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IEventAction
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof EventActionType) ? new IEventActionAdapter(
+ (EventActionType) adaptee) : null;
+ }
+ };
+
+ protected final EventActionType eaDelegate;
+
+ public IEventActionAdapter(EventActionType target)
+ {
+ super(target);
+
+ this.eaDelegate = target;
+ }
+
+ public PluggableType getType()
+ {
+ return (IEventActionType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ eaDelegate.getMetaType(), IEventActionTypeAdapter.FACTORY);
+ }
+
+ public EventActionContext getContext()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setActionType(IEventActionType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionTypeAdapter.java
new file mode 100644
index 0000000..7b8bd8e
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventActionTypeAdapter.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.api.model.EventActionContext;
+import org.eclipse.stardust.engine.api.model.IEventActionType;
+import org.eclipse.stardust.engine.api.model.IEventConditionType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.EventActionTypeType;
+
+
+
+public class IEventActionTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IEventActionType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof EventActionTypeType) ? new IEventActionTypeAdapter(
+ (EventActionTypeType) adaptee) : null;
+ }
+ };
+
+ protected final EventActionTypeType eatDelegate;
+
+ public IEventActionTypeAdapter(EventActionTypeType target)
+ {
+ super(target);
+
+ this.eatDelegate = target;
+ }
+
+ public boolean isProcessAction()
+ {
+ return eatDelegate.isProcessAction();
+ }
+
+ public boolean isActivityAction()
+ {
+ return eatDelegate.isActivityAction();
+ }
+
+ public Iterator getSupportedConditionTypes()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Iterator getUnsupportedContexts()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean supports(EventActionContext type)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean supports(IEventConditionType type)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+public void addSupportedConditionType(IEventConditionType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addUnsupportedContext(EventActionContext arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeAllSupportedConditionTypes() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeAllUnsupportedContexts() {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setActivityAction(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setProcessAction(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventConditionTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventConditionTypeAdapter.java
new file mode 100644
index 0000000..82733d3
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventConditionTypeAdapter.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.EventType;
+import org.eclipse.stardust.engine.api.model.IEventConditionType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.EventConditionTypeType;
+
+
+
+public class IEventConditionTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IEventConditionType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof EventConditionTypeType)
+ ? new IEventConditionTypeAdapter((EventConditionTypeType) adaptee)
+ : null;
+ }
+ };
+
+ protected final EventConditionTypeType ectDelegate;
+
+ public IEventConditionTypeAdapter(EventConditionTypeType target)
+ {
+ super(target);
+
+ this.ectDelegate = target;
+ }
+
+ public boolean hasProcessInstanceScope()
+ {
+ return ectDelegate.isProcessCondition();
+ }
+
+ public boolean hasActivityInstanceScope()
+ {
+ return ectDelegate.isActivityCondition();
+ }
+
+ public boolean isAutoBinding()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean isDisableOnMatch()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public EventType getImplementation()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+public void setActivityInstanceScope(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setAutoBinding(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setDisableOnMatch(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setProcessInstanceScope(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventHandlerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventHandlerAdapter.java
new file mode 100644
index 0000000..ffbe136
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IEventHandlerAdapter.java
@@ -0,0 +1,224 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.IBindAction;
+import org.eclipse.stardust.engine.api.model.IEventAction;
+import org.eclipse.stardust.engine.api.model.IEventActionType;
+import org.eclipse.stardust.engine.api.model.IEventConditionType;
+import org.eclipse.stardust.engine.api.model.IEventHandler;
+import org.eclipse.stardust.engine.api.model.IUnbindAction;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.EventHandlerType;
+
+
+public class IEventHandlerAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IEventHandler
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof EventHandlerType) ? new IEventHandlerAdapter(
+ (EventHandlerType) adaptee) : null;
+ }
+ };
+
+ protected final EventHandlerType ehDelegate;
+
+ protected final AccessPointOwnerAdapter apoAdapter;
+
+ public IEventHandlerAdapter(EventHandlerType target)
+ {
+ super(target);
+
+ this.ehDelegate = target;
+
+ this.apoAdapter = new AccessPointOwnerAdapter(target);
+ }
+
+ public boolean hasBindActions()
+ {
+ return !ehDelegate.getBindAction().isEmpty();
+ }
+
+ public Iterator getAllBindActions()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ehDelegate.getBindAction(), IEventActionAdapter.FACTORY).iterator();
+ }
+
+ public Iterator getAllEventActions()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ehDelegate.getEventAction(), IEventActionAdapter.FACTORY).iterator();
+ }
+
+ public boolean hasUnbindActions()
+ {
+ return !ehDelegate.getUnbindAction().isEmpty();
+ }
+
+ public Iterator getAllUnbindActions()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ehDelegate.getUnbindAction(), IEventActionAdapter.FACTORY).iterator();
+ }
+
+ public boolean isAutoBind()
+ {
+ return ehDelegate.isAutoBind();
+ }
+
+ public boolean isLogHandler()
+ {
+ return ehDelegate.isLogHandler();
+ }
+
+ public boolean isConsumeOnMatch()
+ {
+ return ehDelegate.isConsumeOnMatch();
+ }
+
+ public boolean isUnbindOnMatch()
+ {
+ return ehDelegate.isUnbindOnMatch();
+ }
+
+ public PluggableType getType()
+ {
+ return (IEventConditionType) ModelApiPlugin.getAdapterRegistry()
+ .getAdapter(ehDelegate.getMetaType(), IEventConditionTypeAdapter.FACTORY);
+ }
+
+ public AccessPoint findAccessPoint(String id)
+ {
+ return apoAdapter.findAccessPoint(id);
+ }
+
+ public Iterator getAllAccessPoints()
+ {
+ return apoAdapter.getAllAccessPoints();
+ }
+
+ public Iterator getAllInAccessPoints()
+ {
+ return apoAdapter.getAllInAccessPoints();
+ }
+
+ public Iterator getAllOutAccessPoints()
+ {
+ return apoAdapter.getAllOutAccessPoints();
+ }
+
+ public Iterator getAllPersistentAccessPoints()
+ {
+ return apoAdapter.getAllPersistentAccessPoints();
+ }
+
+ public String getProviderClass()
+ {
+ return apoAdapter.getProviderClass();
+ }
+
+public void addToBindActions(IBindAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addToEventActions(IEventAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addToUnbindActions(IUnbindAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public IBindAction createBindAction(String arg0, String arg1, IEventActionType arg2, int arg3) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public IEventAction createEventAction(String arg0, String arg1, IEventActionType arg2, int arg3) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public IUnbindAction createUnbindAction(String arg0, String arg1, IEventActionType arg2, int arg3) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void removeFromBindActions(IBindAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeFromEventActions(IEventAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeFromUnbindActions(IUnbindAction arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setAutoBind(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setConditionType(IEventConditionType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setConsumeOnMatch(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setLogHandler(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setUnbindOnMatch(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ILinkTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ILinkTypeAdapter.java
new file mode 100644
index 0000000..a83f2b5
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ILinkTypeAdapter.java
@@ -0,0 +1,205 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.common.CompareHelper;
+import org.eclipse.stardust.engine.api.model.CardinalityKey;
+import org.eclipse.stardust.engine.api.model.ILinkType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.diagram.ArrowKey;
+import org.eclipse.stardust.model.diagram.ColorKey;
+import org.eclipse.stardust.model.diagram.LineKey;
+import org.eclipse.stardust.model.xpdl.carnot.LinkTypeType;
+
+
+public class ILinkTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements ILinkType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof LinkTypeType) ? new ILinkTypeAdapter(
+ (LinkTypeType) adaptee) : null;
+ }
+ };
+
+ protected final LinkTypeType ltDelegate;
+
+ public ILinkTypeAdapter(LinkTypeType target)
+ {
+ super(target);
+
+ this.ltDelegate = target;
+ }
+
+ public String getFirstRole()
+ {
+ return ltDelegate.getSourceRole();
+ }
+
+ public Class getFirstClass()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public CardinalityKey getFirstCardinality()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public String getSecondRole()
+ {
+ return ltDelegate.getTargetRole();
+ }
+
+ public Class getSecondClass()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public CardinalityKey getSecondCardinality()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Class getOtherClass(String role)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public String getOtherRole(String role)
+ {
+ return CompareHelper.areEqual(role, getFirstRole())
+ ? getSecondRole()
+ : CompareHelper.areEqual(role, getSecondRole()) ? getFirstRole() : null;
+ }
+
+ public ColorKey getLineColor()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public LineKey getLineType()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public ArrowKey getFirstArrowType()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public ArrowKey getSecondArrowType()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean getShowLinkTypeName()
+ {
+ return ltDelegate.isShowLinkTypeName();
+ }
+
+ public boolean getShowRoleNames()
+ {
+ return ltDelegate.isShowRoleNames();
+ }
+
+public void setFirstArrowType(ArrowKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setFirstCardinality(CardinalityKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setFirstClass(Class arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setFirstRole(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setLineColor(ColorKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setLineType(LineKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setSecondArrowType(ArrowKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setSecondCardinality(CardinalityKey arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setSecondClass(Class arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setSecondRole(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setShowLinkTypeName(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setShowRoleNames(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelAdapter.java
new file mode 100644
index 0000000..143428f
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelAdapter.java
@@ -0,0 +1,995 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Vector;
+
+import javax.xml.namespace.QName;
+
+import org.eclipse.stardust.common.FilteringIterator;
+import org.eclipse.stardust.common.Predicate;
+import org.eclipse.stardust.common.SplicingIterator;
+import org.eclipse.stardust.common.config.Version;
+import org.eclipse.stardust.common.error.PublicException;
+import org.eclipse.stardust.engine.api.model.CardinalityKey;
+import org.eclipse.stardust.engine.api.model.EventType;
+import org.eclipse.stardust.engine.api.model.IApplication;
+import org.eclipse.stardust.engine.api.model.IApplicationContextType;
+import org.eclipse.stardust.engine.api.model.IApplicationType;
+import org.eclipse.stardust.engine.api.model.IConditionalPerformer;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataType;
+import org.eclipse.stardust.engine.api.model.IEventActionType;
+import org.eclipse.stardust.engine.api.model.IEventConditionType;
+import org.eclipse.stardust.engine.api.model.IExternalPackage;
+import org.eclipse.stardust.engine.api.model.ILinkType;
+import org.eclipse.stardust.engine.api.model.IModel;
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IModeler;
+import org.eclipse.stardust.engine.api.model.IOrganization;
+import org.eclipse.stardust.engine.api.model.IProcessDefinition;
+import org.eclipse.stardust.engine.api.model.IRole;
+import org.eclipse.stardust.engine.api.model.ITriggerType;
+import org.eclipse.stardust.engine.api.model.ITypeDeclaration;
+import org.eclipse.stardust.engine.api.model.IView;
+import org.eclipse.stardust.engine.api.model.IXpdlType;
+import org.eclipse.stardust.engine.api.model.Scripting;
+import org.eclipse.stardust.engine.core.model.utils.Differences;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+import org.eclipse.stardust.engine.core.model.utils.ModelElementList;
+import org.eclipse.stardust.engine.core.model.utils.ModelListener;
+import org.eclipse.stardust.engine.core.model.utils.RootElement;
+import org.eclipse.stardust.engine.core.preferences.configurationvariables.IConfigurationVariableDefinition;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.diagram.ArrowKey;
+import org.eclipse.stardust.model.diagram.ColorKey;
+import org.eclipse.stardust.model.diagram.Diagram;
+import org.eclipse.stardust.model.diagram.LineKey;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.CarnotWorkflowModelPackage;
+import org.eclipse.stardust.model.xpdl.carnot.ModelType;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelParticipantUtils;
+
+
+public class IModelAdapter extends AbstractModelAdapter implements IModel
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ModelType)
+ ? new IModelAdapter((ModelType) adaptee)
+ : null;
+ }
+ };
+
+ private static final CarnotWorkflowModelPackage PKG_CWM = CarnotWorkflowModelPackage.eINSTANCE;
+
+ protected final ModelType mDelegate;
+
+ public IModelAdapter(ModelType delegate)
+ {
+ super(delegate);
+
+ this.mDelegate = delegate;
+ }
+
+ /**
+ * @category RootElement
+ */
+ public int getModelOID()
+ {
+ return mDelegate.getModelOID();
+ }
+
+ /**
+ * @category RootElement
+ */
+ public ModelElement lookupElement(int elementOID)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category SymbolTable
+ */
+ public Object lookupSymbol(String name)
+ {
+ // TODO taken from ModelBean, weird
+ if (null == findData(name))
+ {
+ throw new PublicException(API_Messages.MSG_InvalidSym + " '" + name + "'"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ return null;
+ }
+
+ /**
+ * @category SymbolTable
+ */
+ public IData lookupSymbolType(String name)
+ {
+ IData data = findData(name);
+
+ if (null == data)
+ {
+ throw new PublicException(API_Messages.MSG_InvalidSym + " '" + name + "'"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ return data;
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getApplicationsCount()
+ {
+ return mDelegate.getApplication().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllApplications()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_Application(),
+ IApplicationAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IApplication findApplication(String id)
+ {
+ return (IApplication) ModelApiPlugin.getAdapterRegistry().getAdapter(mDelegate,
+ PKG_CWM.getModelType_Application(), id, IApplicationAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getDataCount()
+ {
+ return mDelegate.getData().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllData()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_Data(), IDataAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IData findData(String id)
+ {
+ return (IData) ModelApiPlugin.getAdapterRegistry().getAdapter(mDelegate,
+ PKG_CWM.getModelType_Data(), id, IDataAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getModelersCount()
+ {
+ return mDelegate.getModeler().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllModelers()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_Modeler(),
+ IModelerAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getOrganizationsCount()
+ {
+ return mDelegate.getOrganization().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllOrganizations()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_Organization(),
+ IOrganizationAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getRolesCount()
+ {
+ return mDelegate.getRole().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllRoles()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_Role(), IRoleAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getConditionalPerformersCount()
+ {
+ return mDelegate.getConditionalPerformer().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllConditionalPerformers()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_ConditionalPerformer(),
+ IConditionalPerformerAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllParticipants()
+ {
+ return new SplicingIterator(new SplicingIterator(getAllOrganizations(),
+ getAllRoles()), new SplicingIterator(getAllConditionalPerformers(),
+ getAllModelers()));
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllTopLevelParticipants()
+ {
+ return new FilteringIterator(getAllParticipants(), new Predicate()
+ {
+ public boolean accept(Object o)
+ {
+ return !((IModelParticipant) o).getAllOrganizations().hasNext();
+ }
+ });
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllWorkflowParticipants()
+ {
+ return new SplicingIterator(getAllOrganizations(), getAllRoles());
+ }
+
+ /**
+ * @category IModel
+ */
+ public IModelParticipant findParticipant(String id)
+ {
+ IModelParticipant result = null;
+
+ Object participant = ModelParticipantUtils.findById(mDelegate, id);
+ if (null != participant)
+ {
+ result = (IModelParticipant) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ participant, AbstractModelParticipantAdapter.FACTORY);
+ }
+ else
+ {
+ result = (IModelParticipant) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getModeler(), id, IModelerAdapter.FACTORY);
+ }
+
+ return result;
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getProcessDefinitionsCount()
+ {
+ return mDelegate.getProcessDefinition().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllProcessDefinitions()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate, PKG_CWM.getModelType_ProcessDefinition(),
+ IProcessDefinitionAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IProcessDefinition findProcessDefinition(String id)
+ {
+ return (IProcessDefinition) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate, PKG_CWM.getModelType_ProcessDefinition(), id,
+ IProcessDefinitionAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public int getDiagramsCount()
+ {
+ return mDelegate.getDiagram().size();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllDiagrams()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getDiagram(), DiagramAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Diagram findDiagram(String id)
+ {
+ return (Diagram) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getDiagram(), id, DiagramAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllViews()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getView(), IViewAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllApplicationContextTypes()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate.getApplicationContextType(),
+ IApplicationContextTypeAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IApplicationContextType findApplicationContextType(String id)
+ {
+ return (IApplicationContextType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getApplicationContextType(), id,
+ IApplicationContextTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllApplicationTypes()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getApplicationType(), IApplicationTypeAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IApplicationType findApplicationType(String id)
+ {
+ return (IApplicationType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getApplicationType(), id, IApplicationTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllDataTypes()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getDataType(), IDataTypeAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IDataType findDataType(String id)
+ {
+ return (IDataType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getDataType(), id, IDataTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllEventActionTypes()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getEventActionType(), IEventActionTypeAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IEventActionType findEventActionType(String id)
+ {
+ return (IEventActionType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getEventActionType(), id, IEventActionTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllEventConditionTypes()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(mDelegate.getEventConditionType(),
+ IEventConditionTypeAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public IEventConditionType findEventConditionType(String id)
+ {
+ return (IEventConditionType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getEventConditionType(), id, IEventConditionTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllLinkTypes()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getLinkType(), ILinkTypeAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public ILinkType findLinkType(String id)
+ {
+ return (ILinkType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getLinkType(), id, ILinkTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllTriggerTypes()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(mDelegate.getTriggerType(), ITriggerTypeAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IModel
+ */
+ public ITriggerType findTriggerType(String id)
+ {
+ return (ITriggerType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ mDelegate.getTriggerType(), id, ITriggerTypeAdapter.FACTORY);
+ }
+
+ /**
+ * @category IModel
+ */
+ public Iterator getAllLinkTypesForType(Class type)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IModel
+ */
+ public Version getCarnotVersion()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public IModeler authentify(String id, String password)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToProcessDefinitions(IProcessDefinition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Vector checkConsistency()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IApplication createApplication(String arg0, String arg1, String arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IApplicationContextType createApplicationContextType(String arg0, String arg1,
+ boolean arg2, boolean arg3, boolean arg4, int arg5)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IApplicationType createApplicationType(String arg0, String arg1, boolean arg2,
+ boolean arg3, int arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IConditionalPerformer createConditionalPerformer(String arg0, String arg1,
+ String arg2, IData arg3, int arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IData createData(String arg0, IDataType arg1, String arg2, String arg3,
+ boolean arg4, int arg5, Map arg6)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IDataType createDataType(String arg0, String arg1, boolean arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Diagram createDiagram(String arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Diagram createDiagram(String arg0, int arg1)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IEventActionType createEventActionType(String arg0, String arg1, boolean arg2,
+ boolean arg3, boolean arg4, int arg5)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IEventConditionType createEventConditionType(String arg0, String arg1,
+ boolean arg2, EventType arg3, boolean arg4, boolean arg5, int arg6)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public ILinkType createLinkType(String arg0, Class arg1, Class arg2, String arg3,
+ String arg4, CardinalityKey arg5, CardinalityKey arg6, ArrowKey arg7,
+ ArrowKey arg8, ColorKey arg9, LineKey arg10, boolean arg11, boolean arg12,
+ int arg13)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IModeler createModeler(String arg0, String arg1, String arg2, String arg3,
+ int arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IOrganization createOrganization(String arg0, String arg1, String arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IProcessDefinition createProcessDefinition(String arg0, String arg1, String arg2)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IProcessDefinition createProcessDefinition(String arg0, String arg1,
+ String arg2, boolean arg3, int arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IRole createRole(String arg0, String arg1, String arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public ITriggerType createTriggerType(String arg0, String arg1, boolean arg2,
+ boolean arg3, int arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IView createView(String arg0, String arg1, int arg2)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultApplicationId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultConditionalPerformerId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultDataId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultDiagramId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultModelerId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultOrganizationId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultProcessDefinitionId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultRoleId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultViewId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public void removeFromApplicationContextTypes(IApplicationContextType arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromApplicationTypes(IApplicationType arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromApplications(IApplication arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromData(IData arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromDataTypes(IDataType arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromDiagrams(Diagram arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromLinkTypes(ILinkType arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromParticipants(IModelParticipant arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromProcessDefinitions(IProcessDefinition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void setCarnotVersion(String arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void setDescription(String arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void fireModelElementsLinked(ModelElement first, ModelElement second)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireModelElementsUnlinked(ModelElement first, ModelElement second)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireModelElementCreated(ModelElement element, ModelElement parent)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireModelElementDeleted(ModelElement element, ModelElement parent)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deregister(ModelElement element)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireModelElementChanged(ModelElement element)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public int createElementOID()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void register(ModelElement element)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addToModelListeners(ModelListener listener)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeFromModelListeners(ModelListener listener)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Iterator getAllModelListeners()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setModelOID(int oid)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public RootElement deepCopy()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void mergeDifferences(Differences diff)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setLoading(boolean loading)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public int createTransientElementOID()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public Set<IConfigurationVariableDefinition> getConfigurationVariableDefinitions()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Set<String> getConfigurationVariableReferences()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ITypeDeclaration createTypeDeclaration(String id, String name,
+ String description, Map attributes, IXpdlType xpslType)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Scripting getScripting()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setScripting(Scripting scripting)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List<IExternalPackage> getExternalPackages()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IExternalPackage findExternalPackage(String id)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getTypeDeclarations()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ITypeDeclaration findTypeDeclaration(String id)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getApplications()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getData()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getParticipants()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList<IProcessDefinition> getProcessDefinitions()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IProcessDefinition getImplementingProcess(QName processId)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Set<QName> getImplementedInterfaces()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelerAdapter.java
new file mode 100644
index 0000000..38a74b2
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IModelerAdapter.java
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.stardust.common.CompareHelper;
+import org.eclipse.stardust.common.Unknown;
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IModeler;
+import org.eclipse.stardust.engine.api.model.IOrganization;
+import org.eclipse.stardust.engine.core.runtime.beans.IUser;
+import org.eclipse.stardust.engine.core.runtime.beans.IUserGroup;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.ModelerType;
+
+
+public class IModelerAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IModeler
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ModelerType) ? new IModelerAdapter(
+ (ModelerType) adaptee) : null;
+ }
+ };
+
+ protected final ModelerType mDelegate;
+
+ public IModelerAdapter(ModelerType target)
+ {
+ super(target);
+
+ this.mDelegate = target;
+ }
+
+ public String getPassword()
+ {
+ return mDelegate.getPassword();
+ }
+
+ public boolean checkPassword(String password)
+ {
+ return CompareHelper.areEqual(mDelegate.getPassword(), password);
+ }
+
+ public String getEMail()
+ {
+ return mDelegate.getEmail();
+ }
+
+ public Iterator getAllParticipants()
+ {
+ return Collections.EMPTY_LIST.iterator();
+ }
+
+ public Iterator getAllOrganizations()
+ {
+ return Collections.EMPTY_LIST.iterator();
+ }
+
+ public Iterator getAllTopLevelOrganizations()
+ {
+ return Collections.EMPTY_LIST.iterator();
+ }
+
+ public IOrganization findOrganization(String id)
+ {
+ return null;
+ }
+
+ public int getCardinality()
+ {
+ return Unknown.INT;
+ }
+
+public void setEMail(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setPassword(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public boolean isAuthorized(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUser arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUserGroup arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setDescription(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IOrganizationAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IOrganizationAdapter.java
new file mode 100644
index 0000000..22754fd
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IOrganizationAdapter.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IOrganization;
+import org.eclipse.stardust.engine.core.runtime.beans.IUser;
+import org.eclipse.stardust.engine.core.runtime.beans.IUserGroup;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.CarnotWorkflowModelPackage;
+import org.eclipse.stardust.model.xpdl.carnot.ModelType;
+import org.eclipse.stardust.model.xpdl.carnot.OrganizationType;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelParticipantUtils;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelUtils;
+
+
+public class IOrganizationAdapter extends AbstractModelParticipantAdapter
+ implements IOrganization
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof OrganizationType) ? new IOrganizationAdapter(
+ (OrganizationType) adaptee) : null;
+ }
+ };
+
+ private static final CarnotWorkflowModelPackage PKG_CWM = CarnotWorkflowModelPackage.eINSTANCE;
+
+ protected final OrganizationType oDelegate;
+
+ public IOrganizationAdapter(OrganizationType target)
+ {
+ super(target);
+
+ this.oDelegate = target;
+ }
+
+ public Iterator getAllParticipants()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ModelParticipantUtils.getSubParticipants(oDelegate),
+ AbstractModelParticipantAdapter.FACTORY).iterator();
+ }
+
+ public Iterator getSubOrganizations()
+ {
+ return ModelApiPlugin.getAdapterRegistry().getAdapters(
+ ModelParticipantUtils.getSubOrganizations(oDelegate),
+ IOrganizationAdapter.FACTORY).iterator();
+ }
+
+ public IModelParticipant findParticipant(String id)
+ {
+ return (IModelParticipant) ModelApiPlugin.getAdapterRegistry()
+ .getAdapter(ModelParticipantUtils.findSubParticipant(oDelegate, id),
+ AbstractModelParticipantAdapter.FACTORY);
+ }
+
+ public boolean isDirectOrIndirectSubOrganizationOf(IOrganization testOrganization)
+ {
+ boolean result = false;
+
+ ModelType model = ModelUtils.findContainingModel(oDelegate);
+ if (null != model)
+ {
+ OrganizationType cwmOrg = (OrganizationType) ModelUtils.findIdentifiableElement(
+ model, PKG_CWM.getModelType_Organization(), testOrganization.getId());
+
+ if (null != cwmOrg)
+ {
+ result = ModelParticipantUtils.isSubOrganizationOf(oDelegate, cwmOrg, true);
+ }
+ }
+
+ return result;
+ }
+
+public void addToParticipants(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addToSubOrganizations(IOrganization arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeFromParticipants(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public boolean isAuthorized(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUser arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUserGroup arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setDescription(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IProcessDefinitionAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IProcessDefinitionAdapter.java
new file mode 100644
index 0000000..b23dba6
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IProcessDefinitionAdapter.java
@@ -0,0 +1,616 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.stardust.common.Direction;
+import org.eclipse.stardust.engine.api.model.IActivity;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IDataPath;
+import org.eclipse.stardust.engine.api.model.IEventConditionType;
+import org.eclipse.stardust.engine.api.model.IEventHandler;
+import org.eclipse.stardust.engine.api.model.IFormalParameter;
+import org.eclipse.stardust.engine.api.model.IProcessDefinition;
+import org.eclipse.stardust.engine.api.model.IReference;
+import org.eclipse.stardust.engine.api.model.ITransition;
+import org.eclipse.stardust.engine.api.model.ITrigger;
+import org.eclipse.stardust.engine.api.model.ITriggerType;
+import org.eclipse.stardust.engine.api.model.Inconsistency;
+import org.eclipse.stardust.engine.core.model.utils.Hook;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+import org.eclipse.stardust.engine.core.model.utils.ModelElementList;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.diagram.Diagram;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.ProcessDefinitionType;
+import org.eclipse.stardust.model.xpdl.carnot.util.AccessPointUtil;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelUtils;
+
+
+public class IProcessDefinitionAdapter extends AbstractIdentifiableModelElementAdapter
+ implements IProcessDefinition
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ProcessDefinitionType)
+ ? new IProcessDefinitionAdapter((ProcessDefinitionType) adaptee)
+ : null;
+ }
+ };
+
+ protected final ProcessDefinitionType pdDelegate;
+
+ protected final EventHandlerOwnerAdapter ehoAdapter;
+
+ public IProcessDefinitionAdapter(ProcessDefinitionType target)
+ {
+ super(target);
+
+ this.pdDelegate = target;
+
+ this.ehoAdapter = new EventHandlerOwnerAdapter(target);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllActivities()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(pdDelegate.getActivity(), IActivityAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public IActivity findActivity(String id)
+ {
+ return (IActivity) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ pdDelegate.getActivity(), id, IActivityAdapter.FACTORY);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllTransitions()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(pdDelegate.getTransition(), ITransitionAdapter.FACTORY)
+ .iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public ITransition findTransition(String id)
+ {
+ return (ITransition) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ pdDelegate.getTransition(), id, ITransitionAdapter.FACTORY);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllTriggers()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(pdDelegate.getTrigger(), ITriggerAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public ITrigger findTrigger(String id)
+ {
+ return (ITrigger) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ pdDelegate.getTrigger(), id, ITriggerAdapter.FACTORY);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllDataPaths()
+ {
+ return ModelApiPlugin.getAdapterRegistry()
+ .getAdapters(pdDelegate.getDataPath(), IDataPathAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllInDataPaths()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(pdDelegate.getDataPath(), Predicates.IN_DATA_PATH,
+ IDataPathAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllOutDataPaths()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(pdDelegate.getDataPath(), Predicates.OUT_DATA_PATH,
+ IDataPathAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public IDataPath findDataPath(String id, Direction direction)
+ {
+ return (IDataPath) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ pdDelegate.getDataPath(),
+ id,
+ AccessPointUtil.isIn(ConversionUtils.convert(direction))
+ ? Predicates.IN_DATA_PATH
+ : Predicates.OUT_DATA_PATH, IDataPathAdapter.FACTORY);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllDescriptors()
+ {
+ return ModelApiPlugin
+ .getAdapterRegistry()
+ .getAdapters(pdDelegate.getDataPath(), Predicates.IS_DESCRIPTOR,
+ IDataPathAdapter.FACTORY).iterator();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public IDataPath findDescriptor(String id)
+ {
+ IDataPath result = findDataPath(id, Direction.IN);
+ return result.isDescriptor() ? result : null;
+ }
+
+ /**
+ * @category EventHandlerOwner
+ */
+ public Iterator getAllEventHandlers()
+ {
+ return ehoAdapter.getAllEventHandlers();
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllEventHandlers(String type)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public boolean hasEventHandlers(String type)
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category EventHandlerOwner
+ */
+ public IEventHandler findHandlerById(String id)
+ {
+ return ehoAdapter.findHandlerById(id);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllDiagrams()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllImplementingActivities()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public IActivity getRootActivity()
+ {
+ return (IActivity) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ ModelUtils.findRootActivity(pdDelegate), IActivityAdapter.FACTORY);
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllPossibleSubprocesses()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllSubProcesses()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ /**
+ * @category IProcessDefinition
+ */
+ public Iterator getAllSuperProcesses()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public boolean isConsistent()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToActivities(IActivity arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToDataPaths(IDataPath arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToSubProcesses(IProcessDefinition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToTransitions(ITransition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void addToTriggers(ITrigger arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Vector checkConsistency()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public void checkConsistency(Vector arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public IActivity createActivity(String arg0, String arg1, String arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public IDataPath createDataPath(String arg0, String arg1, IData arg2, String arg3,
+ Direction arg4, int arg5)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Diagram createDiagram(String arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Diagram createDiagram(String arg0, int arg1)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public ITransition createTransition(String arg0, String arg1, String arg2,
+ IActivity arg3, IActivity arg4)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public ITransition createTransition(String arg0, String arg1, String arg2,
+ IActivity arg3, IActivity arg4, int arg5)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public ITrigger createTrigger(String arg0, String arg1, ITriggerType arg2, int arg3)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Iterator getAllInstances()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultActivityId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public String getDefaultTransitionId()
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public void removeFromActivities(IActivity arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromDataPaths(IDataPath arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromDiagrams(Diagram arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromSubProcesses(IProcessDefinition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromSuperProcesses(IProcessDefinition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromTransitions(ITransition arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void removeFromTriggers(ITrigger arg0)
+ {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public void setDescription(String description)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void delete()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addReference(Hook reference)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setParent(ModelElement parent)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeReference(Hook reference)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void register(int oid)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setElementOID(int elementOID)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setPredefined(boolean predefined)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public String getUniqueId()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T> T getRuntimeAttribute(String name)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object setRuntimeAttribute(String name, Object value)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getEventHandlers()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeFromEventHandlers(IEventHandler handler)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addToEventHandlers(IEventHandler handler)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public IEventHandler createEventHandler(String id, String name, String description,
+ IEventConditionType type, int elementOID)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void checkConsistency(List<Inconsistency> inconsistencies)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ModelElementList<IActivity> getActivities()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getTransitions()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getTriggers()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ModelElementList getDataPaths()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getDefaultPriority()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void setDefaultPriority(int priority)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List<IFormalParameter> getFormalParameters()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IFormalParameter findFormalParameter(String id)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean getDeclaresInterface()
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public IData getMappedData(String parameterId)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getMappedDataId(String parameterId)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IReference getExternalReference()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IRoleAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IRoleAdapter.java
new file mode 100644
index 0000000..1c1e7de
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IRoleAdapter.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.common.Unknown;
+import org.eclipse.stardust.engine.api.model.IModelParticipant;
+import org.eclipse.stardust.engine.api.model.IRole;
+import org.eclipse.stardust.engine.core.runtime.beans.IUser;
+import org.eclipse.stardust.engine.core.runtime.beans.IUserGroup;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.RoleType;
+
+
+public class IRoleAdapter extends AbstractModelParticipantAdapter implements IRole
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof RoleType)
+ ? new IRoleAdapter((RoleType) adaptee)
+ : null;
+ }
+ };
+
+ protected final RoleType rDelegate;
+
+ public IRoleAdapter(RoleType target)
+ {
+ super(target);
+
+ this.rDelegate = target;
+ }
+
+ public int getCardinality()
+ {
+ return (0 != rDelegate.getCardinality()) ? rDelegate.getCardinality() : Unknown.INT;
+ }
+
+public void setCardinality(int arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public boolean isAuthorized(IModelParticipant arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUser arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isAuthorized(IUserGroup arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setDescription(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITransitionAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITransitionAdapter.java
new file mode 100644
index 0000000..6b195b2
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITransitionAdapter.java
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.IActivity;
+import org.eclipse.stardust.engine.api.model.IProcessDefinition;
+import org.eclipse.stardust.engine.api.model.ITransition;
+import org.eclipse.stardust.engine.core.model.utils.ModelElement;
+import org.eclipse.stardust.engine.core.runtime.beans.IProcessInstance;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.TransitionType;
+import org.eclipse.stardust.model.xpdl.carnot.XmlTextNode;
+import org.eclipse.stardust.model.xpdl.carnot.util.ModelUtils;
+
+
+public class ITransitionAdapter extends AbstractIdentifiableModelElementAdapter
+ implements ITransition
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof TransitionType) ? new ITransitionAdapter(
+ (TransitionType) adaptee) : null;
+ }
+ };
+
+ protected final TransitionType tDelegate;
+
+ protected final AbstractConnectionAdapter cAdapter;
+
+ public ITransitionAdapter(TransitionType delegate)
+ {
+ super(delegate);
+
+ this.tDelegate = delegate;
+
+ // TODO
+ this.cAdapter = new AbstractConnectionAdapter(null);
+ }
+
+ /**
+ * @category Connection
+ */
+ public ModelElement getFirst()
+ {
+ return cAdapter.getFirst();
+ }
+
+ /**
+ * @category Connection
+ */
+ public ModelElement getSecond()
+ {
+ return cAdapter.getSecond();
+ }
+
+ /**
+ * @category ITransition
+ */
+ public String getCondition()
+ {
+ XmlTextNode expression = tDelegate.getExpression();
+ return (null != expression)
+ ? ModelUtils.getCDataString(expression.getMixed())
+ : tDelegate.getCondition();
+ }
+
+ /**
+ * @category ITransition
+ */
+ public boolean getForkOnTraversal()
+ {
+ return tDelegate.isForkOnTraversal();
+ }
+
+ /**
+ * @category ITransition
+ */
+ public IProcessDefinition getProcessDefinition()
+ {
+ return (IProcessDefinition) ModelApiPlugin.getAdapterRegistry()
+ .getAdapter(ModelUtils.findContainingProcess(tDelegate),
+ IProcessDefinitionAdapter.FACTORY);
+ }
+
+ /**
+ * @category ITransition
+ */
+ public IActivity getFromActivity()
+ {
+ return (IActivity) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ tDelegate.getFrom(), IActivityAdapter.FACTORY);
+ }
+
+ /**
+ * @category ITransition
+ */
+ public IActivity getToActivity()
+ {
+ return (IActivity) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ tDelegate.getTo(), IActivityAdapter.FACTORY);
+ }
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public boolean isEnabled(IProcessInstance arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public boolean isOtherwiseEnabled(IProcessInstance arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void setCondition(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setForkOnTraversal(boolean arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerAdapter.java
new file mode 100644
index 0000000..7dda836
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerAdapter.java
@@ -0,0 +1,163 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.stardust.engine.api.model.IAccessPoint;
+import org.eclipse.stardust.engine.api.model.IData;
+import org.eclipse.stardust.engine.api.model.IParameterMapping;
+import org.eclipse.stardust.engine.api.model.ITrigger;
+import org.eclipse.stardust.engine.api.model.ITriggerType;
+import org.eclipse.stardust.engine.api.model.PluggableType;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.spi.AccessPoint;
+import org.eclipse.stardust.model.xpdl.api.ModelApiPlugin;
+import org.eclipse.stardust.model.xpdl.carnot.TriggerType;
+
+
+public class ITriggerAdapter extends AbstractIdentifiableModelElementAdapter
+ implements ITrigger
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof TriggerType) ? new ITriggerAdapter(
+ (TriggerType) adaptee) : null;
+ }
+ };
+
+ protected final TriggerType tDelegate;
+
+ protected final AccessPointOwnerAdapter apoAdapter;
+
+ public ITriggerAdapter(TriggerType target)
+ {
+ super(target);
+
+ this.tDelegate = target;
+
+ this.apoAdapter = new AccessPointOwnerAdapter(target);
+ }
+
+ /**
+ * @category ITrigger
+ */
+ public PluggableType getType()
+ {
+ return (ITriggerType) ModelApiPlugin.getAdapterRegistry().getAdapter(
+ tDelegate.getMetaType(), ITriggerTypeAdapter.FACTORY);
+ }
+
+ public boolean isSynchronous()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+ }
+
+ public Iterator getAllParameterMappings()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllAccessPoints()
+ {
+ return apoAdapter.getAllAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllInAccessPoints()
+ {
+ return apoAdapter.getAllInAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllOutAccessPoints()
+ {
+ return apoAdapter.getAllOutAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public AccessPoint findAccessPoint(String id)
+ {
+ return apoAdapter.findAccessPoint(id);
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public Iterator getAllPersistentAccessPoints()
+ {
+ return apoAdapter.getAllPersistentAccessPoints();
+ }
+
+ /**
+ * @category AccessPointOwner
+ */
+ public String getProviderClass()
+ {
+ return apoAdapter.getProviderClass();
+ }
+
+public void addToParameterMappings(IParameterMapping arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addToPersistentAccessPoints(IAccessPoint arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void checkConsistency(Vector arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public IParameterMapping createParameterMapping(IData arg0, String arg1, String arg2, int arg3) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void removeFromParameterMappings(IParameterMapping arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setAllParameterMappings(Iterator arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setType(ITriggerType arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerTypeAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerTypeAdapter.java
new file mode 100644
index 0000000..935f948
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ITriggerTypeAdapter.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.ITriggerType;
+import org.eclipse.stardust.model.xpdl.carnot.TriggerTypeType;
+
+
+public class ITriggerTypeAdapter extends AbstractIdentifiableModelElementAdapter
+ implements ITriggerType
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof TriggerTypeType) ? new ITriggerTypeAdapter(
+ (TriggerTypeType) adaptee) : null;
+ }
+ };
+
+ protected final TriggerTypeType ttDelegate;
+
+ public ITriggerTypeAdapter(TriggerTypeType target)
+ {
+ super(target);
+
+ this.ttDelegate = target;
+ }
+
+ public boolean isPullTrigger()
+ {
+ return ttDelegate.isPullTrigger();
+ }
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IViewAdapter.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IViewAdapter.java
new file mode 100644
index 0000000..fa6e37b
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/IViewAdapter.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import java.util.Iterator;
+
+import org.eclipse.stardust.engine.api.model.IView;
+import org.eclipse.stardust.engine.api.model.IViewable;
+import org.eclipse.stardust.model.API_Messages;
+import org.eclipse.stardust.model.xpdl.carnot.ViewType;
+
+
+
+public class IViewAdapter extends AbstractModelElementAdapter implements IView
+{
+ public static final IAdapterFactory FACTORY = new IAdapterFactory()
+ {
+ public Object createAdapter(Object adaptee)
+ {
+ return (adaptee instanceof ViewType)
+ ? new IViewAdapter((ViewType) adaptee)
+ : null;
+ }
+ };
+
+ protected final ViewType vDelegate;
+
+ public IViewAdapter(ViewType target)
+ {
+ super(target);
+
+ this.vDelegate = target;
+ }
+
+ public String getName()
+ {
+ return vDelegate.getName();
+ }
+
+ public Iterator getAllViewables()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+ public Iterator getAllViews()
+ {
+ // TODO implement
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+ }
+
+public void addToViewables(IViewable arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void addToViews(IView arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public IView createView(String arg0, String arg1, int arg2) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+}
+
+public void removeFromViewables(IViewable arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void removeFromViews(IView arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+
+public void setName(String arg0) {
+ // TODO implement this method!
+ throw new RuntimeException(API_Messages.EXC_NOT_IMPLEMENTED_YET);
+
+}
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ModelAdapterFactory.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ModelAdapterFactory.java
new file mode 100644
index 0000000..0f3c925
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/ModelAdapterFactory.java
@@ -0,0 +1,16 @@
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.engine.api.model.IModel;
+import org.eclipse.stardust.model.xpdl.carnot.ModelType;
+import org.eclipse.stardust.model.xpdl.spi.IModelAdapterFactory;
+
+
+public class ModelAdapterFactory implements IModelAdapterFactory
+{
+
+ public IModel adapt(ModelType model)
+ {
+ return (IModelAdapter) IModelAdapter.FACTORY.createAdapter(model);
+ }
+
+}
diff --git a/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/Predicates.java b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/Predicates.java
new file mode 100644
index 0000000..d09dba0
--- /dev/null
+++ b/model/org.eclipse.stardust.model.xpdl.api/src/org/eclipse/stardust/model/xpdl/api/internal/adapters/Predicates.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SunGard CSA LLC and others.
+ * 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:
+ * SunGard CSA LLC - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+package org.eclipse.stardust.model.xpdl.api.internal.adapters;
+
+import org.eclipse.stardust.common.Predicate;
+import org.eclipse.stardust.model.xpdl.carnot.DataPathType;
+import org.eclipse.stardust.model.xpdl.carnot.util.AccessPointUtil;
+
+public interface Predicates
+{
+ final Predicate IN_DATA_PATH = new Predicate()
+ {
+ public boolean accept(Object arg)
+ {
+ return (arg instanceof DataPathType)
+ && AccessPointUtil.isIn(((DataPathType) arg).getDirection());
+ }
+ };
+
+ final Predicate OUT_DATA_PATH = new Predicate()
+ {
+ public boolean accept(Object arg)
+ {
+ return (arg instanceof DataPathType)
+ && AccessPointUtil.isOut(((DataPathType) arg).getDirection());
+ }
+ };
+
+ final Predicate IS_DESCRIPTOR = new Predicate()
+ {
+ public boolean accept(Object arg)
+ {
+ return (arg instanceof DataPathType) && ((DataPathType) arg).isDescriptor();
+ }
+ };
+}