| author | Rainer Pielmann | 2012-02-15 04:41:20 (EST) |
|---|---|---|
| committer | Stephan Born | 2012-04-24 04:34:22 (EDT) |
| commit | b40ced7605c458682f9f2769ca72cac272d518fe (patch) (side-by-side diff) | |
| tree | b6bc0d7d78294291457a35fd916df53f533242a4 | |
| parent | 4671b67e1ae4fd1cc0b88f6ebd4a3b226f72ee76 (diff) | |
| download | org.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
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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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(); + } + }; +} |

