| /******************************************************************************* |
| * 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); |
| } |
| |
| } |