blob: 70af15734d9130133377edfc58b91c3940c403cf [file] [log] [blame]
/*******************************************************************************
* 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 v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.bpel.ui.adapters;
import org.eclipse.bpel.model.Correlation;
import org.eclipse.bpel.model.adapters.AdapterProvider;
import org.eclipse.bpel.model.util.BPELAdapterFactory;
import org.eclipse.bpel.ui.util.BPELUtil;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
/**
* BPELUIAdapterFactory for generating adapters.
*
* We use an instance of AdapterProvider that caches singleton adapters.
*
* @author Michal Chmielewski (michal.chmielewski@oracle.com)
* @date May 23, 2007
*
*/
public class BPELUIAdapterFactory extends BPELAdapterFactory {
static BPELUIAdapterFactory instance;
protected AdapterProvider fProvider;
/**
* Brand new shiny adapter factory.
*/
public BPELUIAdapterFactory() {
fProvider = new AdapterProvider();
}
/**
* Get the instance of this factory.
*
* @return an instance of this factory.
*/
public static BPELUIAdapterFactory getInstance() {
if (instance == null) {
instance = new BPELUIAdapterFactory();
}
return instance;
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createRepeatUntilAdapter()
*/
@Override
public Adapter createRepeatUntilAdapter() {
return fProvider.getAdapter(RepeatUntilAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createAssignAdapter()
*/
@Override
public Adapter createAssignAdapter() {
return fProvider.getAdapter(AssignAdapter.class);
}
/**
* (non-Javadoc)
*
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCopyAdapter()
*/
@Override
public Adapter createCopyAdapter() {
return fProvider.getAdapter(CopyAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createElseIfAdapter()
*/
@Override
public Adapter createElseIfAdapter() {
return fProvider.getAdapter(ElseIfAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCatchAdapter()
*/
@Override
public Adapter createCatchAdapter() {
return fProvider.getAdapter(CatchAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createFaultHandlerAdapter()
*/
@Override
public Adapter createFaultHandlerAdapter() {
return fProvider.getAdapter(FaultHandlerAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCompensationHandlerAdapter()
*/
@Override
public Adapter createCompensationHandlerAdapter() {
return fProvider.getAdapter(CompensationHandlerAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createTerminationHandlerAdapter()
*/
@Override
public Adapter createTerminationHandlerAdapter() {
return fProvider.getAdapter(TerminationHandlerAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createEventHandlerAdapter()
*/
@Override
public Adapter createEventHandlerAdapter() {
return fProvider.getAdapter(EventHandlerAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createVariableAdapter()
*/
@Override
public Adapter createVariableAdapter() {
return fProvider.getAdapter(VariableAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createEmptyAdapter()
*/
@Override
public Adapter createEmptyAdapter() {
return fProvider.getAdapter(EmptyAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createFlowAdapter()
*/
@Override
public Adapter createFlowAdapter() {
return fProvider.getAdapter(FlowAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createInvokeAdapter()
*/
@Override
public Adapter createInvokeAdapter() {
return fProvider.getAdapter(InvokeAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createLinkAdapter()
*/
@Override
public Adapter createLinkAdapter() {
return fProvider.getAdapter(LinkAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createOnAlarmAdapter()
*/
@Override
public Adapter createOnAlarmAdapter() {
return fProvider.getAdapter(OnAlarmAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createOnMessageAdapter()
*/
@Override
public Adapter createOnMessageAdapter() {
return fProvider.getAdapter(OnMessageAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createOnEventAdapter()
*/
@Override
public Adapter createOnEventAdapter() {
return fProvider.getAdapter(OnEventAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createPartnerLinkAdapter()
*/
@Override
public Adapter createPartnerLinkAdapter() {
return fProvider.getAdapter(PartnerLinkAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createMessageExchangeAdapter()
*/
@Override
public Adapter createMessageExchangeAdapter() {
return fProvider.getAdapter(MessageExchangeAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createPickAdapter()
*/
@Override
public Adapter createPickAdapter() {
return fProvider.getAdapter(PickAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createProcessAdapter()
*/
@Override
public Adapter createProcessAdapter() {
return fProvider.getAdapter(ProcessAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createIfAdapter()
*/
@Override
public Adapter createIfAdapter() {
return fProvider.getAdapter(IfAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createReceiveAdapter()
*/
@Override
public Adapter createReceiveAdapter() {
return fProvider.getAdapter(ReceiveAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createReplyAdapter()
*/
@Override
public Adapter createReplyAdapter() {
return fProvider.getAdapter(ReplyAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createSequenceAdapter()
*/
@Override
public Adapter createSequenceAdapter() {
return fProvider.getAdapter(SequenceAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createScopeAdapter()
*/
@Override
public Adapter createScopeAdapter() {
return fProvider.getAdapter(ScopeAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createThrowAdapter()
*/
@Override
public Adapter createThrowAdapter() {
return fProvider.getAdapter(ThrowAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createWaitAdapter()
*/
@Override
public Adapter createWaitAdapter() {
return fProvider.getAdapter(WaitAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createWhileAdapter()
*/
@Override
public Adapter createWhileAdapter() {
return fProvider.getAdapter(WhileAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createForEachAdapter()
*/
@Override
public Adapter createForEachAdapter() {
return fProvider.getAdapter(ForEachAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCorrelationSetAdapter()
*/
@Override
public Adapter createCorrelationSetAdapter() {
return fProvider.getAdapter(CorrelationSetAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCorrelationSetsAdapter()
*/
@Override
public Adapter createMessageExchangesAdapter() {
return fProvider.getAdapter(MessageExchangesAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCorrelationSetsAdapter()
*/
@Override
public Adapter createCorrelationSetsAdapter() {
return fProvider.getAdapter(CorrelationSetsAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createPartnerLinksAdapter()
*/
@Override
public Adapter createPartnerLinksAdapter() {
return fProvider.getAdapter(PartnerLinksAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createVariablesAdapter()
*/
@Override
public Adapter createVariablesAdapter() {
return fProvider.getAdapter(VariablesAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCatchAllAdapter()
*/
@Override
public Adapter createCatchAllAdapter() {
return fProvider.getAdapter(CatchAllAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createElseAdapter()
*/
@Override
public Adapter createElseAdapter() {
return fProvider.getAdapter(ElseAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCompensateAdapter()
*/
@Override
public Adapter createCompensateAdapter() {
return fProvider.getAdapter(CompensateAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createCompensateScopeAdapter()
*/
@Override
public Adapter createCompensateScopeAdapter() {
return fProvider.getAdapter(CompensateScopeAdapter.class);
}
/**
*
* @return the custom activity adapter.
*/
public Adapter createCustomActivityAdapter() {
return fProvider.getAdapter(CustomActivityAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createRethrowAdapter()
*/
@Override
public Adapter createRethrowAdapter() {
return fProvider.getAdapter(RethrowAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createExitAdapter()
*/
@Override
public Adapter createExitAdapter() {
return fProvider.getAdapter(ExitAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createValidateAdapter()
*/
@Override
public Adapter createValidateAdapter() {
return fProvider.getAdapter(ValidateAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createToAdapter()
*/
@Override
public Adapter createToAdapter() {
return fProvider.getAdapter(ToAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createFromAdapter()
*/
@Override
public Adapter createFromAdapter() {
return fProvider.getAdapter(FromAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createExpressionAdapter()
*/
@Override
public Adapter createExpressionAdapter() {
return fProvider.getAdapter(ExpressionAdapter.class);
}
/**
* @see org.eclipse.bpel.model.util.BPELAdapterFactory#createOpaqueActivityAdapter()
*/
@Override
public Adapter createOpaqueActivityAdapter() {
return fProvider.getAdapter(OpaqueActivityAdapter.class);
}
@Override
// https://jira.jboss.org/browse/JBIDE-6917
public Adapter createExtensionActivityAdapter() {
return fProvider.getAdapter(ExtensionActivityAdapter.class);
}
/**
* @see org.eclipse.emf.common.notify.impl.AdapterFactoryImpl#adaptNew(org.eclipse.emf.common.notify.Notifier,
* java.lang.Object)
*/
@Override
public Adapter adaptNew(Notifier target, Object type) {
Adapter adapter = createAdapter(target, type);
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=330813
// https://jira.jboss.org/browse/JBIDE-7497
// only associate the adapter with the target (i.e. add it to the
// target's eAdapters list) if the adapter is for the requested type
if (adapter == null) {
if (IMarkerHolder.class.equals(type)) {
adapter = new MarkerDelegateAdapter();
associate(adapter, target);
return adapter;
}
}
else if (adapter.isAdapterForType(type)) {
associate(adapter, target);
return adapter;
}
return null;
}
@Override
protected Object resolve(Object object, Object type) {
return null;
}
@Override
protected Adapter createAdapter(Notifier target, Object type) {
if (BPELUtil.isCustomActivity(target)) {
// If we have a custom activity that did not provide a
// custom adapter we create a default adapter.
return createCustomActivityAdapter();
}
return super.createAdapter(target, type);
}
}