/******************************************************************************* | |
* Copyright (c) 2005, 2012 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License 2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-2.0/ | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.bpel.ui.editparts; | |
import java.util.List; | |
import org.eclipse.bpel.model.BPELPackage; | |
import org.eclipse.bpel.model.PartnerLink; | |
import org.eclipse.bpel.model.PartnerLinks; | |
import org.eclipse.bpel.ui.BPELEditor; | |
import org.eclipse.bpel.ui.Messages; | |
import org.eclipse.bpel.ui.factories.UIObjectFactoryProvider; | |
import org.eclipse.bpel.ui.util.BatchedMultiObjectAdapter; | |
import org.eclipse.bpel.ui.util.ModelHelper; | |
import org.eclipse.draw2d.IFigure; | |
import org.eclipse.draw2d.Label; | |
import org.eclipse.emf.common.notify.Adapter; | |
import org.eclipse.emf.common.notify.Notification; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.gef.requests.CreationFactory; | |
/** | |
* Interface Partners. | |
*/ | |
public class PartnerLinksEditPart extends BPELTrayCategoryEditPart { | |
/** | |
* Only add inbound partners. | |
*/ | |
@Override | |
protected List<PartnerLink> getModelChildren() { | |
return getPartnerLinks().getChildren(); | |
// | |
// List result = new ArrayList(); | |
// for (Iterator iter = getPartnerLinks().getChildren().iterator(); iter.hasNext();) { | |
// PartnerLink partner = (PartnerLink) iter.next(); | |
// if (ModelHelper.isInterfacePartnerLink(partner)) { | |
// result.add(partner); | |
// } | |
// } | |
// return result; | |
} | |
// protected Object addEntry() { | |
// CompoundCommand compound = new CompoundCommand(); | |
// EObject parent = getPartnerLinks(); | |
// final PartnerLink partner = (PartnerLink) getCreationFactory().getNewObject(); | |
// compound.add(new InsertInContainerCommand(parent, partner, null)); | |
// Definition artifactsDefinition = getBPELEditor().getArtifactsDefinition(); | |
// PartnerLinkType plt = PartnerlinktypeFactory.eINSTANCE.createPartnerLinkType(); | |
// Process process = ModelHelper.getProcess(parent); | |
// compound.add(ModelHelper.getCreatePartnerLinkTypeCommand(process, partner, plt, artifactsDefinition, getRoleKind())); | |
// getCommandStack().execute(compound); | |
// // direct edit | |
// getViewer().getControl().getDisplay().asyncExec(new Runnable() { | |
// public void run() { | |
// EditPart part = selectEditPart(partner); | |
// part.performRequest(new DirectEditRequest()); | |
// } | |
// }); | |
// return partner; | |
// } | |
protected int getRoleKind() { | |
return ModelHelper.MY_ROLE; | |
} | |
protected PartnerLinks getPartnerLinks() { | |
return (PartnerLinks)getModel(); | |
} | |
protected EObject getContainer() { | |
return getPartnerLinks().eContainer(); | |
} | |
protected BPELEditor getBPELEditor() { | |
return ModelHelper.getBPELEditor(getContainer()); | |
} | |
@Override | |
protected CreationFactory getCreationFactory() { | |
return UIObjectFactoryProvider.getInstance().getFactoryFor(BPELPackage.eINSTANCE.getPartnerLink()); | |
} | |
@Override | |
protected IFigure getAddToolTip() { | |
return new Label(Messages.PartnerLinksEditPart_0); | |
} | |
@Override | |
protected IFigure getRemoveToolTip() { | |
return new Label(Messages.PartnerLinksEditPart_1); | |
} | |
@Override | |
protected Adapter createAdapter() { | |
return new BatchedMultiObjectAdapter() { | |
@Override | |
public void finish() { | |
refresh(); | |
} | |
@Override | |
public void notify(Notification n) { | |
} | |
}; | |
} | |
} |