diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/services/AbstractStepperOperationService.java')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/services/AbstractStepperOperationService.java | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/services/AbstractStepperOperationService.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/services/AbstractStepperOperationService.java new file mode 100644 index 000000000..4d9657903 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/services/AbstractStepperOperationService.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.core.services; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.protocol.IPeer; +import org.eclipse.tcf.te.tcf.core.interfaces.IStepperServiceOperations; +import org.eclipse.tcf.te.tcf.core.nls.Messages; + +/** + * Channel manager stepper operation service implementation. + */ +public abstract class AbstractStepperOperationService extends org.eclipse.tcf.te.runtime.stepper.services.AbstractStepperOperationService { + + /** + * Constructor + */ + public AbstractStepperOperationService() { + super(); + } + + /** + * Returns the peer context. + * + * @param context The context. Must not be <code>null</code>. + * @return The peer context. + */ + protected IPeer getPeerContext(Object context) { + IPeer peer = null; + if (context instanceof IPeer) + return (IPeer)context; + if (context instanceof IAdaptable) + peer = (IPeer)((IAdaptable)context).getAdapter(IPeer.class); + if (peer == null) + peer = (IPeer)Platform.getAdapterManager().getAdapter(context, IPeer.class); + + return peer; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#isHandledOperation(java.lang.Object, java.lang.String) + */ + @Override + public boolean isHandledOperation(Object context, String operation) { + return IStepperServiceOperations.OPEN_CHANNEL.equals(operation) || IStepperServiceOperations.CLOSE_CHANNEL.equals(operation); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#getStepGroupId(java.lang.Object, java.lang.String) + */ + @Override + public String getStepGroupId(Object context, String operation) { + if (IStepperServiceOperations.OPEN_CHANNEL.equals(operation)) + return "org.eclipse.tcf.te.tcf.core.channelmanager.openChannelStepGroup"; //$NON-NLS-1$ + if (IStepperServiceOperations.CLOSE_CHANNEL.equals(operation)) + return "org.eclipse.tcf.te.tcf.core.channelmanager.closeChannelStepGroup"; //$NON-NLS-1$ + + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#getStepGroupName(java.lang.Object, java.lang.String) + */ + @Override + public String getStepGroupName(Object context, String operation) { + if (IStepperServiceOperations.OPEN_CHANNEL.equals(operation)) + return NLS.bind(Messages.StepperOperationService_stepGroupName_openChannel, ((IPeer)context).getName()); + if (IStepperServiceOperations.CLOSE_CHANNEL.equals(operation)) + return NLS.bind(Messages.StepperOperationService_stepGroupName_closeChannel, ((IPeer)context).getName()); + + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#isEnabled(java.lang.Object, java.lang.String) + */ + @Override + public boolean isEnabled(Object context, String operation) { + return IStepperServiceOperations.OPEN_CHANNEL.equals(operation) || IStepperServiceOperations.CLOSE_CHANNEL.equals(operation); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#isCancelable(java.lang.Object, java.lang.String) + */ + @Override + public boolean isCancelable(Object context, String operation) { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService#addToActionHistory(java.lang.Object, java.lang.String) + */ + @Override + public boolean addToActionHistory(Object context, String operation) { + return false; + } + +} |