Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Brodt2014-07-18 17:33:46 -0400
committerBob Brodt2014-07-18 17:33:46 -0400
commit7457664824a1d02d63d8afd9188e0f5ab2d6c956 (patch)
tree760463d09dad75f8bf6527b32dc69350648d556b
parent04e563def6a9d7a21444a365a5b710c48c634f3a (diff)
downloadorg.eclipse.bpmn2-modeler-7457664824a1d02d63d8afd9188e0f5ab2d6c956.tar.gz
org.eclipse.bpmn2-modeler-7457664824a1d02d63d8afd9188e0f5ab2d6c956.tar.xz
org.eclipse.bpmn2-modeler-7457664824a1d02d63d8afd9188e0f5ab2d6c956.zip
Bug 439929 - Problems with importing WSDL that contains embedded XSD
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/Bpmn2ModelerResourceImpl.java22
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/ImportUtil.java337
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/NamespaceUtil.java109
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.ui/plugin-old.xml1365
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/InterfacePropertiesAdapter.java3
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/ItemDefinitionPropertiesAdapter.java12
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/editors/SchemaObjectEditor.java14
7 files changed, 378 insertions, 1484 deletions
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/Bpmn2ModelerResourceImpl.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/Bpmn2ModelerResourceImpl.java
index 7b6ffdf8..3e3a51b0 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/Bpmn2ModelerResourceImpl.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/Bpmn2ModelerResourceImpl.java
@@ -358,7 +358,7 @@ public class Bpmn2ModelerResourceImpl extends Bpmn2ResourceImpl {
if (obj instanceof BPMNDiagnostic) {
BPMNDiagnostic that = (BPMNDiagnostic)obj;
return
- this.message.equals(that.message) &&
+ (this.message!=null && this.message.equals(that.message)) &&
this.line==that.line &&
this.column==that.column;
}
@@ -685,6 +685,11 @@ public class Bpmn2ModelerResourceImpl extends Bpmn2ResourceImpl {
}
}
}
+ else if (name.startsWith(XMLResource.XML_NS+":")) {
+ String prefix = name.substring(name.indexOf(':')+1);
+ String namespace = attribs.getValue(i);
+ NamespaceUtil.addNamespace(xmlResource, prefix, namespace);
+ }
}
}
@@ -756,7 +761,7 @@ public class Bpmn2ModelerResourceImpl extends Bpmn2ResourceImpl {
// this thing is in another namespace, possibly in an external document
Import imp = importHandler.findImportForNamespace(helper.getResource(), namespace);
if (imp!=null) {
- value = importHandler.getObjectForLocalname(imp, object, eReference, localname);
+ value = importHandler.getObjectForId(imp, object, eReference, ids);
}
}
}
@@ -1615,18 +1620,11 @@ public class Bpmn2ModelerResourceImpl extends Bpmn2ResourceImpl {
else
s = super.getHREF(obj);
if (isQNameFeature) {
- if (s!=null && s.contains("#")) { //$NON-NLS-1$
+ if (s != null && s.contains("#")) { //$NON-NLS-1$
// object is a reference possibly to another document
Import imp = importHandler.findImportForObject(resource, obj);
- if (imp!=null) {
- String localname = importHandler.getLocalnameForObject(obj);
- if (localname!=null) {
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, imp.getNamespace());
- if (prefix!=null) {
- s = prefix + ":" + localname; //$NON-NLS-1$
- return s;
- }
- }
+ if (imp != null) {
+ return importHandler.getQNameForObject(resource, obj);
}
}
}
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/ImportUtil.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/ImportUtil.java
index 9f1fa369..bbbdb54e 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/ImportUtil.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/ImportUtil.java
@@ -14,8 +14,13 @@
package org.eclipse.bpmn2.modeler.core.utils;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import javax.xml.namespace.QName;
+
+import org.eclipse.bpmn2.Bpmn2Factory;
import org.eclipse.bpmn2.Bpmn2Package;
import org.eclipse.bpmn2.CallActivity;
import org.eclipse.bpmn2.CallableElement;
@@ -26,8 +31,6 @@ import org.eclipse.bpmn2.ItemDefinition;
import org.eclipse.bpmn2.ItemKind;
import org.eclipse.bpmn2.Process;
import org.eclipse.bpmn2.modeler.core.Activator;
-import org.eclipse.bpmn2.modeler.core.adapters.ExtendedPropertiesAdapter;
-import org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerFactory;
import org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerResourceSetImpl;
import org.eclipse.bpmn2.util.Bpmn2Resource;
import org.eclipse.core.resources.IContainer;
@@ -40,6 +43,8 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -57,6 +62,7 @@ import org.eclipse.wst.wsdl.Definition;
import org.eclipse.wst.wsdl.Fault;
import org.eclipse.wst.wsdl.Input;
import org.eclipse.wst.wsdl.Message;
+import org.eclipse.wst.wsdl.MessageReference;
import org.eclipse.wst.wsdl.Operation;
import org.eclipse.wst.wsdl.Output;
import org.eclipse.wst.wsdl.PortType;
@@ -147,10 +153,31 @@ public class ImportUtil {
return findImportForNamespace(resource, namespace);
}
- public Object getObjectForLocalname(Import imp, EObject referencingObject, EReference referencingFeature, String localname) {
+ private boolean isObjectQName(Resource resource, EObject o, String prefix, String localname) {
+ String olocalname = getLocalnameForObject(o);
+ if (prefix!=null) {
+ String oprefix = NamespaceUtil.getPrefixForObject(resource, o);
+ if (prefix.equals(oprefix) && localname.equals(olocalname)) {
+ return true;
+ }
+ }
+ else if (localname.equals(olocalname))
+ return true;
+ return false;
+ }
+
+ public Object getObjectForId(Import imp, EObject referencingObject, EReference referencingFeature, String id) {
// Load the import file: if successful, this should give us its contents which will be an EObject
Object result = loadImport(imp);
if (result instanceof EObject) {
+ Resource resource = imp.eResource();
+ String prefix = null;
+ String localname = id;
+ int i = id.indexOf(':');
+ if (i>0) {
+ prefix = id.substring(0,i);
+ localname = id.substring(i+1);
+ }
EObject contents = (EObject)result;
// Depending on the import type, determine the object hierarchy using the given object
// and feature. The "id" string will identify which object is being referenced in the import.
@@ -168,7 +195,7 @@ public class ImportUtil {
while (iter.hasNext()) {
EObject o = iter.next();
if (o instanceof PortType) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -181,7 +208,7 @@ public class ImportUtil {
while (iter.hasNext()) {
EObject o = iter.next();
if (o instanceof Operation) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -194,7 +221,7 @@ public class ImportUtil {
while (iter.hasNext()) {
EObject o = iter.next();
if (o instanceof Message) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -207,7 +234,7 @@ public class ImportUtil {
while (iter.hasNext()) {
EObject o = iter.next();
if (o instanceof Fault) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -220,7 +247,7 @@ public class ImportUtil {
while (iter.hasNext()) {
EObject o = iter.next();
if (o instanceof Message || o instanceof Fault || o instanceof XSDElementDeclaration) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -235,10 +262,8 @@ public class ImportUtil {
TreeIterator<EObject> iter = contents.eAllContents();
while (iter.hasNext()) {
EObject o = iter.next();
- if (localname.equals(getLocalnameForObject(o)))
- return o;
if (o instanceof XSDElementDeclaration) {
- if (localname.equals(getLocalnameForObject(o)))
+ if (isObjectQName(resource, o, prefix, localname))
return o;
}
}
@@ -246,7 +271,14 @@ public class ImportUtil {
}
}
else if (IMPORT_TYPE_BPMN2.equals(imp.getImportType())) {
- // TODO: figure out what to do with BPMN2 imports...
+ TreeIterator<EObject> iter = contents.eAllContents();
+ while (iter.hasNext()) {
+ EObject o = iter.next();
+ if (o instanceof CallableElement) {
+ if (isObjectQName(resource, o, prefix, localname))
+ return o;
+ }
+ }
}
}
else if (result instanceof List) {
@@ -274,7 +306,7 @@ public class ImportUtil {
return ((Message)o).getQName().getLocalPart();
}
if (o instanceof Fault) {
- return ((Fault)o).getName();
+ return getLocalnameForObject( ((Fault)o).getEMessage() );
}
if (o instanceof XSDElementDeclaration) {
return ((XSDElementDeclaration)o).getName();
@@ -282,6 +314,14 @@ public class ImportUtil {
return null;
}
+ public String getQNameForObject(Resource resource, Object o) {
+ String prefix = NamespaceUtil.getPrefixForObject(resource, o);
+ String name = getLocalnameForObject(o);
+ if (prefix!=null)
+ return prefix + ":" + name;
+ return name;
+ }
+
// FIXME: {@see ICustomElementFeatureContainer#getId(EObject)}
public static String getImportKind(Object object) {
String kind = null;
@@ -496,7 +536,7 @@ public class ImportUtil {
// WSDL Definition
Definition wsdlDefinition = (Definition)importObject;
- imp = Bpmn2ModelerFactory.create(Import.class);
+ imp = createBpmn2Object(definitions, Import.class);
imp.setImportType(IMPORT_TYPE_WSDL);
imp.setLocation(makeURIRelative(resource.getURI(), wsdlDefinition.getLocation()));
imp.setNamespace(wsdlDefinition.getTargetNamespace());
@@ -505,7 +545,7 @@ public class ImportUtil {
// XSD Schema
XSDSchema schema = (XSDSchema)importObject;
- imp = Bpmn2ModelerFactory.create(Import.class);
+ imp = createBpmn2Object(definitions, Import.class);
imp.setImportType(IMPORT_TYPE_XML_SCHEMA);
imp.setLocation(makeURIRelative(resource.getURI(), schema.getSchemaLocation()));
imp.setNamespace(schema.getTargetNamespace());
@@ -518,7 +558,7 @@ public class ImportUtil {
// String name = clazz.getName().replaceAll("\\.", "/").concat(".class");
// java.net.URL url = cl.getResource(name);
// URI uri = URI.createPlatformPluginURI(url.getPath(), true);
- imp = Bpmn2ModelerFactory.create(Import.class);
+ imp = createBpmn2Object(definitions, Import.class);
imp.setImportType(IMPORT_TYPE_JAVA);
imp.setLocation(clazz.getFullyQualifiedName('.'));
imp.setNamespace("http://" + clazz.getPackageFragment().getElementName()); //$NON-NLS-1$
@@ -527,7 +567,7 @@ public class ImportUtil {
// BPMN 2.0 Diagram file
Definitions defs = (Definitions)importObject;
- imp = Bpmn2ModelerFactory.create(Import.class);
+ imp = createBpmn2Object(definitions, Import.class);
imp.setImportType(IMPORT_TYPE_BPMN2);
imp.setLocation(makeURIRelative(resource.getURI(), defs.eResource().getURI().toString()));
imp.setNamespace(defs.getTargetNamespace());
@@ -560,14 +600,12 @@ public class ImportUtil {
if (importObject instanceof org.eclipse.wst.wsdl.Definition) {
// WSDL Definition
Definition wsdlDefinition = (Definition)importObject;
-
- // WSDL Bindings are optional, instead create a new
- // BPMN2 Interface for each PortType found in the WSDL.
-// for (Binding b : (List<Binding>)wsdlDefinition.getEBindings()) {
-// createInterface(definitions, imp, b.getEPortType());
-// }
- for (PortType pt : (List<PortType>)wsdlDefinition.getEPortTypes()) {
- createInterface(definitions, imp, pt);
+
+ String namespace = wsdlDefinition.getTargetNamespace();
+ if (namespace!=null && !namespace.isEmpty()) {
+ if (!NamespaceUtil.hasNamespace(definitions.eResource(), namespace)) {
+ String prefix = NamespaceUtil.addNamespace(definitions.eResource(), namespace);
+ }
}
// create XSD types (if any) defined in the WSDL
@@ -576,13 +614,21 @@ public class ImportUtil {
for (Object s : t.getSchemas()) {
if (s instanceof XSDSchema) {
XSDSchema schema = (XSDSchema)s;
-
for (XSDElementDeclaration elem : schema.getElementDeclarations()) {
createItemDefinition(definitions, imp, elem, ItemKind.INFORMATION);
}
}
}
}
+
+ // WSDL Bindings are optional, instead create a new
+ // BPMN2 Interface for each PortType found in the WSDL.
+// for (Binding b : (List<Binding>)wsdlDefinition.getEBindings()) {
+// createInterface(definitions, imp, b.getEPortType());
+// }
+ for (PortType pt : (List<PortType>)wsdlDefinition.getEPortTypes()) {
+ createInterface(definitions, imp, pt);
+ }
}
else if (importObject instanceof XSDSchema){
XSDSchema schema = (XSDSchema)importObject;
@@ -655,8 +701,11 @@ public class ImportUtil {
deleteInterface(definitions, intf);
}
}
+ // also remove an ItemDefinitions
+ type = IMPORT_TYPE_XML_SCHEMA;
}
- else if (IMPORT_TYPE_XML_SCHEMA.equals(type)) {
+
+ if (IMPORT_TYPE_XML_SCHEMA.equals(type)) {
List<ItemDefinition> list = ModelUtil.getAllRootElements(definitions, ItemDefinition.class);
for (ItemDefinition itemDef : list) {
Object ref = itemDef.getStructureRef();
@@ -668,7 +717,8 @@ public class ImportUtil {
}
}
}
- else if (IMPORT_TYPE_JAVA.equals(type)) {
+
+ if (IMPORT_TYPE_JAVA.equals(type)) {
List<Interface> list = ModelUtil.getAllRootElements(definitions, Interface.class);
for (Interface intf : list) {
Object ref = intf.getImplementationRef();
@@ -703,8 +753,9 @@ public class ImportUtil {
if (!deleted)
deleteItemDefinition(definitions, imp, className);
}
- else if (IMPORT_TYPE_BPMN2.equals(type)) {
- // TODO: what objects need to be created? Interface maybe?
+
+ if (IMPORT_TYPE_BPMN2.equals(type)) {
+ // TODO: what objects need to be destroyed? Interface maybe?
}
definitions.getImports().remove(imp);
}
@@ -722,16 +773,15 @@ public class ImportUtil {
* @return the newly created object, or an existing Interface with the same name and implementation reference
*/
public Interface createInterface(Definitions definitions, Import imp, PortType portType) {
- Interface intf = Bpmn2ModelerFactory.create(Interface.class);
+ Interface intf = createBpmn2Object(definitions, Interface.class);
intf.setName(portType.getQName().getLocalPart());
intf.setImplementationRef(portType);
+ createOperations(definitions, imp, intf, portType);
Interface i = findInterface(definitions,intf);
if (i!=null)
return i;
definitions.getRootElements().add(intf);
- ModelUtil.setID(intf);
- createOperations(definitions, imp, intf, portType);
return intf;
}
@@ -746,16 +796,15 @@ public class ImportUtil {
* @return the newly created object, or an existing Interface with the same name and implementation reference
*/
public Interface createInterface(Definitions definitions, Import imp, IType type, IMethod[] methods) {
- Interface intf = Bpmn2ModelerFactory.create(Interface.class);
+ Interface intf = createBpmn2Object(definitions, Interface.class);
intf.setName(type.getElementName());
intf.setImplementationRef(ModelUtil.createStringWrapper(type.getFullyQualifiedName('.')));
+ createOperations(definitions, imp, intf, type, methods);
Interface i = findInterface(definitions,intf);
if (i!=null)
return i;
definitions.getRootElements().add(intf);
- ModelUtil.setID(intf);
- createOperations(definitions, imp, intf, type, methods);
return intf;
}
@@ -780,13 +829,10 @@ public class ImportUtil {
* @return the Interface if it already exists, null if not
*/
public static Interface findInterface(Definitions definitions, Interface intf) {
- ExtendedPropertiesAdapter adapter = ExtendedPropertiesAdapter.adapt(intf);
- if (adapter!=null) {
- List <Interface> list = ModelUtil.getAllRootElements(definitions, Interface.class);
- for (Interface i : list) {
- if (adapter.getObjectDescriptor().similar(i))
- return i;
- }
+ List <Interface> list = ModelUtil.getAllRootElements(definitions, Interface.class);
+ for (Interface i : list) {
+ if (equals(i, intf))
+ return i;
}
return null;
}
@@ -803,7 +849,7 @@ public class ImportUtil {
*/
public void createOperations(Definitions definitions, Import imp, Interface intf, PortType portType) {
for (Operation wsdlop : (List<Operation>)portType.getEOperations()) {
- org.eclipse.bpmn2.Operation bpmn2op = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Operation.class);
+ org.eclipse.bpmn2.Operation bpmn2op = createBpmn2Object(definitions, org.eclipse.bpmn2.Operation.class);
bpmn2op.setImplementationRef(wsdlop);
bpmn2op.setName(wsdlop.getName());
@@ -825,7 +871,6 @@ public class ImportUtil {
if (findOperation(definitions, bpmn2op)==null) {
intf.getOperations().add(bpmn2op);
- ModelUtil.setID(bpmn2op);
}
}
}
@@ -857,7 +902,7 @@ public class ImportUtil {
if (method.getNumberOfParameters()!=1) {
continue;
}
- org.eclipse.bpmn2.Operation bpmn2op = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Operation.class);
+ org.eclipse.bpmn2.Operation bpmn2op = createBpmn2Object(definitions, org.eclipse.bpmn2.Operation.class);
bpmn2op.setImplementationRef(ModelUtil.createStringWrapper(method.getElementName()));
bpmn2op.setName(method.getElementName());
@@ -926,7 +971,6 @@ public class ImportUtil {
if (findOperation(definitions, bpmn2op) == null) {
intf.getOperations().add(bpmn2op);
- ModelUtil.setID(bpmn2op);
}
}
} catch (JavaModelException e) {
@@ -1004,16 +1048,14 @@ public class ImportUtil {
* @return the Operation if it already exists, null if not
*/
public static org.eclipse.bpmn2.Operation findOperation(Definitions definitions, org.eclipse.bpmn2.Operation bpmn2op) {
- ExtendedPropertiesAdapter adapter = ExtendedPropertiesAdapter.adapt(bpmn2op);
- if (adapter!=null) {
- List<org.eclipse.bpmn2.Operation> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Operation.class);
- for (org.eclipse.bpmn2.Operation o : list) {
- if (adapter.getObjectDescriptor().similar(o))
- return (org.eclipse.bpmn2.Operation)o;
- }
+ List<org.eclipse.bpmn2.Operation> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Operation.class);
+ for (org.eclipse.bpmn2.Operation o : list) {
+ if ( equals(o, bpmn2op))
+ return (org.eclipse.bpmn2.Operation)o;
}
return null;
}
+
/**
* Create a new Message object and add it to the rootElements in the given Definitions.
* This also creates all of the ItemDefinitions that are defined in the "wsdlmsg" element.
@@ -1025,7 +1067,7 @@ public class ImportUtil {
* @return the newly created object, or an existing Message that is identical to the given WSDL Message
*/
public org.eclipse.bpmn2.Message createMessage(Definitions definitions, Import imp, Message wsdlmsg) {
- org.eclipse.bpmn2.Message bpmn2msg = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Message.class);
+ org.eclipse.bpmn2.Message bpmn2msg = createBpmn2Object(definitions, org.eclipse.bpmn2.Message.class);
ItemDefinition itemDef = createItemDefinition(definitions, imp, wsdlmsg);
bpmn2msg.setItemRef(itemDef);
bpmn2msg.setName(wsdlmsg.getQName().getLocalPart());
@@ -1035,7 +1077,6 @@ public class ImportUtil {
return m;
definitions.getRootElements().add(bpmn2msg);
- ModelUtil.setID(bpmn2msg);
return bpmn2msg;
}
@@ -1052,7 +1093,7 @@ public class ImportUtil {
* @return the newly created object, or an existing Message that is identical to the given WSDL Message
*/
public org.eclipse.bpmn2.Message createMessage(Definitions definitions, Import imp, IType param, String paramName) {
- org.eclipse.bpmn2.Message bpmn2msg = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Message.class);
+ org.eclipse.bpmn2.Message bpmn2msg = createBpmn2Object(definitions, org.eclipse.bpmn2.Message.class);
if (param != null) {
ItemDefinition itemDef = createItemDefinition(definitions, imp, param);
bpmn2msg.setItemRef(itemDef);
@@ -1064,7 +1105,6 @@ public class ImportUtil {
return m;
definitions.getRootElements().add(bpmn2msg);
- ModelUtil.setID(bpmn2msg);
return bpmn2msg;
}
@@ -1090,13 +1130,10 @@ public class ImportUtil {
* @return the Operation if it already exists, null if not
*/
public static org.eclipse.bpmn2.Message findMessage(Definitions definitions, org.eclipse.bpmn2.Message msg) {
- ExtendedPropertiesAdapter adapter = ExtendedPropertiesAdapter.adapt(msg);
- if (adapter!=null) {
- List<org.eclipse.bpmn2.Message> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Message.class);
- for (org.eclipse.bpmn2.Message m : list) {
- if (adapter.getObjectDescriptor().similar(m))
- return (org.eclipse.bpmn2.Message)m;
- }
+ List<org.eclipse.bpmn2.Message> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Message.class);
+ for (org.eclipse.bpmn2.Message m : list) {
+ if (equals(m, msg))
+ return (org.eclipse.bpmn2.Message)m;
}
return null;
}
@@ -1113,7 +1150,7 @@ public class ImportUtil {
* @return the newly created object, or an existing Error that is identical to the given WSDL Fault
*/
public org.eclipse.bpmn2.Error createError(Definitions definitions, Import imp, Fault fault) {
- org.eclipse.bpmn2.Error error = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Error.class);
+ org.eclipse.bpmn2.Error error = createBpmn2Object(definitions, org.eclipse.bpmn2.Error.class);
ItemDefinition itemDef = createItemDefinition(definitions, imp, fault, ItemKind.INFORMATION);
error.setName(fault.getName());
error.setStructureRef(itemDef);
@@ -1122,7 +1159,6 @@ public class ImportUtil {
return e;
definitions.getRootElements().add(error);
- ModelUtil.setID(error);
return error;
}
@@ -1139,7 +1175,7 @@ public class ImportUtil {
* @return the newly created object, or an existing Error that is identical to the given WSDL Fault
*/
public org.eclipse.bpmn2.Error createError(Definitions definitions, Import imp, IType exceptionType) {
- org.eclipse.bpmn2.Error error = Bpmn2ModelerFactory.create(org.eclipse.bpmn2.Error.class);
+ org.eclipse.bpmn2.Error error = createBpmn2Object(definitions, org.eclipse.bpmn2.Error.class);
ItemDefinition itemDef = createItemDefinition(definitions, imp, exceptionType);
error.setName(exceptionType.getElementName());
error.setStructureRef(itemDef);
@@ -1148,7 +1184,6 @@ public class ImportUtil {
return e;
definitions.getRootElements().add(error);
- ModelUtil.setID(error);
return error;
}
@@ -1161,13 +1196,10 @@ public class ImportUtil {
* @return the Error if it already exists, null if not
*/
public static org.eclipse.bpmn2.Error findError(Definitions definitions, org.eclipse.bpmn2.Error error) {
- ExtendedPropertiesAdapter adapter = ExtendedPropertiesAdapter.adapt(error);
- if (adapter!=null) {
- List<org.eclipse.bpmn2.Error> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Error.class);
- for (org.eclipse.bpmn2.Error e : list) {
- if (adapter.getObjectDescriptor().similar(e))
- return (org.eclipse.bpmn2.Error)e;
- }
+ List<org.eclipse.bpmn2.Error> list = ModelUtil.getAllRootElements(definitions, org.eclipse.bpmn2.Error.class);
+ for (org.eclipse.bpmn2.Error e : list) {
+ if (equals(e, error))
+ return (org.eclipse.bpmn2.Error)e;
}
return null;
}
@@ -1234,7 +1266,13 @@ public class ImportUtil {
* @return the newly created object, or an existing ItemDefinition that is identical to the given String type
*/
public ItemDefinition createItemDefinition(Definitions definitions, Import imp, EObject structureRef, ItemKind kind) {
- ItemDefinition itemDef = Bpmn2ModelerFactory.create(ItemDefinition.class);
+ Resource resource = definitions.eResource();
+ String prefix = NamespaceUtil.getPrefixForObject(resource, structureRef);
+ String namespace = NamespaceUtil.getNamespaceForPrefix(resource, prefix);
+ if (namespace==null) {
+ namespace = NamespaceUtil.addNamespaceForObject(resource, structureRef);
+ }
+ ItemDefinition itemDef = createBpmn2Object(definitions, ItemDefinition.class);
itemDef.setImport(imp);
if (kind==null) {
// try to determine the ItemKind based on the type of Process:
@@ -1251,13 +1289,15 @@ public class ImportUtil {
kind = ItemKind.INFORMATION;
}
itemDef.setItemKind(kind);
+ if (structureRef instanceof Fault) {
+ structureRef = ((Fault)structureRef).getEMessage();
+ }
itemDef.setStructureRef(structureRef);
ItemDefinition i = findItemDefinition(definitions, itemDef);
if (i!=null)
return i;
definitions.getRootElements().add(itemDef);
- ModelUtil.setID(itemDef);
return itemDef;
}
@@ -1272,7 +1312,7 @@ public class ImportUtil {
* @return the ItemDefinition object if found, or null
*/
public static ItemDefinition findItemDefinition(Definitions definitions, Import imp, EObject structureRef, ItemKind kind) {
- ItemDefinition itemDef = Bpmn2ModelerFactory.create(ItemDefinition.class);
+ ItemDefinition itemDef = createBpmn2Object(definitions, ItemDefinition.class);
itemDef.setImport(imp);
itemDef.setItemKind(kind);
itemDef.setStructureRef(structureRef);
@@ -1287,13 +1327,10 @@ public class ImportUtil {
* @return the ItemDefinition if it already exists, null if not
*/
public static ItemDefinition findItemDefinition(Definitions definitions, ItemDefinition itemDef) {
- ExtendedPropertiesAdapter adapter = ExtendedPropertiesAdapter.adapt(itemDef);
- if (adapter!=null) {
- List<ItemDefinition> list = ModelUtil.getAllRootElements(definitions, ItemDefinition.class);
- for (ItemDefinition i : list) {
- if (adapter.getObjectDescriptor().similar(i))
- return (ItemDefinition)i;
- }
+ List<ItemDefinition> list = ModelUtil.getAllRootElements(definitions, ItemDefinition.class);
+ for (ItemDefinition i : list) {
+ if ( equals(i, itemDef))
+ return (ItemDefinition)i;
}
return null;
}
@@ -1345,4 +1382,132 @@ public class ImportUtil {
}
}
}
+
+ private static boolean equals(Object object1, Object object2) {
+ if (object1==object2)
+ return true;
+ if (object1==null || object2==null)
+ return false;
+
+ // Compare BPMN2 object types
+ if (object1 instanceof Interface && object2 instanceof Interface) {
+ Interface i1 = (Interface) object1;
+ Interface i2 = (Interface) object2;
+ return equals(i1.getImplementationRef(), i2.getImplementationRef()) &&
+ equals(i1.getName(), i2.getName()) &&
+ equals(i1.getOperations(), i2.getOperations());
+ }
+ if (object1 instanceof org.eclipse.bpmn2.Operation && object2 instanceof org.eclipse.bpmn2.Operation) {
+ org.eclipse.bpmn2.Operation o1 = (org.eclipse.bpmn2.Operation) object1;
+ org.eclipse.bpmn2.Operation o2 = (org.eclipse.bpmn2.Operation) object2;
+ return equals(o1.getName(), o2.getName()) &&
+ equals(o1.getImplementationRef(), o2.getImplementationRef()) &&
+ equals(o1.getErrorRefs(), o2.getErrorRefs()) &&
+ equals(o1.getInMessageRef(), o2.getInMessageRef()) &&
+ equals(o1.getOutMessageRef(), o2.getOutMessageRef());
+ }
+ if (object1 instanceof org.eclipse.bpmn2.Message && object2 instanceof org.eclipse.bpmn2.Message) {
+ org.eclipse.bpmn2.Message m1 = (org.eclipse.bpmn2.Message) object1;
+ org.eclipse.bpmn2.Message m2 = (org.eclipse.bpmn2.Message) object2;
+ return equals(m1.getItemRef(), m2.getItemRef()) &&
+ equals(m1.getName(), m2.getName());
+ }
+ if (object1 instanceof org.eclipse.bpmn2.Error && object2 instanceof org.eclipse.bpmn2.Error) {
+ org.eclipse.bpmn2.Error e1 = (org.eclipse.bpmn2.Error) object1;
+ org.eclipse.bpmn2.Error e2 = (org.eclipse.bpmn2.Error) object2;
+ return equals(e1.getName(), e2.getName()) &&
+ equals(e1.getStructureRef(), e2.getStructureRef());
+ }
+ if (object1 instanceof ItemDefinition && object2 instanceof ItemDefinition) {
+ ItemDefinition i1 = (ItemDefinition) object1;
+ ItemDefinition i2 = (ItemDefinition) object2;
+ return equals(i1.getItemKind(), i2.getItemKind()) &&
+ equals(i1.getStructureRef(), i2.getStructureRef());
+ }
+
+ // Compare WSDL types
+ if (object1 instanceof PortType && object2 instanceof PortType) {
+ PortType p1 = (PortType) object1;
+ PortType p2 = (PortType) object2;
+ return equals(p1.getQName(), p2.getQName()) &&
+ equals(p1.getOperations(), p2.getOperations());
+ }
+ if (object1 instanceof Operation && object2 instanceof Operation) {
+ Operation o1 = (Operation) object1;
+ Operation o2 = (Operation) object2;
+ return equals(o1.getName(), o2.getName()) &&
+ equals(o1.getInput(), o2.getInput()) &&
+ equals(o1.getOutput(), o2.getOutput()) &&
+ equals(o1.getFaults(), o2.getFaults()) &&
+ equals(o1.getStyle(), o2.getStyle());
+
+ }
+ if (object1 instanceof Message && object2 instanceof Message) {
+ Message m1 = (Message) object1;
+ Message m2 = (Message) object2;
+ return equals(m1.getQName(), m2.getQName());
+ }
+ if (object1 instanceof MessageReference && object2 instanceof MessageReference) {
+ MessageReference m1 = (MessageReference) object1;
+ MessageReference m2 = (MessageReference) object2;
+ return equals(m1.getName(), m2.getName()) &&
+ equals(m1.getEMessage(), m2.getEMessage());
+ }
+ if (object1 instanceof Fault && object2 instanceof Fault) {
+ Fault f1 = (Fault) object1;
+ Fault f2 = (Fault) object2;
+ return equals(f1.getEMessage(), f2.getEMessage());
+ }
+ if (object1 instanceof QName && object2 instanceof QName) {
+ QName m1 = (QName) object1;
+ QName m2 = (QName) object2;
+ return equals(m1.getNamespaceURI(), m2.getNamespaceURI()) &&
+ equals(m1.getLocalPart(), m2.getLocalPart());
+ }
+
+ // Compare XSD types
+ if (object1 instanceof XSDElementDeclaration && object2 instanceof XSDElementDeclaration) {
+ XSDElementDeclaration x1 = (XSDElementDeclaration) object1;
+ XSDElementDeclaration x2 = (XSDElementDeclaration) object2;
+ return equals(x1.getQName(), x2.getQName());
+ }
+
+ // Compare generic objects
+ if (object1 instanceof Map && object2 instanceof Map) {
+ Map m1 = (Map) object1;
+ Map m2 = (Map) object2;
+ if (m1.size()!=m2.size())
+ return false;
+ for (Object k1 : m1.keySet()) {
+ if (!equals(m1.get(k1), m2.get(k1)))
+ return false;
+ }
+ return true;
+ }
+ if (object1 instanceof List && object2 instanceof List) {
+ List l1 = (List) object1;
+ List l2 = (List) object2;
+ if (l1.size()!=l2.size())
+ return false;
+ for (int i=0; i<l1.size(); ++i) {
+ if (!equals(l1.get(i), l2.get(i)))
+ return false;
+ }
+ return true;
+ }
+ if (object1 instanceof String && object2 instanceof String)
+ return object1.equals(object2);
+// System.out.println("compare: \n "+object1+"\n "+object2);
+ return object1.equals(object2);
+ }
+
+ private static <T extends EObject> T createBpmn2Object(Definitions definitions, Class<T> clazz) {
+ EClassifier eClassifier = Bpmn2Package.eINSTANCE.getEClassifier(clazz.getSimpleName());
+ if (eClassifier instanceof EClass) {
+ T newObject = (T) Bpmn2Factory.eINSTANCE.create((EClass)eClassifier);
+ ModelUtil.setID(newObject, definitions.eResource());
+ return newObject;
+ }
+ return null;
+ }
}
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/NamespaceUtil.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/NamespaceUtil.java
index 48f4829a..deff12b3 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/NamespaceUtil.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/NamespaceUtil.java
@@ -13,10 +13,14 @@
package org.eclipse.bpmn2.modeler.core.utils;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import javax.xml.namespace.QName;
+
+import org.eclipse.bpmn2.Definitions;
import org.eclipse.bpmn2.DocumentRoot;
import org.eclipse.bpmn2.modeler.core.adapters.AdapterRegistry;
import org.eclipse.bpmn2.modeler.core.adapters.INamespaceMap;
@@ -26,8 +30,11 @@ import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.transaction.util.TransactionUtil;
-
-import javax.xml.namespace.QName;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.Message;
+import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDSchema;
/**
* @author Bob Brodt
@@ -241,4 +248,102 @@ public class NamespaceUtil {
}
return null;
}
+
+ ///////
+
+ public static List<String> getAllPrefixesForNamespace(Resource resource, String namespace) {
+ List<String> result = new ArrayList<String>();
+ Map<String,String> map = getXMLNSPrefixMap(resource);
+ if (map!=null) {
+ for (Entry<String, String> e : map.entrySet()) {
+ String value = e.getValue();
+ if (value!=null && value.equals(namespace))
+ result.add(e.getKey());
+ }
+ }
+ return result;
+ }
+
+
+ public static String getNamespaceForObject(Object object) {
+ String namespace = null;
+ // find the root container for this EObject
+ if (object instanceof EObject) {
+ EObject root = (EObject)object;
+ while ((namespace==null ||namespace.isEmpty()) && root!=null) {
+ if (root instanceof Definition) {
+ namespace = ((Definition)root).getTargetNamespace();
+ }
+ else if (root instanceof XSDNamedComponent) {
+ namespace = ((XSDNamedComponent)root).getTargetNamespace();
+ }
+ else if (root instanceof Definitions) {
+ namespace = ((Definitions)root).getTargetNamespace();
+ }
+ else if (root instanceof Message) {
+ namespace = ((Message)root).getQName().getNamespaceURI();
+ }
+ root = root.eContainer();
+ }
+ }
+ else if (object instanceof IType) {
+ namespace = "http://www.java.com/java";
+ }
+ return (namespace == null || namespace.isEmpty()) ? null : namespace;
+ }
+
+ public static String getQualifier(Object object) {
+ String qualifier = null;
+ // find the root container for this EObject
+ if (object instanceof EObject) {
+ EObject root = (EObject)object;
+ while (qualifier==null && root!=null) {
+ if (root instanceof Definition) {
+ qualifier = "wsdl";
+ }
+ else if (root instanceof XSDSchema) {
+ qualifier = "xsd";
+ }
+ else if (root instanceof Definitions) {
+ qualifier = "bpmn2";
+ }
+ root = root.eContainer();
+ }
+ }
+ else if (object instanceof IType) {
+ qualifier = "java";
+ }
+ return qualifier;
+ }
+
+ public static String getPrefixForObject(Resource resource, Object object) {
+ String prefix = "";
+ String namespace = getNamespaceForObject(object);
+ String qualifier = getQualifier(object);
+ if (namespace!=null) {
+ for (String s : getAllPrefixesForNamespace(resource, namespace)) {
+ if (s.endsWith("."+qualifier))
+ return s;
+ }
+ }
+ Map<String,String> map = getXMLNSPrefixMap(resource);
+ if (map!=null) {
+ prefix = createUniquePrefix(map, "ns"); //$NON-NLS-1$
+ }
+ if (prefix!=null) {
+ return prefix + "." + qualifier;
+ }
+ return prefix;
+ }
+
+ public static String addNamespaceForObject(Resource resource, Object object) {
+ String namespace = getNamespaceForObject(object);
+ String prefix = getPrefixForObject(resource, object);
+ if (namespace==null || hasPrefix(resource,prefix))
+ return null;
+
+ // generate a prefix
+ addNamespace(resource, prefix, namespace);
+ return namespace;
+ }
}
diff --git a/plugins/org.eclipse.bpmn2.modeler.ui/plugin-old.xml b/plugins/org.eclipse.bpmn2.modeler.ui/plugin-old.xml
deleted file mode 100644
index 42154376..00000000
--- a/plugins/org.eclipse.bpmn2.modeler.ui/plugin-old.xml
+++ /dev/null
@@ -1,1365 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="org.eclipse.bpmn2.modeler.ui" name="%extension-point.name" schema="schema/org.eclipse.bpmn2.modeler.ui.exsd"/>
- <extension point="org.eclipse.ui.newWizards">
- <!-- <primaryWizard id="org.eclipse.bpmn2.modeler.ui.diagram"> </primaryWizard> -->
- <wizard category="org.eclipse.bpmn2.wizardCategory"
- class="org.eclipse.bpmn2.modeler.ui.wizards.BPMN2DiagramWizard" icon="icons/bpmn2_editor_16.png"
- id="org.eclipse.bpmn2.modeler.ui.diagram" name="%wizard.name">
- </wizard>
- </extension>
-
- <extension point="org.eclipse.ui.editors">
- <editor
- class="org.eclipse.bpmn2.modeler.ui.editor.BPMN2MultiPageEditor"
- contributorClass="org.eclipse.graphiti.ui.editor.DiagramEditorActionBarContributor"
- default="true"
- extensions="bpmn,bpmn2"
- icon="icons/bpmn2_editor_16.png"
- id="org.eclipse.bpmn2.modeler.ui.bpmn2editor"
- name="%editor.name"
- matchingStrategy="org.eclipse.bpmn2.modeler.ui.editor.BPMN2EditorMatchingStrategy">
- <contentTypeBinding contentTypeId="org.eclipse.bpmn2.content-type.xml">
- </contentTypeBinding>
- </editor>
- </extension>
-
- <extension point="org.eclipse.core.contenttype.contentTypes">
- <content-type
- base-type="org.eclipse.core.runtime.xml"
- id="org.eclipse.bpmn2.content-type.xml"
- name="%content-type.name"
- file-extensions="bpmn,bpmn2,bpmn20,xml"
- priority="high">
- <describer
- class="org.eclipse.bpmn2.modeler.ui.Bpmn2ContentDescriber"
- plugin="org.eclipse.bpmn2.modeler.ui">
- </describer>
- </content-type>
- <file-association
- content-type="org.eclipse.bpmn2.content-type.xml"
- file-extensions="bpmn,bpmn2">
- </file-association>
- </extension>
-
- <extension
- point="org.eclipse.ui.elementFactories"
- id=".Bpmn2DiagramEditorInputFactory"
- name="%extension.name">
- <factory
- class="org.eclipse.bpmn2.modeler.ui.Bpmn2DiagramEditorInputFactory"
- id= "org.eclipse.bpmn2.modeler.ui.Bpmn2DiagramEditorInputFactory"/>
- </extension>
-
- <!-- Preference Pages -->
-
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- class="org.eclipse.bpmn2.modeler.ui.preferences.Bpmn2HomePreferencePage"
- id="org.eclipse.bpmn2.modeler.BPMN2"
- name="%PREFERENCE_PAGE_HOME"/>
- <page
- category="org.eclipse.bpmn2.modeler.BPMN2"
- class="org.eclipse.bpmn2.modeler.ui.preferences.Bpmn2EditorPreferencePage"
- id="org.eclipse.bpmn2.modeler.Editor"
- name="%PREFERENCE_PAGE_EDITOR"/>
-
- <page
- category="org.eclipse.bpmn2.modeler.BPMN2/org.eclipse.bpmn2.modeler.Editor"
- class="org.eclipse.bpmn2.modeler.ui.preferences.Bpmn2EditorAppearancePreferencePage"
- id="org.eclipse.bpmn2.modeler.Appearance"
- name="%PREFERENCE_PAGE_APPEARANCE"/>
- <page
- category="org.eclipse.bpmn2.modeler.BPMN2/org.eclipse.bpmn2.modeler.Editor"
- class="org.eclipse.bpmn2.modeler.ui.preferences.Bpmn2EditorBehaviorPreferencePage"
- id="org.eclipse.bpmn2.modeler.Behavior"
- name="%PREFERENCE_PAGE_BEHAVIOR"/>
- <page
- category="org.eclipse.bpmn2.modeler.BPMN2/org.eclipse.bpmn2.modeler.Editor"
- class="org.eclipse.bpmn2.modeler.ui.preferences.ToolProfilesPreferencePage"
- id="org.eclipse.bpmn2.modeler.Profiles"
- name="%PREFERENCE_PAGE_PROFILES"/>
- </extension>
-
- <!-- Property Pages - these per-project settings override the global preferences (above)-->
-
- <extension point="org.eclipse.ui.propertyPages">
- <page class="org.eclipse.bpmn2.modeler.ui.preferences.Bpmn2PropertyPage"
- id="org.eclipse.bpmn2.modeler.ui" name="%page.name">
- <enabledWhen>
- <or>
- <!-- TODO: do we need a java project? <adapt type="org.eclipse.core.resources.IProject">
- <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature">
- </test> </adapt> -->
- <adapt type="org.eclipse.core.resources.IProject">
- </adapt>
- </or>
- </enabledWhen>
- </page>
- </extension>
-
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
- <propertyContributor
- contributorId="org.eclipse.bpmn2.modeler.ui.PropertyContributor"
- labelProvider="org.eclipse.bpmn2.modeler.ui.property.PropertyLabelProvider"
- tabDescriptorProvider="org.eclipse.bpmn2.modeler.ui.property.PropertyTabDescriptorProvider">
- <propertyCategory category="BPMN2">
- </propertyCategory>
- </propertyContributor>
- </extension>
-
- <extension point="org.eclipse.graphiti.ui.diagramTypes">
- <diagramType description="This is the diagram type for the BMPN2 diagram"
- id="org.eclipse.bpmn2.modeler.ui.diagram.MainBPMNDiagramType" name="BPMN2 Diagram Type"
- type="BPMN2">
- </diagramType>
- </extension>
-
- <extension point="org.eclipse.graphiti.ui.diagramTypeProviders">
- <diagramTypeProvider
- class="org.eclipse.bpmn2.modeler.ui.diagram.Bpmn2DiagramTypeProvider"
- description="This is the editor for the BPMN2 diagram"
- id="org.eclipse.bpmn2.modeler.ui.diagram.MainBPMNDiagramType" name="BPMN2 Editor">
- <diagramType
- id="org.eclipse.bpmn2.modeler.ui.diagram.MainBPMNDiagramType">
- </diagramType>
- <imageProvider id="org.eclipse.bpmn2.modeler.ui.ImageProvider">
- </imageProvider>
- </diagramTypeProvider>
- </extension>
-
- <extension point="org.eclipse.graphiti.ui.imageProviders">
- <imageProvider class="org.eclipse.bpmn2.modeler.ui.ImageProvider"
- id="org.eclipse.bpmn2.modeler.ui.ImageProvider">
- </imageProvider>
- </extension>
-
- <!-- Provide a default "runtime" behavior -->
-
- <extension point="org.eclipse.bpmn2.modeler.runtime">
- <runtime class="org.eclipse.bpmn2.modeler.ui.DefaultBpmn2RuntimeExtension"
- description="%runtime.description" id="org.eclipse.bpmn2.modeler.runtime.none"
- name="%runtime.name">
- </runtime>
-
- <model runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- uri="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI"
- resourceFactory="org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerResourceFactoryImpl">
- </model>
-
- <!-- ======================================== -->
- <!-- =========== Model Extensions ========== -->
- <!-- ======================================== -->
-
- <dataType name="EColor" class="org.eclipse.bpmn2.modeler.ui.property.EColorConversionDelegate"/>
- <dataType name="EFont" class="org.eclipse.bpmn2.modeler.ui.property.EFontConversionDelegate"/>
-
- <modelExtension
- id="org.eclipse.bpmn2.modeler.runtime.none.modelExtension.appearance.BaseElement"
- uri="http://org.eclipse.bpmn2/ext"
- name="BaseElement Appearance"
- type="BaseElement">
- <property name="style" type="ShapeStyle" label="%appearance">
- <value>
- <property name="shapeForeground" type="EColor" label="%border.color" />
- <property name="shapeBackground" type="EColor" label="%fill.color" />
- <property name="labelForeground" type="EColor" label="%label.color" />
- <property name="labelFont" type="EFont" label="%label.font" />
- <property name="labelPosition" type="LabelPosition:EEnum" value="%label.position.values" label="%label.position" />
- <property name="routingStyle" type="RoutingStyle:EEnum" value="%routing.style.values" label="%routing.style" />
- </value>
- </property>
- </modelExtension>
-
- <!-- ======================================== -->
- <!-- ============ Property Tabs ============ -->
- <!-- ======================================== -->
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.DescriptionPropertySection"
- image="icons/20/Thumbnail.png"
- popup="true"
- label="%propertyTab.label.General">
- </propertyTab>
-
- <!-- ============ Diagrams ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.process.diagram.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.diagrams.ProcessDiagramPropertySection"
- type="org.eclipse.bpmn2.di.BPMNDiagram"
- label="%propertyTab.label.0">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.participant.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.diagrams.ParticipantPropertySection"
- type="org.eclipse.bpmn2.Participant"
- label="%propertyTab.label.60">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.definitions.tab"
- afterTab="org.eclipse.bpmn2.modeler.interface.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.diagrams.DefinitionsPropertySection"
- type="org.eclipse.bpmn2.di.BPMNDiagram org.eclipse.bpmn2.Process"
- label="%propertyTab.label.1">
- </propertyTab>
-
- <!-- ============ Connections ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.assocation.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="associationDirection"
- type="org.eclipse.bpmn2.Association"
- label="%propertyTab.label.2">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataAssocation.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="transformation assignment"
- type="org.eclipse.bpmn2.DataInputAssociation org.eclipse.bpmn2.DataOutputAssociation"
- label="%propertyTab.label.3">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.sequenceflow.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.connectors.SequenceFlowPropertySection"
- type="org.eclipse.bpmn2.SequenceFlow"
- label="%propertyTab.label.4">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.messageFlow.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.connectors.MessageFlowPropertySection"
- type="org.eclipse.bpmn2.MessageFlow"
- label="%propertyTab.label.5">
- </propertyTab>
-
- <!-- ============ Activities ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.callActivity.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- type="org.eclipse.bpmn2.CallActivity"
- label="%propertyTab.label.6">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.subProcess.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.features.activity.subprocess.SubProcessPropertySection"
- type="org.eclipse.bpmn2.SubProcess"
- label="%propertyTab.label.7">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.adHocSubProcess.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- type="org.eclipse.bpmn2.AdHocSubProcess"
- label="%propertyTab.label.8">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.transaction.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- type="org.eclipse.bpmn2.Transaction"
- label="%propertyTab.label.9">
- </propertyTab>
-
- <!-- ============ Tasks ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.TaskPropertySection"
- type="org.eclipse.bpmn2.Task"
- label="%propertyTab.label.10">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.businessRuleTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.TaskPropertySection"
- type="org.eclipse.bpmn2.BusinessRuleTask"
- label="%propertyTab.label.11">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.manualTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ManualTaskPropertySection"
- type="org.eclipse.bpmn2.ManualTask"
- label="%propertyTab.label.12">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.receiveTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation instantiate messageRef operationRef isForCompensation"
- type="org.eclipse.bpmn2.ReceiveTask"
- label="%propertyTab.label.13">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.scriptTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ScriptTaskPropertySection"
- type="org.eclipse.bpmn2.ScriptTask"
- label="%propertyTab.label.14">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.sendTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation messageRef operationRef isForCompensation"
- type="org.eclipse.bpmn2.SendTask"
- label="%propertyTab.label.15">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.serviceTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation operationRef isForCompensation"
- type="org.eclipse.bpmn2.ServiceTask"
- label="%propertyTab.label.16">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.userTask.tab"
- replaceTab="org.eclipse.bpmn2.modeler.task.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation resources renderings isForCompensation"
- type="org.eclipse.bpmn2.UserTask"
- label="%propertyTab.label.17">
- </propertyTab>
-
- <!-- ============ Global Tasks ============ -->
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.globalBusinessRuleTask.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation resources"
- type="org.eclipse.bpmn2.GlobalBusinessRuleTask"
- label="%propertyTab.label.18">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.globalManualTask.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="resources"
- type="org.eclipse.bpmn2.GlobalManualTask"
- label="%propertyTab.label.19">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.globalScriptTask.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="scriptLanguage script resources"
- type="org.eclipse.bpmn2.GlobalScriptTask"
- label="%propertyTab.label.20">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.globalUserTask.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- features="implementation resources"
- type="org.eclipse.bpmn2.GlobalUserTask"
- label="%propertyTab.label.21">
- </propertyTab>
-
- <!-- ============ Choreography Activities ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.callChoreography.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.ActivityPropertySection"
- type="org.eclipse.bpmn2.CallChoreography"
- label="%propertyTab.label.22">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.choreographyTask.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="loopType initiatingParticipantRef correlationKeys messageFlowRef"
- type="org.eclipse.bpmn2.ChoreographyTask"
- label="%propertyTab.label.23">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.subChoreography.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="anyAttribute loopType participantRefs initiatingParticipantRef correlationKeys artifacts"
- type="org.eclipse.bpmn2.SubChoreography"
- label="%propertyTab.label.24">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.conversation.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="correlationKeys"
- type="org.eclipse.bpmn2.Conversation"
- label="%propertyTab.label.25">
- </propertyTab>
-
- <!-- ============ Gateways ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.gateway.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.gateways.GatewayPropertySection"
- type="org.eclipse.bpmn2.Gateway"
- label="%propertyTab.label.26">
- </propertyTab>
-
- <!-- ============ Events ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.commonEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.events.CommonEventPropertySection"
- type="org.eclipse.bpmn2.Event"
- label="%propertyTab.label.27">
- </propertyTab>
-
- <!-- ============ Event Definitionss ============ -->
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.conditionalEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.events.ConditionalEventDefinitionPropertySection"
- type="org.eclipse.bpmn2.ConditionalEventDefinition"
- label="%propertyTab.label.28">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.compensateEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="activityRef waitForCompletion"
- type="org.eclipse.bpmn2.CompensateEventDefinition"
- label="%propertyTab.label.29">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.errorEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="errorRef"
- type="org.eclipse.bpmn2.ErrorEventDefinition"
- label="%propertyTab.label.30">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.escalationEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="escalationRef"
- type="org.eclipse.bpmn2.EscalationEventDefinition"
- label="%propertyTab.label.31">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.errorEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="errorRef"
- type="org.eclipse.bpmn2.ErrorEventDefinition"
- label="%propertyTab.label.32">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.linkEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="name"
- type="org.eclipse.bpmn2.LinkEventDefinition"
- label="%propertyTab.label.33">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.messageEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="messageRef operationReft"
- type="org.eclipse.bpmn2.MessageEventDefinition"
- label="%propertyTab.label.34">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.signalEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="signalRef"
- type="org.eclipse.bpmn2.SignalEventDefinition"
- label="%propertyTab.label.35">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.timerEvent.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.events.TimerEventDefinitionPropertySection"
- type="org.eclipse.bpmn2.TimerEventDefinition"
- label="%propertyTab.label.36">
- </propertyTab>
-
- <!-- ============ Artifacts ============ -->
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.group.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="categoryValueRef"
- type="org.eclipse.bpmn2.Group"
- label="%propertyTab.label.37">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.textAnnotation.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.artifact.TextAnnotationPropertySection"
- type="org.eclipse.bpmn2.TextAnnotation"
- label="%propertyTab.label.38">
- </propertyTab>
-
- <!-- ============ Root Elements ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.error.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="errorCode structureRef"
- type="org.eclipse.bpmn2.Error"
- label="%propertyTab.label.39">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.escalation.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="escalationCode structureRef"
- type="org.eclipse.bpmn2.Escalation"
- label="%propertyTab.label.40">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.interface.tab"
- afterTab="org.eclipse.bpmn2.modeler.process.diagram.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.InterfacePropertySection"
- type="org.eclipse.bpmn2.di.BPMNDiagram org.eclipse.bpmn2.Process org.eclipse.bpmn2.Participant"
- label="%propertyTab.label.41">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.interface.details.tab"
- afterTab="org.eclipse.bpmn2.modeler.process.diagram.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.InterfacePropertySection"
- type="org.eclipse.bpmn2.Interface"
- label="%propertyTab.label.42">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.operation.tab"
- afterTab="org.eclipse.bpmn2.modeler.process.diagram.tab"
- class="default"
- features="implementationRef inMessageRef outMessageRef errorRefs"
- type="org.eclipse.bpmn2.Operation"
- label="%propertyTab.label.43">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.itemDefinition.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="itemKind structureRef isCollection"
- type="org.eclipse.bpmn2.ItemDefinition"
- label="%propertyTab.label.44">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.message.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="itemRef"
- type="org.eclipse.bpmn2.Message"
- label="%propertyTab.label.45">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.partnerEntity.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="participantRef"
- type="org.eclipse.bpmn2.PartnerEntity"
- label="%propertyTab.label.46">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.partnerRole.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="participantRef"
- type="org.eclipse.bpmn2.PartnerRole"
- label="%propertyTab.label.47">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.resource.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="resourceParameters"
- type="org.eclipse.bpmn2.Resource"
- label="%propertyTab.label.48">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.signal.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="structureRef"
- type="org.eclipse.bpmn2.Signal"
- label="%propertyTab.label.49">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.category.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="default"
- features="categoryValue"
- type="org.eclipse.bpmn2.Category"
- label="%propertyTab.label.59">
- </propertyTab>
-
- <!-- ============ Item Aware Elements ============ -->
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataitems.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.diagrams.DataItemsPropertySection"
- type="org.eclipse.bpmn2.di.BPMNDiagram org.eclipse.bpmn2.Process"
- label="%propertyTab.label.50">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataInput.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataInputPropertySection"
- type="org.eclipse.bpmn2.DataInput"
- label="%propertyTab.label.51">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataobject.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataObjectPropertySection"
- type="org.eclipse.bpmn2.DataObject org.eclipse.bpmn2.DataObjectReference"
- label="%propertyTab.label.52">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataobjectref.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataObjectReferencePropertySection"
- type="org.eclipse.bpmn2.DataObjectReference"
- label="%propertyTab.label.53">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.dataOutput.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataOutputPropertySection"
- type="org.eclipse.bpmn2.DataOutput"
- label="%propertyTab.label.54">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.datastore.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataStorePropertySection"
- type="org.eclipse.bpmn2.DataStore org.eclipse.bpmn2.DataStoreReference"
- label="%propertyTab.label.55">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.datastoreref.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.data.DataStoreReferencePropertySection"
- type="org.eclipse.bpmn2.DataStoreReference"
- label="%propertyTab.label.56">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.activity.io.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.tasks.IoParametersPropertySection"
- label="%propertyTab.label.57">
- </propertyTab>
-
- <propertyTab
- id="org.eclipse.bpmn2.modeler.advanced.tab"
- afterTab="org.eclipse.bpmn2.modeler.description.tab"
- class="org.eclipse.bpmn2.modeler.ui.property.AdvancedPropertySection"
- popup="false"
- label="%propertyTab.label.58">
- </propertyTab>
-
- <toolPalette
- id="org.bpmn2.modeler.toolpalette.process.default"
- runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- type="Process" profile="Default Process,Simple Process">
-
- <category id="org.bpmn2.modeler.toolpalette.default.categories"/>
-
- <category id="org.bpmn2.modeler.toolpalette.process.patterns" name="%category.name">
- <tool name="%tool.name" id="org.bpmn2.modeler.tool.arbitrary.cycles" description="%arbitrary.cycles.description">
- <object type="Task[$name='Task A']" id="arbitrary.cycles.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=200]" id="arbitrary.cycles.taskB"/>
- <object type="Task[$name='Task C',x=200,y=100]" id="arbitrary.cycles.taskC"/>
- <object type="Task[$name='Task D',x=400,y=50]" id="arbitrary.cycles.taskD"/>
- <object type="Task[$name='Task E',x=600]" id="arbitrary.cycles.taskE"/>
- <object type="Task[$name='Task F',x=600,y=100]" id="arbitrary.cycles.taskF"/>
- <object type="Task[$name='Task G',x=700,y=200]" id="arbitrary.cycles.taskG" optional="true"/>
- <object type="ExclusiveGateway[x=100]" id="arbitrary.cycles.xor1"/>
- <object type="ExclusiveGateway[x=100,y=200]" id="arbitrary.cycles.xor2"/>
- <object type="ExclusiveGateway[x=300,y=50]" id="arbitrary.cycles.xor3"/>
- <object type="ExclusiveGateway[x=500,y=50]" id="arbitrary.cycles.xor4"/>
- <object type="ExclusiveGateway[x=600,y=200]" id="arbitrary.cycles.xor5"/>
- <object type="SequenceFlow[source='arbitrary.cycles.taskA',target='arbitrary.cycles.xor1']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor1',target='arbitrary.cycles.taskB']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor1',target='arbitrary.cycles.xor2']" />
- <object type="SequenceFlow[source='arbitrary.cycles.xor2',target='arbitrary.cycles.taskC']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.taskB',target='arbitrary.cycles.xor3']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.taskC',target='arbitrary.cycles.xor3']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor3',target='arbitrary.cycles.taskD']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.taskD',target='arbitrary.cycles.xor4']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor4',target='arbitrary.cycles.taskE']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor4',target='arbitrary.cycles.taskF']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.taskF',target='arbitrary.cycles.xor5']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor5',target='arbitrary.cycles.taskG']"/>
- <object type="SequenceFlow[source='arbitrary.cycles.xor5',target='arbitrary.cycles.xor2']" />
- </tool>
-
- <tool name="%tool.name.0" id="org.bpmn2.modeler.tool.deferred.choice">
- <object type="Task[$name='Task A',y=50]" id="deferred.choice.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=300]" id="deferred.choice.taskB"/>
- <object type="Task[$name='Task C',x=300,y=100]" id="deferred.choice.taskC"/>
- <object type="EventBasedGateway[x=100,y=50]" id="deferred.choice.gateway"/>
- <object type="IntermediateCatchEvent[x=200]+MessageEventDefinition" id="deferred.choice.event1"/>
- <object type="IntermediateCatchEvent[x=200,y=100]+MessageEventDefinition" id="deferred.choice.event2"/>
- <object type="SequenceFlow[source='deferred.choice.taskA',target='deferred.choice.gateway']"/>
- <object type="SequenceFlow[source='deferred.choice.gateway',target='deferred.choice.event1']"/>
- <object type="SequenceFlow[source='deferred.choice.gateway',target='deferred.choice.event2']"/>
- <object type="SequenceFlow[source='deferred.choice.event1',target='deferred.choice.taskB']"/>
- <object type="SequenceFlow[source='deferred.choice.event2',target='deferred.choice.taskC']"/>
- </tool>
-
- <tool name="%tool.name.1" id="org.bpmn2.modeler.tool.exclusive.choice">
- <object type="Task[$name='Task A',y=100]" id="exclusive.choice.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=200]" id="exclusive.choice.taskB"/>
- <object type="Task[$name='Task C',x=200,y=100]" id="exclusive.choice.taskC"/>
- <object type="Task[$name='Task D',x=200,y=200]" id="exclusive.choice.taskD"/>
- <object type="ExclusiveGateway[x=100,y=100]" id="exclusive.choice.gateway"/>
- <object type="SequenceFlow[source='exclusive.choice.taskA',target='exclusive.choice.gateway']"/>
- <object type="SequenceFlow[source='exclusive.choice.gateway',target='exclusive.choice.taskB']"/>
- <object type="SequenceFlow[source='exclusive.choice.gateway',target='exclusive.choice.taskC']"/>
- <object type="SequenceFlow[source='exclusive.choice.gateway',target='exclusive.choice.taskD']"/>
- </tool>
-
- <tool name="%tool.name.2" id="org.bpmn2.modeler.tool.implicit.termination">
- <object type="StartEvent[y=50]" id="implicit.termination.start"/>
- <object type="Task[$name='Task A',x=100,y=50]" id="implicit.termination.taskA"/>
- <object type="Task[$name='Task B1',x=300]" id="implicit.termination.taskB"/>
- <object type="Task[$name='Task B2',x=300,y=100]" id="implicit.termination.taskC"/>
- <object type="ExclusiveGateway[x=200,y=50]" id="implicit.termination.gateway"/>
- <object type="EndEvent[x=400]+TerminateEventDefinition" id="implicit.termination.end1"/>
- <object type="EndEvent[x=400,y=100]+TerminateEventDefinition" id="implicit.termination.end2"/>
- <object type="SequenceFlow[source='implicit.termination.start',target='implicit.termination.taskA']"/>
- <object type="SequenceFlow[source='implicit.termination.taskA',target='implicit.termination.gateway']"/>
- <object type="SequenceFlow[source='implicit.termination.gateway',target='implicit.termination.taskB']"/>
- <object type="SequenceFlow[source='implicit.termination.gateway',target='implicit.termination.taskC']"/>
- <object type="SequenceFlow[source='implicit.termination.taskB',target='implicit.termination.end1']"/>
- <object type="SequenceFlow[source='implicit.termination.taskC',target='implicit.termination.end2']"/>
- </tool>
-
- <tool name="%tool.name.3" id="org.bpmn2.modeler.tool.mi.no.sync">
- <object type="Task[$name='Task A']" id="mi.no.sync.taskA" optional="true"/>
- <object type="SubProcess[$name='Task B',$loopCharacteristics=$MultiInstanceLoopCharacteristics,x=200,width=200,height=100]" id="mi.no.sync.taskB"/>
- <object type="Task[$name='Task C',x=400]" id="mi.no.sync.taskC" optional="true"/>
- <object type="SequenceFlow[source='mi.no.sync.taskA',target='mi.no.sync.taskB']"/>
- <object type="SequenceFlow[source='mi.no.sync.taskB',target='mi.no.sync.taskC']"/>
- </tool>
-
- <tool name="%tool.name.4" id="org.bpmn2.modeler.tool.parallel.split">
- <object type="Task[$name='Task A',y=50]" id="parallel.split.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=200]" id="parallel.split.taskB" optional="true"/>
- <object type="Task[$name='Task C',x=200,y=100]" id="parallel.split.taskC" optional="true"/>
- <object type="ParallelGateway[x=100,y=50]" id="parallel.split.gateway"/>
- <object type="SequenceFlow[source='parallel.split.taskA',target='parallel.split.gateway']"/>
- <object type="SequenceFlow[source='parallel.split.gateway',target='parallel.split.taskB']"/>
- <object type="SequenceFlow[source='parallel.split.gateway',target='parallel.split.taskC']"/>
- </tool>
-
- <tool name="%tool.name.5" id="org.bpmn2.modeler.tool.sequence">
- <object type="Task[$name='Task A']" id="sequence.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=200]" id="sequence.taskB"/>
- <object type="Task[$name='Task C',x=400]" id="sequence.taskC"/>
- <object type="SequenceFlow[source='sequence.taskA',target='sequence.taskB']"/>
- <object type="SequenceFlow[source='sequence.taskB',target='sequence.taskC']"/>
- </tool>
-
- <tool name="%tool.name.6" id="org.bpmn2.modeler.tool.simple.merge">
- <object type="Task[$name='Task B']" id="simple.merge.taskB" optional="true"/>
- <object type="Task[$name='Task C',y=100]" id="simple.merge.taskC" optional="true"/>
- <object type="Task[$name='Task D',y=200]" id="simple.merge.taskD" optional="true"/>
- <object type="Task[$name='Task E',x=200,y=100]" id="simple.merge.taskE" optional="true"/>
- <object type="ExclusiveGateway[x=100,y=100,$gatewayDirection=Converging]" id="simple.merge.gateway"/>
- <object type="SequenceFlow[source='simple.merge.taskB',target='simple.merge.gateway']"/>
- <object type="SequenceFlow[source='simple.merge.taskC',target='simple.merge.gateway']"/>
- <object type="SequenceFlow[source='simple.merge.taskD',target='simple.merge.gateway']"/>
- <object type="SequenceFlow[source='simple.merge.gateway',target='simple.merge.taskE']"/>
- </tool>
-
- <tool name="%tool.name.7" id="org.bpmn2.modeler.tool.synchronization">
- <object type="Task[$name='Task B1']" id="synchronization.taskB1" optional="true"/>
- <object type="Task[$name='Task B2',y=100]" id="synchronization.taskB2" optional="true"/>
- <object type="Task[$name='Task C',x=200,y=50]" id="synchronization.taskC" optional="true"/>
- <object type="ParallelGateway[x=100,y=50,$gatewayDirection=Converging]" id="synchronization.gateway"/>
- <object type="SequenceFlow[source='synchronization.taskB1',target='synchronization.gateway']"/>
- <object type="SequenceFlow[source='synchronization.taskB2',target='synchronization.gateway']"/>
- <object type="SequenceFlow[source='synchronization.gateway',target='synchronization.taskC']"/>
- </tool>
-
- <tool name="%tool.name.8" id="org.bpmn2.modeler.tool.synchronizing.merge">
- <object type="Task[$name='Task A',y=100]" id="synchronizing.merge.taskA" optional="true"/>
- <object type="Task[$name='Task B',x=200]" id="synchronizing.merge.taskB"/>
- <object type="Task[$name='Task C',x=200,y=200]" id="synchronizing.merge.taskC"/>
- <object type="Task[$name='Task D',x=400,y=100]" id="synchronizing.merge.taskD" optional="true"/>
- <object type="InclusiveGateway[x=100,y=100,$gatewayDirection=Diverging]" id="synchronizing.merge.gateway1"/>
- <object type="InclusiveGateway[x=300,y=100,$gatewayDirection=Converging]" id="synchronizing.merge.gateway2"/>
- <object type="SequenceFlow[source='synchronizing.merge.taskA',target='synchronizing.merge.gateway1']"/>
- <object type="SequenceFlow[source='synchronizing.merge.gateway1',target='synchronizing.merge.taskB']"/>
- <object type="SequenceFlow[source='synchronizing.merge.gateway1',target='synchronizing.merge.taskC']"/>
- <object type="SequenceFlow[source='synchronizing.merge.taskB',target='synchronizing.merge.gateway2']"/>
- <object type="SequenceFlow[source='synchronizing.merge.taskC',target='synchronizing.merge.gateway2']"/>
- <object type="SequenceFlow[source='synchronizing.merge.gateway2',target='synchronizing.merge.taskD']"/>
- </tool>
-
- </category>
-
- </toolPalette>
-
- <!-- ======================================== -->
- <!-- === Model Enablements and Profiles ==== -->
- <!-- ======================================== -->
-
- <modelEnablement
- runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- type="Process"
- profile="Default Process">
- <enable object="Definitions"/>
-
- <!-- process -->
- <enable object="Process"/>
- <enable object="SubProcess"/>
- <enable object="Transaction"/>
- <enable object="AdHocSubProcess"/>
-
- <!-- gateways -->
- <enable object="ExclusiveGateway"/>
- <enable object="InclusiveGateway"/>
- <enable object="ParallelGateway"/>
- <enable object="EventBasedGateway"/>
- <enable object="ComplexGateway"/>
-
- <!-- tasks -->
- <enable object="BusinessRuleTask"/>
- <enable object="CallActivity"/>
- <enable object="ManualTask"/>
- <enable object="ReceiveTask"/>
- <enable object="ScriptTask"/>
- <enable object="SendTask"/>
- <enable object="ServiceTask"/>
- <enable object="Task"/>
- <enable object="UserTask"/>
-
- <enable object="GlobalTask"/>
- <enable object="GlobalBusinessRuleTask"/>
- <enable object="GlobalManualTask"/>
- <enable object="GlobalScriptTask"/>
- <enable object="GlobalUserTask"/>
- <enable object="Task"/>
-
- <!-- connections -->
- <enable object="SequenceFlow"/>
- <enable object="Association"/>
- <enable object="DataAssociation"/>
-
- <!-- events -->
- <enable object="StartEvent"/>
- <enable object="EndEvent"/>
- <enable object="IntermediateCatchEvent"/>
- <enable object="IntermediateThrowEvent"/>
- <enable object="Escalation"/>
- <enable object="CatchEvent"/>
- <enable object="ThrowEvent"/>
- <enable object="BoundaryEvent"/>
- <enable object="Signal"/>
- <enable object="Error"/>
-
- <!-- event definitions -->
- <enable object="ConditionalEventDefinition"/>
- <enable object="TimerEventDefinition"/>
- <enable object="SignalEventDefinition"/>
- <enable object="MessageEventDefinition"/>
- <enable object="EscalationEventDefinition"/>
- <enable object="CompensateEventDefinition"/>
- <enable object="LinkEventDefinition" feature="name"/>
- <enable object="ErrorEventDefinition"/>
- <enable object="CancelEventDefinition"/>
- <enable object="TerminateEventDefinition"/>
- <enable object="ComplexBehaviorDefinition"/>
- <enable object="ImplicitThrowEvent"/>
-
-
- <!-- data definitions -->
- <enable object="Import"/>
- <enable object="InputOutputSpecification"/>
- <enable object="InputSet"/>
- <enable object="OutputSet"/>
- <enable object="Operation"/>
- <enable object="Interface"/>
- <enable object="ItemDefinition"/>
- <enable object="Message"/>
- <enable object="DataInput"/>
- <enable object="DataInputAssociation"/>
- <enable object="DataOutput"/>
- <enable object="DataOutputAssociation"/>
- <enable object="Property"/>
- <enable object="ItemAwareElement"/>
- <enable object="DataState"/>
- <enable object="DataStore"/>
- <enable object="DataStoreReference"/>
- <enable object="DataObjectReference"/>
- <enable object="DataObject"/>
- <enable object="Group"/>
- <enable object="Category"/>
- <enable object="CategoryValue"/>
- <enable object="TextAnnotation"/>
- <enable object="ExtensionAttributeValue"/>
- <enable object="ExtensionAttributeDefinition"/>
- <enable object="StandardLoopCharacteristics"/>
- <enable object="MultiInstanceLoopCharacteristics"/>
- <enable object="Lane"/>
- <enable object="LaneSet"/>
- <enable object="Participant"/>
- <enable object="Resource"/>
- <enable object="ResourceAssignmentExpression"/>
- <enable object="ResourceParameter"/>
- <enable object="ResourceParameterBinding"/>
- <enable object="ResourceRole"/>
-
- <!-- this is intended to be a baseclass for global tasks and Process and -->
- <!-- should NOT be a valid selection in ModelSubclassSelectionDialog -->
- <disable object="CallableElement"/>
- <enable object="CallActivity" feature="calledElementRef"/>
-
- <disable object="MessageFlow"/>
- <disable object="ConversationLink"/>
- <disable object="ConversationAssociation"/>
- <disable object="Collaboration"/>
- <disable object="Choreography"/>
- <disable object="ConversationNode"/>
- <disable object="MessageFlowAssociation"/>
- <disable object="Participant"/>
- <disable object="ParticipantAssociation"/>
- <disable object="ParticipantMultiplicity"/>
-
- <enable object="Assignment"/>
- <enable object="FormalExpression"/>
- <disable object="FormalExpression" feature="evaluatesToTypeRef"/>
- <enable object="EndPoint"/>
- <enable object="Documentation"/>
- </modelEnablement>
-
- <modelEnablement
- runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- type="Process"
- profile="Simple Process"
- ref="org.eclipse.bpmn2.modeler.runtime.none:Process:Default Process">
- <disable object="DataAssociation"/>
- <disable object="UserTask"/>
- <disable object="ScriptTask"/>
- <disable object="BusinessRuleTask"/>
- <disable object="ComplexGateway"/>
- <disable object="EventBasedGateway"/>
- <disable object="Transaction"/>
- <disable object="AdHocSubProcess"/>
- <disable object="CallActivity"/>
-
- <disable object="ConditionalEventDefinition"/>
- <disable object="LinkEventDefinition"/>
- <disable object="CancelEventDefinition"/>
- <disable object="CompensateEventDefinition"/>
-
- </modelEnablement>
-
- <modelEnablement
- runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- type="Collaboration"
- profile="Default Collaboration"
- ref="org.eclipse.bpmn2.modeler.runtime.none:Process:Default Process">
-
- <!-- copy the enablements from "Process" diagram type -->
- <!-- and then add these objects -->
- <enable object="Collaboration"/>
- <enable object="Participant"/>
- <enable object="MessageFlow"/>
- <enable object="Conversation"/>
- <enable object="SubConversation"/>
- <enable object="CallConversation"/>
- <enable object="ConversationLink"/>
- </modelEnablement>
-
- <modelEnablement
- runtimeId="org.eclipse.bpmn2.modeler.runtime.none"
- type="Choreography"
- profile="Default Choreography"
- ref="org.eclipse.bpmn2.modeler.runtime.none:Process:Default Process">
-
- <!-- copy the enablements from "Process" diagram type -->
- <!-- and then add these objects -->
- <enable object="Definitions"/>
- <enable object="Group"/>
-
- <enable object="StartEvent"/>
- <enable object="EndEvent"/>
-
- <disable object="DataObject"/>
- <disable object="DataObjectReference"/>
- <disable object="DataState"/>
- <disable object="DataStore"/>
- <disable object="DataStoreReference"/>
- <disable object="DataInput"/>
- <disable object="DataInputAssociation"/>
- <disable object="DataOutput"/>
- <disable object="DataOutputAssociation"/>
-
- <enable object="TextAnnotation"/>
- <enable object="SequenceFlow"/>
- <enable object="Choreography"/>
- <enable object="SubChoreography"/>
- <enable object="CallChoreography"/>
- <enable object="ChoreographyTask"/>
-
- <enable object="ExclusiveGateway"/>
- <enable object="InclusiveGateway"/>
- <enable object="ParallelGateway"/>
- <enable object="EventBasedGateway"/>
- <enable object="ComplexGateway"/>
-
- <enable object="ConditionalEventDefinition"/>
- <enable object="TimerEventDefinition"/>
- <enable object="SignalEventDefinition"/>
- <enable object="MessageEventDefinition"/>
- <enable object="EscalationEventDefinition"/>
- <enable object="CompensateEventDefinition"/>
- <enable object="LinkEventDefinition" feature="name"/>
- <enable object="ErrorEventDefinition"/>
- <enable object="CancelEventDefinition"/>
- <enable object="TerminateEventDefinition"/>
-
- <enable object="MessageFlow"/>
- <enable object="Participant"/>
-
- <disable object="ConversationLink"/>
- <disable object="ConversationAssociation"/>
- <disable object="Collaboration"/>
- <disable object="ConversationNode"/>
- <disable object="ExtensionAttributeDefinition"/>
- <disable object="MessageFlowAssociation"/>
- </modelEnablement>
-
- <style object="AdHocSubProcess" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="Association" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="BoundaryEvent" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="BusinessRuleTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="CallActivity" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="CallChoreography" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ChoreographyTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ComplexGateway" foreground="484800" background="C8C864" textColor="484800" font="arial,10,-,-"/>
- <style object="Conversation" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="DataAssociation" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="DataInput" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="DataObject" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="DataOutput" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="DataStoreReference" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="EndEvent" foreground="7F0000" background="FF8080" textColor="7F0000" font="arial,10,-,-"/>
- <style object="EventBasedGateway" foreground="484800" background="C8C864" textColor="484800" font="arial,10,-,-"/>
- <style object="ExclusiveGateway" foreground="484800" background="C8C864" textColor="484800" font="arial,10,-,-"/>
- <style object="Group" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="InclusiveGateway" foreground="484800" background="C8C864" textColor="484800" font="arial,10,-,-"/>
- <style object="IntermediateCatchEvent" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="IntermediateThrowEvent" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="Lane" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ManualTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="Message" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="MessageFlow" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ParallelGateway" foreground="484800" background="C8C864" textColor="484800" font="arial,10,-,-"/>
- <style object="Participant" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ReceiveTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ScriptTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="SendTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="SequenceFlow" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="ServiceTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="StartEvent" foreground="007F00" background="80FF80" textColor="007F00" font="arial,10,-,-"/>
- <style object="SubChoreography" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="SubProcess" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="Task" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="TextAnnotation" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="Transaction" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="UserTask" foreground="546778" background="D4E7F8" textColor="546778" font="arial,10,-,-"/>
- <style object="CANVAS" background="FFFFFF"/>
- <style object="GRID" foreground="E3EEF9"/>
-
- <typeLanguage name="XSD Schema" uri="http://www.w3.org/2001/XMLSchema" prefix="xs">
- <type name="string"/>
- <type name="date"/>
- <type name="byte"/>
- <type name="decimal"/>
- <type name="int"/>
- <type name="integer"/>
- <type name="long"/>
- <type name="short"/>
- <type name="boolean"/>
- </typeLanguage>
-
- <typeLanguage name="Java Types" uri="http://www.java.com/javaTypes" prefix="java">
- <type name="Boolean" qname="java.lang.Boolean"/>
- <type name="Byte" qname="java.lang.Byte"/>
- <type name="Character" qname="java.lang.Character"/>
- <type name="Float" qname="java.lang.Float"/>
- <type name="Integer" qname="java.lang.Integer"/>
- <type name="Long" qname="java.lang.Long"/>
- <type name="Short" qname="java.lang.Short"/>
- <type name="Double" qname="java.lang.Double"/>
- <type name="String" qname="java.lang.String"/>
- <type name="Object" qname="java.lang.Object"/>
- </typeLanguage>
-
- <expressionLanguage name="XPath" uri="http://www.w3.org/1999/XPath"/>
- <expressionLanguage name="Java" uri="http://www.java.com/java"/>
-
- <serviceImplementation name="Web Service" uri="##WebService"/>
- <serviceImplementation name="Unspecified" uri="##unspecified"/>
-
- </extension>
-
- <!-- menu commands -->
- <extension
- point="org.eclipse.ui.commands">
- <category
- id="org.eclipse.bpmn2.modeler.command.category"
- name="%category.name.0">
- </category>
- <command
- id="org.eclipse.bpmn2.modeler.command.createProcess"
- categoryId="org.eclipse.bpmn2.modeler.command.category"
- name="%command.name"/>
- <command
- id="org.eclipse.bpmn2.modeler.command.createChoreography"
- categoryId="org.eclipse.bpmn2.modeler.command.category"
- name="%command.name.0">
- </command>
- <command
- id="org.eclipse.bpmn2.modeler.command.createCollaboration"
- categoryId="org.eclipse.bpmn2.modeler.command.category"
- name="%command.name.1">
- </command>
- </extension>
-
- <!-- menu handlers -->
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.bpmn2.modeler.ui.commands.CreateDiagramCommand"
- commandId="org.eclipse.bpmn2.modeler.command.createProcess">
- </handler>
- <handler
- class="org.eclipse.bpmn2.modeler.ui.commands.CreateDiagramCommand"
- commandId="org.eclipse.bpmn2.modeler.command.createChoreography">
- </handler>
- <handler
- class="org.eclipse.bpmn2.modeler.ui.commands.CreateDiagramCommand"
- commandId="org.eclipse.bpmn2.modeler.command.createCollaboration">
- </handler>
- </extension>
-
- <!-- menu -->
- <extension
- id="org.eclipse.bpmn2.modeler.diagram.menu.extension"
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI= "menu:org.eclipse.ui.main.menu?after=additions">
- <menu
- id="org.eclipse.bpmn2.modeler.diagram.menu"
- label="%menu.label">
- <visibleWhen>
- <with
- variable="activeEditorId">
- <equals
- value="org.eclipse.bpmn2.modeler.ui.bpmn2editor">
- </equals>
- </with>
- </visibleWhen>
- </menu>
- </menuContribution>
- <menuContribution
- locationURI= "menu:org.eclipse.bpmn2.modeler.diagram.menu?after=additions">
- <command
- commandId="org.eclipse.bpmn2.modeler.command.createProcess"
- id= "createProcess"
- label= "%command.label">
- </command>
- <command
- commandId="org.eclipse.bpmn2.modeler.command.createChoreography"
- id= "createChoreography"
- label= "%command.label.0">
- </command>
- <command
- commandId="org.eclipse.bpmn2.modeler.command.createCollaboration"
- id= "createCollaboration"
- label= "%command.label.1">
- </command>
- </menuContribution>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+ARROW_UP">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveup">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+ARROW_DOWN">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="movedown">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+ARROW_LEFT">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveleft">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+ARROW_RIGHT">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveright">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+M2+ARROW_UP">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveup10">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+M2+ARROW_DOWN">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="movedown10">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+M2+ARROW_LEFT">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveleft10">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+M2+ARROW_RIGHT">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="moveright10">
- </parameter>
- </key>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="M1+D">
- <parameter
- id="org.eclipse.graphiti.ui.featureHint"
- value="duplicate">
- </parameter>
- </key>
- </extension>
-</plugin>
diff --git a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/InterfacePropertiesAdapter.java b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/InterfacePropertiesAdapter.java
index 99d3d264..f78d5b01 100644
--- a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/InterfacePropertiesAdapter.java
+++ b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/InterfacePropertiesAdapter.java
@@ -113,8 +113,7 @@ public class InterfacePropertiesAdapter extends ExtendedPropertiesAdapter<Interf
else if (value instanceof org.eclipse.wst.wsdl.Operation) {
org.eclipse.wst.wsdl.Operation operation = (org.eclipse.wst.wsdl.Operation)value;
String name = operation.getName();
- String namespace = operation.getEnclosingDefinition().getTargetNamespace();
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, namespace);
+ String prefix = NamespaceUtil.getPrefixForObject(resource, operation);
if (prefix!=null && !prefix.isEmpty())
text = prefix + ":" + name; //$NON-NLS-1$
else
diff --git a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/ItemDefinitionPropertiesAdapter.java b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/ItemDefinitionPropertiesAdapter.java
index f08c2e8e..d19a04ee 100644
--- a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/ItemDefinitionPropertiesAdapter.java
+++ b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/adapters/properties/ItemDefinitionPropertiesAdapter.java
@@ -187,19 +187,23 @@ public class ItemDefinitionPropertiesAdapter extends ExtendedPropertiesAdapter<I
if (itemDefinition!=null) {
Object value = itemDefinition.getStructureRef();
if (value instanceof XSDElementDeclaration) {
+ String prefix = NamespaceUtil.getPrefixForObject(resource, value);
XSDElementDeclaration elem = (XSDElementDeclaration)value;
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, elem.getSchema().getTargetNamespace());
name = elem.getName();
- if (prefix!=null && !prefix.isEmpty())
+ if (prefix!=null)
name = prefix + ":" + name; //$NON-NLS-1$
}
else if (value instanceof Message) {
Message message = (Message)value;
- name = NamespaceUtil.normalizeQName(resource,message.getQName());
+ String prefix = NamespaceUtil.getPrefixForObject(resource, value);
+ if (prefix!=null)
+ name = prefix + ":" + message.getQName().getLocalPart(); //$NON-NLS-1$
+ else
+ name = NamespaceUtil.normalizeQName(resource,message.getQName());
}
else if (value instanceof Fault) {
+ String prefix = NamespaceUtil.getPrefixForObject(resource, value);
Fault fault = (Fault)value;
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, fault.getEnclosingDefinition().getTargetNamespace());
name = fault.getName();
if (prefix!=null && !prefix.isEmpty())
name = prefix + ":" + name; //$NON-NLS-1$
diff --git a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/editors/SchemaObjectEditor.java b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/editors/SchemaObjectEditor.java
index e8e47eab..204cae90 100644
--- a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/editors/SchemaObjectEditor.java
+++ b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/editors/SchemaObjectEditor.java
@@ -112,13 +112,11 @@ public class SchemaObjectEditor extends TextAndButtonObjectEditor {
String value = ""; //$NON-NLS-1$
String selectionType = ""; //$NON-NLS-1$
+ String prefix = NamespaceUtil.getPrefixForObject(resource, element);
if (element instanceof PortType) {
// the element is a WSDL PortType
PortType portType = (PortType)element;
QName qname = portType.getQName();
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, qname.getNamespaceURI());
- if (prefix==null)
- prefix = NamespaceUtil.addNamespace(resource, qname.getNamespaceURI());
if (prefix!=null)
value = prefix + ":"; //$NON-NLS-1$
value += qname.getLocalPart();
@@ -156,9 +154,6 @@ public class SchemaObjectEditor extends TextAndButtonObjectEditor {
// the element is a WSDL Message
Message message = (Message)element;
QName qname = message.getQName();
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, qname.getNamespaceURI());
- if (prefix==null)
- prefix = NamespaceUtil.addNamespace(resource, qname.getNamespaceURI());
if (prefix!=null)
value = prefix + ":"; //$NON-NLS-1$
value += qname.getLocalPart();
@@ -180,25 +175,18 @@ public class SchemaObjectEditor extends TextAndButtonObjectEditor {
ns = type.getSchema().getTargetNamespace();
}
}
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, ns);
if (prefix!=null)
value = prefix + ":"; //$NON-NLS-1$
value += selectionPath;
}
if (element instanceof XSDTypeDefinition) {
// the element is a XSD type
- XSDTypeDefinition type = (XSDTypeDefinition)element;
- XSDSchema schema = getContainingSchema(type);
- String ns = schema.getTargetNamespace();
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, ns);
if (prefix!=null)
value = prefix + ":"; //$NON-NLS-1$
value += selectionPath;
}
if (element instanceof XSDSchema) {
// the element is a XSD schema
- XSDSchema schema = (XSDSchema)element;
- String prefix = NamespaceUtil.getPrefixForNamespace(resource, schema.getTargetNamespace());
if (prefix!=null)
value = prefix + ":"; //$NON-NLS-1$
value += "schema"; //$NON-NLS-1$

Back to the top