/******************************************************************************* | |
* 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.properties; | |
import org.eclipse.bpel.model.BPELFactory; | |
import org.eclipse.bpel.model.From; | |
import org.eclipse.bpel.model.ServiceRef; | |
import org.eclipse.bpel.ui.Messages; | |
import org.eclipse.bpel.ui.adapters.IVirtualCopyRuleSide; | |
import org.eclipse.bpel.ui.util.BPELUtil; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.swt.events.ModifyEvent; | |
import org.eclipse.swt.events.ModifyListener; | |
import org.eclipse.swt.widgets.Composite; | |
/** | |
* An AssignCategory for editing an EndpointReference. This is a special type of | |
* literal (though it is recognized by the deserializer, and represented in the model | |
* as an EndpointReference object rather than as a literal). | |
*/ | |
public class EndpointReferenceAssignCategory extends AssignCategoryBase { | |
protected int lastChangeContext = -1; | |
protected EndpointReferenceAssignCategory (BPELPropertySection ownerSection ) { | |
super( ownerSection ); | |
} | |
protected class ContextModifyListener implements ModifyListener { | |
int fContext; | |
/** | |
* Brand new shiny ContextModifyListener. | |
* @param context | |
*/ | |
public ContextModifyListener(int context) { | |
this.fContext = context; | |
} | |
/** | |
* @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) | |
*/ | |
public void modifyText(ModifyEvent e) { | |
lastChangeContext = fContext; | |
} | |
} | |
/** | |
* @see org.eclipse.bpel.ui.properties.IAssignCategory#getName() | |
*/ | |
@Override | |
public String getName() { | |
return Messages.EndpointReferenceAssignCategory_Endpoint_Reference; | |
} | |
@Override | |
protected void createClient2(Composite parent) { | |
// TODO: Delegate to the endpoint handler to create the widgets | |
} | |
/** | |
* @see org.eclipse.bpel.ui.properties.IAssignCategory#isCategoryForModel(org.eclipse.emf.ecore.EObject) | |
*/ | |
@Override | |
public boolean isCategoryForModel (EObject aModel) { | |
From from = BPELUtil.adapt(aModel, From.class); | |
return from != null && from.getServiceRef() != null; | |
} | |
@SuppressWarnings("nls") | |
@Override | |
protected void load (IVirtualCopyRuleSide aModel) { | |
// TODO: Delegate to the endpoint handler to populate the widgets | |
// From from = BPELUtil.adapt(aModel.getCopyRuleSide(), From.class); | |
} | |
@SuppressWarnings("nls") | |
@Override | |
protected void store (IVirtualCopyRuleSide aModel) { | |
From from = BPELUtil.adapt(aModel.getCopyRuleSide(), From.class); | |
ServiceRef serviceRef = from.getServiceRef(); | |
if (serviceRef == null) { | |
serviceRef = BPELFactory.eINSTANCE.createServiceRef(); | |
from.setServiceRef(serviceRef); | |
} | |
// TODO: Delegate to the endpoint handler to store the endpoint | |
// into the ServiceRef. | |
} | |
} |