JBoss Tools SVN: r16674 - trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs.
by jbosstools-commits@lists.jboss.org
Author: Grid.Qian
Date: 2009-07-20 03:34:28 -0400 (Mon, 20 Jul 2009)
New Revision: 16674
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/BrowseSelectorDialog.java
Log:
JBIDE-4615: redo the commit
Modified: trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/BrowseSelectorDialog.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/BrowseSelectorDialog.java 2009-07-20 07:30:33 UTC (rev 16673)
+++ trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/BrowseSelectorDialog.java 2009-07-20 07:34:28 UTC (rev 16674)
@@ -576,7 +576,10 @@
fFilteredList.setEnabled(true);
fFilteredList.setAllowDuplicates(showDuplicates);
- fFilteredList.setElements( contentProvider.getElements( fProjectObjects ) );
+ fFilteredList.setElements( contentProvider.getElements( fProjectObjects ) );
+ // add by Grid.Qian
+ // update the fTreeViewer because for now the fTreeViewer's input is null
+ updateLowerViewWidget(fFilteredList.getSelection());
}
}
16 years, 9 months
JBoss Tools SVN: r16673 - in trunk/bpel/plugins: org.eclipse.bpel.apache.ode.deploy.ui/META-INF and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: Grid.Qian
Date: 2009-07-20 03:30:33 -0400 (Mon, 20 Jul 2009)
New Revision: 16673
Modified:
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.ui/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.eclipse.bpel.validator/META-INF/MANIFEST.MF
Log:
JBIDE-4605: redo the commit
Modified: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -16,5 +16,5 @@
org.eclipse.wst.wsdl;bundle-version="[1.1.200,2.0.0)",
org.eclipse.xsd;bundle-version="[2.4.0,3.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- javax.wsdl;bundle-version="[1.4.0,1.6.0)"
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)"
Eclipse-LazyStart: true
Modified: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -15,7 +15,7 @@
org.eclipse.bpel.model;bundle-version="0.4.0",
org.eclipse.wst.wsdl;bundle-version="[1.1.200,2.0.0)",
org.eclipse.xsd;bundle-version="[2.4.0,3.0.0)",
- javax.wsdl;bundle-version="1.4.0",
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)",
org.eclipse.core.databinding;bundle-version="[1.1.0,2.0.0)",
org.eclipse.jface.databinding;bundle-version="[1.2.0,2.0.0)",
org.eclipse.emf.edit.ui;bundle-version="[2.4.0,3.0.0)",
Modified: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -23,7 +23,7 @@
org.eclipse.jst.server.ui;bundle-version="[1.0.303,2.0.0)",
org.eclipse.jst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
org.eclipse.jst.server.core;bundle-version="[1.1.0,2.0.0)",
- javax.wsdl;bundle-version="1.4.0",
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)",
org.eclipse.bpel.apache.ode.deploy.model;bundle-version="0.4.0"
Bundle-Activator: org.eclipse.bpel.apache.ode.runtime.OdePlugin
Export-Package: org.eclipse.bpel.apache.ode.runtime
Modified: trunk/bpel/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -13,7 +13,7 @@
org.eclipse.wst.wsdl;bundle-version="[1.1.200,2.0.0)",
org.apache.xerces;bundle-version="[2.9.0,3.0.0)",
org.eclipse.bpel.common.model;bundle-version="0.4.0",
- javax.wsdl;bundle-version="[1.4.0,1.6.0)"
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.bpel.model,
org.eclipse.bpel.model.adapters,
Modified: trunk/bpel/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -21,7 +21,7 @@
org.eclipse.bpel.model;bundle-version="0.4.0",
org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)",
org.eclipse.wst.wsdl;bundle-version="[1.1.200,2.0.0)",
- javax.wsdl;bundle-version="[1.4.0,1.6.0)"
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)"
Eclipse-LazyStart: true
Export-Package: org.eclipse.bpel.runtimes,
org.eclipse.bpel.runtimes.facets,
Modified: trunk/bpel/plugins/org.eclipse.bpel.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.ui/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.ui/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -24,7 +24,7 @@
org.eclipse.bpel.wsil.model;bundle-version="0.4.0",
org.eclipse.wst.sse.ui;bundle-version="[1.1.0,2.0.0)",
org.eclipse.wst.sse.core;bundle-version="[1.1.300,2.0.0)",
- javax.wsdl;bundle-version="[1.4.0,1.6.0)",
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)",
org.eclipse.wst.xsd.ui;bundle-version="[1.2.101,2.0.0)",
org.eclipse.wst.wsdl.ui;bundle-version="[1.2.100,2.0.0)",
org.eclipse.wst.xml.ui;bundle-version="[1.0.400,2.0.0)"
Modified: trunk/bpel/plugins/org.eclipse.bpel.validator/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.validator/META-INF/MANIFEST.MF 2009-07-20 07:17:05 UTC (rev 16672)
+++ trunk/bpel/plugins/org.eclipse.bpel.validator/META-INF/MANIFEST.MF 2009-07-20 07:30:33 UTC (rev 16673)
@@ -17,7 +17,7 @@
org.eclipse.wst.wsdl.validation;bundle-version="[1.1.301,2.0.0)",
org.eclipse.wst.xml.core;bundle-version="[1.1.300,2.0.0)",
org.eclipse.bpel.xpath10;bundle-version="0.4.0",
- javax.wsdl;bundle-version="[1.4.0,1.6.0)"
+ javax.wsdl;bundle-version="[1.5.0,1.6.0)"
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: bin,
16 years, 9 months
JBoss Tools SVN: r16672 - trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 03:17:05 -0400 (Mon, 20 Jul 2009)
New Revision: 16672
Added:
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ColorUtils.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/CommonUIPlugin.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ICommonUIConstants.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/IUtilsHelpContextIDs.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ImageUtils.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Messages.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Policy.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Utils.java
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/messages.properties
Log:
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ColorUtils.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ColorUtils.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ColorUtils.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,358 @@
+/*******************************************************************************
+ * 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.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Device;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * General color utilities.
+ */
+public final class ColorUtils {
+
+ /**
+ * Gets a different color shade by changing its brightness
+ * with the provided variation.
+ */
+ public static Color getShade(Color original, float brightnessVariation, Display display) {
+ brightnessVariation = isInvertedColorScheme() ? -brightnessVariation : brightnessVariation;
+ return new Color(display, getShadeRGB(original.getRGB(), brightnessVariation));
+ }
+
+ /**
+ * Gets a different color shade by changing its brightness
+ * with the provided variation.
+ */
+ public static RGB getShadeRGB(RGB original, float brightnessVariation) {
+// System.out.println("started " + original);
+ brightnessVariation = isInvertedColorScheme() ? -brightnessVariation : brightnessVariation;
+ float[] hsb = RGBtoHSB(original.red, original.green, original.blue, null);
+ hsb[2] += brightnessVariation;
+ int rgb = HSBtoRGB(hsb[0], hsb[1], hsb[2]);
+// System.out.println(new RGB(getRed(rgb), getGreen(rgb), getBlue(rgb)));
+ return new RGB(getRed(rgb), getGreen(rgb), getBlue(rgb));
+ }
+
+ /**
+ * Returns an array of gradient colors from source to destination.
+ * The source and destination colors are not included in the array.
+ */
+ public static Color[] getColorShades(Color source, Color destination, int n, Display display) {
+ float interval = getBrightnessInterval(source.getRGB(), destination.getRGB());
+ interval = interval / (n+2);
+ Color[] result = new Color[n];
+ Color base = source;
+ for (int i = 0; i < result.length; i++) {
+ result[i] = getShade(base, interval, display);
+ base = result[i];
+ }
+ return result;
+ }
+
+ /**
+ * Returns an array of gradient colors from source to destination.
+ * The source and destination colors are not included in the array.
+ */
+ public static float getBrightnessInterval(RGB source, RGB destination) {
+ float[] sourceHSB = RGBtoHSB(source.red, source.green, source.blue, null);
+ float[] destinationHSB = RGBtoHSB(destination.red, destination.green, destination.blue, null);
+ return (destinationHSB[2] - sourceHSB[2]);
+ }
+
+ /**
+ * Returns an array of gradient colors from source to middle and from middle to destination.
+ * The middle color is included but the source and destination are not.
+ */
+ public static Color[] getColorShades(Color source, Color middle, Color destination, int n, Display display) {
+ Color[] result = new Color[n+1];
+ Color[] temp = getColorShades(source, middle, (n/2), display);
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ int pos = temp.length;
+ result[pos] = new Color(display, middle.getRGB());
+ temp = getColorShades(middle, destination, (n - temp.length), display);
+ System.arraycopy(temp, 0, result, (pos+1), temp.length);
+ return result;
+ }
+
+ /**
+ * Takes the source color and calculates the brightness interval with each
+ * color of the shades array. Then creates a new color array based on the
+ * destination color and the brightness intervals.
+ */
+ public static RGB[] getColorShades(RGB source, RGB[] shades, RGB destination) {
+ RGB[] result = new RGB[shades.length];
+ for (int i = 0; i < shades.length; i++) {
+ RGB shade = shades[i];
+ float interval = getBrightnessInterval(source, shade);
+ result[i] = getShadeRGB(destination, interval);
+ }
+ return result;
+ }
+
+ /**
+ * Converts the specified HSB values to a RBG value.
+ *
+ * @version initial
+ *
+ * @param hue the hue component
+ * @param saturation the saturation component
+ * @param brightness the brightness component
+ *
+ * @return an <code>int</code> which is the converted RGB value
+ */
+ public static int HSBtoRGB(float hue, float saturation, float brightness) {
+ float s = saturation;
+ float v = brightness;
+
+ int x = Math.round(v * 255);
+
+ if (s == 0) {
+ return 0xff000000 | (x << 16) | (x << 8) | x;
+ } else {
+ float h;
+ if (hue == 1.0f)
+ h = 0f;
+ else
+ h = (hue - (float)Math.floor(hue)) * 6.0f;
+
+ int i = (int)Math.floor(h);
+ float f = h - i;
+
+ int p = Math.round(255 * (v * (1 - s)));
+ int q = Math.round(255 * (v * (1 - (s * f))));
+ int t = Math.round(255 * (v * (1 - (s * (1 - f)))));
+ switch(i){
+ case 0: return 0xff000000 | (x << 16) | (t << 8) | p;
+ case 1: return 0xff000000 | (q << 16) | (x << 8) | p;
+ case 2: return 0xff000000 | (p << 16) | (x << 8) | t;
+ case 3: return 0xff000000 | (p << 16) | (q << 8) | x;
+ case 4: return 0xff000000 | (t << 16) | (p << 8) | x;
+ case 5: return 0xff000000 | (x << 16) | (p << 8) | q;
+ default: return 0;
+ }
+ }
+ }
+
+ /**
+ * Fill and return the specified array with the specified RGB values
+ * converted to HSB. Create, fill and return a new array if <code>null</code>
+ * is passed in.
+ * <p>
+ * Color components must be in the range (0 - 255).
+ *
+ * @version initial
+ *
+ * @param red the red component
+ * @param green the green component
+ * @param blue the blue component
+ * @param hsb the return value or <code>null</code>
+ *
+ * @return an <code>float[]</code> containing the converted HSB values
+ *
+ * @throws IllegalArgumentException if any of the components are invalid
+ */
+ public static float[] RGBtoHSB(int red, int green, int blue, float hsb[]) {
+ if ((red < 0 || red > 255) ||
+ (green < 0 || green > 255) ||
+ (blue < 0 || blue > 255))
+ throw new IllegalArgumentException();
+
+ float r = red / 255f;
+ float g = green / 255f;
+ float b = blue / 255f;
+
+ float h = 0; // hue
+ float s; // saturation
+ float v; // brightnees
+
+ float max = Math.max(r, Math.max(g, b));
+ float min = Math.min(r, Math.min(g, b));
+
+ // Calculate brightness
+ v = max;
+
+ // Calculate saturation
+ if (max != 0)
+ s = (max - min)/max;
+ else
+ s = 0;
+
+ // Calculate hue
+ if (s != 0) {
+ float delta = max - min;
+ if (r == max)
+ h = (g - b)/delta;
+ else if (g == max)
+ h = 2 + (b - r)/delta;
+ else if (b == max)
+ h = 4 + (r - g)/delta;
+
+ h = h * 60f;
+ if (h < 0)
+ h = h + 360f;
+ h /= 360f;
+ }
+
+ // Fill return value
+ if (hsb == null)
+ return new float[]{h, s, v};
+ else {
+ hsb[0] = h;
+ hsb[1] = s;
+ hsb[2] = v;
+ return hsb;
+ }
+ }
+
+ /**
+ * Answers the blue component of the receiver.
+ *
+ * @version initial
+ *
+ * @return an <code>int</code> which is the blue component of the receiver
+ * in the range (0 - 255)
+ *
+ */
+ private static final int getBlue(int rgb) {
+ return rgb & 0xff;
+ }
+
+ /**
+ * Answers the green component of the receiver.
+ *
+ * @version initial
+ *
+ * @return an <code>int</code> which is the green component of the receiver
+ * in the range (0 - 255)
+ */
+ private static final int getGreen(int rgb) {
+ return (rgb & 0xff00) >> 8;
+ }
+
+ /**
+ * Answers the red component of the receiver.
+ *
+ * @version initial
+ *
+ * @return an <code>int</code> which is the red component of the receiver
+ * in the range (0 - 255)
+ */
+ private static final int getRed(int rgb) {
+ return (rgb & 0xff0000) >> 16;
+ }
+
+ /**
+ * Replaces the given color in the image data.
+ */
+ public static void replaceColor(ImageData data, RGB from, RGB to) {
+ for (int x = 0; x < data.width; x++) {
+ for (int y = 0; y < data.height; y++) {
+ int pixel = data.getPixel(x, y);
+ RGB rgb = data.palette.getRGB(pixel);
+ if (rgb.equals(from)) {
+ pixel = data.palette.getPixel(to);
+ }
+ data.setPixel(x, y, pixel);
+ }
+ }
+ }
+
+ /**
+ * scales the colors to be relative to the background and foreground colors (used to handle
+ * high contrast mode)
+ *
+ **/
+ public static Color getRelativeColor(Device device, int r, int g, int b) {
+ Color baseForeground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
+ Color baseBackground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
+ int fr = baseForeground.getRed();
+ int fg = baseForeground.getGreen();
+ int fb = baseForeground.getBlue();
+ int br = baseBackground.getRed();
+ int bg = baseBackground.getGreen();
+ int bb = baseBackground.getBlue();
+
+ int nr = (int) (fr + ((float)r * (br-fr) / 255));
+ int ng = (int) (fg + ((float)g * (bg-fg) / 255));
+ int nb = (int) (fb + ((float)b * (bb-fb) / 255));
+
+ // safety check, make sure all colors are in the correct range (in case we change the calculation above
+ nr = Math.max(0, nr);
+ nr = Math.min(255, nr);
+ ng = Math.max(0, ng);
+ ng = Math.min(255, ng);
+ nb = Math.max(0, nb);
+ nb = Math.min(255, nb);
+ return new Color(null, nr, ng, nb);
+ }
+
+ /**
+ * Scales the colors to be relative to the background and foreground colors (used to handle
+ * high contrast mode)
+ */
+ public static RGB getRelativeRGB(int r, int g, int b) {
+ Color baseForeground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
+ Color baseBackground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
+ int fr = baseForeground.getRed();
+ int fg = baseForeground.getGreen();
+ int fb = baseForeground.getBlue();
+ int br = baseBackground.getRed();
+ int bg = baseBackground.getGreen();
+ int bb = baseBackground.getBlue();
+
+ int nr = (int) (fr + ((float)r * (br-fr) / 255));
+ int ng = (int) (fg + ((float)g * (bg-fg) / 255));
+ int nb = (int) (fb + ((float)b * (bb-fb) / 255));
+
+ // safety check, make sure all colors are in the correct range (in case we change the calculation above
+ nr = Math.max(0, nr);
+ nr = Math.min(255, nr);
+ ng = Math.max(0, ng);
+ ng = Math.min(255, ng);
+ nb = Math.max(0, nb);
+ nb = Math.min(255, nb);
+ return new RGB(nr, ng, nb);
+ }
+
+ public static Color getRelativeColor(Color c) {
+ Color cr = getRelativeColor(null, c.getRed(), c.getGreen(), c.getBlue());
+ c.dispose();
+ return cr;
+ }
+
+ public static Color getRelativeColorFromSystem(Color c) {
+ return getRelativeColor(null, c.getRed(), c.getGreen(), c.getBlue());
+ }
+
+ public static boolean isInvertedColorScheme() {
+ Color baseForeground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
+ Color baseBackground = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
+
+ // normally, the foreground color is dark, compare the sums to see which one is "lighter"
+ if ((baseForeground.getRed() + baseForeground.getBlue() + baseForeground.getGreen()) >
+ (baseBackground.getRed() + baseBackground.getBlue() + baseBackground.getGreen())) {
+ return true;
+ }
+ return false;
+ }
+
+ public static RGB getLightShade(RGB rgb, int numerator, int denominator) {
+ int light = 255 * numerator;
+ int red = (rgb.red + light) / denominator;
+ int green = (rgb.green + light) / denominator;
+ int blue = (rgb.blue + light) / denominator;
+ return new RGB(red, green, blue);
+ }
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/CommonUIPlugin.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/CommonUIPlugin.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/CommonUIPlugin.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,278 @@
+/*******************************************************************************
+ * 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.ui;
+
+import java.lang.reflect.Field;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.bpel.common.ui.details.IDetailsColors;
+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.Status;
+import org.eclipse.jface.resource.ColorRegistry;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plug-in class to be used in the desktop.
+ */
+
+@SuppressWarnings("nls")
+
+public class CommonUIPlugin extends AbstractUIPlugin {
+
+ /** Our plug-in id */
+ public static final String PLUGIN_ID = "org.eclipse.bpel.common.ui"; //$NON-NLS-1$
+
+ //The shared instance.
+ private static CommonUIPlugin plugin;
+
+ private ColorRegistry colorRegistry;
+ protected boolean imagesAndColorsInitialized;
+
+ /**
+ * The constructor.
+ */
+ public CommonUIPlugin() {
+ plugin = this;
+ imagesAndColorsInitialized = false;
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ plugin = null;
+ }
+
+ /**
+ * Returns the shared instance.
+ * @return the plugin singleton
+ */
+ public static CommonUIPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given
+ * plug-in relative path.
+ *
+ * @param path the path
+ * @return the image descriptor
+ */
+
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.bpel.common.ui", path);
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#getImageRegistry()
+ */
+ @Override
+ public ImageRegistry getImageRegistry() {
+ ImageRegistry result = super.getImageRegistry();
+ initialize();
+ return result;
+ }
+
+ /**
+ * Return color registry.
+ * @return the color registry.
+ */
+ public ColorRegistry getColorRegistry() {
+ if (colorRegistry == null) {
+ colorRegistry = new ColorRegistry();
+ initialize();
+ }
+ return colorRegistry;
+ }
+
+ /**
+ * Creates an image and places it in the image registry.
+ */
+ private void createImageDescriptor(String id, URL baseURL) {
+ URL url = null;
+ try {
+ url = new URL(baseURL, ICommonUIConstants.ICON_PATH + id);
+ } catch (MalformedURLException e) {
+ }
+ ImageDescriptor desc = ImageDescriptor.createFromURL(url);
+ getImageRegistry().put(id, desc);
+ }
+
+ /**
+ * Initializes the table of images used in this plugin.
+ */
+ private void initializeImages (Display display) {
+ URL baseURL = getBundle().getEntry("/"); //$NON-NLS-1$
+
+ // A little reflection magic ... so that we don't
+ // have to add the createImageDescriptor every time
+ // we add it to the IBPELUIConstants ..
+ Field fields[] = ICommonUIConstants.class.getFields();
+ for(int i=0; i < fields.length; i++) {
+ Field f = fields[i];
+ if (f.getType() != String.class) {
+ continue;
+ }
+ String name = f.getName();
+ if (name.startsWith("ICON_") || name.startsWith("CURSOR_")) { //$NON-NLS-1$ //$NON-NLS-2$
+ try {
+ String value = (String) f.get(null);
+ createImageDescriptor(value, baseURL);
+ } catch (Exception e) {
+ log(e);
+ }
+ }
+ }
+
+ // tray buttons
+ ImageRegistry registry = getImageRegistry();
+ ImageDescriptor desc = registry.getDescriptor(ICommonUIConstants.ICON_TRAY_EXPAND_ARROW);
+
+ registry.remove(ICommonUIConstants.ICON_KEY_TRAY_COLLAPSE_BUTTON );
+ registry.remove(ICommonUIConstants.ICON_KEY_TRAY_EXPAND_BUTTON );
+
+ registry.put(ICommonUIConstants.ICON_KEY_TRAY_COLLAPSE_BUTTON, desc.createImage());
+ ImageData data = ImageUtils.flip(desc.getImageData());
+ registry.put(ICommonUIConstants.ICON_KEY_TRAY_EXPAND_BUTTON, new Image(display, data));
+ }
+
+ /**
+ * Register the colors used by the details editor and its parts.
+ */
+ private void registerColors(Display display) {
+ RGB light = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND).getRGB();
+ RGB dark = ColorUtils.getShadeRGB(light, -0.09019605f);
+ RGB shadow = ColorUtils.getShadeRGB(light, -0.20f);
+ RGB scrollBtn = ColorUtils.getShadeRGB(light, -0.1921568f);
+
+ ColorRegistry registry = getColorRegistry();
+ registry.put(IDetailsColors.COLOR_LIGHT_BACKGROUND, light);
+ registry.put(IDetailsColors.COLOR_DARK_BACKGROUND, dark);
+ registry.put(IDetailsColors.COLOR_DARK_SHADOW, shadow);
+ registry.put(IDetailsColors.COLOR_TOOL_SELECTED_1, light);
+ registry.put(IDetailsColors.COLOR_TOOL_SELECTED_2, dark);
+ registry.put(IDetailsColors.COLOR_SCROLL_BUTTON, scrollBtn);
+ registry.put(IDetailsColors.COLOR_TOOL_SELECTED_BORDER, display.getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB());
+ RGB canvas = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB();
+ registry.put(IDetailsColors.COLOR_CANVAS, canvas);
+ registry.put(IDetailsColors.COLOR_TEXT, display.getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB());
+
+ // tray
+ registry.put(IDetailsColors.COLOR_TRAY_BACKGROUND, ColorUtils.getLightShade(light, 2, 3));
+
+ // selection handler
+ Color selectionColor = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_SELECTION);
+ colorRegistry.put(ICommonUIConstants.COLOR_SELECTION_HANDLE_CORNER, ColorUtils.getLightShade(selectionColor.getRGB(), 2, 3));
+ }
+
+ protected void initialize() {
+ if (!imagesAndColorsInitialized) {
+ imagesAndColorsInitialized = true;
+ Display display = Display.getCurrent();
+ initializeImages(display);
+ registerColors(display);
+ }
+ }
+
+ /**
+ * Method to create an error status object and write an error message to the log
+ * based on the passed boolean value.
+ * Return the IStatus that is created.
+ *
+ * @param message message that describes the error
+ * @param e Exception
+ * @param writeToLog boolean, whether or not to write the exception and message to the log
+ * @return IStatus
+ */
+ public IStatus createErrorStatus(String message, Exception e, boolean writeToLog){
+ IStatus status = new Status(
+ IStatus.ERROR,
+ CommonUIPlugin.PLUGIN_ID,
+ 0,
+ message,
+ e);
+
+ if (writeToLog)
+ CommonUIPlugin.plugin.getLog().log(status);
+ return status;
+ }
+
+ /**
+ * Utility methods for logging exceptions.
+ * @param e exception
+ * @param severity severity
+ */
+ public static void log(Exception e, int severity) {
+ IStatus status = null;
+ if (e instanceof CoreException) {
+ status = ((CoreException)e).getStatus();
+ } else {
+ String m = e.getMessage();
+ status = new Status(severity, PLUGIN_ID, 0, m==null? "<no message>" : m, e);
+ }
+ System.out.println(e.getClass().getName()+": "+status);
+ CommonUIPlugin.getDefault().getLog().log(status);
+ }
+
+ /**
+ * Log an exception.
+ *
+ * @param e
+ */
+
+ public static void log(Exception e) {
+ log(e, IStatus.ERROR);
+ }
+
+
+ /**
+ * The configuration elements for our extension points
+ *
+ * @param extensionPointId our extension points
+ *
+ * @return the configuration elements.
+ *
+ */
+
+ public static IConfigurationElement[] getConfigurationElements (String extensionPointId) {
+
+ IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(PLUGIN_ID, extensionPointId);
+ if (extensionPoint == null) {
+ return new IConfigurationElement[0];
+ }
+ return extensionPoint.getConfigurationElements();
+ }
+
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ICommonUIConstants.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ICommonUIConstants.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ICommonUIConstants.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * 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.ui;
+
+
+/**
+ * General constants for the common.ui plug-in.
+ */
+public interface ICommonUIConstants {
+
+ // Image path
+ public final String ICON_PATH = "icons/"; //$NON-NLS-1$
+
+ //-----------------------------------------------------------------------------------
+
+ // tray icons
+ public final String ICON_TRAY_CATEGORY_ADD_BUTTON = "obj16/add_exe.gif"; //$NON-NLS-1$
+ public final String ICON_TRAY_CATEGORY_REMOVE_BUTTON = "obj16/remove_exe.gif"; //$NON-NLS-1$
+ public final String ICON_TRAY_EXPAND_ARROW = "obj/tray_expand.png"; //$NON-NLS-1$
+ public final String ICON_KEY_TRAY_EXPAND_BUTTON = "expandTray"; //$NON-NLS-1$
+ public final String ICON_KEY_TRAY_COLLAPSE_BUTTON = "collapseTray"; //$NON-NLS-1$
+
+ //-----------------------------------------------------------------------------------
+ // Message icons
+ public final String ICON_SM_BLANK = "obj/sm_blank.gif"; //$NON-NLS-1$
+ public final String ICON_SM_INFO = "obj/sm_info.gif"; //$NON-NLS-1$
+ public final String ICON_SM_WARN = "obj/sm_warn.gif"; //$NON-NLS-1$
+ public final String ICON_SM_ERROR = "obj/sm_error.gif"; //$NON-NLS-1$
+
+ //-----------------------------------------------------------------------------------
+ // image keys
+
+ // marker icons
+ public final String ICON_ERROR = "ovr/error.gif"; //$NON-NLS-1$
+ public final String ICON_WARNING = "ovr/warning.gif"; //$NON-NLS-1$
+ public final String ICON_INFO = "ovr/info.gif"; //$NON-NLS-1$
+
+ // The color of the corners selection handle
+ public final String COLOR_SELECTION_HANDLE_CORNER = "selectionHandlerCorner"; //$NON-NLS-1$
+
+ // actions
+ public final String ICON_SHOW_PROP_VIEW_D = "dlcl16/showproperties_obj.gif"; //$NON-NLS-1$
+ public final String ICON_SHOW_PROP_VIEW_E = "elcl16/showproperties_obj.gif"; //$NON-NLS-1$
+
+ public final String ICON_SHOW_PALETTE_VIEW_D = "dlcl16/palette.gif"; //$NON-NLS-1$
+ public final String ICON_SHOW_PALETTE_VIEW_E = "elcl16/palette.gif"; //$NON-NLS-1$
+
+ // tools icons
+ public final String ICON_ZOOM_IN_TOOL = "elcl16/zoomin.gif"; //$NON-NLS-1$
+ public final String ICON_ZOOM_OUT_TOOL = "elcl16/zoomout.gif"; //$NON-NLS-1$
+
+ public final String ICON_ZOOM_IN_TOOL_DISABLED = "dlcl16/zoomin.gif"; //$NON-NLS-1$
+ public final String ICON_ZOOM_OUT_TOOL_DISABLED = "dlcl16/zoomout.gif"; //$NON-NLS-1$
+}
\ No newline at end of file
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/IUtilsHelpContextIDs.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/IUtilsHelpContextIDs.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/IUtilsHelpContextIDs.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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.ui;
+
+
+public interface IUtilsHelpContextIDs {
+
+ public static final String PREFIX = CommonUIPlugin.PLUGIN_ID+".";
+
+ public static final String CONDITION_BUILDER = PREFIX+"CBD010";
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ImageUtils.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ImageUtils.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/ImageUtils.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * 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.ui;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+
+/**
+ * General image utilities.
+ */
+public final class ImageUtils {
+
+ /**
+ * Rotates the image data in 90 degrees.
+ */
+ public static ImageData rotateLeft(ImageData source) {
+ ImageData result = new ImageData(source.height, source.width, source.depth, source.palette);
+ result.transparentPixel = source.transparentPixel;
+ for (int x = 0; x < source.width; x++) {
+ for (int y = 0; y < source.height; y++) {
+ int newX = y;
+ int newY = result.height - x - 1;
+ result.setPixel(newX, newY, source.getPixel(x, y));
+ result.setAlpha(newX, newY, source.getAlpha(x, y));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Inverts the image left to right.
+ */
+ public static ImageData flip(ImageData source) {
+ ImageData result = (ImageData)source.clone();
+ result.transparentPixel = source.transparentPixel;
+ for (int y = 0; y < source.height; y++) {
+ for (int x = 0; x < source.width; x++) {
+ int newX = source.width - x - 1;
+ result.setPixel(newX, y, source.getPixel(x, y));
+ result.setAlpha(newX, y, source.getAlpha(x, y));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Creates an image with a transparent background. The given color
+ * is considered the transparent color.
+ */
+ public static Image createTransparentImage(int width, int height, Color transparent) {
+ Image tmp = new Image(null, width, height);
+ ImageData data = tmp.getImageData();
+ tmp.dispose();
+ data.transparentPixel = data.palette.getPixel(transparent.getRGB());
+ for(int i = 0; i < data.width; i++) {
+ for (int j = 0; j < data.height; j++) {
+ data.setPixel(i, j, data.transparentPixel);
+ }
+ }
+ return new Image(null, data);
+ }
+
+ /**
+ * Return an image according to the given a marker severity.
+ */
+ public static Image getImage(IMarker marker) {
+ switch (marker.getAttribute(IMarker.SEVERITY, -1)) {
+ case IMarker.SEVERITY_ERROR:
+ return CommonUIPlugin.getDefault().getImageRegistry().get(ICommonUIConstants.ICON_ERROR);
+ case IMarker.SEVERITY_WARNING:
+ return CommonUIPlugin.getDefault().getImageRegistry().get(ICommonUIConstants.ICON_WARNING);
+ case IMarker.SEVERITY_INFO:
+ return CommonUIPlugin.getDefault().getImageRegistry().get(ICommonUIConstants.ICON_INFO);
+ }
+ return null;
+ }
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Messages.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Messages.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Messages.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class Messages extends NLS {
+
+ private static final String BUNDLE_NAME = "org.eclipse.bpel.common.ui.messages";//$NON-NLS-1$
+
+
+ private Messages() {
+ // Do not instantiate
+ }
+
+ public static String SynchronizationManager_deleted_title;
+ public static String CompositeEditorManager_Could_not_find_editor;
+ public static String ModelMarkerUtil_8;
+ public static String ModelMarkerUtil_5;
+ public static String ModelMarkerUtil_6;
+ public static String ModelMarkerUtil_7;
+ public static String SynchronizationManager_deleted_message;
+ public static String CalendarPopup_todayButton_text;
+ public static String EditModelCommandStack_validateEdit_message1;
+ public static String EditModelCommandStack_validateEdit_message0;
+ public static String EditPartMarkerEectorator_1 ;
+ public static String CompositeEditor_3;
+ public static String CompositeEditor_2;
+ public static String DatePicker_button_text;
+ public static String CompositeEditor_0;
+ public static String EditModelCommandStack_validateEdit_title;
+ public static String CalendarPopup_noneButton_text;
+ public static String CalendarControl_title;
+ public static String SynchronizationManager_refresh_title;
+ public static String CompositeEditor_Cannot_disconnect_active_editor;
+ public static String SynchronizationManager_refresh_message;
+ public static String SynchronizationManager_saveButtonLabel;
+ public static String CompositeEditorManager_5;
+ public static String DatePicker_noDateSelected;
+
+ static {
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+}
\ No newline at end of file
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Policy.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Policy.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Policy.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -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.ui;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
+
+public class Policy {
+
+ public Policy() {
+ }
+
+ public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
+ if (monitor == null)
+ return new NullProgressMonitor();
+ return monitor;
+ }
+
+ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
+ if (monitor == null)
+ return new NullProgressMonitor();
+ if (monitor instanceof NullProgressMonitor)
+ return monitor;
+ return new SubProgressMonitor(monitor, ticks);
+ }
+
+ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {
+ if (monitor == null)
+ return new NullProgressMonitor();
+ if (monitor instanceof NullProgressMonitor)
+ return monitor;
+ return new SubProgressMonitor(monitor, ticks, style);
+ }
+
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Utils.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Utils.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/Utils.java 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * 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.ui;
+
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * Utility class.
+ */
+public final class Utils {
+
+ /**
+ * Given an extension point name returns its configuration elements.
+ */
+ public static IConfigurationElement[] getConfigurationElements(String extensionPointId) {
+ IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(CommonUIPlugin.PLUGIN_ID, extensionPointId);
+ if (extensionPoint == null) {
+ return null;
+ }
+ return extensionPoint.getConfigurationElements();
+ }
+
+ /**
+ * Stuff for manipulating generated code
+ *
+ * The format for generated code is:
+
+ //@generated:id
+ // <generator
+ // source (model)
+ // goes
+ // here>
+ //@generated:end
+ <generated java code here>
+
+ */
+ /**
+ * additional tags we need for the model serialization to be stored as Java comments
+ */
+ public static final String GEN_TAG = "//@generated:"; //$NON-NLS-1$
+ /*
+ * Note: GEN_TAG_MID assumed to be substring of the other GEN_TAG's in code below, don't change it without adjusting the logic
+ * Also, adjust the similar code in the embedded editor if any.
+ */
+ public static final String GEN_TAG_MID = "//"; //$NON-NLS-1$
+ public static final String GEN_TAG_END = "//@generated:end"; //$NON-NLS-1$
+ public static final String EMBEDDED_SMAP_PREFIX = "//!SMAP!"; //$NON-NLS-1$
+
+ /**
+ * Utility function that strips out the generated comments for the generated Java code with embedded model.
+ * @param string - pass the entire block of Java code that is generated from the embedded's getCode function
+ * @return - returns the Java code with the embedded code subtracted out
+ */
+ public static String getGeneratedCode(String string) {
+ StringBuffer sb = new StringBuffer();
+ StringTokenizer stringTokenizer = new StringTokenizer(string, "\n"); //$NON-NLS-1$
+ boolean inside = false;
+ while (stringTokenizer.hasMoreTokens()) {
+ String s = stringTokenizer.nextToken();
+ if (s.startsWith(GEN_TAG_MID) && !(s.startsWith(EMBEDDED_SMAP_PREFIX))) {
+ // test for end first since GEN_TAG is a prefix of GEN_TAG_END
+ if (inside && s.startsWith(GEN_TAG_END)) {
+ inside = false;
+ continue;
+ }
+ if (s.startsWith(GEN_TAG)) {
+ inside = true;
+ continue; // with next line
+ }
+ } else if (!s.startsWith(EMBEDDED_SMAP_PREFIX)){
+ // it's not a commented line, so just regular Java code
+ sb.append(s);
+ sb.append("\n");
+ continue;
+ }
+
+ if (!inside && !(s.startsWith(EMBEDDED_SMAP_PREFIX))) {
+ sb.append(s);
+ sb.append("\n");
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Utility function that returns the id of the generator for the given generated Java code.
+ * Returns <code>null</code> if no generator id is found
+ * @param string - pass the entire block of Java code that is generated
+ * @return - returns the Java code with the generated comment code subtracted out
+ */
+ public static String getGeneratorId(String string) {
+ if (string != null) {
+ StringTokenizer stringTokenizer = new StringTokenizer(string, "\n"); //$NON-NLS-1$
+ while (stringTokenizer.hasMoreTokens()) {
+ String s = stringTokenizer.nextToken();
+ if (s.startsWith(GEN_TAG_MID)) {
+ if (s.startsWith(GEN_TAG)) {
+ return s.substring(GEN_TAG.length());
+ }
+ }
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
Added: trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/messages.properties
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/messages.properties (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/messages.properties 2009-07-20 07:17:05 UTC (rev 16672)
@@ -0,0 +1,36 @@
+###############################################################################
+# 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
+###############################################################################
+#
+#Tue Nov 08 15:35:59 EST 2005
+SynchronizationManager_deleted_title=File Deleted
+CompositeEditorManager_Could_not_find_editor=Could not find editor\: {0}
+ModelMarkerUtil_8=Multiple content providers for marker type {0}
+ModelMarkerUtil_5=Marker not subtype of graphicalMarker
+ModelMarkerUtil_6=Could not instantiate marker content provider from the extension {0}
+ModelMarkerUtil_7=Marker content provider with null markerType from the extension {0}
+EditPartMarkerEectorator_1=There are {0} issues here:
+SynchronizationManager_deleted_message=The file has been deleted from the file system. Do you want to save your changes or close the editor without saving?
+CalendarPopup_todayButton_text=&Today
+EditModelCommandStack_validateEdit_message1=The files {0} can not be changed. {1}
+EditModelCommandStack_validateEdit_message0=The file {0} can not be changed. {1}
+CompositeEditor_3=The editor is not connected to this composite editor.
+CompositeEditor_2=Saving...
+DatePicker_button_text=...
+CompositeEditor_0=The active editor cannot be removed
+EditModelCommandStack_validateEdit_title=Can not change files.
+CalendarPopup_noneButton_text=&No Date
+CalendarControl_title={0} {1}
+SynchronizationManager_refresh_title=File Changed
+CompositeEditor_Cannot_disconnect_active_editor=Cannot disconnect active editor\: {0}
+SynchronizationManager_refresh_message=The file has been changed on the file system. Do you want to load the changes?
+SynchronizationManager_saveButtonLabel=Save
+CompositeEditorManager_5=Embedded editors must provide an id. Ignoring editor.
+DatePicker_noDateSelected=None
16 years, 9 months
JBoss Tools SVN: r16670 - in trunk/bpel/plugins: org.eclipse.bpel.apache.ode.runtime/src/org and 14 other directories.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 03:08:24 -0400 (Mon, 20 Jul 2009)
New Revision: 16670
Added:
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdeBPELPublisher.java
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdePlugin.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java
Log:
add all missing java files of src folders
Added: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdeBPELPublisher.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdeBPELPublisher.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdeBPELPublisher.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -0,0 +1,239 @@
+package org.eclipse.bpel.apache.ode.runtime;
+
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation, University of Stuttgart (IAAS) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms 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, University of Stuttgart (IAAS) - initial API and implementation
+ *******************************************************************************/
+
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.bpel.runtimes.publishers.GenericBPELPublisher;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
+import org.eclipse.wst.server.core.IRuntime;
+
+/**
+ * BPEL publisher for Apache ODE.
+ *
+ * @author Tammo van Lessen (IAAS)
+ * @author Simon Moser (IBM)
+ */
+public class OdeBPELPublisher extends GenericBPELPublisher {
+
+ public OdeBPELPublisher()
+ {
+ super();
+ }
+
+ @Override
+ public IStatus[] publish(IModuleArtifact[] artifacts, IProgressMonitor monitor) {
+ // resources will always be null for some weird reason :(
+ // therefore we generate a BPELModuleArtifact
+ // the module id value enables us to get BPEL file path relative to its project
+ IModule[] modules = super.getModule();
+ IStatus[] result = new Status[modules.length];
+
+ try {
+ for (int i = 0; i < modules.length; i++) {
+
+ IModule module = modules[i];
+
+ List<IFile> files = getArtifacts(module.getProject());
+
+ if (doesDeploymentDescriptorExist(files)){
+
+ String currentDeployDir = createDeploymentDestination(module);
+
+ for (IFile file : files) {
+
+ if (isFileOfInterest(file)) {
+ copyFileToDeploymentDestination(file, currentDeployDir);
+ }
+ }
+
+ //remove <project>.deployed to kick the redeployment
+ new File(new File(currentDeployDir).getParent(), new File(currentDeployDir).getName() + ".deployed").delete();
+
+ result[i] = new Status(IStatus.OK, OdePlugin.PLUGIN_ID, 1,
+ "Deployment successful", null);
+ }
+ else {
+ result[i] = new Status(IStatus.ERROR, OdePlugin.PLUGIN_ID, 1,
+ "Deployment Descriptor does not exist. Create a ODE Deployment Descriptor and try again", null);
+ }
+ }
+ } catch (Exception e) {
+ result[0] = new Status(IStatus.ERROR, OdePlugin.PLUGIN_ID, 0,
+ "Error during deployment: " + e.getMessage(), e);
+
+ }
+
+ return result;
+ }
+
+ @Override
+ public IStatus[] unpublish(IProgressMonitor monitor) {
+ IModule[] modules = super.getModule();
+ IStatus[] result = new Status[modules.length];
+
+ try {
+ for (int i = 0; i < modules.length; i++) {
+
+ IModule module = modules[i];
+ String currentDeployDir = createDeploymentDestination(module);
+
+ //remove <project>.deployed to kick the redeployment
+ deleteDir(new File(currentDeployDir));
+
+ result[i] = new Status(IStatus.OK, OdePlugin.PLUGIN_ID, 1,
+ "Undeployment successful", null);
+ }
+ } catch (Exception e) {
+ result[0] = new Status(IStatus.ERROR, OdePlugin.PLUGIN_ID, 0,
+ "Error during undeployment: " + e.getMessage(), e);
+ }
+
+ return result;
+ }
+
+ protected boolean doesDeploymentDescriptorExist(List<IFile> files){
+
+ for (IFile file : files) {
+
+ if ( file.getName().equalsIgnoreCase("deploy.xml")) { //NON-NLS-1
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ protected List<IFile> getArtifacts(IProject project) {
+ final List<IFile> files = new ArrayList<IFile>();
+ IResourceVisitor visitor = new IResourceVisitor() {
+ public boolean visit(org.eclipse.core.resources.IResource resource) throws org.eclipse.core.runtime.CoreException {
+ if (resource.getType() == IResource.FILE) {
+ files.add((IFile)resource);
+ }
+ return true;
+ }
+ };
+ try {
+ project.accept(visitor);
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+ return files;
+ }
+
+ protected boolean isFileOfInterest(IFile file) {
+
+ String fileExtension = file.getFileExtension();
+
+ if (fileExtension.equalsIgnoreCase("bpel"))
+ return true;
+ if (fileExtension.equalsIgnoreCase("wsdl"))
+ return true;
+ if (fileExtension.equalsIgnoreCase("xsd"))
+ return true;
+ if (fileExtension.equalsIgnoreCase("soap"))
+ return true;
+ if (fileExtension.equalsIgnoreCase("xml"))
+ return true;
+ else
+ return false;
+ }
+
+ /**
+ * This method will create a folder inside the WEB-INF\processes subfolder of the ODE installation
+ */
+ protected String createDeploymentDestination(IModule module)
+ {
+ String moduleName = module.getName().substring(0, module.getName().indexOf('/'));
+ String deployAppName = moduleName;
+
+ //get TOMCAT_HOME
+ IRuntime serverDef = getServerRuntime().getRuntime();
+ String tomcatHome = serverDef.getLocation().toOSString();
+
+ //append ODE's Process target Dir tomcatHome
+ String deployTarget = tomcatHome.concat(System.getProperty("file.separator") + "webapps" + System.getProperty("file.separator") + "ode" + System.getProperty("file.separator") + "WEB-INF" + System.getProperty("file.separator") + "processes" + System.getProperty("file.separator") + deployAppName );
+
+ File f = new File(deployTarget);
+ if (!f.exists()) {
+ f.mkdir();
+ }
+
+ return deployTarget;
+ }
+
+ private boolean deleteDir(File dir) {
+ if (dir.exists()) {
+ File[] files = dir.listFiles();
+ for (File f : files) {
+ if (f.isDirectory()) {
+ deleteDir(f);
+ } else {
+ f.delete();
+ }
+ }
+ }
+ return dir.delete();
+ }
+
+ private void copyFileToDeploymentDestination(IFile ifile, String toDeployDir) {
+
+ String from = ifile.getFullPath().toOSString();
+ String fileName = ifile.getName();
+ String wspath = ifile.getWorkspace().getRoot().getLocation().toOSString();
+
+ File srcFile = new File(wspath + from);
+ File targetFile = new File(toDeployDir + System.getProperty("file.separator") + fileName);
+
+ if (srcFile != null && srcFile.exists()) {
+
+ try {
+
+ BufferedInputStream inStream = new BufferedInputStream(new FileInputStream(srcFile));
+ BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(targetFile));
+
+ byte[] bytes = new byte[1024];
+
+ int count;
+
+ while ((count = inStream.read(bytes)) != -1) {
+ outStream.write(bytes, 0, count);
+ }
+
+ outStream.close();
+ inStream.close();
+ }
+ catch (Exception e) {
+
+ e.printStackTrace();
+ }
+ }
+ }
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdePlugin.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdePlugin.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.runtime/src/org/eclipse/bpel/apache/ode/runtime/OdePlugin.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -0,0 +1,41 @@
+package org.eclipse.bpel.apache.ode.runtime;
+
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation, University of Stuttgart (IAAS) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms 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, University of Stuttgart (IAAS) - initial API and implementation
+ *******************************************************************************/
+
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Runtime contributor for Apache ODE.
+ *
+ * @author Tammo van Lessen (IAAS)
+ * @author Simon Moser (IBM)
+ */
+public class OdePlugin extends AbstractUIPlugin {
+ public static final String PLUGIN_ID = "org.eclipse.bpel.apache.ode.runtime";
+ private static OdePlugin plugin;
+
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ }
+
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ plugin = null;
+ }
+
+ public static OdePlugin getDefault() {
+ return plugin;
+ }
+
+}
Added: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/BPELResourceSet.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Activator.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/Extension.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionMap.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelFactory.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/ExtensionmodelPackage.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectAdapter.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/ExtendedObjectUserAdapter.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectAdapterImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtendedObjectUserAdapterImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionAdapterImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/adapters/impl/ExtensionMapAdapterImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionMapImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -0,0 +1,861 @@
+/*******************************************************************************
+ * 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){
+
+ for( Extension ext : getExtensions()) {
+ if (ext.getExtendedObject() != null && 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;
+ }
+
+ }
+ }
+ }
+
+ 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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelFactoryImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/impl/ExtensionmodelPackageImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/ExtensionModelNotification.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/notify/impl/ExtensionModelNotificationImpl.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelAdapterFactory.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/extension/model/util/ExtensionmodelSwitch.java 2009-07-20 07:08:24 UTC (rev 16670)
@@ -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;
+ }
+
+}
16 years, 9 months
JBoss Tools SVN: r16669 - trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 03:06:28 -0400 (Mon, 20 Jul 2009)
New Revision: 16669
Added:
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java
Log:
Added: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/ClasspathFunctionRegistryLoader.java 2009-07-20 07:06:28 UTC (rev 16669)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionLibrary.java 2009-07-20 07:06:28 UTC (rev 16669)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/FunctionRegistry.java 2009-07-20 07:06:28 UTC (rev 16669)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/IFunctionRegistryLoader.java 2009-07-20 07:06:28 UTC (rev 16669)
@@ -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 );
+
+}
16 years, 9 months
JBoss Tools SVN: r16668 - in trunk/bpel/plugins/org.eclipse.bpel.common.model/src: model and 9 other directories.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 03:05:06 -0400 (Mon, 20 Jul 2009)
New Revision: 16668
Added:
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.ecore
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/common/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java
trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java
Log:
add all missing java files of src folders
Added: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.ecore 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/extensionmodel.genmodel 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.ecore
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.ecore (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.ecore 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/model/fnmeta.genmodel 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Argument.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Assistant.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMFactory.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FMPackage.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/FacadeElement.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Function.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Option.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Optionality.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/Registry.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/ArgumentImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/AssistantImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMFactoryImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FMPackageImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FacadeElementImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/FunctionImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/OptionImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/impl/RegistryImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/ArgumentProxy.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/proxy/AssistantProxy.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMAdapterFactory.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMReader.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceFactoryImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMResourceImpl.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMSwitch.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/fnmeta/model/util/FMXMLProcessor.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/NCNameWordDetector.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/QNameWordDetector.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/VariableNameWordDetector.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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: trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.common.model/src/org/eclipse/bpel/names/XMLNameWordDetector.java 2009-07-20 07:05:06 UTC (rev 16668)
@@ -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 );
+ }
+
+}
16 years, 9 months
JBoss Tools SVN: r16666 - in trunk/bpel/plugins/org.eclipse.bpel.model/src: model and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 02:52:44 -0400 (Mon, 20 Jul 2009)
New Revision: 16666
Added:
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.ecore
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.genmodel
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.ecore
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.genmodel
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.ecore
trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.genmodel
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/adapters/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/extensions/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/impl/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/messageproperties/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/partnerlinktype/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/proxy/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/reordering/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/resource/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/terms/
trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/util/
Log:
add all missing java files of src folders
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.ecore
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.ecore (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.ecore 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,590 @@
+<?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://docs.oasis-open.org/wsbpel/2.0/process/executable" nsPrefix="bpws">
+ <eClassifiers xsi:type="ecore:EClass" name="Process" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Describes behavior based on interactions between the activities performed by partners through Web Service interfaces. Defines how individual or composite activities are coordinated to achieve a business goal, as well as the state and logic necessary for this coordination. Represents stateful, long-running interactions in which each interaction has a beginning, defined behavior during its lifetime, and an end.

Abstract processes approach data handling in a way that reflects the level of abstraction required to describe the public aspects of the business protocol. Abstract processes handle only protocol-relevant data as defined by message properties.

Processes and Partners are modeled as WSDL services."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="queryLanguage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expressionLanguage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressJoinFailure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Determines whether the joinFailure fault will be suppressed for all activities in the process. Default is false."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="variableAccessSerializable"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Specifies the XML query language used for selection of nodes in assignment, property definitions, and other uses. The default is XPath 1.0."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLinks" eType="#//PartnerLinks"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variables" eType="#//Variables"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultHandlers" eType="#//FaultHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eventHandlers" eType="#//EventHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSets" eType="#//CorrelationSets"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
+ eType="#//Import" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensions" eType="#//Extensions"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exitOnStandardFault" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchanges" eType="#//MessageExchanges"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstractProcessProfile"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"
+ unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerLink" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The services with which a business process interacts are modeled as partners in the process. Partners both consume and provide services to a business Process. These services are characterized by a ServiceLinkType.

Partners define the different parties that interact with the business process. A partner represents both a consumer of a service provided by the business process and a provider of a service to the business process.

The role of the partner is always seen from the perspective of the process that contains it. For invoke activities, the partner plays a role to provide the invoked service. For receive activities, the partner plays a role to invoke the service, and the process plays the role of providing it.

Each partner is characterized by a service link type and a role name that identifies the functionality that must be provided by the business process and by the partner!
for the relationship to succeed. That is, the portTypes that the process and partners need to implement.

myRole represents the responsibilities or services produced and consumed by this process. For services provided by this process, myRole must specify a role of the serviceLinkType which which has a portType and operation that appears in a receive activity within this process. That is, for some receive activity in this process, its partner attribute must name a partner defined in the process having myRole specify a role of the partner's serviceLinkType whose portType matches the receive portType, that portType must contain the operation specified in the receive activity, and the container of that activity must refer to a container of the process whose messageType is the same as the input message of the operation.

For consumed services, similar rules apply to the invoke activity. The partner attribute must name a partner defined in the!
process having partnerRole specify a role of the partner's se!
rviceLin
kType whose portType matches the invoke portType, that portType must contain the operation specified in the invoke activity, and the inputContainer of that activity must refer to a container of the process whose messageType is same as the input message of the operation, and whose outputContainer refers to a container of the process whose messageType is the same as the output message of the operation.
"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="myRole" eType="ecore:EClass partnerlinktype.ecore#//Role"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerRole" eType="ecore:EClass partnerlinktype.ecore#//Role"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="PartnerLinkType" eType="ecore:EClass partnerlinktype.ecore#//PartnerLinkType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initializePartnerRole"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FaultHandler" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines the activities that must be executed in response to faults resulting from the invocation of services in a process."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="catch" upperBound="-1"
+ eType="#//Catch" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="catchAll" eType="#//CatchAll"
+ unsettable="true" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Activity" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Represents a unit-of-work in a process. If the suppressJoinFailure is true, then the joinCondition determines if the activity is executed based on incoming links."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressJoinFailure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ unsettable="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Suppresses the join failure for this activity and all nested activities (unless overridden by some nested activity)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targets" eType="#//Targets"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sources" eType="#//Sources"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationSet" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A named group of properties that, taken together, serve to define a way of identifying an application-level conversation within a business protocol instance.

A given message can cary multiple correlation sets. After initialization, the values of the properties for a correlation set in a business process instance must be identical for all the messages in all the operations that carry the correlation set."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+ eType="ecore:EClass messageproperties.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Invoke" eSuperTypes="#//PartnerActivity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Allows the business process to invoke a one-way asynchronous, or request-response synchronous operation on a portType offered by a partner playing a role in the business process as specified in a ServiceLinkType. Asyncrhosous invocations specify only an input container while synchronous invocations specify both an input and output container. Correlation sets are used to correlate the business process with a stateful service provided by the partner.
"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputVariable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputVariable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="compensationHandler" eType="#//CompensationHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultHandler" eType="#//FaultHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromParts" eType="#//FromParts"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toParts" eType="#//ToParts"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Specifies the synchronization dependencies between activities in a flow. Each activity can be the source and/or target of any number of links. Links establish a predecessor/successor relationship between activities. Activities that are the source of a link are predecessors of activities that are targets of the same link. Parallel execution of activities in a flow is synchronized by requiring that all the source activities of an activity must complete before corresponding target activities of the same link can run. When an activity completes, all activities that are targets of links for which this activity is a source are now candidates for execution (assuming all their predecessor activities have completed)."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sources" upperBound="-1"
+ eType="#//Source" eOpposite="#//Source/Link"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targets" upperBound="-1"
+ eType="#//Target" eOpposite="#//Target/Link"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Catch" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultName" eType="ecore:EDataType platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//QName"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultVariable" eType="#//Variable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultMessageType" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Message"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultElement" eType="ecore:EClass platform:/plugin/org.eclipse.xsd/model/XSD.ecore#//XSDElementDeclaration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Reply" eSuperTypes="#//PartnerActivity #//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Allows a business process to send a message in reply to a message that was received through a Receive. The combination of a Receive and Reply forms a synchronous request-response operation on the WSDL portType for the process. The container for the replay activity provides the output message for the partner process invoke activity that invoked the corresponding receive activity.

FaultName specifies the name of a fault and must match some Catch fault name in the Scope or Process's FaultHandler.

A receive can have more than one corresponding reply, at most one without a faultName, and any mumber with different faults."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultName" eType="ecore:EDataType platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//QName"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toParts" eType="#//ToParts"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchange" lowerBound="1"
+ eType="#//MessageExchange"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerActivity" eSuperTypes="#//Activity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLink" lowerBound="1"
+ eType="#//PartnerLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlations" eType="#//Correlations"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portType" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//PortType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Operation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Receive" eSuperTypes="#//PartnerActivity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Allows a business process to block and wait for a particular message to be invoked by a partner in another process. A Receive Activity has a corresponding WSDL portType and operation which other processes can use to invoke the service. The partner can only invoke operations specified by the role it is playing as defined in a ServiceLinkType.

The container for the receive activity corresponds to the input message of its operation. The container messageType must be the input message.

If the operation has an output message, it corresponds to a request-response WSDL message. There must be a corresponding Reply Activity in the process having a container whose messageType is the same as the output message. The Reply Activity is used to send a return message back to the invoking process ."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="createInstance" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1"
+ eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromParts" eType="#//FromParts"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchange" lowerBound="1"
+ eType="#//MessageExchange"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Exit" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When executed, immediately terminates the business process."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Throw" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Generates a fault from inside the business process. The FaultHandler may be a proxy for an application or process-specific fault instead of a BPEL FaultHandler"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultName" eType="ecore:EDataType platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//QName"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultVariable" eType="#//Variable"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Wait" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Waits for a given time period or until a certain time is reached. Either expression for or until may be specified, but not both."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="for" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="until" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Empty" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A "no-op" instruction useful as the target for synchronization of parallel activities, for instance. Empty is also required in situations that require at least one Activity, but there is nothing to do. This may often occur in fault handlers.
"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Sequence" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines the structure of the process. Activities in a sequence are executed in order."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activities" lowerBound="1"
+ upperBound="-1" eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="While" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates an activity is to be repeated while a condition is met."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
+ eType="#//Condition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Pick" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Blocks and waits for the occurrence of one of a set of messages to arrive or for a time-out to go off. When the pick trigger occurs, the associated activity is executed and the pick completes."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="createInstance" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messages" lowerBound="1"
+ upperBound="-1" eType="#//OnMessage" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="alarm" upperBound="-1"
+ eType="#//OnAlarm" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Flow" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Enables concurrent execution of its contained activities. Contrast with Sequence which executes its contained activities in order. Links can be used in a flow to define arbitrary predecessor and/or successor activities. A flow activity completes when all of its concurrent activities have been completed."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activities" lowerBound="1"
+ upperBound="-1" eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="links" eType="#//Links"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" eType="#//CompletionCondition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OnAlarm" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When the alert fires, the activity is executed."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="for" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="until" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="repeatEvery" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Assign" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Used to update values of containers with new data. Assigns the Form r-value to the To l-value. An Assign is an atomic Activity. All copy elements succeed or none of them do. Exceptions are raised by incompatible types."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="copy" lowerBound="1" upperBound="-1"
+ eType="#//Copy" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="validate" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Copy" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//To"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//From"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="keepSrcElementName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ignoreMissingFromData"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Extension" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustUnderstand" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Scope" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines a nested activity with its own associated fault and compensation handlers."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isolated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultHandlers" eType="#//FaultHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="compensationHandler" eType="#//CompensationHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variables" eType="#//Variables"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSets" eType="#//CorrelationSets"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eventHandlers" eType="#//EventHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLinks" eType="#//PartnerLinks"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="terminationHandler" eType="#//TerminationHandler"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchanges" eType="#//MessageExchanges"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exitOnStandardFault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompensateScope" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Used to invoke compensation of an inner scope that has already completed its execution normally. This construct can be invoked only from within a fault handler or the compensation handler of the scope that immediately encloses the scope for which compensation is to be performed."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Specifies the scope whose compensation handler is to be invoked."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompensationHandler" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="To" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Represents an l-value in an assignment activity. Can be used to query a node of a part of a container, a property of a container, or a service reference of a partner."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Part"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLink" eType="#//PartnerLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="property" eType="ecore:EClass messageproperties.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//Query"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="From" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaque" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+ unsettable="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Signifies that an opaque value is to be assigned to a container property based on a non-deterministic choice. Must be used in abstract processes only. The XSD type of the To container property must be derived from xsd:string restricted by enumeration or any restricted XSD integral numeric type."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="endpointReference" eType="#//EndpointReferenceRole"
+ unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unsafeLiteral" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="serviceRef" eType="#//ServiceRef"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/plugin/org.eclipse.xsd/model/XSD.ecore#//XSDTypeDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Part"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLink" eType="#//PartnerLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="property" eType="ecore:EClass messageproperties.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//Query"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OnMessage" eSuperTypes="#//ExtensibleElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Receipt of the corresponding message, the activity is executed."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" eType="#//Activity"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portType" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//PortType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLink" lowerBound="1"
+ eType="#//PartnerLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlations" eType="#//Correlations"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Operation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromParts" eType="#//FromParts"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchange" lowerBound="1"
+ eType="#//MessageExchange"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expressionLanguage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaque" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanExpression" eSuperTypes="#//Expression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Correlation" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initiate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="no" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pattern" eType="#//CorrelationPattern"
+ unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="set" lowerBound="1" eType="#//CorrelationSet"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CorrelationPattern">
+ <eLiterals name="request"/>
+ <eLiterals name="response" value="1"/>
+ <eLiterals name="requestresponse" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EndpointReferenceRole">
+ <eLiterals name="myRole"/>
+ <eLiterals name="partnerRole" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageExchange" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventHandler" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="alarm" upperBound="-1"
+ eType="#//OnAlarm" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
+ eType="#//OnEvent" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Source" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="Link" lowerBound="1" eType="#//Link"
+ eOpposite="#//Link/sources"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transitionCondition" eType="#//Condition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Target" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="Link" lowerBound="1" eType="#//Link"
+ eOpposite="#//Link/targets"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerLinks" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//PartnerLink" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageExchanges" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//MessageExchange" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Variables" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Variable" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationSets" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//CorrelationSet" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Links" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Link" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CatchAll" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Correlations" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Correlation" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageType" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Message"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="XSDElement" eType="ecore:EClass platform:/plugin/org.eclipse.xsd/model/XSD.ecore#//XSDElementDeclaration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/plugin/org.eclipse.xsd/model/XSD.ecore#//XSDTypeDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//From" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnknownExtensibilityAttribute" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//UnknownExtensibilityElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OnEvent" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" eType="#//Activity"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerLink" lowerBound="1"
+ eType="#//PartnerLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlations" eType="#//Correlations"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Operation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portType" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//PortType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageType" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Message"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSets" eType="#//CorrelationSets"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromParts" eType="#//FromParts"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageExchange" lowerBound="1"
+ eType="#//MessageExchange"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Import" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rethrow" eSuperTypes="#//Activity"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Condition" eSuperTypes="#//Expression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Targets" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Target" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinCondition" eType="#//Condition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Sources" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Source" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Query" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//WSDLElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="queryLanguage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ServiceRef" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenceScheme" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Extensions" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//Extension" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionActivity" eSuperTypes="#//Activity"/>
+ <eClassifiers xsi:type="ecore:EClass" name="FromPart" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toVariable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Part"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToPart" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromVariable" eType="#//Variable"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Part"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OpaqueActivity" eSuperTypes="#//Activity">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Hides detailed information of an existing executable activity. Using an Opaque Activity will turn the process into an abstract process."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForEach" eSuperTypes="#//Activity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="startCounterValue" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="finalCounterValue" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parallel" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="counterName" lowerBound="1"
+ eType="#//Variable" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" eType="#//CompletionCondition"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RepeatUntil" eSuperTypes="#//Activity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
+ eType="#//Condition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TerminationHandler" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" eType="#//Activity"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Validate" eSuperTypes="#//Activity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
+ eType="#//Variable"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="If" eSuperTypes="#//Activity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Condition"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elseIf" upperBound="-1"
+ eType="#//ElseIf" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Else" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElseIf" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Condition"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Else" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activity" lowerBound="1"
+ eType="#//Activity" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompletionCondition" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="branches" eType="#//Branches"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Branches" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="countCompletedBranchesOnly"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBooleanObject"
+ defaultValueLiteral="false" unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensibleElement" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//Documentation"
+ unsettable="true" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Documentation">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Compensate" eSuperTypes="#//Activity"/>
+ <eClassifiers xsi:type="ecore:EClass" name="FromParts" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//FromPart" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToParts" eSuperTypes="#//ExtensibleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//ToPart" containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.genmodel
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.genmodel (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/bpel.genmodel 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,388 @@
+<?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.model/src"
+ editDirectory="/org.eclipse.bpel.model.edit/src" editorDirectory="/org.eclipse.bpel.model.editor/src"
+ modelPluginID="org.eclipse.bpel.model" modelName="Bpel" modelPluginClass="" nonNLSMarkers="true"
+ codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.genmodel#//wsdl platform:/plugin/org.eclipse.xsd/model/XSD.genmodel#//xsd">
+ <foreignModel>bpel.ecore</foreignModel>
+ <genPackages prefix="BPEL" basePackage="org.eclipse.bpel" disposableProviderFactory="true"
+ ecorePackage="bpel.ecore#/">
+ <genEnums ecoreEnum="bpel.ecore#//CorrelationPattern">
+ <genEnumLiterals ecoreEnumLiteral="bpel.ecore#//CorrelationPattern/in"/>
+ <genEnumLiterals ecoreEnumLiteral="bpel.ecore#//CorrelationPattern/out"/>
+ <genEnumLiterals ecoreEnumLiteral="bpel.ecore#//CorrelationPattern/outin"/>
+ </genEnums>
+ <genEnums ecoreEnum="bpel.ecore#//EndpointReferenceRole">
+ <genEnumLiterals ecoreEnumLiteral="bpel.ecore#//EndpointReferenceRole/myRole"/>
+ <genEnumLiterals ecoreEnumLiteral="bpel.ecore#//EndpointReferenceRole/partnerRole"/>
+ </genEnums>
+ <genClasses ecoreClass="bpel.ecore#//Process">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/targetNamespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/queryLanguage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/expressionLanguage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/suppressJoinFailure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/variableAccessSerializable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/partnerLinks"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/variables"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/faultHandlers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/eventHandlers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/correlationSets"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/imports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Process/extensions"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Process/exitOnStandardFault"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Process/messageExchanges"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//PartnerLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//PartnerLink/name"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerLink/myRole"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerLink/partnerRole"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerLink/PartnerLinkType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//PartnerLink/initializePartnerRole"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//FaultHandler">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//FaultHandler/catch"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//FaultHandler/catchAll"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Activity">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Activity/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Activity/suppressJoinFailure"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Activity/targets"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Activity/sources"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CorrelationSet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//CorrelationSet/name"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//CorrelationSet/properties"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Invoke">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/outputVariable"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/inputVariable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/compensationHandler"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/faultHandler"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/fromParts"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//Invoke/toParts"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Link">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Link/name"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Link/sources"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Link/targets"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Catch">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Catch/faultName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Catch/faultVariable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Catch/activity"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Catch/faultMessageType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Catch/faultElement"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Reply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Reply/faultName"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Reply/variable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//Reply/toParts"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Reply/messageExchange"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//PartnerActivity">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerActivity/partnerLink"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//PartnerActivity/correlations"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerActivity/portType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//PartnerActivity/operation"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Receive">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Receive/createInstance"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Receive/variable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//Receive/fromParts"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Receive/messageExchange"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Exit"/>
+ <genClasses ecoreClass="bpel.ecore#//Throw">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Throw/faultName"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Throw/faultVariable"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Wait">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Wait/for"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Wait/until"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Empty"/>
+ <genClasses ecoreClass="bpel.ecore#//Sequence">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Sequence/activities"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//While">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//While/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//While/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Pick">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Pick/createInstance"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Pick/messages"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Pick/alarm"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Flow">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Flow/activities"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Flow/links"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Flow/completionCondition"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//OnAlarm">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnAlarm/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnAlarm/for"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnAlarm/until"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnAlarm/repeatEvery"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Assign">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Assign/copy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Assign/validate"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Copy">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Copy/to"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Copy/from"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Copy/keepSrcElementName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Copy/ignoreMissingFromData"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Extension">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Extension/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Extension/mustUnderstand"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Scope">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Scope/isolated"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/faultHandlers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/compensationHandler"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/variables"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/correlationSets"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/eventHandlers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/partnerLinks"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Scope/terminationHandler"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Scope/messageExchanges"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Scope/exitOnStandardFault"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CompensateScope">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//CompensateScope/target"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CompensationHandler">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//CompensationHandler/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//To">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//To/variable"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//To/part"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//To/partnerLink"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//To/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//To/query"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//To/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//From">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//From/opaque"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//From/endpointReference"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//From/literal"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//From/unsafeLiteral"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//From/expression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//From/serviceRef"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//From/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//From/variable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//From/part"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//From/partnerLink"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//From/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//From/query"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//OnMessage">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/variable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/activity"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/portType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/partnerLink"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/correlations"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/operation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/fromParts"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnMessage/messageExchange"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Expression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Expression/body"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Expression/expressionLanguage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Expression/opaque"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//BooleanExpression"/>
+ <genClasses ecoreClass="bpel.ecore#//Correlation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Correlation/initiate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Correlation/pattern"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Correlation/set"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//MessageExchange">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//MessageExchange/name"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//EventHandler">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//EventHandler/alarm"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//EventHandler/events"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Source">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Source/Link"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Source/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Source/transitionCondition"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Target">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Target/Link"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Target/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//PartnerLinks">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//PartnerLinks/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//MessageExchanges">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//MessageExchanges/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Variables">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Variables/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CorrelationSets">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//CorrelationSets/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Links">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Links/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CatchAll">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//CatchAll/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Correlations">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Correlations/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Variable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Variable/name"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Variable/messageType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Variable/XSDElement"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Variable/type"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Variable/from"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//UnknownExtensibilityAttribute"/>
+ <genClasses ecoreClass="bpel.ecore#//OnEvent">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/variable"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/partnerLink"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/correlations"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/operation"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/portType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/messageType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/correlationSets"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/fromParts"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//OnEvent/messageExchange"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Import/namespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Import/location"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Import/importType"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Rethrow"/>
+ <genClasses ecoreClass="bpel.ecore#//Condition"/>
+ <genClasses ecoreClass="bpel.ecore#//Targets">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Targets/children"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Targets/joinCondition"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Sources">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Sources/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Query">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Query/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Query/queryLanguage"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ServiceRef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//ServiceRef/referenceScheme"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//ServiceRef/value"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Extensions">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Extensions/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ExtensionActivity"/>
+ <genClasses ecoreClass="bpel.ecore#//FromPart">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//FromPart/toVariable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//FromPart/part"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ToPart">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference bpel.ecore#//ToPart/fromVariable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//ToPart/part"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//OpaqueActivity"/>
+ <genClasses ecoreClass="bpel.ecore#//ForEach">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ForEach/startCounterValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ForEach/finalCounterValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//ForEach/parallel"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ForEach/counterName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ForEach/completionCondition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ForEach/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//RepeatUntil">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//RepeatUntil/activity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//RepeatUntil/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//TerminationHandler">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//TerminationHandler/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Validate">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference bpel.ecore#//Validate/variables"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//If">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//If/condition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//If/elseIf"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//If/else"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//If/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ElseIf">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ElseIf/condition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ElseIf/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Else">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//Else/activity"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//CompletionCondition">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//CompletionCondition/branches"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Branches">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Branches/countCompletedBranchesOnly"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ExtensibleElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ExtensibleElement/documentation"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Documentation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Documentation/lang"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Documentation/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute bpel.ecore#//Documentation/value"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//Compensate"/>
+ <genClasses ecoreClass="bpel.ecore#//FromParts">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//FromParts/children"/>
+ </genClasses>
+ <genClasses ecoreClass="bpel.ecore#//ToParts">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference bpel.ecore#//ToParts/children"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Partnerlinktype" basePackage="org.eclipse.bpel.model" disposableProviderFactory="true"
+ ecorePackage="partnerlinktype.ecore#/">
+ <genClasses ecoreClass="partnerlinktype.ecore#//PartnerLinkType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//PartnerLinkType/name"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//PartnerLinkType/ID"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference partnerlinktype.ecore#//PartnerLinkType/role"/>
+ </genClasses>
+ <genClasses ecoreClass="partnerlinktype.ecore#//Role">
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//Role/ID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//Role/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//Role/portType"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Messageproperties" basePackage="org.eclipse.bpel.model" disposableProviderFactory="true"
+ ecorePackage="messageproperties.ecore#/">
+ <genClasses ecoreClass="messageproperties.ecore#//Property">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/qName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/type"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/ID"/>
+ </genClasses>
+ <genClasses ecoreClass="messageproperties.ecore#//PropertyAlias">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/messageType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/part"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/propertyName"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/ID"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference messageproperties.ecore#//PropertyAlias/wsdlPart"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference messageproperties.ecore#//PropertyAlias/query"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/XSDElement"/>
+ </genClasses>
+ <genClasses ecoreClass="messageproperties.ecore#//Query">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Query/queryLanguage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Query/value"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.ecore
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.ecore (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.ecore 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,31 @@
+<?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="messageproperties"
+ nsURI="http://docs.oasis-open.org/wsbpel/2.0/varprop" nsPrefix="vprop">
+ <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="qName" eType="ecore:EDataType platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//QName"/>
+ <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 platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true" iD="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertyAlias" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageType" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="part" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true" iD="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="wsdlPart" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//Part"
+ transient="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//Query"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="XSDElement" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Query" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="queryLanguage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.genmodel
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.genmodel (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/messageproperties.genmodel 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,31 @@
+<?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.model/src"
+ modelPluginID="org.eclipse.bpel.model" modelName="messageproperties" testsDirectory="/org.eclipse.bpel.model.tests/src"
+ importerID="org.eclipse.emf.importer.ecore" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.genmodel#//wsdl platform:/plugin/org.eclipse.xsd/model/XSD.genmodel#//xsd">
+ <foreignModel>messageproperties.ecore</foreignModel>
+ <genPackages prefix="Messageproperties" basePackage="org.eclipse.bpel.model" disposableProviderFactory="true"
+ ecorePackage="messageproperties.ecore#/">
+ <genClasses ecoreClass="messageproperties.ecore#//Property">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/qName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/type"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Property/ID"/>
+ </genClasses>
+ <genClasses ecoreClass="messageproperties.ecore#//PropertyAlias">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/messageType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/part"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/propertyName"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/ID"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference messageproperties.ecore#//PropertyAlias/wsdlPart"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference messageproperties.ecore#//PropertyAlias/query"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//PropertyAlias/XSDElement"/>
+ </genClasses>
+ <genClasses ecoreClass="messageproperties.ecore#//Query">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Query/queryLanguage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute messageproperties.ecore#//Query/value"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.ecore
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.ecore (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.ecore 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,19 @@
+<?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="partnerlinktype"
+ nsURI="http://docs.oasis-open.org/wsbpel/2.0/plnktype" nsPrefix="plnk">
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerLinkType" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true" iD="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="role" upperBound="-1" eType="#//Role"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Role" eSuperTypes="platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.ecore#//ExtensibilityElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true" iD="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="portType" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ </eClassifiers>
+</ecore:EPackage>
Added: trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.genmodel
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.genmodel (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/model/partnerlinktype.genmodel 2009-07-20 06:52:44 UTC (rev 16666)
@@ -0,0 +1,21 @@
+<?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.model/src"
+ modelPluginID="org.eclipse.bpel.model" modelName="Partnerlinktype" importerID="org.eclipse.emf.importer.ecore"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.wst.wsdl/model/WSDL.genmodel#//wsdl platform:/plugin/org.eclipse.xsd/model/XSD.genmodel#//xsd">
+ <foreignModel>partnerlinktype.ecore</foreignModel>
+ <genPackages prefix="Partnerlinktype" basePackage="org.eclipse.bpel.model" disposableProviderFactory="true"
+ ecorePackage="partnerlinktype.ecore#/">
+ <genClasses ecoreClass="partnerlinktype.ecore#//PartnerLinkType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//PartnerLinkType/name"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//PartnerLinkType/ID"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference partnerlinktype.ecore#//PartnerLinkType/role"/>
+ </genClasses>
+ <genClasses ecoreClass="partnerlinktype.ecore#//Role">
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//Role/ID"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute partnerlinktype.ecore#//Role/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference partnerlinktype.ecore#//Role/portType"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
16 years, 9 months
JBoss Tools SVN: r16665 - in trunk/bpel/plugins/org.jboss.bpel.as.integration: .settings and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 02:24:52 -0400 (Mon, 20 Jul 2009)
New Revision: 16665
Added:
trunk/bpel/plugins/org.jboss.bpel.as.integration/.classpath
trunk/bpel/plugins/org.jboss.bpel.as.integration/.project
trunk/bpel/plugins/org.jboss.bpel.as.integration/.settings/
trunk/bpel/plugins/org.jboss.bpel.as.integration/.settings/org.eclipse.jdt.core.prefs
trunk/bpel/plugins/org.jboss.bpel.as.integration/META-INF/
trunk/bpel/plugins/org.jboss.bpel.as.integration/META-INF/MANIFEST.MF
trunk/bpel/plugins/org.jboss.bpel.as.integration/bin/
trunk/bpel/plugins/org.jboss.bpel.as.integration/build.properties
trunk/bpel/plugins/org.jboss.bpel.as.integration/plugin.xml
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/Activator.java
trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/JBossServerBPELPublisher.java
Log:
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/.classpath
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/.classpath (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/.classpath 2009-07-20 06:24:52 UTC (rev 16665)
@@ -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/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/.project
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/.project (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/.project 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.bpel.as.integration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/.settings/org.eclipse.jdt.core.prefs 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,8 @@
+#Wed May 06 15:59:44 CST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/META-INF/MANIFEST.MF (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/META-INF/MANIFEST.MF 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: BPEL JBoss AS Publisher
+Bundle-SymbolicName: org.jboss.bpel.as.integration;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.jboss.bpel.as.integration.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.jboss.ide.eclipse.as.core,
+ org.eclipse.wst.server.core;bundle-version="1.1.2",
+ org.eclipse.core.resources;bundle-version="3.5.0",
+ org.eclipse.wst.common.project.facet.core;bundle-version="1.4.0",
+ org.eclipse.bpel.runtimes;bundle-version="0.4.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/build.properties
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/build.properties (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/build.properties 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/plugin.xml
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/plugin.xml (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/plugin.xml 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.jboss.ide.eclipse.as.core.publishers">
+ <publisher
+ class="org.jboss.bpel.as.integration.JBossServerBPELPublisher"
+ priority="4">
+ </publisher>
+ </extension>
+
+</plugin>
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/Activator.java
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/Activator.java (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/Activator.java 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,50 @@
+package org.jboss.bpel.as.integration;
+
+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.jboss.bpel.as.integration";
+
+ // 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;
+ }
+
+}
Added: trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/JBossServerBPELPublisher.java
===================================================================
--- trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/JBossServerBPELPublisher.java (rev 0)
+++ trunk/bpel/plugins/org.jboss.bpel.as.integration/src/org/jboss/bpel/as/integration/JBossServerBPELPublisher.java 2009-07-20 06:24:52 UTC (rev 16665)
@@ -0,0 +1,33 @@
+package org.jboss.bpel.as.integration;
+
+import org.eclipse.bpel.runtimes.IBPELModuleFacetConstants;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.publishers.JstPublisher;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+
+public class JBossServerBPELPublisher extends JstPublisher implements
+ IJBossServerPublisher {
+
+ public JBossServerBPELPublisher() {
+ }
+
+ public boolean accepts(IServer server, IModule[] module) {
+ IProject project = module[0].getProject();
+ if(project == null) return false;
+
+ try {
+ IFacetedProject fp = ProjectFacetsManager.create(project);
+ IProjectFacet pf = ProjectFacetsManager.getProjectFacet(IBPELModuleFacetConstants.BPEL20_PROJECT_FACET);
+ return fp.hasProjectFacet(pf);
+ } catch (Exception e) {
+ return false;
+ }
+
+ }
+}
16 years, 9 months
JBoss Tools SVN: r16664 - trunk/bpel/plugins.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-20 02:20:14 -0400 (Mon, 20 Jul 2009)
New Revision: 16664
Added:
trunk/bpel/plugins/org.jboss.bpel.as.integration/
Log:
register a new publisher for publish bpel project archive
16 years, 9 months