JBoss Tools SVN: r29220 - trunk/documentation/guides/JBDS_Release_Notes/en-US.
by jbosstools-commits@lists.jboss.org
Author: mcaspers
Date: 2011-02-17 17:49:33 -0500 (Thu, 17 Feb 2011)
New Revision: 29220
Modified:
trunk/documentation/guides/JBDS_Release_Notes/en-US/Article_Info.xml
trunk/documentation/guides/JBDS_Release_Notes/en-US/Known_Issues_4_0_0.xml
Log:
General Documentation Updates
Modified: trunk/documentation/guides/JBDS_Release_Notes/en-US/Article_Info.xml
===================================================================
--- trunk/documentation/guides/JBDS_Release_Notes/en-US/Article_Info.xml 2011-02-17 22:48:21 UTC (rev 29219)
+++ trunk/documentation/guides/JBDS_Release_Notes/en-US/Article_Info.xml 2011-02-17 22:49:33 UTC (rev 29220)
@@ -9,7 +9,7 @@
<productname>JBoss Developer Studio</productname>
<productnumber>4.0</productnumber>
<edition>0</edition>
- <pubsnumber>20</pubsnumber>
+ <pubsnumber>21</pubsnumber>
<abstract>
<para>
These release notes contain important information related to the JBoss Developer Studio. New features,<!-- known problems,--> resources, and other current issues are addressed here.
Modified: trunk/documentation/guides/JBDS_Release_Notes/en-US/Known_Issues_4_0_0.xml
===================================================================
--- trunk/documentation/guides/JBDS_Release_Notes/en-US/Known_Issues_4_0_0.xml 2011-02-17 22:48:21 UTC (rev 29219)
+++ trunk/documentation/guides/JBDS_Release_Notes/en-US/Known_Issues_4_0_0.xml 2011-02-17 22:49:33 UTC (rev 29220)
@@ -22,7 +22,7 @@
</listitem>
<listitem>
<para>
- <ulink url="https://issues.jboss.org/browse/JBDS-1554">JBDS-1554</ulink>: The new project wizards do not display their associated Eclipse perspective. The workaround is to manually display the appropiate perspective by selecting <menuchoice><guimenuitem>Window</guimenuitem><guimenuitem>Open Perspective</guimenuitem></menuchoice>. The following is a list of project types and their matching persepctives:
+ <ulink url="https://issues.jboss.org/browse/JBDS-1554">JBDS-1554</ulink>: The new project wizards do not display their associated Eclipse perspective. The workaround is to manually display the appropriate perspective by selecting <menuchoice><guimenuitem>Window</guimenuitem><guimenuitem>Open Perspective</guimenuitem></menuchoice>. The following is a list of project types and their matching persepctives:
<itemizedlist>
<listitem>
<para>JSF Project: Web Development</para>
@@ -53,7 +53,7 @@
</listitem>
<listitem>
<para>
- <ulink url="https://issues.jboss.org/browse/JBDS-1266">JBDS-1266</ulink>: The credentials used when testing the jBPM deployment process are cached, and are used in place of any additional credentials that are specifed.
+ <ulink url="https://issues.jboss.org/browse/JBDS-1266">JBDS-1266</ulink>: The credentials used when testing the jBPM deployment process are cached, and are used in place of any additional credentials that are specified.
</para>
</listitem>
<listitem>
@@ -63,7 +63,7 @@
</listitem>
<listitem>
<para>
- <ulink url="https://issues.jboss.org/browse/JBDS-1509">JBDS-1509</ulink>: JDBS thread can get caught in a loop when interacting with the new connection profile process.
+ <ulink url="https://issues.jboss.org/browse/JBDS-1509">JBDS-1509</ulink>: JBDS thread can get caught in a loop when interacting with the new connection profile process.
</para>
</listitem>
</itemizedlist>
13 years, 10 months
JBoss Tools SVN: r29219 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:48:21 -0500 (Thu, 17 Feb 2011)
New Revision: 29219
Added:
workspace/bbrodt/org.eclipse.bpel.runtimes/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29218 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:47:23 -0500 (Thu, 17 Feb 2011)
New Revision: 29218
Added:
workspace/bbrodt/org.eclipse.bpel.apache.ode.runtime/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29216 - in workspace/bbrodt/org.eclipse.bpel.common.model: META-INF and 21 other directories.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:37:22 -0500 (Thu, 17 Feb 2011)
New Revision: 29216
Added:
workspace/bbrodt/org.eclipse.bpel.common.model/.classpath
workspace/bbrodt/org.eclipse.bpel.common.model/.project
workspace/bbrodt/org.eclipse.bpel.common.model/META-INF/
workspace/bbrodt/org.eclipse.bpel.common.model/META-INF/MANIFEST.MF
workspace/bbrodt/org.eclipse.bpel.common.model/build.properties
workspace/bbrodt/org.eclipse.bpel.common.model/plugin.properties
workspace/bbrodt/org.eclipse.bpel.common.model/plugin.xml
workspace/bbrodt/org.eclipse.bpel.common.model/schema/
workspace/bbrodt/org.eclipse.bpel.common.model/schema/functionRegistry.exsd
workspace/bbrodt/org.eclipse.bpel.common.model/src/
workspace/bbrodt/org.eclipse.bpel.common.model/src/model/
workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore
workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel
workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.ecore
workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java
workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java
Modified:
workspace/bbrodt/org.eclipse.bpel.common.model/
Log:
Property changes on: workspace/bbrodt/org.eclipse.bpel.common.model
___________________________________________________________________
Added: svn:ignore
+ bin
Added: workspace/bbrodt/org.eclipse.bpel.common.model/.classpath
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/.classpath (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/.classpath 2011-02-17 22:37:22 UTC (rev 29216)
@@ -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="bin"/>
+</classpath>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/.project
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/.project (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/.project 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.bpel.common.model</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>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/META-INF/MANIFEST.MF
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/META-INF/MANIFEST.MF (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/META-INF/MANIFEST.MF 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,61 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.bpel.common.model; singleton:=true
+Bundle-Version: 0.5.0.qualifier
+Bundle-Activator: org.eclipse.bpel.common.extension.model.Activator
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.bpel.common,
+ org.eclipse.bpel.common.extension.model;
+ uses:="org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common.util,
+ org.osgi.framework,
+ org.eclipse.emf.common.notify",
+ org.eclipse.bpel.common.extension.model.adapters;uses:="org.eclipse.emf.ecore,org.eclipse.bpel.common.extension.model,org.eclipse.emf.common.notify",
+ org.eclipse.bpel.common.extension.model.adapters.impl;
+ uses:="org.eclipse.emf.ecore,
+ org.eclipse.emf.common.notify.impl,
+ org.eclipse.bpel.common.extension.model,
+ org.eclipse.emf.common.notify,
+ org.eclipse.bpel.common.extension.model.adapters",
+ org.eclipse.bpel.common.extension.model.impl;
+ uses:="org.eclipse.emf.ecore,
+ org.eclipse.emf.common.util,
+ org.eclipse.bpel.common.extension.model,
+ org.eclipse.emf.ecore.impl,
+ org.eclipse.emf.common.notify,
+ org.eclipse.bpel.common.extension.model.adapters",
+ org.eclipse.bpel.common.extension.model.notify;uses:="org.eclipse.emf.common.notify",
+ org.eclipse.bpel.common.extension.model.notify.impl;uses:="org.eclipse.emf.ecore,org.eclipse.bpel.common.extension.model.notify,org.eclipse.emf.common.notify.impl",
+ org.eclipse.bpel.common.extension.model.util;
+ uses:="org.eclipse.emf.ecore,
+ org.eclipse.emf.common.notify.impl,
+ org.eclipse.bpel.common.extension.model,
+ org.eclipse.emf.common.notify",
+ org.eclipse.bpel.fnmeta,
+ org.eclipse.bpel.fnmeta.model;uses:="org.eclipse.emf.ecore,org.eclipse.emf.common.util",
+ org.eclipse.bpel.fnmeta.model.impl;
+ uses:="org.eclipse.emf.ecore,
+ org.eclipse.emf.common.util,
+ org.eclipse.bpel.fnmeta.model,
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.ecore.impl",
+ org.eclipse.bpel.fnmeta.model.proxy,
+ org.eclipse.bpel.fnmeta.model.util;
+ uses:="org.eclipse.emf.ecore.xmi.impl,
+ org.eclipse.emf.ecore.resource,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common.notify.impl,
+ org.eclipse.emf.common.util,
+ org.eclipse.bpel.fnmeta.model,
+ org.eclipse.emf.common.notify,
+ org.eclipse.emf.ecore.resource.impl,
+ org.eclipse.emf.ecore.xmi.util",
+ org.eclipse.bpel.names
+Bundle-Vendor: %providerName
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Added: workspace/bbrodt/org.eclipse.bpel.common.model/build.properties
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/build.properties (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/build.properties 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2010 JBoss by Red Hat 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:
+# IBM Corporation - initial API and implementation
+# JBoss by Red Hat - subsequent contributions and maintenance
+###############################################################################
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.*,\
+ schema/
+src.includes = .,\
+ .project,\
+ .cvsignore,\
+ .classpath,\
+ META-INF/,\
+ build.properties,\
+ plugin.*,\
+ schema/,\
+ src/
+source.. = src/
Added: workspace/bbrodt/org.eclipse.bpel.common.model/plugin.properties
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/plugin.properties (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/plugin.properties 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,31 @@
+###############################################################################
+# Copyright (c) 2010 JBoss by Red Hat, 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:
+# JBoss by Red Hat - subsequent contributions and maintenance
+# IBM Corporation - initial API and implementation
+###############################################################################
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2005/11/29 18:50:08 james Exp $
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = Extension Model (Incubation)
+providerName = JBoss by Red Hat
+
Added: workspace/bbrodt/org.eclipse.bpel.common.model/plugin.xml
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/plugin.xml (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/plugin.xml 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+ <extension-point id="functionRegistry" name="Function Registry" schema="schema/functionRegistry.exsd"/>
+ <extension
+ id="modelMarker"
+ name="%MODEL_MARKER_NAME"
+ point="org.eclipse.core.resources.markers">
+ <super
+ type="org.eclipse.core.resources.marker">
+ </super>
+ <attribute
+ name="org.eclipse.bpel.common.model.modelMarker.objectId">
+ </attribute>
+ <!-- https://jira.jboss.org/browse/JBIDE-7497 -->
+ <persistent value="true"/>
+ </extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http:///extensionmodel.ecore"
+ class = "org.eclipse.bpel.common.extension.model.ExtensionmodelPackage"
+ genModel = "src/model/extensionmodel.genmodel" />
+ <package
+ class="org.eclipse.bpel.fnmeta.model.FMPackage"
+ genModel="src/model/fnmeta.genmodel"
+ uri="http://eclipse.org/bpel/ns/function-meta">
+ </package>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.bpel.fnmeta.model.util.FMResourceFactoryImpl"
+ type="fnmeta">
+ </parser>
+ </extension>
+
+</plugin>
+
Added: workspace/bbrodt/org.eclipse.bpel.common.model/schema/functionRegistry.exsd
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/schema/functionRegistry.exsd (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/schema/functionRegistry.exsd 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,111 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.bpel.common.model">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.bpel.common.model" id="functionRegistry" name="Function Registry"/>
+ </appInfo>
+ <documentation>
+ Function registry extension points allows 3rd party plugins to register Meta Information about functions.
+A function characteristics are that it has a return type and has 0-N arguments. Functions have themselves namespaces and
+they also live with a container that itself belongs to a namespace as well. This is to distinguish XPath functions from other language functions.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="registry"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="registry">
+ <complexType>
+ <attribute name="uri" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="namespace" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.3.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+</schema>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model"
+ nsURI="http:///extensionmodel.ecore" nsPrefix="extensionmodel">
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionMap">
+ <eOperations name="initializeAdapter"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensions" upperBound="-1"
+ eType="#//Extension" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Extension">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedObject" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionObject" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.bpel.common.extension.model/src"
+ modelPluginID="org.eclipse.bpel.common.extension.model" modelName="Extensionmodel"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0">
+ <foreignModel>extensionmodel.ecore</foreignModel>
+ <genPackages prefix="Extensionmodel" basePackage="org.eclipse.bpel.common.extension"
+ disposableProviderFactory="true" ecorePackage="extensionmodel.ecore#/">
+ <genClasses ecoreClass="extensionmodel.ecore#//ExtensionMap">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extensionmodel.ecore#//ExtensionMap/namespace"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference extensionmodel.ecore#//ExtensionMap/extensions"/>
+ <genOperations ecoreOperation="extensionmodel.ecore#//ExtensionMap/initializeAdapter"/>
+ </genClasses>
+ <genClasses ecoreClass="extensionmodel.ecore#//Extension">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extensionmodel.ecore#//Extension/extendedObject"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference extensionmodel.ecore#//Extension/extensionObject"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.ecore
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.ecore (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.ecore 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model"
+ nsURI="http://eclipse.org/bpel/ns/function-meta" nsPrefix="fnmeta">
+ <eClassifiers xsi:type="ecore:EDataType" name="DOMElement" instanceClassName="org.w3c.dom.Element"/>
+ <eClassifiers xsi:type="ecore:EEnum" name="Optionality">
+ <eLiterals name="Required" literal="!"/>
+ <eLiterals name="Optional" value="1" literal="?"/>
+ <eLiterals name="OptionalMany" value="2" literal="*"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Registry" eSuperTypes="#//FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functions" upperBound="-1"
+ eType="#//Function" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assistants" upperBound="-1"
+ eType="#//Assistant"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
+ eType="#//Argument"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Assistant" eSuperTypes="#//FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="options" upperBound="-1"
+ eType="#//Option"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Option" eSuperTypes="#//FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayValue" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Argument" eSuperTypes="#//FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optionality" ordered="false"
+ eType="#//Optionality" defaultValueLiteral="Required" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assistant" eType="#//Assistant"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="returnType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
+ eType="#//Argument"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeprecated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecateComment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacadeElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="#//DOMElement"/>
+ </eClassifiers>
+</ecore:EPackage>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.bpel.common.model/src"
+ modelPluginID="org.eclipse.bpel.common.model" runtimeJar="true" modelName="Fnmeta"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false">
+ <foreignModel>fnmeta.ecore</foreignModel>
+ <genPackages prefix="FM" basePackage="org.eclipse.bpel.fnmeta" resource="XML" disposableProviderFactory="true"
+ dataTypeConverters="true" ecorePackage="fnmeta.ecore#/">
+ <genClasses ecoreClass="fnmeta.ecore#//Registry">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Registry/functions"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Registry/assistants"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Registry/arguments"/>
+ </genClasses>
+ <genClasses ecoreClass="fnmeta.ecore#//Assistant">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Assistant/options"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Assistant/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Assistant/type"/>
+ </genClasses>
+ <genClasses ecoreClass="fnmeta.ecore#//Option">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Option/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Option/displayValue"/>
+ </genClasses>
+ <genClasses ecoreClass="fnmeta.ecore#//Argument">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Argument/defaultValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Argument/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Argument/optional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Argument/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Argument/comment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Argument/assistant"/>
+ </genClasses>
+ <genClasses ecoreClass="fnmeta.ecore#//Function">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Function/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Function/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Function/returnType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference fnmeta.ecore#//Function/arguments"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Function/comment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute fnmeta.ecore#//Function/help"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 3, 2007
+ *
+ */
+@SuppressWarnings("nls")
+public class BPELResourceSet extends ResourceSetImpl {
+
+ /**
+ * Used to force loading using the right resource loaders.
+ */
+ static public final String SLIGHTLY_HACKED_KEY = "slightly.hacked.resource.set";
+
+
+
+ /**
+ * Load the resource from the resource set, assuming that it is the kind
+ * indicated by the last argument. The "kind" parameter is the extension
+ * without the . of the resource.
+ *
+ * This forces the right resource to be loaded even if the URI of the resource
+ * is "wrong".
+ *
+ * @param uri the URI of the resource.
+ * @param loadOnDemand load on demand
+ * @param kind the resource kind. It has to be of the form "*.wsdl", or "*.xsd", or "*.bpel"
+ * @return the loaded resource.
+ */
+
+ @SuppressWarnings("nls")
+ public Resource getResource(URI uri, boolean loadOnDemand, String kind) {
+
+ Map<URI, Resource> map = getURIResourceMap();
+
+ if (map != null) {
+ Resource resource = map.get(uri);
+ if (resource != null) {
+ if (loadOnDemand && !resource.isLoaded()) {
+ demandLoadHelper(resource);
+ }
+
+ return resource;
+ }
+ }
+
+ URIConverter theURIConverter = getURIConverter();
+ URI normalizedURI = theURIConverter.normalize(uri);
+
+ Iterator<Resource> it = getResources().iterator();
+ while (it.hasNext()) {
+ Resource resource = it.next();
+ if (theURIConverter.normalize(resource.getURI()).equals(
+ normalizedURI)) {
+ if (loadOnDemand && !resource.isLoaded()) {
+ demandLoadHelper(resource);
+ }
+
+ if (map != null) {
+ map.put(uri, resource);
+ }
+ return resource;
+ }
+ }
+
+ if (loadOnDemand) {
+ Resource resource = demandCreateResource(uri,kind);
+ if (resource == null) {
+ throw new RuntimeException("Cannot create a resource for '"
+ + uri + "'; a registered resource factory is needed");
+ }
+
+ demandLoadHelper(resource);
+
+ if (map != null) {
+ map.put(uri, resource);
+ }
+ return resource;
+ }
+
+ return null;
+ }
+
+
+ protected Resource demandCreateResource ( URI uri, String kind ) {
+ return createResource ( uri, kind );
+ }
+
+
+ /**
+ * Create the resource based on the kind.
+ * @param uri
+ * @param kind
+ * @return the created resource
+ */
+
+ @SuppressWarnings("nls")
+ public Resource createResource ( URI uri, String kind ) {
+
+ if (kind == null) {
+ return super.createResource(uri, null);
+ }
+
+ Resource resource = createResource(URI.createURI("*." + kind));
+ if (resource != null) {
+ resource.setURI(uri);
+ }
+ return resource;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.bpel.common.BPELResourceSet;
+import org.eclipse.bpel.fnmeta.FunctionLibrary;
+import org.eclipse.bpel.fnmeta.FunctionRegistry;
+import org.eclipse.bpel.fnmeta.IFunctionRegistryLoader;
+import org.eclipse.bpel.fnmeta.model.Function;
+import org.eclipse.bpel.fnmeta.model.Registry;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+
+@SuppressWarnings({"boxing","nls"})
+
+public class Activator extends Plugin implements IFunctionRegistryLoader {
+
+ /**
+ * The plugin id.
+ */
+
+ public static final String PLUGIN_ID = "org.eclipse.bpel.common.model"; //$NON-NLS-1$
+
+ /** The shared instance. */
+ static public Activator INSTANCE;
+
+ static String FUNCTION_REGISTRY = "functionRegistry";
+ static String AT_REGISTRY_NAME_SPACE = "namespace";
+ static String AT_URI = "uri";
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ INSTANCE = this;
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ FunctionLibrary.INSTANCE.registerLoader( this );
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ FunctionLibrary.INSTANCE.unregisterLoader( this );
+ INSTANCE = null;
+ }
+
+
+ /**
+ * Utility methods for logging exceptions.
+ * @param message
+ * @param e
+ * @param severity
+ */
+
+
+
+ public static void log (String message, Throwable e, int severity) {
+
+ IStatus status = null;
+
+ if (e instanceof CoreException) {
+ status = ((CoreException)e).getStatus();
+ } else {
+ String m = e != null ? e.getMessage() : null;
+
+ if (message == null) {
+ if (m == null) {
+ m = "<no message>";
+ }
+ } else {
+ if (m == null) {
+ m = message;
+ } else {
+ m = message + "[" + m + "]";
+ }
+ }
+
+ status = new Status(severity, PLUGIN_ID, 0, m, e); //$NON-NLS-1$
+ }
+
+ if (Platform.isRunning()) {
+ INSTANCE.getLog().log(status);
+ } else {
+ String msg = java.text.MessageFormat.format(
+ "{1,choice,0#msg|1#Info|2#Warning|4#Error}@{0}: {3}",
+ status.getPlugin(),
+ status.getSeverity(),
+ status.getCode(),
+ status.getMessage() );
+
+ System.err.println(msg);
+
+ if (status.getException() != null) {
+ status.getException().printStackTrace(System.err);
+ }
+ }
+ }
+
+
+ /**
+ * The configuration elements for our extension points
+ *
+ * @param extensionPointId our extension points
+ *
+ * @return the configuration elements.
+ *
+ */
+
+ public IConfigurationElement[] getConfigurationElements (String extensionPointId) {
+ String id = getBundle().getSymbolicName();
+
+ IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(id, extensionPointId);
+ if (extensionPoint == null) {
+ return new IConfigurationElement[] {} ;
+ }
+ return extensionPoint.getConfigurationElements();
+ }
+
+
+ /**
+ * @see org.eclipse.bpel.fnmeta.IFunctionRegistryLoader#load(org.eclipse.bpel.fnmeta.FunctionRegistry)
+ */
+ public void load (FunctionRegistry registry) {
+
+ for (IConfigurationElement elm : getConfigurationElements( FUNCTION_REGISTRY )) {
+ String ns = registry.getLanguageNS();
+ if (ns == null || ns.equals(elm.getAttribute(AT_REGISTRY_NAME_SPACE)) == false) {
+ continue;
+ }
+
+ String location = elm.getAttribute(AT_URI);
+ URI uri = URI.createURI( location ) ;
+
+ BPELResourceSet rs = new BPELResourceSet();
+ Resource resource = rs.getResource(uri, true, "fnmeta");
+
+ if (resource.getContents().size() > 0) {
+ Registry r = (Registry) resource.getContents().get(0);
+ registry.add( r.getFunctions() );
+ }
+ }
+ }
+
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.common.extension.model.Extension#getExtendedObject <em>Extended Object</em>}</li>
+ * <li>{@link org.eclipse.bpel.common.extension.model.Extension#getExtensionObject <em>Extension Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtension()
+ * @model
+ * @generated
+ */
+public interface Extension extends EObject {
+ /**
+ * Returns the value of the '<em><b>Extended Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended Object</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended Object</em>' reference.
+ * @see #setExtendedObject(EObject)
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtension_ExtendedObject()
+ * @model required="true"
+ * @generated
+ */
+ EObject getExtendedObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.common.extension.model.Extension#getExtendedObject <em>Extended Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended Object</em>' reference.
+ * @see #getExtendedObject()
+ * @generated
+ */
+ void setExtendedObject(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Extension Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Object</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Object</em>' containment reference.
+ * @see #setExtensionObject(EObject)
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtension_ExtensionObject()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EObject getExtensionObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.common.extension.model.Extension#getExtensionObject <em>Extension Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extension Object</em>' containment reference.
+ * @see #getExtensionObject()
+ * @generated
+ */
+ void setExtensionObject(EObject value);
+
+} // Extension
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.common.extension.model.ExtensionMap#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.bpel.common.extension.model.ExtensionMap#getExtensions <em>Extensions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtensionSet()
+ * @model
+ * @customized
+ */
+public interface ExtensionMap extends EObject,Map<EObject,EObject> {
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtensionMap_Namespace()
+ * @model
+ * @generated
+ */
+ String getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.common.extension.model.ExtensionMap#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extensions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.bpel.common.extension.model.Extension}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extensions</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extensions</em>' containment reference list.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#getExtensionMap_Extensions()
+ * @model type="org.eclipse.bpel.common.extension.model.Extension" containment="true"
+ * @generated
+ */
+ EList getExtensions();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void initializeAdapter();
+
+} // ExtensionMap
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage
+ * @generated
+ */
+public interface ExtensionmodelFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtensionmodelFactory eINSTANCE = new org.eclipse.bpel.common.extension.model.impl.ExtensionmodelFactoryImpl();
+
+ /**
+ * Returns a new object of class '<em>Extension Map</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension Map</em>'.
+ * @generated
+ */
+ ExtensionMap createExtensionMap();
+
+ /**
+ * Returns a new object of class '<em>Extension</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension</em>'.
+ * @generated
+ */
+ Extension createExtension();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExtensionmodelPackage getExtensionmodelPackage();
+
+ /**
+ * Method findExtensionSet.
+ * Given a namespace and the contents of a Resource (as an EList), this
+ * method will find the first instance of an ExtensionMap object for the
+ * given namespace. <code>null</code> is returned if one doesn't exists
+ * @param namespace - ExtensionMap namespace
+ * @param contents - Resource contents
+ * @return ExtensionMap
+ * @customized
+ */
+ ExtensionMap findExtensionMap(String namespace, EList contents);
+
+ /**
+ * Method findExtensionSets. Given a namespace and the contents of a
+ * Resource (as an EList), this method will find all ExtensionMap objects
+ * that for the given namespace. An empty list is returned if one no
+ * ExtensionMap objects meeting the criteria exists
+ * @param namespace - ExtensionMap namespace
+ * @param contents - Resource contents
+ * @return ExtensionMap
+ * @customized
+ */
+ EList findExtensionMaps(String namespace, EList contents);
+
+ /**
+ * Method createExtensionSet.
+ * Creates an ExtensionMap object for the given namespace.
+ * @param namespace
+ * @return ExtensionMap
+ * @customized
+ */
+ ExtensionMap createExtensionMap(String namespace);
+
+ /**
+ * Method adaptEObject.
+ * This method associates an adapter to a model object.
+ * @param target - object to which the adaptor is to be associated
+ * @param adapter - adapter to asociate to target
+ * @customized
+ */
+ void adaptEObject(EObject target, Adapter adapter);
+
+ /**
+ * Method getExtensionEdapter.
+ * This method returns an extension adapter associated with the
+ * given EObject.
+ * @param extendedObject - adapter object
+ * @param namesapce - adapter's namesapce
+ * @return adapter object
+ * @customized
+ */
+ Adapter getExtensionAdapter(EObject extendedObject, String namesapce);
+
+
+} //ExtensionmodelFactory
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,213 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExtensionmodelPackage extends EPackage{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "model";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http:///extensionmodel.ecore";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "extensionmodel";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtensionmodelPackage eINSTANCE = org.eclipse.bpel.common.extension.model.impl.ExtensionmodelPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.common.extension.model.impl.ExtensionMapImpl <em>Extension Map</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.impl.ExtensionMapImpl
+ * @see org.eclipse.bpel.common.extension.model.impl.ExtensionmodelPackageImpl#getExtensionMap()
+ * @generated
+ */
+ int EXTENSION_MAP = 0;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_MAP__NAMESPACE = 0;
+
+ /**
+ * The feature id for the '<em><b>Extensions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_MAP__EXTENSIONS = 1;
+
+ /**
+ * The number of structural features of the '<em>Extension Map</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_MAP_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.common.extension.model.impl.ExtensionImpl <em>Extension</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.impl.ExtensionImpl
+ * @see org.eclipse.bpel.common.extension.model.impl.ExtensionmodelPackageImpl#getExtension()
+ * @generated
+ */
+ int EXTENSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Extended Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION__EXTENDED_OBJECT = 0;
+
+ /**
+ * The feature id for the '<em><b>Extension Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION__EXTENSION_OBJECT = 1;
+
+ /**
+ * The number of structural features of the '<em>Extension</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_FEATURE_COUNT = 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.common.extension.model.ExtensionMap <em>Extension Map</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension Map</em>'.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionMap
+ * @generated
+ */
+ EClass getExtensionMap();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.common.extension.model.ExtensionMap#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Namespace</em>'.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionMap#getNamespace()
+ * @see #getExtensionMap()
+ * @generated
+ */
+ EAttribute getExtensionMap_Namespace();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.bpel.common.extension.model.ExtensionMap#getExtensions <em>Extensions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Extensions</em>'.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionMap#getExtensions()
+ * @see #getExtensionMap()
+ * @generated
+ */
+ EReference getExtensionMap_Extensions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.common.extension.model.Extension <em>Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension</em>'.
+ * @see org.eclipse.bpel.common.extension.model.Extension
+ * @generated
+ */
+ EClass getExtension();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.bpel.common.extension.model.Extension#getExtendedObject <em>Extended Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended Object</em>'.
+ * @see org.eclipse.bpel.common.extension.model.Extension#getExtendedObject()
+ * @see #getExtension()
+ * @generated
+ */
+ EReference getExtension_ExtendedObject();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.bpel.common.extension.model.Extension#getExtensionObject <em>Extension Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Extension Object</em>'.
+ * @see org.eclipse.bpel.common.extension.model.Extension#getExtensionObject()
+ * @see #getExtension()
+ * @generated
+ */
+ EReference getExtension_ExtensionObject();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ExtensionmodelFactory getExtensionmodelFactory();
+
+} //ExtensionmodelPackage
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * This adapter provides an easy way to get to an Extension object. It is
+ * created when an EObject is extended or its Extension is retrieved from the
+ * ExtensionMap.
+ * @custom
+ */
+public interface ExtendedObjectAdapter extends Adapter {
+
+ /**
+ * Returns the compExtension.
+ * Gets the Extension object extending the adapted EObject.
+ * @return ComponentExtension
+ */
+ Extension getExtension();
+
+ /**
+ * Returns the extension object.
+ * @return ComponentExtension
+ */
+ EObject getExtensionObject();
+
+ /**
+ * Sets the compExtension.
+ * Sets the Extension object extending the adapted EObject.
+ * @param compExtension The compExtension to set
+ */
+ void setExtension(Extension extension);
+
+ /**
+ * Method getNamespace
+ * Returns the namesapce of the ExtensionMap that associated this adapter.
+ * @return String
+ */
+ String getNamespace();
+
+ /**
+ * Method setNamespace.
+ * Sets the namescpase for this adapter (which should correspond to the
+ * namespace of the ExtensionMap that associated this adapter).
+ * @param namespace
+ */
+ void setNamespace(String namespace);
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters;
+
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.emf.common.notify.Adapter;
+
+
+/**
+ * This adapter provides an easy way to get to an Extension object. It is
+ * created when an EObject is extended or its Extension is retrieved from the
+ * ExtensionMap.
+ * @custom
+ */
+public interface ExtendedObjectUserAdapter extends Adapter {
+
+ /**
+ * Method getNamespace
+ * Returns the namesapce of the ExtensionMap that associated this adapter.
+ * @return String
+ */
+ String getNamespace();
+
+ /**
+ * Sets the ExtensionMap.
+ * @param extensionMap
+ */
+ void setExtensionMap(ExtensionMap extensionMap);
+
+ /**
+ * Gets the extension object extending the extendedObject.
+ * @return extensionObject
+ */
+ Object get(Object extendedObject);
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters.impl;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectAdapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+
+/**
+ * @custom
+ */
+public class ExtendedObjectAdapterImpl extends AdapterImpl implements ExtendedObjectAdapter {
+
+ private Extension extension = null;
+ private String namespace = null;
+
+ /**
+ * Constructor for ComponentExtensionAdapter.
+ */
+ public ExtendedObjectAdapterImpl() {
+ super();
+ }
+
+ /**
+ * Returns the compExtension.
+ * @return ComponentExtension
+ */
+ public Extension getExtension() {
+ return extension;
+ }
+
+ /**
+ * Returns the extension object.
+ * @return ComponentExtension
+ */
+ public EObject getExtensionObject() {
+ if(extension== null)
+ return null;
+ else
+ return extension.getExtensionObject();
+ }
+
+ /**
+ * Sets the compExtension.
+ * @param compExtension The compExtension to set
+ */
+ public void setExtension(Extension extension) {
+ this.extension = extension;
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * @see org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectAdapter#getNamespace()
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /**
+ * @see org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectAdapter#setNamespace()
+ */
+ public void setNamespace(String namespace) {
+ this.namespace = namespace;
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+ */
+ @Override
+ public boolean isAdapterForType(Object type) {
+ return EObjectImpl.class.equals(type);
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters.impl;
+
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectUserAdapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+
+/**
+ * This adapter is associated to an ExtensionMap and it's responsible for
+ * cleaning up once an Extension is removed from the ExtensionMap's list.
+ */
+public class ExtendedObjectUserAdapterImpl extends AdapterImpl implements ExtendedObjectUserAdapter {
+
+ private ExtensionMap extensionMap = null;
+
+ /**
+ * Constructor for ExtensionAdapterImpl.
+ */
+ public ExtendedObjectUserAdapterImpl() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ @Override
+ public void notifyChanged(Notification notification) {}
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+ */
+ @Override
+ public boolean isAdapterForType(Object type) {
+ return EObjectImpl.class.equals(type);
+ }
+
+ public void setExtensionMap(ExtensionMap extensionMap) {
+ this.extensionMap = extensionMap;
+ }
+
+ public Object get(Object extendedObject) {
+ try{
+ return extensionMap.get(extendedObject);
+ } catch (NullPointerException npe){
+ return null;
+ }
+ }
+
+ public String getNamespace() {
+ return extensionMap.getNamespace();
+ }
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters.impl;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.impl.ExtensionImpl;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+
+
+/**
+ * This adapter is associated to Extension objects. It's job is to perform the
+ * appropriate clean up if any of the the adapted Extension object features are
+ * changed. It is a stateless adapter.
+ */
+public class ExtensionAdapterImpl extends AdapterImpl {
+
+ /**
+ * Constructor for ExtensionAdapterImpl.
+ */
+ public ExtensionAdapterImpl() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+
+ switch (notification.getEventType()) {
+ case Notification.SET : // either the extendedObject or extensionObject was changed.
+
+ // need to eliminate this extension object from the ExtensionMap. If, both the extendedObject
+ // and extensionObjects are null and the Extension is cointained by the ExtensionMap then
+ // remove it form the list.
+ Extension extension = (Extension) notification.getNotifier();
+
+ if(extension.getExtendedObject() == null && extension.getExtensionObject() == null &&
+ extension.eContainer() != null){
+
+ ExtensionMap extensionSet = (ExtensionMap)extension.eContainer();
+
+ if(extensionSet != null && extensionSet.getExtensions().contains(extension))
+ extensionSet.getExtensions().remove(extension);
+ }
+
+ // If the extendedObject is not null set it to null now
+ if (extension.getExtendedObject() != null)
+ extension.setExtendedObject(null);
+
+ // If the extensionObject is not null set it to null now
+ if (extension.getExtensionObject() != null)
+ extension.setExtensionObject(null);
+
+ break;
+
+ default :
+ break;
+ }
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+ */
+ @Override
+ public boolean isAdapterForType(Object type) {
+ return ExtensionImpl.class.equals(type);
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,137 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.adapters.impl;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectAdapter;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectUserAdapter;
+import org.eclipse.bpel.common.extension.model.impl.ExtensionMapImpl;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * This adapter is associated to an ExtensionMap and it's responsible for
+ * cleaning up once an Extension is removed from the ExtensionMap's list.
+ */
+public class ExtensionMapAdapterImpl extends AdapterImpl {
+
+ /**
+ * Constructor for ExtensionAdapterImpl.
+ */
+ public ExtensionMapAdapterImpl() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+
+ if(notification.getFeatureID(null) == ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS){
+ switch (notification.getEventType()) {
+
+ case Notification.REMOVE : // an Extension has been removed
+ case Notification.REMOVE_MANY : // an Extension has been removed
+
+ List<Extension> extensionList = null;
+ if(notification.getEventType() == Notification.REMOVE_MANY)
+ extensionList = (List<Extension>) notification.getOldValue();
+ else{
+ extensionList = new BasicEList();
+ extensionList.add((Extension)notification.getOldValue());
+ }
+
+ for (Iterator<Extension> iter = extensionList.iterator(); iter.hasNext();) {
+ Extension extension = iter.next();
+
+ EObject extendedObject = extension.getExtendedObject();
+
+ // if the exended EObject had an adapter, remove it.
+ if(extendedObject != null){
+ EList<Adapter> adapters = extendedObject.eAdapters();
+ EList<Adapter> removeAdapterList = new BasicEList<Adapter>();
+ for (Iterator<Adapter> iter2 = adapters.iterator();iter2.hasNext();) {
+ Adapter adapter = iter2.next();
+
+ if((adapter instanceof ExtendedObjectUserAdapter && ((ExtendedObjectUserAdapter)adapter).getNamespace().equals(((ExtensionMap)getTarget()).getNamespace()))||
+ adapter instanceof ExtendedObjectAdapter && ((ExtendedObjectAdapter)adapter).getNamespace().equals(((ExtensionMap)getTarget()).getNamespace())){
+ removeAdapterList.add(adapter);
+ }
+ }
+
+ for (Iterator<Adapter> iter2 = removeAdapterList.iterator(); iter2.hasNext();) {
+ Adapter adapter = iter2.next();
+ try{
+ ((ExtendedObjectAdapter)adapter).setExtension(null);
+ }catch(ClassCastException e){}
+ extendedObject.eAdapters().remove(adapter);
+ }
+ }
+
+ // Set the Extension attributes to null.
+ if (!(notification.getNotifier() instanceof Extension)){
+ if(extension.getExtendedObject() != null)
+ extension.setExtendedObject(null);
+
+ if(extension.getExtensionObject() != null)
+ extension.setExtensionObject(null);
+ }
+
+ }
+ break;
+
+ case Notification.REMOVING_ADAPTER :
+
+ ExtensionMap map = (ExtensionMap) notification.getNotifier();
+ Set extendedObjects = map.keySet();
+
+ for (Iterator<EObject> iter = extendedObjects.iterator(); iter.hasNext();) {
+ EObject element = iter.next();
+
+ List<Adapter> remove = new BasicEList<Adapter>();
+ for (Iterator<Adapter> iterator = element.eAdapters().iterator(); iterator.hasNext();) {
+ Adapter adapter = iterator.next();
+ if(adapter instanceof ExtendedObjectUserAdapter ||
+ adapter instanceof ExtendedObjectAdapter)
+ remove.add(adapter);
+ }
+ element.eAdapters().removeAll(remove);
+ }
+
+ break;
+
+ default :
+ break;
+ }
+ }
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+ */
+ @Override
+ public boolean isAdapterForType(Object type) {
+ return ExtensionMapImpl.class.equals(type);
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,247 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.impl;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.common.extension.model.impl.ExtensionImpl#getExtendedObject <em>Extended Object</em>}</li>
+ * <li>{@link org.eclipse.bpel.common.extension.model.impl.ExtensionImpl#getExtensionObject <em>Extension Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtensionImpl extends EObjectImpl implements Extension {
+ /**
+ * The cached value of the '{@link #getExtendedObject() <em>Extended Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedObject()
+ * @generated
+ * @ordered
+ */
+ protected EObject extendedObject = null;
+
+ /**
+ * The cached value of the '{@link #getExtensionObject() <em>Extension Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionObject()
+ * @generated
+ * @ordered
+ */
+ protected EObject extensionObject = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtensionmodelPackage.eINSTANCE.getExtension();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getExtendedObject() {
+ if (extendedObject != null && extendedObject.eIsProxy()) {
+ EObject oldExtendedObject = extendedObject;
+ extendedObject = eResolveProxy((InternalEObject)extendedObject);
+ if (extendedObject != oldExtendedObject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT, oldExtendedObject, extendedObject));
+ }
+ }
+ return extendedObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetExtendedObject() {
+ return extendedObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedObject(EObject newExtendedObject) {
+ EObject oldExtendedObject = extendedObject;
+ extendedObject = newExtendedObject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT, oldExtendedObject, extendedObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getExtensionObject() {
+ return extensionObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExtensionObject(EObject newExtensionObject, NotificationChain msgs) {
+ EObject oldExtensionObject = extensionObject;
+ extensionObject = newExtensionObject;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT, oldExtensionObject, newExtensionObject);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtensionObject(EObject newExtensionObject) {
+ if (newExtensionObject != extensionObject) {
+ NotificationChain msgs = null;
+ if (extensionObject != null)
+ msgs = ((InternalEObject)extensionObject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT, null, msgs);
+ if (newExtensionObject != null)
+ msgs = ((InternalEObject)newExtensionObject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT, null, msgs);
+ msgs = basicSetExtensionObject(newExtensionObject, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT, newExtensionObject, newExtensionObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+ if (featureID >= 0) {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+ case ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT:
+ return basicSetExtensionObject(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT:
+ if (resolve) return getExtendedObject();
+ return basicGetExtendedObject();
+ case ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT:
+ return getExtensionObject();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(EStructuralFeature eFeature, Object newValue) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT:
+ setExtendedObject((EObject)newValue);
+ return;
+ case ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT:
+ setExtensionObject((EObject)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT:
+ setExtendedObject((EObject)null);
+ return;
+ case ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT:
+ setExtensionObject((EObject)null);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION__EXTENDED_OBJECT:
+ return extendedObject != null;
+ case ExtensionmodelPackage.EXTENSION__EXTENSION_OBJECT:
+ return extensionObject != null;
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+} //ExtensionImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,875 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.impl;
+
+import java.util.AbstractCollection;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelFactory;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectAdapter;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectUserAdapter;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtendedObjectAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtendedObjectUserAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtensionAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtensionMapAdapterImpl;
+import org.eclipse.bpel.common.extension.model.notify.ExtensionModelNotification;
+import org.eclipse.bpel.common.extension.model.notify.impl.ExtensionModelNotificationImpl;
+import org.eclipse.bpel.common.extension.model.util.ExtensionmodelAdapterFactory;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.common.extension.model.impl.ExtensionMapImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.bpel.common.extension.model.impl.ExtensionMapImpl#getExtensions <em>Extensions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtensionMapImpl extends EObjectImpl implements ExtensionMap {
+ /**
+ * The default value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtensions() <em>Extensions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensions()
+ * @generated
+ * @ordered
+ */
+ protected EList<Extension> extensions = null;
+
+ /**
+ * The value of the user adapter if one has been instantiated via the initializeAdapter()
+ * method. This attribute is not modeled as it is not required to
+ * serialize its value.
+ * @customized
+ */
+ private ExtendedObjectUserAdapter userAdapter = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionMapImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtensionmodelPackage.eINSTANCE.getExtensionMap();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNamespace(String newNamespace) {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtensionmodelPackage.EXTENSION_MAP__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Extension> getExtensions() {
+ if (extensions == null) {
+ extensions = new EObjectContainmentEList<Extension>(Extension.class, this, ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS);
+ }
+ return extensions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @customized
+ */
+ public void initializeAdapter() {
+ ExtensionmodelAdapterFactory factory = new ExtensionmodelAdapterFactory();
+ if (userAdapter == null)
+ userAdapter = (ExtendedObjectUserAdapter)factory.createEObjectAdapter();
+
+ userAdapter.setExtensionMap(this);
+
+ Set<EObject> extendedObjects = this.keySet();
+
+ for (Iterator<EObject> iter = extendedObjects.iterator(); iter.hasNext();) {
+ EObject element = iter.next();
+ adaptEObject(element,userAdapter);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+ if (featureID >= 0) {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+ case ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS:
+ return ((InternalEList)getExtensions()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION_MAP__NAMESPACE:
+ return getNamespace();
+ case ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS:
+ return getExtensions();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(EStructuralFeature eFeature, Object newValue) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION_MAP__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS:
+ getExtensions().clear();
+ getExtensions().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION_MAP__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS:
+ getExtensions().clear();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case ExtensionmodelPackage.EXTENSION_MAP__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case ExtensionmodelPackage.EXTENSION_MAP__EXTENSIONS:
+ return extensions != null && !extensions.isEmpty();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (namespace: ");
+ result.append(namespace);
+ result.append(')');
+ return result.toString();
+ }
+
+
+
+ /**
+ * This is the Map entrySet.
+ * @param <K>
+ * @param <V>
+ */
+
+ public class EntrySet<K,V> extends java.util.AbstractSet<Map.Entry<K,V>> {
+ /**
+ * ESet constructor comment.
+ */
+ protected EntrySet() {
+ super();
+ }
+
+ /**
+ * @see java.util.AbstractCollection#iterator()
+ */
+ @Override
+ public java.util.Iterator<Map.Entry<K,V>> iterator () {
+ return new EIterator<Map.Entry<K,V>> () {
+
+ @Override
+ protected Map.Entry<K,V> next(Extension extension) {
+ return new Entry (extension.getExtendedObject(), extension.getExtensionObject());
+ }
+ };
+ }
+
+ /**
+ * @see java.util.AbstractCollection#size()
+ */
+ @Override
+ public int size() {
+ int n=0;
+ for (Iterator<?> i=iterator(); i.hasNext(); ) {
+ i.next();
+ n++;
+ }
+ return n;
+ }
+ }
+
+ /**
+ * This is the Map entrySet.
+ */
+ public class KeySet extends java.util.AbstractSet<EObject> {
+
+ /**
+ * ESet constructor comment.
+ */
+ protected KeySet() {
+ super();
+ }
+
+
+ /**
+ * @see java.util.AbstractCollection#iterator()
+ */
+ @Override
+ public java.util.Iterator<EObject> iterator() {
+ return new EIterator<EObject>() {
+ @Override
+ protected EObject next (Extension extension) {
+ return extension.getExtendedObject();
+ }
+ };
+ }
+
+ /**
+ * @see java.util.AbstractCollection#size()
+ */
+ @Override
+ public int size() {
+ int n=0;
+ for (Iterator<?> i=iterator(); i.hasNext(); ) {
+ i.next();
+ n++;
+ }
+ return n;
+ }
+ }
+
+
+ /**
+ * This is the Map entrySet.
+ */
+
+ public class Values extends AbstractCollection<EObject> {
+ /**
+ * ESet constructor comment.
+ */
+ protected Values() {
+ super();
+ }
+
+ /**
+ * @see java.util.AbstractCollection#iterator()
+ */
+ @Override
+ public java.util.Iterator<EObject> iterator() {
+
+ return new EIterator<EObject>() {
+ @Override
+ protected EObject next (Extension extension) {
+ return extension.getExtensionObject() ;
+ }
+ };
+
+ }
+
+ /**
+ * @see java.util.AbstractCollection#size()
+ */
+ @Override
+ public int size() {
+ int n=0;
+ for (Iterator<?> i=iterator(); i.hasNext(); ) {
+ i.next();
+ n++;
+ }
+ return n;
+ }
+ }
+
+ /**
+ * This is the map entry iterator.
+ * @param <T>
+ */
+ public abstract class EIterator<T> implements java.util.Iterator<T> {
+ Iterator<Extension> fieldListIterator;
+ /**
+ * EIterator constructor comment.
+ */
+ public EIterator() {
+ super();
+ fieldListIterator = getExtensions().iterator();
+ }
+ /**
+ * Returns <tt>true</tt> if the iteration has more elements. (In other
+ * words, returns <tt>true</tt> if <tt>next</tt> would return an element
+ * rather than throwing an exception.)
+ *
+ * @return <tt>true</tt> if the iterator has more elements.
+ */
+ public boolean hasNext() {
+ return fieldListIterator.hasNext();
+ }
+ /**
+ * Returns the next element in the iteration.
+ * @return the next element in the iteration.
+ * @exception NoSuchElementException iteration has no more elements.
+ */
+ public T next() {
+ Extension object = fieldListIterator.next();
+ if (object == null) {
+ return null;
+ }
+ return next (object);
+ }
+
+ protected abstract T next (Extension extension) ;
+
+ /**
+ *
+ * Removes from the underlying collection the last element returned by the
+ * iterator (optional operation). This method can be called only once per
+ * call to <tt>next</tt>. The behavior of an iterator is unspecified if
+ * the underlying collection is modified while the iteration is in
+ * progress in any way other than by calling this method.
+ *
+ * @exception UnsupportedOperationException if the <tt>remove</tt>
+ * operation is not supported by this Iterator.
+
+ * @exception IllegalStateException if the <tt>next</tt> method has not
+ * yet been called, or the <tt>remove</tt> method has already
+ * been called after the last call to the <tt>next</tt>
+ * method.
+ */
+ public void remove() {
+ fieldListIterator.remove();
+ }
+
+ }
+
+
+ /**
+ * Map entry.
+ * @param <K>
+ * @param <V>
+ */
+ public class Entry<K,V> implements Map.Entry<K,V> {
+ K key;
+ V value;
+
+ /**
+ * @param aKey
+ * @param aValue
+ */
+ public Entry (K aKey, V aValue) {
+ this.key = aKey;
+ this.value = aValue;
+ }
+
+ /**
+ * @see java.util.Map.Entry#getKey()
+ */
+ public K getKey() {
+ return key;
+ }
+
+ /**
+ * @see java.util.Map.Entry#getValue()
+ */
+ public V getValue() {
+ return value;
+ }
+
+ /**
+ * @see java.util.Map.Entry#setValue(java.lang.Object)
+ */
+ public V setValue(V aValue) {
+ V oldValue = this.value;
+ this.value = aValue;
+ return oldValue;
+ }
+
+ /**
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (!(o instanceof Map.Entry)) {
+ return false;
+ }
+
+ Map.Entry<?,?> e = (Map.Entry<?,?>) o;
+ return (key == null ? e.getKey() == null : key.equals(e.getKey())) && (value == null ? e.getValue() == null : value.equals(e.getValue()));
+ }
+
+ /**
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return key == null ? 0 : key.hashCode();
+ }
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ @SuppressWarnings("nls")
+ @Override
+ public String toString() {
+ return key + "=" + value;
+ }
+ }
+
+ /**
+ * @see java.util.Map#size()
+ */
+ public int size() {
+ return getExtensions().size();
+ }
+
+ /** (non-Javadoc)
+ * @see java.util.Map#isEmpty()
+ */
+ public boolean isEmpty() {
+ return getExtensions().isEmpty();
+ }
+
+ /**
+ * @see java.util.Map#containsKey(java.lang.Object)
+ */
+ public boolean containsKey(Object extendedObject) {
+
+ if ( extendedObject != null ) {
+ for (Extension extension : getExtensions()) {
+ if(extension.getExtendedObject().equals(extendedObject)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @see java.util.Map#containsValue(java.lang.Object)
+ */
+ public boolean containsValue (Object extensionObject) {
+
+ if (extensionObject != null) {
+ for (Extension extension : getExtensions()) {
+ if (extension.getExtensionObject().equals(extensionObject)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @see java.util.Map#get(java.lang.Object)
+ * @generated NOT
+ */
+ public EObject get(Object extendedObject) {
+ EObject extension = null;
+
+ extension = getExtensionObject((EObject)extendedObject);
+ if (extension!=null) {
+ return ((Extension)extension).getExtensionObject();
+ }
+ return null;
+ }
+
+ /**
+ * @param extendedObject
+ * @param extensionObject
+ * @return the previous object
+ * @see java.util.Map#put(java.lang.Object, java.lang.Object)
+ * @generated NOT
+ */
+ public EObject put(EObject extendedObject, EObject extensionObject) {
+
+ EObject originalObject = null;
+
+ if(extendedObject != null && extensionObject!= null){
+
+ Extension extension = getExtensionObject( extendedObject );
+
+ if(extension!= null)
+ originalObject = extension.getExtensionObject();
+ else {
+ extension = ExtensionmodelFactory.eINSTANCE.createExtension();
+ getExtensions().add(extension);
+ }
+
+ extension.setExtendedObject(extendedObject);
+ extension.setExtensionObject(extensionObject);
+
+ ExtensionmodelAdapterFactory adapterFactory = new ExtensionmodelAdapterFactory();
+
+ ExtendedObjectAdapter extAdptr = (ExtendedObjectAdapter) adapterFactory.createExtendedObjectAdapter();
+
+ extAdptr.setExtension(extension);
+ extAdptr.setNamespace(getNamespace());
+
+ adaptEObject(extendedObject,extAdptr);
+
+ adapterFactory.adapt(extension,ExtensionAdapterImpl.class);
+
+ if(userAdapter == null)
+ initializeAdapter();
+ else
+ adaptEObject(extendedObject,userAdapter);
+
+ if (eNotificationRequired())
+ eNotify(new ExtensionModelNotificationImpl(this, Notification.ADD, ExtensionModelNotification.EXTENSION_MAP_PUT, extendedObject, originalObject));
+
+ return originalObject;
+
+ }
+
+ return null;
+ }
+
+ /**
+ * @see java.util.Map#remove(java.lang.Object)
+ */
+ public EObject remove (Object extendedObject) {
+ if (extendedObject == null) {
+ return null;
+ }
+ Extension extensionObject = getExtensionObject((EObject)extendedObject);
+ if(getExtensions().contains(extensionObject)){
+ Object oldExtension = extensionObject.getExtensionObject();
+ getExtensions().remove(extensionObject);
+ if (eNotificationRequired())
+ eNotify(new ExtensionModelNotificationImpl(this, Notification.REMOVE, ExtensionModelNotification.EXTENSION_MAP_REMOVE, extendedObject, oldExtension));
+ }
+
+ // Remove adapter if one exists
+ removeAdapters((EObject) extendedObject);
+
+ if(extensionObject != null) {
+ return extensionObject.getExtensionObject();
+ }
+
+ return null;
+ }
+
+ /**
+ * @see java.util.Map#putAll(java.util.Map)
+ */
+ public void putAll(Map<? extends EObject, ? extends EObject> extendedObjectMap) {
+
+ Map<EObject,EObject> originalMap = null;
+ if (eNotificationRequired()){
+ originalMap = buildMap();
+ }
+
+ if(extendedObjectMap != null && !extendedObjectMap.isEmpty()) {
+ for (Map.Entry<? extends EObject, ? extends EObject> entry : extendedObjectMap.entrySet()) {
+ put(entry.getKey(),entry.getValue());
+ }
+ }
+
+ if (eNotificationRequired())
+ eNotify(new ExtensionModelNotificationImpl(this, Notification.ADD_MANY, ExtensionModelNotification.EXTENSION_MAP_PUTALL, originalMap, null));
+
+ }
+
+ /**
+ * @see java.util.Map#clear()
+ */
+ public void clear() {
+ Map<EObject,EObject> originalMap = null;
+ if (eNotificationRequired() && !getExtensions().isEmpty()){
+ originalMap = buildMap();
+ }
+
+ getExtensions().clear();
+
+ if (originalMap != null){
+ int et = Notification.REMOVE_MANY;
+ if(originalMap.size() == 1)
+ et = Notification.REMOVE;
+
+ eNotify(new ExtensionModelNotificationImpl(this, et, ExtensionModelNotification.EXTENSION_MAP_CLEAR, originalMap, null));
+ }
+ }
+
+ /**
+ * @see java.util.Map#keySet()
+ */
+ public Set<EObject> keySet() {
+ return new KeySet ();
+ }
+
+
+ /**
+ * @see java.util.Map#values()
+ */
+ public Collection<EObject> values() {
+ return new Values ();
+ }
+
+
+ /**
+ * @see java.util.Map#entrySet()
+ */
+ public Set<java.util.Map.Entry<EObject, EObject>> entrySet() {
+ return new EntrySet<EObject,EObject>();
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @customized
+ */
+ private Extension getExtensionObject (EObject extendedObject) {
+
+ Extension extension = null;
+
+ if (extendedObject!=null) {
+
+ // First check if the is an adapted associated with this object.
+ // If there is, the adapter points to the Extension object. Return this
+ // object.
+ for(Adapter element : extendedObject.eAdapters()) {
+ if(element instanceof ExtendedObjectAdapter && ((ExtendedObjectAdapter)element).getNamespace().equals(getNamespace())){
+ extension = ((ExtendedObjectAdapter)element).getExtension();
+ break;
+ }
+ }
+
+ // Was the extension found though the adapter? Not if it's null.
+ // There is no adapter associated with this bject so we must search the
+ // Extension list. Once the Extension is found, associate an adapter with this
+ // object to improve performance in future queries.
+ if (extension == null) {
+
+ EList<Extension> extensions = getExtensions();
+ int len = extensions.size();
+ for (int i = 0; i < len; ++i) {
+ Extension ext = extensions.get(i);
+ EObject extObject = ext.getExtendedObject();
+ if (extObject != null) {
+ if (ext.getExtendedObject().equals(extendedObject)) {
+ extension = ext;
+
+ ExtensionmodelAdapterFactory adapterFactory = new ExtensionmodelAdapterFactory();
+
+ ExtendedObjectAdapter extAdptr = (ExtendedObjectAdapter) adapterFactory
+ .createExtendedObjectAdapter();
+
+ extAdptr.setExtension(extension);
+ extAdptr.setNamespace(getNamespace());
+
+ ExtensionmodelFactory.eINSTANCE.adaptEObject(extendedObject, extAdptr);
+
+ adapterFactory.adapt(extension, ExtensionAdapterImpl.class);
+
+ break;
+ } else if (extObject.eIsProxy()) {
+ // https://jira.jboss.org/browse/JBIDE-7520
+ // this thing has not been resolved - the extension
+ // model is out of sync with the BPEL model so remove
+ // this extension from the model
+ extensions.remove(i--);
+ --len;
+ }
+ }
+
+ }
+ }
+ }
+
+ return extension;
+ }
+
+ /**
+ * @return ExtendedObjectUserAdapter
+ * @customized
+ */
+ public ExtendedObjectUserAdapter getUserAdapter() {
+ return userAdapter;
+ }
+
+ /**
+ * Method adaptEObject.
+ * This method associates an adapter to a model object.
+ * @param target - object to which the adaptor is to be associated
+ * @param adapter - adapter to asociate to target
+ * @customized
+ */
+ private void adaptEObject(EObject target, Adapter adapter) {
+
+ if(target != null && adapter != null){
+ for (Adapter next : target.eAdapters()) {
+ if ((adapter instanceof ExtendedObjectUserAdapter && next instanceof ExtendedObjectUserAdapter && ((ExtendedObjectUserAdapter)next).getNamespace().equals(getNamespace()))||
+ (adapter instanceof ExtendedObjectAdapter && next instanceof ExtendedObjectAdapter && ((ExtendedObjectAdapter)next).getNamespace().equals(getNamespace())))
+ return;
+ }
+
+ target.eAdapters().add(adapter);
+ }
+
+ }
+
+ /**
+ * @customized
+ */
+ private void removeAdapters(EObject target) {
+
+ if(target != null){
+ EList<Adapter> removeAdapterList = new BasicEList<Adapter>();
+ for (Adapter adapter : target.eAdapters()) {
+ if ((adapter instanceof ExtendedObjectUserAdapter && ((ExtendedObjectUserAdapter)adapter).getNamespace().equals(getNamespace()))||
+ (adapter instanceof ExtendedObjectAdapter && ((ExtendedObjectAdapter)adapter).getNamespace().equals(getNamespace())))
+ removeAdapterList.add(adapter);
+ }
+ for(Adapter next : removeAdapterList) {
+ target.eAdapters().remove(next);
+ }
+ }
+ }
+
+ private Map<EObject,EObject> buildMap(){
+
+ boolean buildMap = false;
+ for (Adapter element : eAdapters()) {
+ if(!(element instanceof ExtendedObjectAdapterImpl) &&
+ !(element instanceof ExtendedObjectUserAdapterImpl) &&
+ !(element instanceof ExtensionAdapterImpl) &&
+ !(element instanceof ExtensionMapAdapterImpl)){
+ buildMap = true;
+ break;
+ }
+ }
+
+ if(!buildMap)
+ return null;
+
+ Map<EObject,EObject> map = new HashMap<EObject,EObject>();
+ for (Extension element : getExtensions()) {
+ map.put(element.getExtendedObject(), element.getExtensionObject());
+ }
+ return map;
+ }
+
+
+
+
+
+} //ExtensionMapImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,219 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelFactory;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.bpel.common.extension.model.adapters.ExtendedObjectUserAdapter;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtensionMapAdapterImpl;
+import org.eclipse.bpel.common.extension.model.util.ExtensionmodelAdapterFactory;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionmodelFactoryImpl extends EFactoryImpl implements ExtensionmodelFactory {
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionmodelFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ExtensionmodelPackage.EXTENSION_MAP: return createExtensionMap();
+ case ExtensionmodelPackage.EXTENSION: return createExtension();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionMap createExtensionMapGen() {
+ ExtensionMapImpl extensionMap = new ExtensionMapImpl();
+ return extensionMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extension createExtension() {
+ ExtensionImpl extension = new ExtensionImpl();
+ return extension;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionmodelPackage getExtensionmodelPackage() {
+ return (ExtensionmodelPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ExtensionmodelPackage getPackage() {
+ return ExtensionmodelPackage.eINSTANCE;
+ }
+
+ /**
+ * Method findExtensionSet.
+ * Given a namespace and the contents of a Resource (as an EList), this
+ * method will find the ExtensionMap object for the given namespace.
+ * <code>null</code> is returned if one doesn't exists
+ * @param namespace - ExtensionMap namespace
+ * @param contents - Resource contents
+ * @return ExtensionMap
+ * @customized
+ */
+ public ExtensionMap findExtensionMap(String namespace, EList contents) {
+
+ ExtensionMap extensionSet = null;
+
+ for (Iterator iter = contents.iterator(); iter.hasNext();) {
+ EObject element = (EObject) iter.next();
+
+ if(element instanceof ExtensionMap && ((ExtensionMap)element).getNamespace().equals(namespace)){
+ extensionSet = (ExtensionMap)element;
+ }
+
+ }
+
+ if(extensionSet != null){
+ ExtensionmodelAdapterFactory adapterFactory = new ExtensionmodelAdapterFactory();
+ adapterFactory.adapt(extensionSet,ExtensionMapAdapterImpl.class);
+ }
+
+ return extensionSet;
+ }
+
+
+ /**
+ * @customized
+ */
+ public ExtensionMap createExtensionMap() {
+
+ ExtensionMap extensionMap = createExtensionMapGen();
+ ExtensionmodelAdapterFactory adapterFactory = new ExtensionmodelAdapterFactory();
+ adapterFactory.adapt(extensionMap,ExtensionMapAdapterImpl.class);
+
+ return extensionMap;
+ }
+
+ /**
+ * Method createExtensionSet.
+ * Creates an ExtensionMap object for the given namespace.
+ * @param namespace
+ * @return ExtensionMap
+ * @customized
+ */
+ public ExtensionMap createExtensionMap(String namespace) {
+
+ ExtensionMap extensionSet = ExtensionmodelFactory.eINSTANCE.createExtensionMap();
+
+ extensionSet.setNamespace(namespace);
+
+ return extensionSet;
+ }
+
+
+ /**
+ * Method adaptEObject.
+ * This method associates an adapter to a model object.
+ * @param target - object to which the adaptor is to be associated
+ * @param adapter - adapter to asociate to target
+ * @customized
+ */
+ public void adaptEObject(EObject target, Adapter adapter) {
+
+ for (Iterator adapters = target.eAdapters().iterator(); adapters.hasNext(); )
+ {
+ Adapter currAdapter = (Adapter)adapters.next();
+ if (currAdapter.equals(adapter))
+ {
+ return;
+ }
+ }
+
+ target.eAdapters().add(adapter);
+
+ }
+
+ /**
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelFactory#findExtensionSets(java.lang.String, org.eclipse.emf.common.util.EList)
+ */
+ public EList findExtensionMaps(String namespace, EList contents) {
+ EList extensionSetList = new BasicEList();
+
+ for (Iterator iter = contents.iterator(); iter.hasNext();) {
+ EObject element = (EObject) iter.next();
+
+ if(element instanceof ExtensionMap && ((ExtensionMap)element).getNamespace().equals(namespace)){
+ extensionSetList.add(element);
+ ExtensionmodelAdapterFactory adapterFactory = new ExtensionmodelAdapterFactory();
+ adapterFactory.adapt(element,ExtensionMapAdapterImpl.class);
+ }
+
+ }
+
+ return extensionSetList;
+ }
+
+ public Adapter getExtensionAdapter(EObject extendedObject, String namespace) {
+
+ EList adapterList = extendedObject.eAdapters();
+ for (Iterator iter = adapterList.iterator(); iter.hasNext();) {
+ Adapter element = (Adapter) iter.next();
+ if(element instanceof ExtendedObjectUserAdapter && ((ExtendedObjectUserAdapter)element).getNamespace().equals(namespace)){
+ return element;
+ }
+ }
+ return null;
+ }
+
+
+
+} //ExtensionmodelFactoryImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,250 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.impl;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelFactory;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.impl.EcorePackageImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionmodelPackageImpl extends EPackageImpl implements ExtensionmodelPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionMapEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ExtensionmodelPackageImpl() {
+ super(eNS_URI, ExtensionmodelFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ExtensionmodelPackage init() {
+ if (isInited) return (ExtensionmodelPackage)EPackage.Registry.INSTANCE.get(ExtensionmodelPackage.eNS_URI);
+
+ // Obtain or create and register package.
+ ExtensionmodelPackageImpl theExtensionmodelPackage = (ExtensionmodelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtensionmodelPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackageImpl.init();
+
+ // Obtain or create and register interdependencies
+
+ // Step 1: create meta-model objects
+ theExtensionmodelPackage.createPackageContents();
+
+ // Step 2: complete initialization
+ theExtensionmodelPackage.initializePackageContents();
+
+ return theExtensionmodelPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionMap() {
+ return extensionMapEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtensionMap_Namespace() {
+ return (EAttribute)extensionMapEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionMap_Extensions() {
+ return (EReference)extensionMapEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtension() {
+ return extensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtension_ExtendedObject() {
+ return (EReference)extensionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtension_ExtensionObject() {
+ return (EReference)extensionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionmodelFactory getExtensionmodelFactory() {
+ return (ExtensionmodelFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ extensionMapEClass = createEClass(EXTENSION_MAP);
+ createEAttribute(extensionMapEClass, EXTENSION_MAP__NAMESPACE);
+ createEReference(extensionMapEClass, EXTENSION_MAP__EXTENSIONS);
+
+ extensionEClass = createEClass(EXTENSION);
+ createEReference(extensionEClass, EXTENSION__EXTENDED_OBJECT);
+ createEReference(extensionEClass, EXTENSION__EXTENSION_OBJECT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(extensionMapEClass, ExtensionMap.class, "ExtensionMap", !IS_ABSTRACT, !IS_INTERFACE);
+ initEAttribute(getExtensionMap_Namespace(), ecorePackage.getEString(), "namespace", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
+ initEReference(getExtensionMap_Extensions(), this.getExtension(), null, "extensions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
+
+ addEOperation(extensionMapEClass, null, "initializeAdapter");
+
+ initEClass(extensionEClass, Extension.class, "Extension", !IS_ABSTRACT, !IS_INTERFACE);
+ initEReference(getExtension_ExtendedObject(), theEcorePackage.getEObject(), null, "extendedObject", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
+ initEReference(getExtension_ExtensionObject(), theEcorePackage.getEObject(), null, "extensionObject", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+} //ExtensionmodelPackageImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.notify;
+
+import org.eclipse.emf.common.notify.Notification;
+
+public interface ExtensionModelNotification extends Notification {
+
+ /**
+ * A fature ID indicating that the ExtensionMap.put(Object,Object) method
+ * has been called. Arg1 is set to extended object. Arg2 is set to the old
+ * extension object (if one exists).
+ */
+ int EXTENSION_MAP_PUT = 996;
+
+ /**
+ * A fature ID indicating that the ExtensionMap.putAll(Map) method has been
+ * called. Arg1 is set to the original map contents before the method is
+ * executed. Arg2 is null.
+ */
+ int EXTENSION_MAP_PUTALL = 997;
+
+ /**
+ * A fature ID indicating that the ExtensionMap.remove(Object) method has
+ * been called. Arg1 is set to the extended object being removed. Arg2 is
+ * set to the extension object corresponding to the extended object being
+ * removed.
+ */
+ int EXTENSION_MAP_REMOVE = 998;
+
+ /**
+ * A fature ID indicating that the ExtensionMap.clear() method has been
+ * called. Arg1 is set to the original map contents before the clear is
+ * executed. Arg2 is null.
+ */
+ int EXTENSION_MAP_CLEAR = 999;
+
+ /**
+ * The Object returned depends on the feature ID (see above).
+ *
+ * @return
+ */
+ Object getArg1();
+
+ /**
+ * The Object returned depends on the feature ID (see above).
+ *
+ * @return
+ */
+ Object getArg2();
+
+}
\ No newline at end of file
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+/*
+ * Created on Jan 26, 2005
+ *
+ * To change this generated comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.bpel.common.extension.model.notify.impl;
+
+import org.eclipse.bpel.common.extension.model.notify.ExtensionModelNotification;
+import org.eclipse.emf.common.notify.impl.NotificationImpl;
+import org.eclipse.emf.ecore.EObject;
+
+
+public class ExtensionModelNotificationImpl extends NotificationImpl implements ExtensionModelNotification {
+
+ private EObject notifier = null;
+ private int featureID;
+ private Object arg1 = null;
+ private Object arg2 = null;
+
+ /**
+ * @param notifier - the EObject brodcasting the event
+ * @param eventType
+ * @param feature
+ * @param oldValue
+ * @param newValue
+ * @param isSetChange
+ */
+ public ExtensionModelNotificationImpl(EObject notifier, int eventType, int featureID, Object arg1, Object arg2){
+ super(eventType,null, null);
+ this.featureID = featureID;
+ this.notifier = notifier;
+ this.arg1 = arg1;
+ this.arg2 = arg2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.common.notify.Notification#getFeatureID(java.lang.Class)
+ */
+ @Override
+ public int getFeatureID(Class expectedClass) {
+ return featureID;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.common.notify.Notification#getNotifier()
+ */
+ @Override
+ public Object getNotifier() {
+ return notifier;
+ }
+
+ public Object getArg1() {
+ return arg1;
+ }
+
+ public Object getArg2() {
+ return arg2;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.util;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtendedObjectAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtendedObjectUserAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtensionAdapterImpl;
+import org.eclipse.bpel.common.extension.model.adapters.impl.ExtensionMapAdapterImpl;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage
+ * @generated
+ */
+public class ExtensionmodelAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtensionmodelPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionmodelAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ExtensionmodelPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch the delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionmodelSwitch modelSwitch =
+ new ExtensionmodelSwitch() {
+ @Override
+ public Object caseExtensionMap(ExtensionMap object) {
+ return createExtensionMapAdapter();
+ }
+ @Override
+ public Object caseExtension(Extension object) {
+ return createExtensionAdapter();
+ }
+ @Override
+ public Object defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return (Adapter)modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.common.extension.model.ExtensionMap <em>Extension Map</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionMap
+ * @generated
+ */
+ public Adapter createExtensionMapAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.common.extension.model.ExtensionMap <em>Extension Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.common.extension.model.ExtensionMap
+ * @customized
+ */
+ public Adapter createExtensionSetAdapter() {
+ return new ExtensionMapAdapterImpl();
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.common.extension.model.Extension <em>Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.common.extension.model.Extension
+ * @customized
+ */
+ public Adapter createExtensionAdapter() {
+ return new ExtensionAdapterImpl();
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.common.extension.model.Extension <em>Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.common.extension.model.Extension
+ * @customized
+ */
+ public Adapter createExtendedObjectAdapter() {
+ return new ExtendedObjectAdapterImpl();
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @customized
+ */
+ public Adapter createEObjectAdapter() {
+ return new ExtendedObjectUserAdapterImpl();
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.common.extension.model.util;
+
+import java.util.List;
+
+import org.eclipse.bpel.common.extension.model.Extension;
+import org.eclipse.bpel.common.extension.model.ExtensionMap;
+import org.eclipse.bpel.common.extension.model.ExtensionmodelPackage;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.common.extension.model.ExtensionmodelPackage
+ * @generated
+ */
+public class ExtensionmodelSwitch {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtensionmodelPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionmodelSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ExtensionmodelPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public Object doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ExtensionmodelPackage.EXTENSION_MAP: {
+ ExtensionMap extensionMap = (ExtensionMap)theEObject;
+ Object result = caseExtensionMap(extensionMap);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtensionmodelPackage.EXTENSION: {
+ Extension extension = (Extension)theEObject;
+ Object result = caseExtension(extension);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Extension Map</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Extension Map</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseExtensionMap(ExtensionMap object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Extension</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseExtension(Extension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public Object defaultCase(EObject object) {
+ return null;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta;
+
+import java.net.URL;
+import java.util.Enumeration;
+
+import org.eclipse.bpel.common.BPELResourceSet;
+import org.eclipse.bpel.fnmeta.model.Registry;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 4, 2008
+ *
+ */
+public class ClasspathFunctionRegistryLoader implements IFunctionRegistryLoader {
+
+ ClassLoader fLoader = null;
+ ResourceSet fResourceSet = null;
+
+ /**
+ * @param obj
+ */
+ public ClasspathFunctionRegistryLoader (ResourceSet obj) {
+ fLoader = obj.getClass().getClassLoader();
+ fResourceSet = obj;
+ }
+
+ /** (non-Javadoc)
+ * @see org.eclipse.bpel.fnmeta.IFunctionRegistryLoader#load(org.eclipse.bpel.fnmeta.FunctionRegistry)
+ */
+
+ @SuppressWarnings("nls")
+ public void load (FunctionRegistry registry) {
+
+ Enumeration<URL> list = null;
+
+ try {
+ list = fLoader.getResources("fn.fnmeta");
+ while (list.hasMoreElements()) {
+
+ URL url = list.nextElement();
+ URI uri = URI.createURI( url.toExternalForm() ) ;
+
+ Resource resource = fResourceSet.getResource(uri, true);
+
+ if (resource.getContents().size() > 0) {
+ Registry r = (Registry) resource.getContents().get(0);
+ registry.add( r.getFunctions() );
+ }
+ }
+
+ } catch (Exception ex) {
+ ex.printStackTrace(System.err);
+ }
+
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Function Library collects all the function registries for the given
+ * language in the BPEL context.
+ *
+ * Imagine scripting language "foobar". There may be several registries contributing functions
+ * to the language "foobar" library. The library is the single lookup point for scripting language
+ * and the registry encompasses all the functions for the given language.
+ *
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 4, 2008
+ *
+ */
+
+public class FunctionLibrary {
+
+ /**
+ *
+ */
+ static public FunctionLibrary INSTANCE = new FunctionLibrary();
+
+ /**
+ * Index of all registries, by scripting language namespace name.
+ */
+ Map<String,FunctionRegistry> fRegistries = new HashMap<String,FunctionRegistry>();
+
+ /**
+ * List of registered loaders for the function library. This way we can do late loading
+ * of registry information, basically delaying it until needed.
+ */
+ List<IFunctionRegistryLoader> fLoaders = new ArrayList<IFunctionRegistryLoader>();
+
+
+ /**
+ *
+ * @param language the language.
+ * @return the function registry for the given language.
+ */
+
+ public FunctionRegistry getRegistryForLanguage ( String language ) {
+
+ FunctionRegistry registry = fRegistries.get(language);
+ if (registry != null) {
+ return registry;
+ }
+
+ synchronized (fRegistries) {
+ registry = fRegistries.get(language);
+ if (registry != null) {
+ return registry;
+ }
+
+ registry = new FunctionRegistry(language);
+
+ for(IFunctionRegistryLoader loader : fLoaders) {
+ loader.load( registry );
+ }
+
+ fRegistries.put(language, registry);
+ }
+ return registry;
+ }
+
+
+ /**
+ * @param registry
+ */
+
+ public void add (FunctionRegistry registry) {
+ fRegistries.put(registry.getLanguageNS(), registry);
+ }
+
+ /**
+ * @param loader
+ */
+
+ public void registerLoader ( IFunctionRegistryLoader loader ) {
+ if (fLoaders.contains(loader)) {
+ return ;
+ }
+ fLoaders.add ( loader );
+ }
+
+
+ /**
+ * @param loader
+ *
+ */
+ public void unregisterLoader( IFunctionRegistryLoader loader ) {
+ fLoaders.remove(loader);
+ }
+
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.bpel.fnmeta.model.Function;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 3, 2007
+ */
+
+@SuppressWarnings("nls")
+public class FunctionRegistry {
+
+ Map<String,Function> fRegistryIndex = new HashMap<String,Function>();
+
+ String fLanguageNamespace ;
+
+ /**
+ * @param languageNamespace
+ */
+
+ public FunctionRegistry ( String languageNamespace ) {
+ fLanguageNamespace = languageNamespace;
+ }
+
+ /**
+ *
+ * @return the registry for our scripting language
+ */
+
+ public Collection<Function> getRegistry () {
+ return Collections.unmodifiableCollection( fRegistryIndex.values() );
+ }
+
+
+
+
+ /**
+ *
+ * @param ns
+ * @param name
+ * @return the function for the given namespace and name
+ *
+ */
+
+ public Function lookupFunction (String ns, String name) {
+ return fRegistryIndex.get( key(ns,name) );
+ }
+
+
+ /**
+ * @param list
+ */
+
+ public void add (List<Function> list) {
+
+ for ( Function fn : list ) {
+ add(fn);
+ }
+ }
+
+ /**
+ * @param fn
+ */
+
+ public void add (Function fn ) {
+ String aKey = key(fn);
+ Function previous = fRegistryIndex.get( aKey );
+ if (previous != null) {
+ // overwrite ? nope.
+ return ;
+ }
+ fRegistryIndex.put(aKey , fn);
+ }
+
+
+ String key (Function fn) {
+ return key(fn.getNamespace(), fn.getName());
+ }
+
+ String key (String ns, String name) {
+ StringBuilder sb = new StringBuilder();
+ return sb.append(ns).append(";").append(name).toString() ;
+ }
+
+
+ /**
+ * @return the language namespace for this function registry
+ */
+ public String getLanguageNS () {
+ return fLanguageNamespace;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 4, 2008
+ *
+ */
+public interface IFunctionRegistryLoader {
+
+ /**
+ * @param registry
+ */
+
+ void load ( FunctionRegistry registry );
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,219 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getOptionality <em>Optionality</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Argument#getAssistant <em>Assistant</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument()
+ * @model
+ * @generated
+ */
+public interface Argument extends FacadeElement {
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Value</em>' attribute.
+ * @see #setDefaultValue(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_DefaultValue()
+ * @model default="" ordered="false"
+ * @generated
+ */
+ String getDefaultValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getDefaultValue <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Value</em>' attribute.
+ * @see #getDefaultValue()
+ * @generated
+ */
+ void setDefaultValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Optionality</b></em>' attribute.
+ * The default value is <code>"Required"</code>.
+ * The literals are from the enumeration {@link org.eclipse.bpel.fnmeta.model.Optionality}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optionality</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optionality</em>' attribute.
+ * @see org.eclipse.bpel.fnmeta.model.Optionality
+ * @see #isSetOptionality()
+ * @see #unsetOptionality()
+ * @see #setOptionality(Optionality)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_Optionality()
+ * @model default="Required" unsettable="true" ordered="false"
+ * @generated
+ */
+ Optionality getOptionality();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getOptionality <em>Optionality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optionality</em>' attribute.
+ * @see org.eclipse.bpel.fnmeta.model.Optionality
+ * @see #isSetOptionality()
+ * @see #unsetOptionality()
+ * @see #getOptionality()
+ * @generated
+ */
+ void setOptionality(Optionality value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getOptionality <em>Optionality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetOptionality()
+ * @see #getOptionality()
+ * @see #setOptionality(Optionality)
+ * @generated
+ */
+ void unsetOptionality();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getOptionality <em>Optionality</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Optionality</em>' attribute is set.
+ * @see #unsetOptionality()
+ * @see #getOptionality()
+ * @see #setOptionality(Optionality)
+ * @generated
+ */
+ boolean isSetOptionality();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_Type()
+ * @model ordered="false"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Comment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Comment</em>' attribute.
+ * @see #setComment(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_Comment()
+ * @model
+ * @generated
+ */
+ String getComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getComment <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Comment</em>' attribute.
+ * @see #getComment()
+ * @generated
+ */
+ void setComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Assistant</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assistant</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assistant</em>' reference.
+ * @see #setAssistant(Assistant)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getArgument_Assistant()
+ * @model
+ * @generated
+ */
+ Assistant getAssistant();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Argument#getAssistant <em>Assistant</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Assistant</em>' reference.
+ * @see #getAssistant()
+ * @generated
+ */
+ void setAssistant(Assistant value);
+
+} // Argument
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,98 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assistant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Assistant#getOptions <em>Options</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Assistant#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Assistant#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getAssistant()
+ * @model
+ * @generated
+ */
+public interface Assistant extends FacadeElement {
+ /**
+ * Returns the value of the '<em><b>Options</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.bpel.fnmeta.model.Option}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Options</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Options</em>' reference list.
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getAssistant_Options()
+ * @model
+ * @generated
+ */
+ EList<Option> getOptions();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getAssistant_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Assistant#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getAssistant_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Assistant#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // Assistant
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,132 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.w3c.dom.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage
+ * @generated
+ */
+public interface FMFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ FMFactory eINSTANCE = org.eclipse.bpel.fnmeta.model.impl.FMFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Registry</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Registry</em>'.
+ * @generated
+ */
+ Registry createRegistry();
+
+ /**
+ * Returns a new object of class '<em>Assistant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Assistant</em>'.
+ * @generated
+ */
+ Assistant createAssistant();
+
+ /**
+ * Returns a new object of class '<em>Option</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Option</em>'.
+ * @generated
+ */
+ Option createOption();
+
+ /**
+ * Returns a new object of class '<em>Argument</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Argument</em>'.
+ * @generated
+ */
+ Argument createArgument();
+
+ /**
+ * Returns a new object of class '<em>Function</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function</em>'.
+ * @generated
+ */
+ Function createFunction();
+
+ /**
+ * Returns a new object of class '<em>Facade Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facade Element</em>'.
+ * @generated
+ */
+ FacadeElement createFacadeElement();
+
+ /**
+ * Returns an instance of data type '<em>Optionality</em>' corresponding the given literal.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal a literal of the data type.
+ * @return a new instance value of the data type.
+ * @generated
+ */
+ Optionality createOptionality(String literal);
+
+ /**
+ * Returns a literal representation of an instance of data type '<em>Optionality</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param instanceValue an instance value of the data type.
+ * @return a literal representation of the instance value.
+ * @generated
+ */
+ String convertOptionality(Optionality instanceValue);
+
+ /**
+ * Returns an instance of data type '<em>DOM Element</em>' corresponding the given literal.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal a literal of the data type.
+ * @return a new instance value of the data type.
+ * @generated
+ */
+ Element createDOMElement(String literal);
+
+ /**
+ * Returns a literal representation of an instance of data type '<em>DOM Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param instanceValue an instance value of the data type.
+ * @return a literal representation of the instance value.
+ * @generated
+ */
+ String convertDOMElement(Element instanceValue);
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ FMPackage getFMPackage();
+
+} //FMFactory
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,1130 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.FMFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FMPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "model";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://eclipse.org/bpel/ns/function-meta";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "fnmeta";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ FMPackage eINSTANCE = org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.FacadeElementImpl <em>Facade Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.FacadeElementImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getFacadeElement()
+ * @generated
+ */
+ int FACADE_ELEMENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACADE_ELEMENT__ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Facade Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACADE_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.RegistryImpl <em>Registry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.RegistryImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getRegistry()
+ * @generated
+ */
+ int REGISTRY = 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REGISTRY__ELEMENT = FACADE_ELEMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Functions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REGISTRY__FUNCTIONS = FACADE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assistants</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REGISTRY__ASSISTANTS = FACADE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REGISTRY__ARGUMENTS = FACADE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Registry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REGISTRY_FEATURE_COUNT = FACADE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.AssistantImpl <em>Assistant</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.AssistantImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getAssistant()
+ * @generated
+ */
+ int ASSISTANT = 1;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT__ELEMENT = FACADE_ELEMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Options</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT__OPTIONS = FACADE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT__NAME = FACADE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT__TYPE = FACADE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Assistant</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT_FEATURE_COUNT = FACADE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.OptionImpl <em>Option</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.OptionImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getOption()
+ * @generated
+ */
+ int OPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTION__ELEMENT = FACADE_ELEMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTION__VALUE = FACADE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Display Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTION__DISPLAY_VALUE = FACADE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Option</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTION_FEATURE_COUNT = FACADE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl <em>Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getArgument()
+ * @generated
+ */
+ int ARGUMENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__ELEMENT = FACADE_ELEMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__DEFAULT_VALUE = FACADE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__NAME = FACADE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Optionality</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__OPTIONALITY = FACADE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__TYPE = FACADE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__COMMENT = FACADE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Assistant</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__ASSISTANT = FACADE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Argument</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT_FEATURE_COUNT = FACADE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.FunctionImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getFunction()
+ * @generated
+ */
+ int FUNCTION = 4;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__ELEMENT = FACADE_ELEMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__NAME = FACADE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__NAMESPACE = FACADE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Return Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__RETURN_TYPE = FACADE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__ARGUMENTS = FACADE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__COMMENT = FACADE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Help</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__HELP = FACADE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__PREFIX = FACADE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__IS_DEPRECATED = FACADE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Deprecate Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__DEPRECATE_COMMENT = FACADE_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__CLASS_NAME = FACADE_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Function</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FEATURE_COUNT = FACADE_ELEMENT_FEATURE_COUNT + 10;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.bpel.fnmeta.model.Optionality <em>Optionality</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.Optionality
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getOptionality()
+ * @generated
+ */
+ int OPTIONALITY = 6;
+
+ /**
+ * The meta object id for the '<em>DOM Element</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.w3c.dom.Element
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getDOMElement()
+ * @generated
+ */
+ int DOM_ELEMENT = 7;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.Registry <em>Registry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Registry</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Registry
+ * @generated
+ */
+ EClass getRegistry();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.bpel.fnmeta.model.Registry#getFunctions <em>Functions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Functions</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Registry#getFunctions()
+ * @see #getRegistry()
+ * @generated
+ */
+ EReference getRegistry_Functions();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.bpel.fnmeta.model.Registry#getAssistants <em>Assistants</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Assistants</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Registry#getAssistants()
+ * @see #getRegistry()
+ * @generated
+ */
+ EReference getRegistry_Assistants();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.bpel.fnmeta.model.Registry#getArguments <em>Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Arguments</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Registry#getArguments()
+ * @see #getRegistry()
+ * @generated
+ */
+ EReference getRegistry_Arguments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.Assistant <em>Assistant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Assistant</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Assistant
+ * @generated
+ */
+ EClass getAssistant();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.bpel.fnmeta.model.Assistant#getOptions <em>Options</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Options</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Assistant#getOptions()
+ * @see #getAssistant()
+ * @generated
+ */
+ EReference getAssistant_Options();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Assistant#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Assistant#getName()
+ * @see #getAssistant()
+ * @generated
+ */
+ EAttribute getAssistant_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Assistant#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Assistant#getType()
+ * @see #getAssistant()
+ * @generated
+ */
+ EAttribute getAssistant_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.Option <em>Option</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Option</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Option
+ * @generated
+ */
+ EClass getOption();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Option#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Option#getValue()
+ * @see #getOption()
+ * @generated
+ */
+ EAttribute getOption_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Option#getDisplayValue <em>Display Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Display Value</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Option#getDisplayValue()
+ * @see #getOption()
+ * @generated
+ */
+ EAttribute getOption_DisplayValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.Argument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Argument</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument
+ * @generated
+ */
+ EClass getArgument();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Argument#getDefaultValue <em>Default Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Default Value</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getDefaultValue()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_DefaultValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Argument#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getName()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Argument#getOptionality <em>Optionality</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optionality</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getOptionality()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Optionality();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Argument#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getType()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Argument#getComment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comment</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getComment()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Comment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.bpel.fnmeta.model.Argument#getAssistant <em>Assistant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Assistant</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Argument#getAssistant()
+ * @see #getArgument()
+ * @generated
+ */
+ EReference getArgument_Assistant();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.Function <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function
+ * @generated
+ */
+ EClass getFunction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getName()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Namespace</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getNamespace()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Namespace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getReturnType <em>Return Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Return Type</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getReturnType()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_ReturnType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.bpel.fnmeta.model.Function#getArguments <em>Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Arguments</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getArguments()
+ * @see #getFunction()
+ * @generated
+ */
+ EReference getFunction_Arguments();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getComment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comment</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getComment()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Comment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getHelp <em>Help</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Help</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getHelp()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Help();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getPrefix <em>Prefix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Prefix</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getPrefix()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Prefix();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getIsDeprecated <em>Is Deprecated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Deprecated</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getIsDeprecated()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_IsDeprecated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getDeprecateComment <em>Deprecate Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deprecate Comment</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getDeprecateComment()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_DeprecateComment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.Function#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Function#getClassName()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_ClassName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.bpel.fnmeta.model.FacadeElement <em>Facade Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facade Element</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.FacadeElement
+ * @generated
+ */
+ EClass getFacadeElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.bpel.fnmeta.model.FacadeElement#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Element</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.FacadeElement#getElement()
+ * @see #getFacadeElement()
+ * @generated
+ */
+ EAttribute getFacadeElement_Element();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.bpel.fnmeta.model.Optionality <em>Optionality</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Optionality</em>'.
+ * @see org.eclipse.bpel.fnmeta.model.Optionality
+ * @generated
+ */
+ EEnum getOptionality();
+
+ /**
+ * Returns the meta object for data type '{@link org.w3c.dom.Element <em>DOM Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>DOM Element</em>'.
+ * @see org.w3c.dom.Element
+ * @model instanceClass="org.w3c.dom.Element"
+ * @generated
+ */
+ EDataType getDOMElement();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ FMFactory getFMFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.RegistryImpl <em>Registry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.RegistryImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getRegistry()
+ * @generated
+ */
+ EClass REGISTRY = eINSTANCE.getRegistry();
+
+ /**
+ * The meta object literal for the '<em><b>Functions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REGISTRY__FUNCTIONS = eINSTANCE.getRegistry_Functions();
+
+ /**
+ * The meta object literal for the '<em><b>Assistants</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REGISTRY__ASSISTANTS = eINSTANCE.getRegistry_Assistants();
+
+ /**
+ * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REGISTRY__ARGUMENTS = eINSTANCE.getRegistry_Arguments();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.AssistantImpl <em>Assistant</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.AssistantImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getAssistant()
+ * @generated
+ */
+ EClass ASSISTANT = eINSTANCE.getAssistant();
+
+ /**
+ * The meta object literal for the '<em><b>Options</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ASSISTANT__OPTIONS = eINSTANCE.getAssistant_Options();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ASSISTANT__NAME = eINSTANCE.getAssistant_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ASSISTANT__TYPE = eINSTANCE.getAssistant_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.OptionImpl <em>Option</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.OptionImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getOption()
+ * @generated
+ */
+ EClass OPTION = eINSTANCE.getOption();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPTION__VALUE = eINSTANCE.getOption_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Display Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPTION__DISPLAY_VALUE = eINSTANCE.getOption_DisplayValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl <em>Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getArgument()
+ * @generated
+ */
+ EClass ARGUMENT = eINSTANCE.getArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Default Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__DEFAULT_VALUE = eINSTANCE.getArgument_DefaultValue();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__NAME = eINSTANCE.getArgument_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Optionality</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__OPTIONALITY = eINSTANCE.getArgument_Optionality();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__TYPE = eINSTANCE.getArgument_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__COMMENT = eINSTANCE.getArgument_Comment();
+
+ /**
+ * The meta object literal for the '<em><b>Assistant</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARGUMENT__ASSISTANT = eINSTANCE.getArgument_Assistant();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.FunctionImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getFunction()
+ * @generated
+ */
+ EClass FUNCTION = eINSTANCE.getFunction();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__NAME = eINSTANCE.getFunction_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Namespace</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__NAMESPACE = eINSTANCE.getFunction_Namespace();
+
+ /**
+ * The meta object literal for the '<em><b>Return Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__RETURN_TYPE = eINSTANCE.getFunction_ReturnType();
+
+ /**
+ * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION__ARGUMENTS = eINSTANCE.getFunction_Arguments();
+
+ /**
+ * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__COMMENT = eINSTANCE.getFunction_Comment();
+
+ /**
+ * The meta object literal for the '<em><b>Help</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__HELP = eINSTANCE.getFunction_Help();
+
+ /**
+ * The meta object literal for the '<em><b>Prefix</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__PREFIX = eINSTANCE.getFunction_Prefix();
+
+ /**
+ * The meta object literal for the '<em><b>Is Deprecated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__IS_DEPRECATED = eINSTANCE.getFunction_IsDeprecated();
+
+ /**
+ * The meta object literal for the '<em><b>Deprecate Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__DEPRECATE_COMMENT = eINSTANCE.getFunction_DeprecateComment();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__CLASS_NAME = eINSTANCE.getFunction_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.impl.FacadeElementImpl <em>Facade Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.impl.FacadeElementImpl
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getFacadeElement()
+ * @generated
+ */
+ EClass FACADE_ELEMENT = eINSTANCE.getFacadeElement();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FACADE_ELEMENT__ELEMENT = eINSTANCE.getFacadeElement_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.bpel.fnmeta.model.Optionality <em>Optionality</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.Optionality
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getOptionality()
+ * @generated
+ */
+ EEnum OPTIONALITY = eINSTANCE.getOptionality();
+
+ /**
+ * The meta object literal for the '<em>DOM Element</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.w3c.dom.Element
+ * @see org.eclipse.bpel.fnmeta.model.impl.FMPackageImpl#getDOMElement()
+ * @generated
+ */
+ EDataType DOM_ELEMENT = eINSTANCE.getDOMElement();
+
+ }
+
+} //FMPackage
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.w3c.dom.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facade Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.FacadeElement#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFacadeElement()
+ * @model
+ * @generated
+ */
+public interface FacadeElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' attribute.
+ * @see #setElement(Element)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFacadeElement_Element()
+ * @model dataType="org.eclipse.bpel.fnmeta.model.DOMElement"
+ * @generated
+ */
+ Element getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.FacadeElement#getElement <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' attribute.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(Element value);
+
+} // FacadeElement
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,290 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getReturnType <em>Return Type</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getArguments <em>Arguments</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getHelp <em>Help</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getPrefix <em>Prefix</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getIsDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getDeprecateComment <em>Deprecate Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Function#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction()
+ * @model
+ * @generated
+ */
+public interface Function extends FacadeElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * The default value is <code>"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Namespace()
+ * @model default="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
+ * @generated
+ */
+ String getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Return Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Return Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Return Type</em>' attribute.
+ * @see #setReturnType(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_ReturnType()
+ * @model
+ * @generated
+ */
+ String getReturnType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getReturnType <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Return Type</em>' attribute.
+ * @see #getReturnType()
+ * @generated
+ */
+ void setReturnType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Arguments</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.bpel.fnmeta.model.Argument}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arguments</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arguments</em>' reference list.
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Arguments()
+ * @model
+ * @generated
+ */
+ EList<Argument> getArguments();
+
+ /**
+ * Returns the value of the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Comment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Comment</em>' attribute.
+ * @see #setComment(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Comment()
+ * @model
+ * @generated
+ */
+ String getComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getComment <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Comment</em>' attribute.
+ * @see #getComment()
+ * @generated
+ */
+ void setComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Help</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Help</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Help</em>' attribute.
+ * @see #setHelp(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Help()
+ * @model
+ * @generated
+ */
+ String getHelp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getHelp <em>Help</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Help</em>' attribute.
+ * @see #getHelp()
+ * @generated
+ */
+ void setHelp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Prefix</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Prefix</em>' attribute.
+ * @see #setPrefix(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_Prefix()
+ * @model
+ * @generated
+ */
+ String getPrefix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getPrefix <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Prefix</em>' attribute.
+ * @see #getPrefix()
+ * @generated
+ */
+ void setPrefix(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Deprecated</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Deprecated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Deprecated</em>' attribute.
+ * @see #setIsDeprecated(Boolean)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_IsDeprecated()
+ * @model default="false"
+ * @generated
+ */
+ Boolean getIsDeprecated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getIsDeprecated <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Deprecated</em>' attribute.
+ * @see #getIsDeprecated()
+ * @generated
+ */
+ void setIsDeprecated(Boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Deprecate Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Deprecate Comment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Deprecate Comment</em>' attribute.
+ * @see #setDeprecateComment(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_DeprecateComment()
+ * @model
+ * @generated
+ */
+ String getDeprecateComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getDeprecateComment <em>Deprecate Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deprecate Comment</em>' attribute.
+ * @see #getDeprecateComment()
+ * @generated
+ */
+ void setDeprecateComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getFunction_ClassName()
+ * @model default=""
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Function#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ void setClassName(String value);
+
+} // Function
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,79 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Option</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Option#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Option#getDisplayValue <em>Display Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getOption()
+ * @model
+ * @generated
+ */
+public interface Option extends FacadeElement {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getOption_Value()
+ * @model ordered="false"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Option#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Display Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Display Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Display Value</em>' attribute.
+ * @see #setDisplayValue(String)
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getOption_DisplayValue()
+ * @model ordered="false"
+ * @generated
+ */
+ String getDisplayValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.bpel.fnmeta.model.Option#getDisplayValue <em>Display Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Display Value</em>' attribute.
+ * @see #getDisplayValue()
+ * @generated
+ */
+ void setDisplayValue(String value);
+
+} // Option
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Optionality</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getOptionality()
+ * @model
+ * @generated
+ */
+public enum Optionality implements Enumerator {
+ /**
+ * The '<em><b>Required</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REQUIRED_VALUE
+ * @generated
+ * @ordered
+ */
+ REQUIRED(0, "Required", "!"),
+
+ /**
+ * The '<em><b>Optional</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPTIONAL_VALUE
+ * @generated
+ * @ordered
+ */
+ OPTIONAL(1, "Optional", "?"),
+
+ /**
+ * The '<em><b>Optional Many</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPTIONAL_MANY_VALUE
+ * @generated
+ * @ordered
+ */
+ OPTIONAL_MANY(2, "OptionalMany", "*");
+
+ /**
+ * The '<em><b>Required</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Required</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REQUIRED
+ * @model name="Required" literal="!"
+ * @generated
+ * @ordered
+ */
+ public static final int REQUIRED_VALUE = 0;
+
+ /**
+ * The '<em><b>Optional</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Optional</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPTIONAL
+ * @model name="Optional" literal="?"
+ * @generated
+ * @ordered
+ */
+ public static final int OPTIONAL_VALUE = 1;
+
+ /**
+ * The '<em><b>Optional Many</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Optional Many</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPTIONAL_MANY
+ * @model name="OptionalMany" literal="*"
+ * @generated
+ * @ordered
+ */
+ public static final int OPTIONAL_MANY_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Optionality</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Optionality[] VALUES_ARRAY =
+ new Optionality[] {
+ REQUIRED,
+ OPTIONAL,
+ OPTIONAL_MANY,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Optionality</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Optionality> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Optionality</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Optionality get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Optionality result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optionality</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Optionality getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Optionality result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optionality</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Optionality get(int value) {
+ switch (value) {
+ case REQUIRED_VALUE: return REQUIRED;
+ case OPTIONAL_VALUE: return OPTIONAL;
+ case OPTIONAL_MANY_VALUE: return OPTIONAL_MANY;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Optionality(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //Optionality
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,78 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Registry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Registry#getFunctions <em>Functions</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Registry#getAssistants <em>Assistants</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.Registry#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getRegistry()
+ * @model
+ * @generated
+ */
+public interface Registry extends FacadeElement {
+ /**
+ * Returns the value of the '<em><b>Functions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.bpel.fnmeta.model.Function}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Functions</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Functions</em>' containment reference list.
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getRegistry_Functions()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Function> getFunctions();
+
+ /**
+ * Returns the value of the '<em><b>Assistants</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.bpel.fnmeta.model.Assistant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assistants</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assistants</em>' reference list.
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getRegistry_Assistants()
+ * @model
+ * @generated
+ */
+ EList<Assistant> getAssistants();
+
+ /**
+ * Returns the value of the '<em><b>Arguments</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.bpel.fnmeta.model.Argument}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arguments</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arguments</em>' reference list.
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#getRegistry_Arguments()
+ * @model
+ * @generated
+ */
+ EList<Argument> getArguments();
+
+} // Registry
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,479 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+
+import org.eclipse.bpel.fnmeta.model.Optionality;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getOptionality <em>Optionality</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl#getAssistant <em>Assistant</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArgumentImpl extends FacadeElementImpl implements Argument {
+ /**
+ * The default value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_VALUE_EDEFAULT = "";
+
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOptionality() <em>Optionality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptionality()
+ * @generated
+ * @ordered
+ */
+ protected static final Optionality OPTIONALITY_EDEFAULT = Optionality.REQUIRED;
+
+ /**
+ * The cached value of the '{@link #getOptionality() <em>Optionality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptionality()
+ * @generated
+ * @ordered
+ */
+ protected Optionality optionality = OPTIONALITY_EDEFAULT;
+
+ /**
+ * This is true if the Optionality attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean optionalityESet;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected String comment = COMMENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAssistant() <em>Assistant</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssistant()
+ * @generated
+ * @ordered
+ */
+ protected Assistant assistant;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArgumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.ARGUMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultValue(String newDefaultValue) {
+ String oldDefaultValue = defaultValue;
+ defaultValue = newDefaultValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__DEFAULT_VALUE, oldDefaultValue, defaultValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Optionality getOptionality() {
+ return optionality;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptionality(Optionality newOptionality) {
+ Optionality oldOptionality = optionality;
+ optionality = newOptionality == null ? OPTIONALITY_EDEFAULT : newOptionality;
+ boolean oldOptionalityESet = optionalityESet;
+ optionalityESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__OPTIONALITY, oldOptionality, optionality, !oldOptionalityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetOptionality() {
+ Optionality oldOptionality = optionality;
+ boolean oldOptionalityESet = optionalityESet;
+ optionality = OPTIONALITY_EDEFAULT;
+ optionalityESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, FMPackage.ARGUMENT__OPTIONALITY, oldOptionality, OPTIONALITY_EDEFAULT, oldOptionalityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOptionality() {
+ return optionalityESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getComment() {
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComment(String newComment) {
+ String oldComment = comment;
+ comment = newComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__COMMENT, oldComment, comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Assistant getAssistant() {
+ if (assistant != null && assistant.eIsProxy()) {
+ InternalEObject oldAssistant = (InternalEObject)assistant;
+ assistant = (Assistant)eResolveProxy(oldAssistant);
+ if (assistant != oldAssistant) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FMPackage.ARGUMENT__ASSISTANT, oldAssistant, assistant));
+ }
+ }
+ return assistant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Assistant basicGetAssistant() {
+ return assistant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssistant(Assistant newAssistant) {
+ Assistant oldAssistant = assistant;
+ assistant = newAssistant;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ARGUMENT__ASSISTANT, oldAssistant, assistant));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.ARGUMENT__DEFAULT_VALUE:
+ return getDefaultValue();
+ case FMPackage.ARGUMENT__NAME:
+ return getName();
+ case FMPackage.ARGUMENT__OPTIONALITY:
+ return getOptionality();
+ case FMPackage.ARGUMENT__TYPE:
+ return getType();
+ case FMPackage.ARGUMENT__COMMENT:
+ return getComment();
+ case FMPackage.ARGUMENT__ASSISTANT:
+ if (resolve) return getAssistant();
+ return basicGetAssistant();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.ARGUMENT__DEFAULT_VALUE:
+ setDefaultValue((String)newValue);
+ return;
+ case FMPackage.ARGUMENT__NAME:
+ setName((String)newValue);
+ return;
+ case FMPackage.ARGUMENT__OPTIONALITY:
+ setOptionality((Optionality)newValue);
+ return;
+ case FMPackage.ARGUMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case FMPackage.ARGUMENT__COMMENT:
+ setComment((String)newValue);
+ return;
+ case FMPackage.ARGUMENT__ASSISTANT:
+ setAssistant((Assistant)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.ARGUMENT__DEFAULT_VALUE:
+ setDefaultValue(DEFAULT_VALUE_EDEFAULT);
+ return;
+ case FMPackage.ARGUMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FMPackage.ARGUMENT__OPTIONALITY:
+ unsetOptionality();
+ return;
+ case FMPackage.ARGUMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case FMPackage.ARGUMENT__COMMENT:
+ setComment(COMMENT_EDEFAULT);
+ return;
+ case FMPackage.ARGUMENT__ASSISTANT:
+ setAssistant((Assistant)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.ARGUMENT__DEFAULT_VALUE:
+ return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
+ case FMPackage.ARGUMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FMPackage.ARGUMENT__OPTIONALITY:
+ return isSetOptionality();
+ case FMPackage.ARGUMENT__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case FMPackage.ARGUMENT__COMMENT:
+ return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
+ case FMPackage.ARGUMENT__ASSISTANT:
+ return assistant != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (defaultValue: ");
+ result.append(defaultValue);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", optionality: ");
+ if (optionalityESet) result.append(optionality); else result.append("<unset>");
+ result.append(", type: ");
+ result.append(type);
+ result.append(", comment: ");
+ result.append(comment);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ArgumentImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,261 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.Option;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assistant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.AssistantImpl#getOptions <em>Options</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.AssistantImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.AssistantImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AssistantImpl extends FacadeElementImpl implements Assistant {
+ /**
+ * The cached value of the '{@link #getOptions() <em>Options</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<Option> options;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssistantImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.ASSISTANT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Option> getOptions() {
+ if (options == null) {
+ options = new EObjectResolvingEList<Option>(Option.class, this, FMPackage.ASSISTANT__OPTIONS);
+ }
+ return options;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ASSISTANT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.ASSISTANT__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.ASSISTANT__OPTIONS:
+ return getOptions();
+ case FMPackage.ASSISTANT__NAME:
+ return getName();
+ case FMPackage.ASSISTANT__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.ASSISTANT__OPTIONS:
+ getOptions().clear();
+ getOptions().addAll((Collection<? extends Option>)newValue);
+ return;
+ case FMPackage.ASSISTANT__NAME:
+ setName((String)newValue);
+ return;
+ case FMPackage.ASSISTANT__TYPE:
+ setType((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.ASSISTANT__OPTIONS:
+ getOptions().clear();
+ return;
+ case FMPackage.ASSISTANT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FMPackage.ASSISTANT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.ASSISTANT__OPTIONS:
+ return options != null && !options.isEmpty();
+ case FMPackage.ASSISTANT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FMPackage.ASSISTANT__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AssistantImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,264 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import org.eclipse.bpel.fnmeta.model.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.w3c.dom.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMFactoryImpl extends EFactoryImpl implements FMFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FMFactory init() {
+ try {
+ FMFactory theFMFactory = (FMFactory)EPackage.Registry.INSTANCE.getEFactory("http://eclipse.org/bpel/ns/function-meta");
+ if (theFMFactory != null) {
+ return theFMFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new FMFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case FMPackage.REGISTRY: return createRegistry();
+ case FMPackage.ASSISTANT: return createAssistant();
+ case FMPackage.OPTION: return createOption();
+ case FMPackage.ARGUMENT: return createArgument();
+ case FMPackage.FUNCTION: return createFunction();
+ case FMPackage.FACADE_ELEMENT: return createFacadeElement();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case FMPackage.OPTIONALITY:
+ return createOptionalityFromString(eDataType, initialValue);
+ case FMPackage.DOM_ELEMENT:
+ return createDOMElementFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case FMPackage.OPTIONALITY:
+ return convertOptionalityToString(eDataType, instanceValue);
+ case FMPackage.DOM_ELEMENT:
+ return convertDOMElementToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Registry createRegistry() {
+ RegistryImpl registry = new RegistryImpl();
+ return registry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Assistant createAssistant() {
+ AssistantImpl assistant = new AssistantImpl();
+ return assistant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Option createOption() {
+ OptionImpl option = new OptionImpl();
+ return option;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Argument createArgument() {
+ ArgumentImpl argument = new ArgumentImpl();
+ return argument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Function createFunction() {
+ FunctionImpl function = new FunctionImpl();
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacadeElement createFacadeElement() {
+ FacadeElementImpl facadeElement = new FacadeElementImpl();
+ return facadeElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Optionality createOptionality(String literal) {
+ Optionality result = Optionality.get(literal);
+ if (result == null) throw new IllegalArgumentException("The value '" + literal + "' is not a valid enumerator of '" + FMPackage.Literals.OPTIONALITY.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Optionality createOptionalityFromString(EDataType eDataType, String initialValue) {
+ return createOptionality(initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertOptionality(Optionality instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertOptionalityToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element createDOMElement(String literal) {
+ return (Element)super.createFromString(FMPackage.Literals.DOM_ELEMENT, literal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element createDOMElementFromString(EDataType eDataType, String initialValue) {
+ return (Element)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDOMElement(Element instanceValue) {
+ return super.convertToString(FMPackage.Literals.DOM_ELEMENT, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDOMElementToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMPackage getFMPackage() {
+ return (FMPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static FMPackage getPackage() {
+ return FMPackage.eINSTANCE;
+ }
+
+} //FMFactoryImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,613 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.FMFactory;
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.FacadeElement;
+import org.eclipse.bpel.fnmeta.model.Function;
+import org.eclipse.bpel.fnmeta.model.Option;
+
+import org.eclipse.bpel.fnmeta.model.Optionality;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.w3c.dom.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMPackageImpl extends EPackageImpl implements FMPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass registryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass assistantEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass optionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass argumentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facadeElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum optionalityEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType domElementEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private FMPackageImpl() {
+ super(eNS_URI, FMFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static FMPackage init() {
+ if (isInited) return (FMPackage)EPackage.Registry.INSTANCE.getEPackage(FMPackage.eNS_URI);
+
+ // Obtain or create and register package
+ FMPackageImpl theFMPackage = (FMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof FMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new FMPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theFMPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theFMPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theFMPackage.freeze();
+
+ return theFMPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRegistry() {
+ return registryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegistry_Functions() {
+ return (EReference)registryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegistry_Assistants() {
+ return (EReference)registryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegistry_Arguments() {
+ return (EReference)registryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssistant() {
+ return assistantEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssistant_Options() {
+ return (EReference)assistantEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssistant_Name() {
+ return (EAttribute)assistantEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssistant_Type() {
+ return (EAttribute)assistantEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOption() {
+ return optionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOption_Value() {
+ return (EAttribute)optionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOption_DisplayValue() {
+ return (EAttribute)optionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArgument() {
+ return argumentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_DefaultValue() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Name() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Optionality() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Type() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Comment() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArgument_Assistant() {
+ return (EReference)argumentEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunction() {
+ return functionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Name() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Namespace() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_ReturnType() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunction_Arguments() {
+ return (EReference)functionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Comment() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Help() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Prefix() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_IsDeprecated() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_DeprecateComment() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_ClassName() {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacadeElement() {
+ return facadeElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFacadeElement_Element() {
+ return (EAttribute)facadeElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getOptionality() {
+ return optionalityEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getDOMElement() {
+ return domElementEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMFactory getFMFactory() {
+ return (FMFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ registryEClass = createEClass(REGISTRY);
+ createEReference(registryEClass, REGISTRY__FUNCTIONS);
+ createEReference(registryEClass, REGISTRY__ASSISTANTS);
+ createEReference(registryEClass, REGISTRY__ARGUMENTS);
+
+ assistantEClass = createEClass(ASSISTANT);
+ createEReference(assistantEClass, ASSISTANT__OPTIONS);
+ createEAttribute(assistantEClass, ASSISTANT__NAME);
+ createEAttribute(assistantEClass, ASSISTANT__TYPE);
+
+ optionEClass = createEClass(OPTION);
+ createEAttribute(optionEClass, OPTION__VALUE);
+ createEAttribute(optionEClass, OPTION__DISPLAY_VALUE);
+
+ argumentEClass = createEClass(ARGUMENT);
+ createEAttribute(argumentEClass, ARGUMENT__DEFAULT_VALUE);
+ createEAttribute(argumentEClass, ARGUMENT__NAME);
+ createEAttribute(argumentEClass, ARGUMENT__OPTIONALITY);
+ createEAttribute(argumentEClass, ARGUMENT__TYPE);
+ createEAttribute(argumentEClass, ARGUMENT__COMMENT);
+ createEReference(argumentEClass, ARGUMENT__ASSISTANT);
+
+ functionEClass = createEClass(FUNCTION);
+ createEAttribute(functionEClass, FUNCTION__NAME);
+ createEAttribute(functionEClass, FUNCTION__NAMESPACE);
+ createEAttribute(functionEClass, FUNCTION__RETURN_TYPE);
+ createEReference(functionEClass, FUNCTION__ARGUMENTS);
+ createEAttribute(functionEClass, FUNCTION__COMMENT);
+ createEAttribute(functionEClass, FUNCTION__HELP);
+ createEAttribute(functionEClass, FUNCTION__PREFIX);
+ createEAttribute(functionEClass, FUNCTION__IS_DEPRECATED);
+ createEAttribute(functionEClass, FUNCTION__DEPRECATE_COMMENT);
+ createEAttribute(functionEClass, FUNCTION__CLASS_NAME);
+
+ facadeElementEClass = createEClass(FACADE_ELEMENT);
+ createEAttribute(facadeElementEClass, FACADE_ELEMENT__ELEMENT);
+
+ // Create enums
+ optionalityEEnum = createEEnum(OPTIONALITY);
+
+ // Create data types
+ domElementEDataType = createEDataType(DOM_ELEMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ registryEClass.getESuperTypes().add(this.getFacadeElement());
+ assistantEClass.getESuperTypes().add(this.getFacadeElement());
+ optionEClass.getESuperTypes().add(this.getFacadeElement());
+ argumentEClass.getESuperTypes().add(this.getFacadeElement());
+ functionEClass.getESuperTypes().add(this.getFacadeElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(registryEClass, org.eclipse.bpel.fnmeta.model.Registry.class, "Registry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRegistry_Functions(), this.getFunction(), null, "functions", null, 0, -1, org.eclipse.bpel.fnmeta.model.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRegistry_Assistants(), this.getAssistant(), null, "assistants", null, 0, -1, org.eclipse.bpel.fnmeta.model.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRegistry_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, org.eclipse.bpel.fnmeta.model.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(assistantEClass, Assistant.class, "Assistant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAssistant_Options(), this.getOption(), null, "options", null, 0, -1, Assistant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAssistant_Name(), ecorePackage.getEString(), "name", null, 0, 1, Assistant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAssistant_Type(), ecorePackage.getEString(), "type", null, 0, 1, Assistant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(optionEClass, Option.class, "Option", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOption_Value(), ecorePackage.getEString(), "value", null, 0, 1, Option.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getOption_DisplayValue(), ecorePackage.getEString(), "displayValue", null, 0, 1, Option.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getArgument_DefaultValue(), ecorePackage.getEString(), "defaultValue", "", 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getArgument_Name(), ecorePackage.getEString(), "name", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getArgument_Optionality(), this.getOptionality(), "optionality", "Required", 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getArgument_Type(), ecorePackage.getEString(), "type", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getArgument_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArgument_Assistant(), this.getAssistant(), null, "assistant", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFunction_Name(), ecorePackage.getEString(), "name", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_Namespace(), ecorePackage.getEString(), "namespace", "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0", 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_ReturnType(), ecorePackage.getEString(), "returnType", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFunction_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_Help(), ecorePackage.getEString(), "help", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_Prefix(), ecorePackage.getEString(), "prefix", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_IsDeprecated(), ecorePackage.getEBooleanObject(), "isDeprecated", "false", 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_DeprecateComment(), ecorePackage.getEString(), "deprecateComment", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFunction_ClassName(), ecorePackage.getEString(), "className", "", 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(facadeElementEClass, FacadeElement.class, "FacadeElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFacadeElement_Element(), this.getDOMElement(), "element", null, 0, 1, FacadeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(optionalityEEnum, Optionality.class, "Optionality");
+ addEEnumLiteral(optionalityEEnum, Optionality.REQUIRED);
+ addEEnumLiteral(optionalityEEnum, Optionality.OPTIONAL);
+ addEEnumLiteral(optionalityEEnum, Optionality.OPTIONAL_MANY);
+
+ // Initialize data types
+ initEDataType(domElementEDataType, Element.class, "DOMElement", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //FMPackageImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,169 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.FacadeElement;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.w3c.dom.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facade Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FacadeElementImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacadeElementImpl extends EObjectImpl implements FacadeElement {
+ /**
+ * The default value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected static final Element ELEMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected Element element = ELEMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacadeElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.FACADE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(Element newElement) {
+ Element oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FACADE_ELEMENT__ELEMENT, oldElement, element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.FACADE_ELEMENT__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.FACADE_ELEMENT__ELEMENT:
+ setElement((Element)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.FACADE_ELEMENT__ELEMENT:
+ setElement(ELEMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.FACADE_ELEMENT__ELEMENT:
+ return ELEMENT_EDEFAULT == null ? element != null : !ELEMENT_EDEFAULT.equals(element);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (element: ");
+ result.append(element);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacadeElementImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,639 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.Function;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getReturnType <em>Return Type</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getArguments <em>Arguments</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getHelp <em>Help</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getPrefix <em>Prefix</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getIsDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getDeprecateComment <em>Deprecate Comment</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.FunctionImpl#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionImpl extends FacadeElementImpl implements Function {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0";
+
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getReturnType() <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReturnType()
+ * @generated
+ * @ordered
+ */
+ protected static final String RETURN_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReturnType() <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReturnType()
+ * @generated
+ * @ordered
+ */
+ protected String returnType = RETURN_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArguments()
+ * @generated
+ * @ordered
+ */
+ protected EList<Argument> arguments;
+
+ /**
+ * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected String comment = COMMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHelp() <em>Help</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHelp()
+ * @generated
+ * @ordered
+ */
+ protected static final String HELP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHelp() <em>Help</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHelp()
+ * @generated
+ * @ordered
+ */
+ protected String help = HELP_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrefix() <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefix()
+ * @generated
+ * @ordered
+ */
+ protected static final String PREFIX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrefix() <em>Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefix()
+ * @generated
+ * @ordered
+ */
+ protected String prefix = PREFIX_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected static final Boolean IS_DEPRECATED_EDEFAULT = Boolean.FALSE;
+
+ /**
+ * The cached value of the '{@link #getIsDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected Boolean isDeprecated = IS_DEPRECATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeprecateComment() <em>Deprecate Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecateComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPRECATE_COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDeprecateComment() <em>Deprecate Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecateComment()
+ * @generated
+ * @ordered
+ */
+ protected String deprecateComment = DEPRECATE_COMMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = "";
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.FUNCTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNamespace(String newNamespace) {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReturnType() {
+ return returnType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnType(String newReturnType) {
+ String oldReturnType = returnType;
+ returnType = newReturnType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__RETURN_TYPE, oldReturnType, returnType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Argument> getArguments() {
+ if (arguments == null) {
+ arguments = new EObjectResolvingEList<Argument>(Argument.class, this, FMPackage.FUNCTION__ARGUMENTS);
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getComment() {
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComment(String newComment) {
+ String oldComment = comment;
+ comment = newComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__COMMENT, oldComment, comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHelp() {
+ return help;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHelp(String newHelp) {
+ String oldHelp = help;
+ help = newHelp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__HELP, oldHelp, help));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrefix() {
+ return prefix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrefix(String newPrefix) {
+ String oldPrefix = prefix;
+ prefix = newPrefix;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__PREFIX, oldPrefix, prefix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Boolean getIsDeprecated() {
+ return isDeprecated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeprecated(Boolean newIsDeprecated) {
+ Boolean oldIsDeprecated = isDeprecated;
+ isDeprecated = newIsDeprecated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__IS_DEPRECATED, oldIsDeprecated, isDeprecated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeprecateComment() {
+ return deprecateComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeprecateComment(String newDeprecateComment) {
+ String oldDeprecateComment = deprecateComment;
+ deprecateComment = newDeprecateComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__DEPRECATE_COMMENT, oldDeprecateComment, deprecateComment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassName(String newClassName) {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.FUNCTION__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.FUNCTION__NAME:
+ return getName();
+ case FMPackage.FUNCTION__NAMESPACE:
+ return getNamespace();
+ case FMPackage.FUNCTION__RETURN_TYPE:
+ return getReturnType();
+ case FMPackage.FUNCTION__ARGUMENTS:
+ return getArguments();
+ case FMPackage.FUNCTION__COMMENT:
+ return getComment();
+ case FMPackage.FUNCTION__HELP:
+ return getHelp();
+ case FMPackage.FUNCTION__PREFIX:
+ return getPrefix();
+ case FMPackage.FUNCTION__IS_DEPRECATED:
+ return getIsDeprecated();
+ case FMPackage.FUNCTION__DEPRECATE_COMMENT:
+ return getDeprecateComment();
+ case FMPackage.FUNCTION__CLASS_NAME:
+ return getClassName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.FUNCTION__NAME:
+ setName((String)newValue);
+ return;
+ case FMPackage.FUNCTION__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case FMPackage.FUNCTION__RETURN_TYPE:
+ setReturnType((String)newValue);
+ return;
+ case FMPackage.FUNCTION__ARGUMENTS:
+ getArguments().clear();
+ getArguments().addAll((Collection<? extends Argument>)newValue);
+ return;
+ case FMPackage.FUNCTION__COMMENT:
+ setComment((String)newValue);
+ return;
+ case FMPackage.FUNCTION__HELP:
+ setHelp((String)newValue);
+ return;
+ case FMPackage.FUNCTION__PREFIX:
+ setPrefix((String)newValue);
+ return;
+ case FMPackage.FUNCTION__IS_DEPRECATED:
+ setIsDeprecated((Boolean)newValue);
+ return;
+ case FMPackage.FUNCTION__DEPRECATE_COMMENT:
+ setDeprecateComment((String)newValue);
+ return;
+ case FMPackage.FUNCTION__CLASS_NAME:
+ setClassName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.FUNCTION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__RETURN_TYPE:
+ setReturnType(RETURN_TYPE_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__ARGUMENTS:
+ getArguments().clear();
+ return;
+ case FMPackage.FUNCTION__COMMENT:
+ setComment(COMMENT_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__HELP:
+ setHelp(HELP_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__PREFIX:
+ setPrefix(PREFIX_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__IS_DEPRECATED:
+ setIsDeprecated(IS_DEPRECATED_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__DEPRECATE_COMMENT:
+ setDeprecateComment(DEPRECATE_COMMENT_EDEFAULT);
+ return;
+ case FMPackage.FUNCTION__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.FUNCTION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FMPackage.FUNCTION__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case FMPackage.FUNCTION__RETURN_TYPE:
+ return RETURN_TYPE_EDEFAULT == null ? returnType != null : !RETURN_TYPE_EDEFAULT.equals(returnType);
+ case FMPackage.FUNCTION__ARGUMENTS:
+ return arguments != null && !arguments.isEmpty();
+ case FMPackage.FUNCTION__COMMENT:
+ return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
+ case FMPackage.FUNCTION__HELP:
+ return HELP_EDEFAULT == null ? help != null : !HELP_EDEFAULT.equals(help);
+ case FMPackage.FUNCTION__PREFIX:
+ return PREFIX_EDEFAULT == null ? prefix != null : !PREFIX_EDEFAULT.equals(prefix);
+ case FMPackage.FUNCTION__IS_DEPRECATED:
+ return IS_DEPRECATED_EDEFAULT == null ? isDeprecated != null : !IS_DEPRECATED_EDEFAULT.equals(isDeprecated);
+ case FMPackage.FUNCTION__DEPRECATE_COMMENT:
+ return DEPRECATE_COMMENT_EDEFAULT == null ? deprecateComment != null : !DEPRECATE_COMMENT_EDEFAULT.equals(deprecateComment);
+ case FMPackage.FUNCTION__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(", returnType: ");
+ result.append(returnType);
+ result.append(", comment: ");
+ result.append(comment);
+ result.append(", help: ");
+ result.append(help);
+ result.append(", prefix: ");
+ result.append(prefix);
+ result.append(", isDeprecated: ");
+ result.append(isDeprecated);
+ result.append(", deprecateComment: ");
+ result.append(deprecateComment);
+ result.append(", className: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FunctionImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,220 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.Option;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Option</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.OptionImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.OptionImpl#getDisplayValue <em>Display Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OptionImpl extends FacadeElementImpl implements Option {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisplayValue() <em>Display Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplayValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISPLAY_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDisplayValue() <em>Display Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisplayValue()
+ * @generated
+ * @ordered
+ */
+ protected String displayValue = DISPLAY_VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.OPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.OPTION__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDisplayValue() {
+ return displayValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplayValue(String newDisplayValue) {
+ String oldDisplayValue = displayValue;
+ displayValue = newDisplayValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FMPackage.OPTION__DISPLAY_VALUE, oldDisplayValue, displayValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.OPTION__VALUE:
+ return getValue();
+ case FMPackage.OPTION__DISPLAY_VALUE:
+ return getDisplayValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.OPTION__VALUE:
+ setValue((String)newValue);
+ return;
+ case FMPackage.OPTION__DISPLAY_VALUE:
+ setDisplayValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.OPTION__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case FMPackage.OPTION__DISPLAY_VALUE:
+ setDisplayValue(DISPLAY_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.OPTION__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case FMPackage.OPTION__DISPLAY_VALUE:
+ return DISPLAY_VALUE_EDEFAULT == null ? displayValue != null : !DISPLAY_VALUE_EDEFAULT.equals(displayValue);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", displayValue: ");
+ result.append(displayValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OptionImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+import org.eclipse.bpel.fnmeta.model.Function;
+import org.eclipse.bpel.fnmeta.model.Registry;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Registry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.RegistryImpl#getFunctions <em>Functions</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.RegistryImpl#getAssistants <em>Assistants</em>}</li>
+ * <li>{@link org.eclipse.bpel.fnmeta.model.impl.RegistryImpl#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RegistryImpl extends FacadeElementImpl implements Registry {
+ /**
+ * The cached value of the '{@link #getFunctions() <em>Functions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctions()
+ * @generated
+ * @ordered
+ */
+ protected EList<Function> functions;
+
+ /**
+ * The cached value of the '{@link #getAssistants() <em>Assistants</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssistants()
+ * @generated
+ * @ordered
+ */
+ protected EList<Assistant> assistants;
+
+ /**
+ * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArguments()
+ * @generated
+ * @ordered
+ */
+ protected EList<Argument> arguments;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RegistryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FMPackage.Literals.REGISTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Function> getFunctions() {
+ if (functions == null) {
+ functions = new EObjectContainmentEList<Function>(Function.class, this, FMPackage.REGISTRY__FUNCTIONS);
+ }
+ return functions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Assistant> getAssistants() {
+ if (assistants == null) {
+ assistants = new EObjectResolvingEList<Assistant>(Assistant.class, this, FMPackage.REGISTRY__ASSISTANTS);
+ }
+ return assistants;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Argument> getArguments() {
+ if (arguments == null) {
+ arguments = new EObjectResolvingEList<Argument>(Argument.class, this, FMPackage.REGISTRY__ARGUMENTS);
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case FMPackage.REGISTRY__FUNCTIONS:
+ return ((InternalEList<?>)getFunctions()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FMPackage.REGISTRY__FUNCTIONS:
+ return getFunctions();
+ case FMPackage.REGISTRY__ASSISTANTS:
+ return getAssistants();
+ case FMPackage.REGISTRY__ARGUMENTS:
+ return getArguments();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FMPackage.REGISTRY__FUNCTIONS:
+ getFunctions().clear();
+ getFunctions().addAll((Collection<? extends Function>)newValue);
+ return;
+ case FMPackage.REGISTRY__ASSISTANTS:
+ getAssistants().clear();
+ getAssistants().addAll((Collection<? extends Assistant>)newValue);
+ return;
+ case FMPackage.REGISTRY__ARGUMENTS:
+ getArguments().clear();
+ getArguments().addAll((Collection<? extends Argument>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FMPackage.REGISTRY__FUNCTIONS:
+ getFunctions().clear();
+ return;
+ case FMPackage.REGISTRY__ASSISTANTS:
+ getAssistants().clear();
+ return;
+ case FMPackage.REGISTRY__ARGUMENTS:
+ getArguments().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FMPackage.REGISTRY__FUNCTIONS:
+ return functions != null && !functions.isEmpty();
+ case FMPackage.REGISTRY__ASSISTANTS:
+ return assistants != null && !assistants.isEmpty();
+ case FMPackage.REGISTRY__ARGUMENTS:
+ return arguments != null && !arguments.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RegistryImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta.model.proxy;
+
+import org.eclipse.bpel.fnmeta.model.impl.ArgumentImpl;
+import org.eclipse.emf.common.util.URI;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 3, 2007
+ *
+ */
+@SuppressWarnings("nls")
+public class ArgumentProxy extends ArgumentImpl {
+
+ URI fURI;
+ String fName;
+
+ /**
+ * @param baseURI
+ * @param aName
+ */
+ public ArgumentProxy (URI baseURI, String aName) {
+ fURI = baseURI;
+ fName = aName;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.impl.EObjectImpl#eIsProxy()
+ */
+ @Override
+ public boolean eIsProxy() {
+ return true;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.impl.BasicEObjectImpl#eProxyURI()
+ */
+
+ @Override
+ public URI eProxyURI() {
+ return fURI.appendFragment("argument=" + fName);
+ }
+
+ /**
+ * @see org.eclipse.bpel.fnmeta.model.impl.AssistantImpl#getName()
+ */
+ @Override
+ public String getName() {
+ return fName;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta.model.proxy;
+
+import org.eclipse.bpel.fnmeta.model.impl.AssistantImpl;
+import org.eclipse.emf.common.util.URI;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 3, 2007
+ *
+ */
+@SuppressWarnings("nls")
+public class AssistantProxy extends AssistantImpl {
+
+ URI fURI;
+ String fName;
+
+ /**
+ * @param baseURI
+ * @param aName
+ */
+ public AssistantProxy (URI baseURI, String aName) {
+ fURI = baseURI;
+ fName = aName;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.impl.EObjectImpl#eIsProxy()
+ */
+ @Override
+ public boolean eIsProxy() {
+ return true;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.impl.BasicEObjectImpl#eProxyURI()
+ */
+
+ @Override
+ public URI eProxyURI() {
+ return fURI.appendFragment("assistant=" + fName);
+ }
+
+ /**
+ * @see org.eclipse.bpel.fnmeta.model.impl.AssistantImpl#getName()
+ */
+ @Override
+ public String getName() {
+ return fName;
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,214 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.util;
+
+import org.eclipse.bpel.fnmeta.model.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage
+ * @generated
+ */
+public class FMAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FMPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = FMPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch the delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FMSwitch<Adapter> modelSwitch =
+ new FMSwitch<Adapter>() {
+ @Override
+ public Adapter caseRegistry(Registry object) {
+ return createRegistryAdapter();
+ }
+ @Override
+ public Adapter caseAssistant(Assistant object) {
+ return createAssistantAdapter();
+ }
+ @Override
+ public Adapter caseOption(Option object) {
+ return createOptionAdapter();
+ }
+ @Override
+ public Adapter caseArgument(Argument object) {
+ return createArgumentAdapter();
+ }
+ @Override
+ public Adapter caseFunction(Function object) {
+ return createFunctionAdapter();
+ }
+ @Override
+ public Adapter caseFacadeElement(FacadeElement object) {
+ return createFacadeElementAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.Registry <em>Registry</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.Registry
+ * @generated
+ */
+ public Adapter createRegistryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.Assistant <em>Assistant</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.Assistant
+ * @generated
+ */
+ public Adapter createAssistantAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.Option <em>Option</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.Option
+ * @generated
+ */
+ public Adapter createOptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.Argument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.Argument
+ * @generated
+ */
+ public Adapter createArgumentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.Function <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.Function
+ * @generated
+ */
+ public Adapter createFunctionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.bpel.fnmeta.model.FacadeElement <em>Facade Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.bpel.fnmeta.model.FacadeElement
+ * @generated
+ */
+ public Adapter createFacadeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //FMAdapterFactory
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,477 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.fnmeta.model.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.eclipse.bpel.common.extension.model.Activator;
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.FMFactory;
+import org.eclipse.bpel.fnmeta.model.Function;
+import org.eclipse.bpel.fnmeta.model.Option;
+import org.eclipse.bpel.fnmeta.model.Optionality;
+import org.eclipse.bpel.fnmeta.model.Registry;
+import org.eclipse.bpel.fnmeta.model.proxy.ArgumentProxy;
+import org.eclipse.bpel.fnmeta.model.proxy.AssistantProxy;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.XMLDefaultHandler;
+import org.eclipse.emf.ecore.xmi.XMLLoad;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 3, 2007
+ *
+ */
+
+@SuppressWarnings("nls")
+
+public class FMReader implements XMLLoad , ErrorHandler {
+
+ List<Runnable> fPass2Runnables = new ArrayList<Runnable>();
+ DocumentBuilder fBuilder;
+ XMLResource fResource;
+
+
+ /**
+ * @see org.eclipse.emf.ecore.xmi.XMLLoad#createDefaultHandler()
+ */
+ public XMLDefaultHandler createDefaultHandler() {
+ return null;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.xmi.XMLLoad#load(org.eclipse.emf.ecore.xmi.XMLResource, java.io.InputStream, java.util.Map)
+ */
+ public void load (XMLResource resource, InputStream inputStream, Map<?, ?> options) {
+ InputSource inputSource = new InputSource(inputStream);
+ inputSource.setPublicId( resource.getURI().toString() );
+ inputSource.setSystemId( resource.getURI().toString() );
+ load (resource,inputSource,options);
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.xmi.XMLLoad#load(org.eclipse.emf.ecore.xmi.XMLResource, org.xml.sax.InputSource, java.util.Map)
+ */
+ public void load (XMLResource resource, InputSource inputSource, Map<?, ?> options) {
+
+ Element top = null;
+ try {
+ top = read ( inputSource );
+ // After the document has successfully parsed, it's okay
+ // to assign the resource.
+ } catch (SAXException sax) {
+ // the error handlers will catch this.
+ } catch (IOException ioe) {
+ Activator.log("I/O Error Reading BPEL XML", ioe , IStatus.ERROR) ;
+ } finally {
+
+ }
+
+ if (top == null) {
+ return ;
+ }
+
+ load(resource,top,options);
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.xmi.XMLLoad#load(org.eclipse.emf.ecore.xmi.XMLResource, org.w3c.dom.Node, java.util.Map)
+ */
+ public void load (XMLResource resource, Node node, Map<?, ?> options) {
+
+ if (node instanceof Element == false) {
+ return ;
+ }
+ fResource = resource;
+
+ EObject root = pass1( (Element) node);
+ if (root != null) {
+ resource.getContents().add(root);
+ }
+ pass2();
+ }
+
+
+ Element read ( InputSource inputSource ) throws IOException, SAXException {
+ if (fBuilder == null) {
+ fBuilder = getDocumentBuilder();
+ fBuilder.setErrorHandler(this);
+ }
+ return fBuilder.parse(inputSource).getDocumentElement();
+
+ }
+
+ protected DocumentBuilder getDocumentBuilder() throws IOException {
+ final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+
+
+ factory.setIgnoringComments(true);
+ factory.setIgnoringElementContentWhitespace(true);
+ factory.setValidating(false);
+ factory.setNamespaceAware(true);
+
+ DocumentBuilder builder;
+ try {
+ builder = factory.newDocumentBuilder();
+ } catch (ParserConfigurationException exc) {
+ throw new IOException(exc.toString());
+ }
+ return builder;
+ }
+
+
+ /**
+ * In pass 1, we parse and create the structural elements and attributes,
+ * and add the process to the EMF resource's contents
+ * @param document the DOM document to parse
+ */
+ protected EObject pass1 (Element elm) {
+ return xml2Resource(elm);
+ }
+
+ /**
+ * In pass 2, we run any post load runn ables which were queued during pass 1.
+ */
+ protected void pass2() {
+ for(Runnable r : fPass2Runnables) {
+ r.run();
+ }
+ fPass2Runnables.clear();
+ }
+
+
+ /**
+ * Returns a list of child nodes of <code>parentElement</code> that are
+ * {@link Element}s.
+ * Returns an empty list if no elements are found.
+ *
+ * @param parentElement the element to find the children of
+ * @return a node list of the children of parentElement
+ */
+ protected List<Element> getChildElements (Element parentElement) {
+ List<Element> list = new ArrayList<Element>();
+ NodeList children = parentElement.getChildNodes();
+ for (int i=0; i < children.getLength(); i++) {
+ if (children.item(i).getNodeType() == Node.ELEMENT_NODE)
+ list.add( (Element) children.item(i));
+ }
+ return list;
+ }
+
+ /**
+ *
+ * @param parentElement the element to find the children of
+ * @param localName the localName to match against
+ * @return a node list of the matching children of parentElement
+ */
+ protected List<Element> getChildElementsByLocalName(Element parentElement, String localName) {
+ List<Element> list = new ArrayList<Element>();
+ for(Node node = parentElement.getFirstChild(); node != null ; node = node.getNextSibling()) {
+ if (localName.equals(node.getLocalName())) {
+ list.add((Element) node);
+ }
+ }
+ return list;
+ }
+
+ /**
+ * Returns the first child node of <code>parentElement</code> that is an {@link Element}
+ * with a BPEL namespace and the given <code>localName</code>, or <code>null</code>
+ * if a matching element is not found.
+ *
+ * @param parentElement the element to find the children of
+ * @param localName the localName to match against
+ * @return the first matching element, or null if no element was found
+ */
+ protected Element getChildElementByLocalName (Element parentElement, String localName) {
+ for(Node node = parentElement.getFirstChild(); node != null ; node = node.getNextSibling()) {
+ if (localName.equals(node.getLocalName()) ) {
+ return (Element) node;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Converts an XML document to a BPEL Resource object.
+ */
+ protected EObject xml2Resource(Element element) {
+ return xml2Registry (element);
+ }
+
+
+ /**
+ * Converts an XML process to a BPEL Process object.
+ */
+ @SuppressWarnings("nls")
+ protected Registry xml2Registry(Element element) {
+ if (element == null || element.getLocalName().equals("bpel-xpath-functions") == false ) {
+ return null;
+ }
+
+ Registry registry = FMFactory.eINSTANCE.createRegistry();
+ registry.setElement(element);
+
+ // Assistants
+ for(Element e : getChildElementsByLocalName(element, "assistant")) {
+ registry.getAssistants().add(xml2Assistant(e));
+ }
+
+ // Arguments
+ for(Element e : getChildElementsByLocalName(element, "arg")) {
+ registry.getArguments().add(xml2Argument(e));
+ }
+ // Functions
+ for(Element e : getChildElementsByLocalName(element, "function")) {
+ registry.getFunctions().add(xml2Function(e));
+ }
+ return registry;
+ }
+
+ /**
+ * Converts an XML partnerLinks
+ */
+ protected Assistant xml2Assistant (Element element) {
+ if (element == null || element.getLocalName().equals("assistant") == false) {
+ return null;
+ }
+
+ if (element.getFirstChild() == null || element.hasAttribute("ref") ) {
+ return new AssistantProxy( fResource.getURI(), element.getAttribute("ref") );
+ }
+
+ Assistant assistant = FMFactory.eINSTANCE.createAssistant();
+
+ for(Element e : getChildElementsByLocalName(element, "option")) {
+ assistant.getOptions().add( xml2Option(e) );
+ }
+ return assistant;
+ }
+
+
+
+ protected Option xml2Option (Element element) {
+ if (element == null || element.getLocalName().equals("option") == false) {
+ return null;
+ }
+
+ Option option = FMFactory.eINSTANCE.createOption();
+ option.setValue( element.getAttribute("value") );
+ option.setDisplayValue( getText(element) );
+
+ return option;
+ }
+
+ @SuppressWarnings("boxing")
+ protected Argument xml2Argument (Element element) {
+ if (element == null || element.getLocalName().equals("arg") == false) {
+ return null;
+ }
+
+ if (element.getFirstChild() == null || element.hasAttribute("ref") ) {
+ return new ArgumentProxy(fResource.getURI(), element.getAttribute("ref") );
+ }
+
+ Argument arg = FMFactory.eINSTANCE.createArgument();
+ arg.setElement(element);
+
+ arg.setName( element.getAttribute("name") );
+ arg.setType (element.getAttribute("type") );
+ arg.setDefaultValue(element.getAttribute("default") );
+ String opt = element.getAttribute("optional");
+
+ /** By default, optionality is Optionality.REQUIRED */
+ if ("true".equalsIgnoreCase(opt) || "?".equals(opt)) {
+ arg.setOptionality(Optionality.OPTIONAL);
+ } else if ("*".equals(opt)) {
+ arg.setOptionality(Optionality.OPTIONAL_MANY);
+ }
+
+ arg.setAssistant( xml2Assistant( getChildElementByLocalName(element, "assistant")));
+ arg.setComment( getText( getChildElementByLocalName(element, "comment")));
+
+ return arg;
+ }
+
+ @SuppressWarnings("boxing")
+ protected Function xml2Function (Element element) {
+ if (element == null || element.getLocalName().equals("function") == false) {
+ return null;
+ }
+
+ Function function = FMFactory.eINSTANCE.createFunction();
+ function.setElement(element);
+
+ function.setName( element.getAttribute("id"));
+ function.setReturnType(element.getAttribute("returns"));
+ function.setHelp( getText( getChildElementByLocalName(element, "help")) );
+ function.setComment( getText( getChildElementByLocalName(element, "comment")) );
+
+ function.setClassName( element.getAttribute("class"));
+
+ Element dep = getChildElementByLocalName(element,"deprecated");
+
+ if (dep != null) {
+ function.setIsDeprecated(dep != null);
+ function.setDeprecateComment(getText(dep));
+ }
+
+ Element ns = getChildElementByLocalName(element, "namespace");
+
+ if (ns != null) {
+ function.setNamespace( getText(ns) );
+ function.setPrefix(ns.getAttribute("prefix"));
+ }
+
+ for(Element a : getChildElementsByLocalName(element, "arg")) {
+ function.getArguments().add( xml2Argument(a));
+ }
+ return function;
+ }
+
+ /**
+ * Returns true if the string is either null or contains just whitespace.
+ * @param value
+ * @return true if empty or whitespace, false otherwise.
+ */
+
+ static public boolean isEmptyOrWhitespace( String value )
+ {
+ if( value == null || value.length() == 0) {
+ return true;
+ }
+ for( int i = 0, j = value.length(); i < j; i++ )
+ {
+ if( ! Character.isWhitespace( value.charAt(i) ) ) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ /**
+ * Returns the text of the given node. If the node is an element node, its
+ * children text value is returned. Otherwise, the node is assumed to be
+ * the first child node and the siblings sequence is scanned.
+ *
+ *
+ */
+
+ String getText (Node node) {
+
+ StringBuilder sb = new StringBuilder(128);
+
+ if (node instanceof Element) {
+ node = ((Element)node).getFirstChild();
+ }
+
+ boolean bCData = false;
+
+ while (node != null) {
+ switch (node.getNodeType()) {
+ case Node.TEXT_NODE :
+ if (bCData) {
+ break;
+ }
+ Text text = (Text) node;
+ sb.append(text.getData());
+ break;
+ case Node.CDATA_SECTION_NODE :
+ if (bCData == false) {
+ sb.setLength(0);
+ bCData = true;
+ }
+ CDATASection cdata = (CDATASection) node;
+ sb.append( cdata.getData() );
+ break;
+ }
+ node = node.getNextSibling();
+ }
+ String data = sb.toString();
+ if (isEmptyOrWhitespace(data)) {
+ return null;
+ }
+ return data;
+ }
+
+
+ /**
+ * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
+ */
+ @SuppressWarnings("boxing")
+ public void error (SAXParseException exception) {
+
+ String message = java.text.MessageFormat.format(
+ "Error in {0} [{2}:{3}] {4}",
+ exception.getPublicId(),
+ exception.getSystemId(),
+ exception.getLineNumber(),
+ exception.getColumnNumber(),
+ exception.getLocalizedMessage()
+ );
+ Activator.log(message, exception, IStatus.ERROR);
+ }
+
+ /**
+ * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
+ */
+ @SuppressWarnings("boxing")
+ public void fatalError(SAXParseException exception) {
+ String message = java.text.MessageFormat.format(
+ "Fatal Error in {0} [{2}:{3}] {4}",
+ exception.getPublicId(),
+ exception.getSystemId(),
+ exception.getLineNumber(),
+ exception.getColumnNumber(),
+ exception.getLocalizedMessage()
+ );
+ Activator.log(message, exception, IStatus.ERROR);
+ }
+
+ /**
+ * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
+ */
+ @SuppressWarnings("boxing")
+ public void warning (SAXParseException exception) {
+ String message = java.text.MessageFormat.format(
+ "Warning in {0} [{2}:{3}] {4}",
+ exception.getPublicId(),
+ exception.getSystemId(),
+ exception.getLineNumber(),
+ exception.getColumnNumber(),
+ exception.getLocalizedMessage()
+ );
+ Activator.log(message, exception, IStatus.WARNING);
+ }
+
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.util.FMResourceImpl
+ * @generated
+ */
+public class FMResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new FMResourceImpl(uri);
+ return result;
+ }
+
+} //FMResourceFactoryImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,117 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.util;
+
+import org.eclipse.bpel.fnmeta.model.Argument;
+import org.eclipse.bpel.fnmeta.model.Assistant;
+import org.eclipse.bpel.fnmeta.model.Registry;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.XMLLoad;
+import org.eclipse.emf.ecore.xmi.XMLSave;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.util.FMResourceFactoryImpl
+ * @generated
+ */
+
+@SuppressWarnings("nls")
+
+public class FMResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public FMResourceImpl(URI uri) {
+ super(uri);
+ }
+
+ /**
+ * @generated NOT
+ */
+ @Override
+ protected XMLLoad createXMLLoad() {
+ return new FMReader();
+ }
+
+ /**
+ * @generated NOT
+ */
+
+ @Override
+ protected XMLSave createXMLSave() {
+ throw new RuntimeException("Resource does know how to save itself");
+ }
+
+ /**
+ * @generated NOT
+ */
+ @Override
+ public String getURIFragment(EObject eObject)
+ {
+ return super.getURIFragment(eObject);
+ }
+
+ /**
+ * @generated NOT
+ */
+ @Override
+ public EObject getEObject (String uriFragment) {
+
+ if (uriFragment == null) {
+ return null;
+ }
+ EObject eObj = super.getEObject(uriFragment);
+ if (eObj != null) {
+ return eObj;
+ }
+ if (getContents().size() < 1) {
+ return null;
+ }
+ Registry registry = (Registry) getContents().get(0);
+
+ String name = parse(uriFragment,"assistant=");
+ if (name != null) {
+ for(Assistant a : registry.getAssistants()) {
+ if (name.equals(a.getName())) {
+ return a;
+ }
+ }
+ }
+
+ name = parse(uriFragment,"argument=");
+ if (name != null) {
+ for(Argument a : registry.getArguments()) {
+ if (name.equals(a.getName())) {
+ return a;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * @generated NOT
+ */
+ String parse ( String str, String what ) {
+ int x = str.lastIndexOf(what);
+ if (x < 0) {
+ return null;
+ }
+ return str.substring(x+what.length());
+ }
+
+
+} //FMResourceImpl
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,240 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.util;
+
+import java.util.List;
+
+import org.eclipse.bpel.fnmeta.model.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.bpel.fnmeta.model.FMPackage
+ * @generated
+ */
+public class FMSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FMPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMSwitch() {
+ if (modelPackage == null) {
+ modelPackage = FMPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case FMPackage.REGISTRY: {
+ Registry registry = (Registry)theEObject;
+ T result = caseRegistry(registry);
+ if (result == null) result = caseFacadeElement(registry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FMPackage.ASSISTANT: {
+ Assistant assistant = (Assistant)theEObject;
+ T result = caseAssistant(assistant);
+ if (result == null) result = caseFacadeElement(assistant);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FMPackage.OPTION: {
+ Option option = (Option)theEObject;
+ T result = caseOption(option);
+ if (result == null) result = caseFacadeElement(option);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FMPackage.ARGUMENT: {
+ Argument argument = (Argument)theEObject;
+ T result = caseArgument(argument);
+ if (result == null) result = caseFacadeElement(argument);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FMPackage.FUNCTION: {
+ Function function = (Function)theEObject;
+ T result = caseFunction(function);
+ if (result == null) result = caseFacadeElement(function);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FMPackage.FACADE_ELEMENT: {
+ FacadeElement facadeElement = (FacadeElement)theEObject;
+ T result = caseFacadeElement(facadeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Registry</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Registry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRegistry(Registry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assistant</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assistant</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssistant(Assistant object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Option</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Option</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOption(Option object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArgument(Argument object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunction(Function object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facade Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Facade Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacadeElement(FacadeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //FMSwitch
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.bpel.fnmeta.model.util;
+
+import java.util.Map;
+
+import org.eclipse.bpel.fnmeta.model.FMPackage;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FMXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FMXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ FMPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the FMResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new FMResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new FMResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //FMXMLProcessor
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.names;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 6, 2007
+ *
+ */
+public class NCNameWordDetector extends XMLNameWordDetector {
+ /**
+ *
+ */
+ @Override
+ public boolean isWordPart (char c) {
+ return c != ':' && super.isWordPart(c);
+ }
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.names;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 6, 2007
+ *
+ */
+public class QNameWordDetector extends XMLNameWordDetector {
+
+ int colCount = 0;
+
+ /**
+ * These always start with a $
+ */
+ @Override
+ public boolean isWordStart (char c) {
+ colCount = 0;
+ return super.isWordStart(c);
+ }
+
+ /**
+ *
+ */
+ @Override
+ public boolean isWordPart (char c) {
+ if (c == ':') {
+ if (colCount == 0) {
+ colCount += 1;
+ return true;
+ }
+ return false;
+ }
+ return super.isWordPart(c);
+ }
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.names;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Aug 6, 2007
+ *
+ */
+/**
+ * Detects variables in XPath expressions.
+ *
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Nov 17, 2006
+ *
+ */
+public class VariableNameWordDetector extends NCNameWordDetector {
+
+ /**
+ * These always start with a $
+ */
+ @Override
+ public boolean isWordStart (char c) {
+ return c == '$' ;
+ }
+
+ /**
+ * The rest of the variable is a NCName but does not contain a '.'
+ */
+ @Override
+ public boolean isWordPart (char c) {
+ return c != '.' && super.isWordPart(c);
+ }
+}
Added: workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java 2011-02-17 22:37:22 UTC (rev 29216)
@@ -0,0 +1,613 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation 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:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.names;
+
+/**
+ * @author Michal Chmielewski (michal.chmielewski(a)oracle.com)
+ * @date Oct 25, 2006
+ *
+ */
+public class XMLNameWordDetector {
+
+ /**
+ * Check if the character sequence is a valid name.
+ * @param seq
+ * @return true if valid, false otherwise.
+ */
+
+ public boolean isValid (CharSequence seq) {
+ if (seq.length() == 0) {
+ return false;
+ }
+ if (isWordStart(seq.charAt(0)) == false) {
+ return false;
+ }
+ for(int i=1, j = seq.length(); i < j; i++) {
+ if (isWordPart(seq.charAt(i)) == false) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Check if a character can be part of the word.
+ * @param c
+ * @return true if character can be part of word, false otherwise.
+ */
+
+ public boolean isWordPart (char c) {
+ return isNameChar(c);
+ }
+
+ /**
+ *
+ * @param c
+ * @return true of character can be a word start, false otherwise.
+ *
+ */
+
+ public boolean isWordStart (char c) {
+ return (c == '_' || isLetter(c)) ;
+ }
+
+
+ /**
+ * Answer if we are a name character.
+ *
+ * @param c
+ * @return true if name character, false otherwise
+ */
+
+ static public boolean isNameChar (char c) {
+ return isLetter(c) ||
+ isDigit(c) ||
+ c == '.' ||
+ c == '-' ||
+ c == '_' ||
+ isCombiningCharacter(c) ||
+ isExtender ( c );
+
+ }
+ /**
+ * Return of we are a letter according to the XML spec.
+ *
+ * @param c
+ * @return true if letter, false otherwise.
+ */
+
+ static public boolean isLetter ( char c ) {
+ return isBaseChar ( c ) || isIdeographic ( c );
+
+ }
+
+
+ /**
+ * Check if we are base character according to the XML spec.
+ * @param c the character
+ * @return true if base, false otherwise.
+ */
+
+
+ static public boolean isBaseChar ( char c ) {
+
+ switch ( getPlane ( c ) ) {
+
+ case 0x00 :
+ return range(c,0x0041,0x005A) ||
+ range(c,0x0061,0x007A) ||
+ range(c,0x00C0,0x00D6) ||
+ range(c,0x00D8,0x00F6) ||
+ range(c,0x00F8,0x00FF) ;
+
+ case 0x01 :
+ return range(c,0x0100,0x0131) ||
+ range(c,0x0134,0x013E) ||
+ range(c,0x0141,0x0148) ||
+ range(c,0x014A,0x017E) ||
+ range(c,0x0180,0x01C3) ||
+ range(c,0x01CD,0x01F0) ||
+ range(c,0x01F4,0x01F5) ||
+ range(c,0x01FA,0x01FF);
+
+ case 0x02 :
+ return range(c,0x0200, 0x0217) ||
+ range(c,0x0250,0x02A8) ||
+ range(c,0x02BB,0x02C1);
+
+ case 0x03 :
+ return c == 0x0386 ||
+ range(c,0x0388,0x038A) ||
+ c == 0x038C ||
+ range(c,0x038E,0x03A1) ||
+ range(c,0x03A3,0x03CE) ||
+ range(c,0x03D0,0x03D6) ||
+ c == 0x03DA ||
+ c == 0x03DC ||
+ c == 0x03DE ||
+ c == 0x03E0 ||
+ range(c,0x03E2,0x03F3);
+
+ case 0x04 :
+ return range(c,0x0401,0x040C) ||
+ range(c,0x040E,0x044F) ||
+ range(c,0x0451,0x045C) ||
+ range(c,0x045E,0x0481) ||
+ range(c,0x0490,0x04C4) ||
+ range(c,0x04C7,0x04C8) ||
+ range(c,0x04CB,0x04CC) ||
+ range(c,0x04D0,0x04EB) ||
+ range(c,0x04EE,0x04F5) ||
+ range(c,0x04F8,0x04F9);
+
+ case 0x05 :
+ return range(c,0x0531,0x0556) ||
+ c == 0x0559 ||
+ range(c,0x0561,0x0586) ||
+ range(c,0x05D0,0x05EA) ||
+ range(c,0x05F0,0x05F2);
+
+ case 0x06 :
+ return range(c,0x0621,0x063A) ||
+ range(c,0x0641,0x064A) ||
+ range(c,0x0671,0x06B7) ||
+ range(c,0x06BA,0x06BE) ||
+ range(c,0x06C0,0x06CE) ||
+ range(c,0x06D0,0x06D3) ||
+ c == 0x06D5 ||
+ range(c,0x06E5,0x06E6);
+
+ case 0x07 :
+ case 0x08 :
+ return false;
+
+ case 0x09 :
+ return range(c,0x0905,0x0939) ||
+ c == 0x093D ||
+ range(c,0x0958,0x0961) ||
+ range(c,0x0985,0x098C) ||
+ range(c,0x098F,0x0990) ||
+ range(c,0x0993,0x09A8) ||
+ range(c,0x09AA,0x09B0) ||
+ c == 0x09B2 ||
+ range(c,0x09B6,0x09B9) ||
+ range(c,0x09DC,0x09DD) ||
+ range(c,0x09DF,0x09E1) ||
+ range(c,0x09F0,0x09F1) ;
+
+ case 0x0A :
+ return range(c,0x0A05,0x0A0A) ||
+ range(c,0x0A0F,0x0A10) ||
+ range(c,0x0A13,0x0A28) ||
+ range(c,0x0A2A,0x0A30) ||
+ range(c,0x0A32,0x0A33) ||
+ range(c,0x0A35,0x0A36) ||
+ range(c,0x0A38,0x0A39) ||
+ range(c,0x0A59,0x0A5C) ||
+ c == 0x0A5E ||
+ range(c,0x0A72,0x0A74) ||
+ range(c,0x0A85,0x0A8B) ||
+ c == 0x0A8D ||
+ range(c,0x0A8F,0x0A91) ||
+ range(c,0x0A93,0x0AA8) ||
+ range(c,0x0AAA,0x0AB0) ||
+ range(c,0x0AB2,0x0AB3) ||
+ range(c,0x0AB5,0x0AB9) ||
+ c == 0x0ABD ||
+ c == 0x0AE0;
+
+ case 0x0B :
+ return range(c,0x0B05,0x0B0C) ||
+ range(c,0x0B0F,0x0B10) ||
+ range(c,0x0B13,0x0B28) ||
+ range(c,0x0B2A,0x0B30) ||
+ range(c,0x0B32,0x0B33) ||
+ range(c,0x0B36,0x0B39) ||
+ c == 0x0B3D ||
+ range(c,0x0B5C,0x0B5D) ||
+ range(c,0x0B5F,0x0B61) ||
+ range(c,0x0B85,0x0B8A) ||
+ range(c,0x0B8E,0x0B90) ||
+ range(c,0x0B92,0x0B95) ||
+ range(c,0x0B99,0x0B9A) ||
+ c == 0x0B9C ||
+ range(c,0x0B9E,0x0B9F) ||
+ range(c,0x0BA3,0x0BA4) ||
+ range(c,0x0BA8,0x0BAA) ||
+ range(c,0x0BAE,0x0BB5) ||
+ range(c,0x0BB7,0x0BB9);
+
+ case 0x0C :
+ return range(c,0x0C05,0x0C0C) ||
+ range(c,0x0C0E,0x0C10) ||
+ range(c,0x0C12,0x0C28) ||
+ range(c,0x0C2A,0x0C33) ||
+ range(c,0x0C35,0x0C39) ||
+ range(c,0x0C60,0x0C61) ||
+ range(c,0x0C85,0x0C8C) ||
+ range(c,0x0C8E,0x0C90) ||
+ range(c,0x0C92,0x0CA8) ||
+ range(c,0x0CAA,0x0CB3) ||
+ range(c,0x0CB5,0x0CB9) ||
+ c == 0x0CDE ||
+ range(c,0x0CE0,0x0CE1);
+
+ case 0x0D :
+ return range(c,0x0D05,0x0D0C) ||
+ range(c,0x0D0E,0x0D10) ||
+ range(c,0x0D12,0x0D28) ||
+ range(c,0x0D2A,0x0D39) ||
+ range(c,0x0D60,0x0D61) ;
+
+ case 0x0E :
+ return range(c,0x0E01,0x0E2E) ||
+ c == 0x0E30 ||
+ range(c,0x0E32,0x0E33) ||
+ range(c,0x0E40,0x0E45) ||
+ range(c,0x0E81,0x0E82) ||
+ c == 0x0E84 ||
+ range(c,0x0E87,0x0E88) ||
+ c == 0x0E8A ||
+ c == 0x0E8D ||
+ range(c,0x0E94,0x0E97) ||
+ range(c,0x0E99,0x0E9F) ||
+ range(c,0x0EA1,0x0EA3) ||
+ c == 0x0EA5 ||
+ c == 0x0EA7 ||
+ range(c,0x0EAA,0x0EAB) ||
+ range(c,0x0EAD,0x0EAE) ||
+ c == 0x0EB0 ||
+ range(c,0x0EB2,0x0EB3) ||
+ c == 0x0EBD ||
+ range(c,0x0EC0,0x0EC4);
+
+ case 0x0F :
+ return range(c,0x0F40,0x0F47) ||
+ range(c,0x0F49,0x0F69);
+
+ case 0x10 :
+ return range(c,0x0F40,0x0F47) ||
+ range(c,0x0F49,0x0F69);
+
+ case 0x11 :
+ return c == 0x1100 ||
+ range(c,0x1102,0x1103) ||
+ range(c,0x1105,0x1107) ||
+ c == 0x1109 ||
+ range(c,0x110B,0x110C) ||
+ range(c,0x110E,0x1112) ||
+ c == 0x113C ||
+ c == 0x113E ||
+ c == 0x1140 ||
+ c == 0x114C ||
+ c == 0x114E ||
+ c == 0x1150 ||
+ range(c,0x1154,0x1155) ||
+ c == 0x1159 ||
+ range(c,0x115F,0x1161) ||
+ c == 0x1163 ||
+ c == 0x1165 ||
+ c == 0x1167 ||
+ c == 0x1169 ||
+ range(c,0x116D,0x116E) ||
+ range(c,0x1172,0x1173) ||
+ c == 0x1175 ||
+ c == 0x119E ||
+ c == 0x11A8 ||
+ c == 0x11AB ||
+ range(c,0x11AE,0x11AF) ||
+ range(c,0x11B7,0x11B8) ||
+ c == 0x11BA ||
+ range(c,0x11BC,0x11C2) ||
+ c == 0x11EB ||
+ c == 0x11F0 ||
+ c == 0x11F9;
+
+ case 0x1E :
+ return range(c,0x1E00,0x1E9B) ||
+ range(c,0x1EA0,0x1EF9);
+
+ case 0x1F :
+ return range(c,0x1F00,0x1F15) ||
+ range(c,0x1F18,0x1F1D) ||
+ range(c,0x1F20,0x1F45) ||
+ range(c,0x1F48,0x1F4D) ||
+ range(c,0x1F50,0x1F57) ||
+ c == 0x1F59 ||
+ c == 0x1F5B ||
+ c == 0x1F5D ||
+ range(c,0x1F5F,0x1F7D) ||
+ range(c,0x1F80,0x1FB4) ||
+ range(c,0x1FB6,0x1FBC) ||
+ c == 0x1FBE ||
+ range(c,0x1FC2,0x1FC4) ||
+ range(c,0x1FC6,0x1FCC) ||
+ range(c,0x1FD0,0x1FD3) ||
+ range(c,0x1FD6,0x1FDB) ||
+ range(c,0x1FE0,0x1FEC) ||
+ range(c,0x1FF2,0x1FF4) ||
+ range(c,0x1FF6,0x1FFC);
+
+ case 0x21 :
+ return c == 0x2126 ||
+ range(c,0x212A,0x212B) ||
+ c == 0x212E ||
+ range(c,0x2180,0x2182);
+
+ case 0x30 :
+ return range(c,0x3041,0x3094) ||
+ range(c,0x30A1,0x30FA);
+ case 0x31 :
+ return range(c,0x3105,0x312C);
+
+ default :
+ return range(c,0xAC00,0xD7A3);
+ }
+ }
+
+
+ /**
+ * Answer if the character is a combining character.
+ *
+ * @param c the character
+ * @return true of combining, false otherwise.
+ */
+
+ static public boolean isCombiningCharacter ( char c ) {
+
+ switch ( getPlane ( c ) ) {
+
+ case 0x03 :
+ return range(c,0x0300,0x0345) ||
+ range(c,0x0360,0x0361) ;
+
+ case 0x04 :
+ return range(c,0x0483,0x0486);
+
+ case 0x05 :
+ return range(c,0x0591,0x05A1) ||
+ range(c,0x05A3,0x05B9) ||
+ range(c,0x05BB,0x05BD) ||
+ c == 0x05BF ||
+ range(c,0x05C1,0x05C2) ||
+ c == 0x05C4 ;
+
+ case 0x06 :
+ return range(c,0x064B,0x0652) ||
+ c == 0x0670 ||
+ range(c,0x06D6,0x06DC) ||
+ range(c,0x06DD,0x06DF) ||
+ range(c,0x06E0,0x06E4) ||
+ range(c,0x06E7,0x06E8) ||
+ range(c,0x06EA,0x06ED) ;
+
+ case 0x09 :
+ return range(c,0x0901,0x0903) ||
+ c == 0x093C ||
+ range(c,0x093E,0x094C) ||
+ c == 0x094D ||
+ range(c,0x0951,0x0954) ||
+ range(c,0x0962,0x0963) ||
+ range(c,0x0981,0x0983) ||
+ c == 0x09BC ||
+ c == 0x09BE ||
+ c == 0x09BF ||
+ range(c,0x09C0,0x09C4) ||
+ range(c,0x09C7,0x09C8) ||
+ range(c,0x09CB,0x09CD) ||
+ c == 0x09D7 ||
+ range(c,0x09E2,0x09E3) ;
+
+ case 0x0A :
+ return c == 0x0A02 ||
+ c == 0x0A3C ||
+ c == 0x0A3E ||
+ c == 0x0A3F ||
+ range(c,0x0A40,0x0A42) ||
+ range(c,0x0A47,0x0A48) ||
+ range(c,0x0A4B,0x0A4D) ||
+ range(c,0x0A70,0x0A71) ||
+ range(c,0x0A81,0x0A83) ||
+ c == 0x0ABC ||
+ range(c,0x0ABE,0x0AC5) ||
+ range(c,0x0AC7,0x0AC9) ||
+ range(c,0x0ACB,0x0ACD) ;
+
+ case 0x0B :
+ return range(c,0x0B01,0x0B03) ||
+ c == 0x0B3C ||
+ range(c,0x0B3E,0x0B43) ||
+ range(c,0x0B47,0x0B48) ||
+ range(c,0x0B4B,0x0B4D) ||
+ range(c,0x0B56,0x0B57) ||
+ range(c,0x0B82,0x0B83) ||
+ range(c,0x0BBE,0x0BC2) ||
+ range(c,0x0BC6,0x0BC8) ||
+ range(c,0x0BCA,0x0BCD) ||
+ c == 0x0BD7 ;
+
+ case 0x0C :
+ return range(c,0x0C01,0x0C03) ||
+ range(c,0x0C3E,0x0C44) ||
+ range(c,0x0C46,0x0C48) ||
+ range(c,0x0C4A,0x0C4D) ||
+ range(c,0x0C55,0x0C56) ||
+ range(c,0x0C82,0x0C83) ||
+ range(c,0x0CBE,0x0CC4) ||
+ range(c,0x0CC6,0x0CC8) ||
+ range(c,0x0CCA,0x0CCD) ||
+ range(c,0x0CD5,0x0CD6) ;
+
+ case 0x0D :
+ return range(c,0x0D02,0x0D03) ||
+ range(c,0x0D3E,0x0D43) ||
+ range(c,0x0D46,0x0D48) ||
+ range(c,0x0D4A,0x0D4D) ||
+ c == 0x0D57 ;
+
+ case 0x0E :
+ return c == 0x0E31 ||
+ range(c,0x0E34,0x0E3A) ||
+ range(c,0x0E47,0x0E4E) ||
+ c == 0x0EB1 ||
+ range(c,0x0EB4,0x0EB9) ||
+ range(c,0x0EBB,0x0EBC) ||
+ range(c,0x0EC8,0x0ECD);
+
+ case 0x0F :
+ return range(c,0x0F18,0x0F19) ||
+ c == 0x0F35 ||
+ c == 0x0F37 ||
+ c == 0x0F39 ||
+ c == 0x0F3E ||
+ c == 0x0F3F ||
+ range(c,0x0F71,0x0F84) ||
+ range(c,0x0F86,0x0F8B) ||
+ range(c,0x0F90,0x0F95) ||
+ c == 0x0F97 ||
+ range(c,0x0F99,0x0FAD) ||
+ range(c,0x0FB1,0x0FB7) ||
+ c == 0x0FB9 ;
+
+ case 0x20 :
+ return range(c,0x20D0,0x20DC) ||
+ c == 0x20E1;
+ case 0x30 :
+ return range(c,0x302A,0x302F) ||
+ c == 0x3099 ||
+ c == 0x309A ;
+
+ default :
+ return false;
+ }
+ }
+
+ /**
+ * Answer is the character is an Ideographic, per XML spec.
+ * <pre>
+ * [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
+ * </pre>
+ * @param c the character to test
+ * @return return true if yes, false if no.
+ */
+
+ static public boolean isIdeographic (char c) {
+
+ return range(c,0x4e00, 0x9fa5) ||
+ c == 0x3007 ||
+ range(c,0x3021, 0x3029 ) ;
+ }
+
+
+ /**
+ * Answer if we are a digit, based on the XML specification.
+ * <pre>
+ * [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] |
+ * [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] |
+ * [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] |
+ * [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]
+ * </pre>
+ * @param c
+ * @return true if digit, false otherwise.
+ */
+ static public boolean isDigit ( char c ) {
+
+ switch ( getPlane ( c ) ) {
+
+ case 0x00 :
+ return range(c,0x0030,0x0039);
+ case 0x06 :
+ return range(c,0x0660,0x0669) ||
+ range(c,0x06F0,0x06F9);
+ case 0x09 :
+ return range(c,0x0966,0x096F) ||
+ range(c,0x09E6,0x09EF);
+ case 0x0A:
+ return range(c,0x0A66,0x0A6F) ||
+ range(c,0x0AE6,0x0AEF);
+ case 0x0B:
+ return range(c,0x0B66,0x0B6F) ||
+ range(c,0x0BE7,0x0BEF);
+ case 0x0C:
+ return range(c,0x0C66,0x0C6F) ||
+ range(c,0x0CE6,0x0CEF);
+ case 0x0D:
+ return range(c,0x0D66,0x0D6F);
+
+ case 0x0E:
+ return range(c,0x0E50,0x0E59) ||
+ range(c,0x0ED0,0x0ED9);
+ case 0x0F:
+ return range(c,0x0F20,0x0F29);
+
+ default :
+ return false;
+ }
+ }
+
+
+ /**
+ * Answer if we are an extender character.
+ * <pre>
+ * #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 |
+ * [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]
+ * </pre>
+ * @param c
+ * @return true if extender false otherwise.
+ */
+
+ static public boolean isExtender (char c) {
+
+ boolean res =
+ ( c == 0x00B7 ||
+ c == 0x02D0 ||
+ c == 0x02D1 ||
+ c == 0x0387 ||
+ c == 0x0640 ||
+ c == 0x0E46 ||
+ c == 0x0EC6 ||
+ c == 0x3005 );
+
+ if (res) {
+ return res;
+ }
+
+ return range(c,0x3031,0x3035) ||
+ range(c,0x309D,0x309E) ||
+ range(c,0x30FC,0x30FE);
+ }
+
+ /**
+ * Return the plane of the character in the unicode system.
+ *
+ * @param c
+ * @return the plane (high 2 bytes)
+ */
+
+ static public int getPlane (int c) {
+ return (c >>> 16);
+ }
+
+
+ /**
+ * Ask if the character is in the range specified.
+ *
+ * @param c the character
+ * @param l low value (inclusive)
+ * @param h high value (inclusive)
+ * @return true if in range, false otherwise.
+ */
+
+ static public boolean range ( char c, int l, int h) {
+ return ( c >= l && c <= h );
+ }
+
+}
13 years, 10 months
JBoss Tools SVN: r29215 - in workspace/bbrodt/org.eclipse.bpel.cheatsheet: .settings and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:36:43 -0500 (Thu, 17 Feb 2011)
New Revision: 29215
Added:
workspace/bbrodt/org.eclipse.bpel.cheatsheet/.classpath
workspace/bbrodt/org.eclipse.bpel.cheatsheet/.project
workspace/bbrodt/org.eclipse.bpel.cheatsheet/.settings/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/.settings/org.eclipse.jdt.core.prefs
workspace/bbrodt/org.eclipse.bpel.cheatsheet/META-INF/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/META-INF/MANIFEST.MF
workspace/bbrodt/org.eclipse.bpel.cheatsheet/build.properties
workspace/bbrodt/org.eclipse.bpel.cheatsheet/cheatsheets/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/cheatsheets/bpel.xml
workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.properties
workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.xml
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/cheatsheet/
workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/cheatsheet/Activator.java
Modified:
workspace/bbrodt/org.eclipse.bpel.cheatsheet/
Log:
Property changes on: workspace/bbrodt/org.eclipse.bpel.cheatsheet
___________________________________________________________________
Added: svn:ignore
+ bin
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/.classpath
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/.classpath (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/.classpath 2011-02-17 22:36:43 UTC (rev 29215)
@@ -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="bin"/>
+</classpath>
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/.project
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/.project (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/.project 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.bpel.cheatsheet</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>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/.settings/org.eclipse.jdt.core.prefs 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,8 @@
+#Thu Sep 17 15:54:11 CST 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
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/META-INF/MANIFEST.MF
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/META-INF/MANIFEST.MF (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/META-INF/MANIFEST.MF 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.bpel.cheatsheet;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.bpel.cheatsheet.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.cheatsheets
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/build.properties
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/build.properties (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/build.properties 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ cheatsheets/,\
+ plugin.xml,\
+ plugin.properties,\
+ build.properties
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/cheatsheets/bpel.xml
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/cheatsheets/bpel.xml (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/cheatsheets/bpel.xml 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<cheatsheet title="JBoss BPEL Tutorial">
+
+ <intro>
+ <description>
+ Learn how to use JBoss BPEL editor.
+ </description>
+ </intro>
+
+ <item title="Create a BPEL Project" skip="true">
+ <description>
+ If you want to deploy a bpel staff into JBoss BPEL server, the first step, you need create a BPEL project.
+Of course, if you only need to draw a BPEL process, you don't need to do the step.
+ </description>
+ <subitem
+ label="Create a BPEL project by selecting "File > New > Project... > BPEL 2.0 > BPEL Project" from the menu bar."
+ skip="false">
+ </subitem>
+ <subitem label="On the first page of the "New BPEL Project" Wizard enter a project name in the "Project Name" field. Click "Finish" button.">
+ </subitem>
+ </item>
+
+ <item title="Create a BPEL Process" skip="true">
+ <description>
+ After create a BPEL project, you can create a BPEL process file in the project.
+ </description>
+ <subitem
+ label="Create a BPEL process file by selecting "File > New > Others... > BPEL 2.0 > New BPEL Process File" from the menu bar.">
+ </subitem>
+ <subitem label="On the first page of the "Create a BPEL Process File" Wizard enter a process name in the "BPEL Process Name" field, a process's namesapce in the "Namespace" field, and a process's template in the "Template" field. Click "Next" button.">
+ </subitem>
+ <subitem label="On the second page of the "Create a BPEL Process File" Wizard select the "bpelContent" folder of the BPEL project. Click "Finish" button.">
+ </subitem>
+ </item>
+
+ <item title="Edit the BPEL Process file" skip="true">
+ <description>
+ For getting a useful BPEL process, you need to edit the BPEL process file by adding some BPEL elements.<br/><br/>
+From the "Palette" view, you can add a BPEL element to the BPEL process by dragging and dropping it.<br/><br/>
+From the "Properties" view, you can edit the attributes of a BPEL element.<br/><br/>
+From the "Tray of the BPEL editor", you can add a Partner link, Variable, Correlation Set or Message Exchange to the BPEL process.<br/><br/>
+If the "Properties" view and "Palette" view are not opened, you can open the views by right-clicking the BPEL editor and selecting "Show in Properties", "Show Palette in Palette view".
+
+ </description>
+ </item>
+
+ <item title="Edit the WSDL file" skip="true">
+ <description>
+ For getting a runnable BPEL staff, beside the BPEL process file, you need a WSDL to describe how to use the BPEL process. As default, the system has genereted a WSDL for the BPEL staff. You need to edit it to support your BPEL project. <br/><br/>
+Open the WSDL using the WSDL editor, add "Service" and "Binding" by right-clicking on the WSDL editor, and set the attributes of them in the "Properties" view.
+ </description>
+ </item>
+
+ <item title="Create a deploy.xml file" skip="true">
+ <description>
+ If you want to deploy a BPEL project to JBoss BPEL Runtime, you need to create a deploy.xml file.
+ </description>
+ <subitem label="Create a deploy.xml by selecting "File > New > Other... > BPEL 2.0 > Apache ODE Deployment Descriptor" from the menu bar.">
+ </subitem>
+ <subitem label="On the first page of the "Apache ODE Deployment Descriptor" Wizard choose the "bpelContent" folder of a bpel project in the "BPEL Project" field and enter "deploy.xml" in the "File name" field. Click "Finish" button.">
+ </subitem>
+ <subitem label="Double-click the deploy.xml file to open it in ODE Descriptor Deployment Editor. In the "Inbound Interfaces" section, click the "Associated Port" column and in the dropdown box select a BPEL port that is defined in the WSDL file.The Related Service and Binding Used columns should be automatically filled in. Save the deploy.xml file.">
+ </subitem>
+ </item>
+
+ <item title="Create a JBoss BPEL Server" skip="true">
+ <description>
+ Suppose you have installed the JBoss BPEL Runtime-RiftSaw into a JBoss server, you can create a server in JBoss Tools for JBoss BPEL runtime.
+ </description>
+ <subitem label="Open the "JBoss Server" view by selecting "Windows > Show View > Other... > Server > JBoss Server view" in the menu bar.">
+ </subitem>
+ <subitem label="Right-click the JBoss Server view and select "New > Server" to open the New Server Wizard">
+ </subitem>
+ <subitem label="On the first page of the "New Server" Wizard select "JBoss AS 5.1" in the "Select the server type" field, input a server name in the "Server name" field and select a runtime in the "Server runtime environment" field. Click "Next" button.">
+ </subitem>
+ <subitem label="On the second page of the "New Server" Wizard input your JBoss AS location in the "JBoss AS Location" field. Click "Next" button.">
+ </subitem>
+ <subitem label="On the third page of the "New Server" Wizard select a BPEL resource in the left column, click "Add >" button to add the BPEL resource to the right column. Click "Finish" button.">
+ </subitem>
+ </item>
+
+ <item title="Deploy the BPEL Process into the JBoss BPEL Server" skip="true">
+ <description>
+ If you don't add a BPEL resource into the server in the third step of "Create a JBoss BPEL Server", you can right-click on the server item in the "JBoss Server" view and select the "Add and Removes...", then you can do the step as the third step of "Create a JBoss BPEL Server".
+<br/><br/>
+After these steps, you can start the server to test your BPEL staff.
+ </description>
+ </item>
+</cheatsheet>
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.properties
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.properties (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.properties 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010 JBoss by Red Hat 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:
+# JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName=BPEL Cheatsheet
+providerName=JBoss by Red Hat
\ No newline at end of file
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.xml
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.xml (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/plugin.xml 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.5"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+ <category
+ id="org.eclipse.bpel.cheatsheet"
+ name="BPEL Tutorial">
+ </category>
+ <cheatsheet
+ category="org.eclipse.bpel.cheatsheet"
+ contentFile="$nl$/cheatsheets/bpel.xml"
+ id="org.eclipse.bpel.cheatsheet.bpel"
+ name="BPEL Tutorial">
+ <description>
+ Learn how to use the BPEL editor
+ </description>
+ </cheatsheet>
+ </extension>
+
+</plugin>
\ No newline at end of file
Added: workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/cheatsheet/Activator.java
===================================================================
--- workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/cheatsheet/Activator.java (rev 0)
+++ workspace/bbrodt/org.eclipse.bpel.cheatsheet/src/org/eclipse/bpel/cheatsheet/Activator.java 2011-02-17 22:36:43 UTC (rev 29215)
@@ -0,0 +1,50 @@
+package org.eclipse.bpel.cheatsheet;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.bpel.cheatsheet";
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
13 years, 10 months
JBoss Tools SVN: r29214 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:29:03 -0500 (Thu, 17 Feb 2011)
New Revision: 29214
Added:
workspace/bbrodt/org.eclipse.bpel.xpath10/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29213 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:27:46 -0500 (Thu, 17 Feb 2011)
New Revision: 29213
Added:
workspace/bbrodt/org.eclipse.bpel.wsil.model/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29212 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:27:00 -0500 (Thu, 17 Feb 2011)
New Revision: 29212
Added:
workspace/bbrodt/org.eclipse.bpel.validator/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29211 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:26:18 -0500 (Thu, 17 Feb 2011)
New Revision: 29211
Added:
workspace/bbrodt/org.eclipse.bpel.ui/
Log:
Initial import.
13 years, 10 months
JBoss Tools SVN: r29210 - workspace/bbrodt.
by jbosstools-commits@lists.jboss.org
Author: bbrodt
Date: 2011-02-17 17:25:38 -0500 (Thu, 17 Feb 2011)
New Revision: 29210
Added:
workspace/bbrodt/org.eclipse.bpel.model/
Log:
Initial import.
13 years, 10 months