Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/data/DataObjectFeatureContainer.java')
-rw-r--r--org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/data/DataObjectFeatureContainer.java218
1 files changed, 0 insertions, 218 deletions
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/data/DataObjectFeatureContainer.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/data/DataObjectFeatureContainer.java
deleted file mode 100644
index 8155e1b6..00000000
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/data/DataObjectFeatureContainer.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 Red Hat, Inc.
- * All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- *
- * @author Innar Made
- ******************************************************************************/
-package org.eclipse.bpmn2.modeler.ui.features.data;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.bpmn2.Bpmn2Factory;
-import org.eclipse.bpmn2.Bpmn2Package;
-import org.eclipse.bpmn2.DataObject;
-import org.eclipse.bpmn2.DataObjectReference;
-import org.eclipse.bpmn2.FlowElement;
-import org.eclipse.bpmn2.impl.DataObjectImpl;
-import org.eclipse.bpmn2.modeler.core.ModelHandler;
-import org.eclipse.bpmn2.modeler.core.features.AbstractCreateFlowElementFeature;
-import org.eclipse.bpmn2.modeler.core.features.MultiUpdateFeature;
-import org.eclipse.bpmn2.modeler.core.features.data.AddDataFeature;
-import org.eclipse.bpmn2.modeler.core.features.label.UpdateLabelFeature;
-import org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerFactory;
-import org.eclipse.bpmn2.modeler.core.utils.FeatureSupport;
-import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
-import org.eclipse.bpmn2.modeler.ui.Activator;
-import org.eclipse.bpmn2.modeler.ui.ImageProvider;
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.ICreateFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.IUpdateFeature;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.ui.internal.util.ui.PopupMenu;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-public class DataObjectFeatureContainer extends AbstractDataFeatureContainer {
-
- @Override
- public boolean canApplyTo(Object o) {
- return o instanceof DataObject;
- }
-
- @Override
- public ICreateFeature getCreateFeature(IFeatureProvider fp) {
- return new CreateDataObjectFeature(fp);
- }
-
- @Override
- public IAddFeature getAddFeature(IFeatureProvider fp) {
- return new AddDataObjectFeature(fp);
- }
-
- @Override
- public IUpdateFeature getUpdateFeature(IFeatureProvider fp) {
- MultiUpdateFeature multiUpdate = new MultiUpdateFeature(fp);
- multiUpdate.addUpdateFeature(new UpdateDataObjectFeature(fp));
- multiUpdate.addUpdateFeature(new UpdateLabelFeature(fp));
- return multiUpdate;
- }
-
- public class AddDataObjectFeature extends AddDataFeature<DataObject> {
- public AddDataObjectFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- @Override
- public String getName(DataObject t) {
- return t.getName();
- }
- }
-
- public static class CreateDataObjectFeature extends AbstractCreateFlowElementFeature<FlowElement> {
-
- private static ILabelProvider labelProvider = new ILabelProvider() {
-
- public void removeListener(ILabelProviderListener listener) {
- }
-
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- public void dispose() {
-
- }
-
- public void addListener(ILabelProviderListener listener) {
-
- }
-
- public String getText(Object element) {
- if (((DataObject) element).getId() == null)
- return ((DataObject) element).getName();
- return NLS.bind(Messages.DataObjectFeatureContainer_Ref, ((DataObject) element).getName());
- }
-
- public Image getImage(Object element) {
- return null;
- }
-
- };
-
- public CreateDataObjectFeature(IFeatureProvider fp) {
- super(fp, Messages.DataObjectFeatureContainer_Name, Messages.DataObjectFeatureContainer_Description);
- }
-
- @Override
- public boolean canCreate(ICreateContext context) {
- return FeatureSupport.isValidDataTarget(context);
- }
-
- @Override
- public String getStencilImageId() {
- return ImageProvider.IMG_16_DATA_OBJECT;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.bpmn2.modeler.core.features.AbstractCreateFlowElementFeature#getFlowElementClass()
- */
- @Override
- public EClass getBusinessObjectClass() {
- return Bpmn2Package.eINSTANCE.getDataObject();
- }
-
- @Override
- public FlowElement createBusinessObject(ICreateContext context) {
- changesDone = true;
- FlowElement bo = null;
- try {
- DataObjectReference dataObjectReference = null;
- DataObject dataObject = null;
- ModelHandler mh = ModelHandler.getInstance(getDiagram());
- dataObjectReference = Bpmn2ModelerFactory.create(DataObjectReference.class);
- dataObject = Bpmn2ModelerFactory.create(DataObject.class);
- String oldName = dataObject.getName();
- dataObject.setName(Messages.DataObjectFeatureContainer_New);
- dataObject.setId(null);
- EObject targetBusinessObject = (EObject)getBusinessObjectForPictogramElement(context.getTargetContainer());
-
- // NOTE: this code removed. A DataObjectReference may reference DataObjects
- // from any other container (Process) in the BPMN file, not just those defined
- // within the same container as the target (context.getTargetContainer())
-// Object containerBO = container;
-// if (container instanceof BPMNDiagram) {
-// containerBO = ((BPMNDiagram)container).getPlane().getBpmnElement();
-// }
-// if (container instanceof Lane) {
-// EObject laneSet = ((Lane)container).eContainer();
-// if (laneSet instanceof LaneSet)
-// containerBO = laneSet.eContainer();
-// }
-
- List<DataObject> dataObjectList = new ArrayList<DataObject>();
- dataObjectList.add(dataObject);
- TreeIterator<EObject> iter = ModelUtil.getDefinitions(targetBusinessObject).eAllContents();
- while (iter.hasNext()) {
- EObject obj = iter.next();
- if (obj instanceof DataObject) // removed, see above: && obj.eContainer() == containerBO)
- dataObjectList.add((DataObject) obj);
- }
-
- DataObject result = dataObject;
- if (dataObjectList.size() > 1) {
- PopupMenu popupMenu = new PopupMenu(dataObjectList, labelProvider);
- changesDone = popupMenu.show(Display.getCurrent().getActiveShell());
- if (changesDone) {
- result = (DataObject) popupMenu.getResult();
- }
- else {
- EcoreUtil.delete(dataObject);
- EcoreUtil.delete(dataObjectReference);
- }
- }
- if (changesDone) {
- if (result == dataObject) { // the new one
- mh.addFlowElement(targetBusinessObject,dataObject);
- ModelUtil.setID(dataObject);
- dataObject.setIsCollection(false);
- dataObject.setName(oldName);
- bo = dataObject;
- } else {
- mh.addFlowElement(targetBusinessObject,dataObjectReference);
- ModelUtil.setID(dataObjectReference);
- dataObjectReference.setName(
- NLS.bind(
- Messages.DataObjectFeatureContainer_Default_Name,
- result.getName()
- )
- );
- dataObjectReference.setDataObjectRef(result);
- dataObject = result;
- bo = dataObjectReference;
- }
- putBusinessObject(context, bo);
- }
-
- } catch (IOException e) {
- Activator.showErrorWithLogging(e);
- }
- return bo;
- }
- }
-} \ No newline at end of file

Back to the top