diff options
author | Tobias Schwarz | 2012-08-14 12:00:33 +0000 |
---|---|---|
committer | Tobias Schwarz | 2012-08-14 12:01:23 +0000 |
commit | 65685a42897fc14d3b67e1a8743e0efccc797245 (patch) | |
tree | 95511a947ee824ae2b7d34b648b0353330e685cb /target_explorer/plugins | |
parent | 2536b3b9bbd997affac98bb00b9956b27b959ddd (diff) | |
download | org.eclipse.tcf-65685a42897fc14d3b67e1a8743e0efccc797245.tar.gz org.eclipse.tcf-65685a42897fc14d3b67e1a8743e0efccc797245.tar.xz org.eclipse.tcf-65685a42897fc14d3b67e1a8743e0efccc797245.zip |
Target Explorer: add possibility to add parameters to refrenced steps in
a step group
Diffstat (limited to 'target_explorer/plugins')
4 files changed, 203 insertions, 190 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/lm/delegates/AttachLaunchManagerDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/lm/delegates/AttachLaunchManagerDelegate.java index a3541804b..c7849c621 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/lm/delegates/AttachLaunchManagerDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/lm/delegates/AttachLaunchManagerDelegate.java @@ -35,9 +35,6 @@ import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext; import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; import org.eclipse.tcf.te.runtime.persistence.PersistenceManager; import org.eclipse.tcf.te.runtime.persistence.interfaces.IPersistenceDelegate; -import org.eclipse.tcf.te.runtime.services.ServiceManager; -import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService; -import org.eclipse.tcf.te.runtime.services.interfaces.constants.IPropertiesAccessServiceConstants; import org.eclipse.tcf.te.tcf.core.peers.Peer; import org.eclipse.tcf.te.tcf.launch.core.interfaces.IAttachLaunchAttributes; import org.eclipse.tcf.te.tcf.launch.core.interfaces.IPeerModelProperties; @@ -162,16 +159,10 @@ public class AttachLaunchManagerDelegate extends DefaultLaunchManagerDelegate im } private String getDefaultLaunchName(IModelNode context) { - String name = ""; //$NON-NLS-1$ if (context != null) { - IPropertiesAccessService service = ServiceManager.getInstance().getService(context, IPropertiesAccessService.class); - Object dnsName = service != null ? service.getProperty(context, "dns.name.transient") : null; //$NON-NLS-1$ - String ctxName = service != null ? (String)service.getTargetAddress(context).get(IPropertiesAccessServiceConstants.PROP_ADDRESS) : null; - ctxName = dnsName != null && dnsName.toString().trim().length() > 0 ? dnsName.toString().trim() : ctxName; - - name = ctxName != null ? ctxName : ""; //$NON-NLS-1$ + return context.getName(); } - return name.trim(); + return ""; //$NON-NLS-1$ } /* (non-Javadoc) diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/steps/CheckServiceStep.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/steps/CheckServiceStep.java index 102a755aa..d88e8b855 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/steps/CheckServiceStep.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.core/src/org/eclipse/tcf/te/tcf/launch/core/steps/CheckServiceStep.java @@ -101,5 +101,6 @@ public class CheckServiceStep extends AbstractTcfLaunchStep { @Override public void execute(final IStepContext context, final IPropertiesContainer data, final IFullQualifiedId fullQualifiedId, final IProgressMonitor monitor, final ICallback callback) { // nothing to do, check is done in validateExecute. + callback.done(this, Status.OK_STATUS); } } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/internal/services/PropertiesAccessService.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/internal/services/PropertiesAccessService.java index 0402f4196..2b800f2cb 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/internal/services/PropertiesAccessService.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/internal/services/PropertiesAccessService.java @@ -1,162 +1,163 @@ -/*******************************************************************************
- * Copyright (c) 2011, 2012 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.locator.internal.services;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.tcf.protocol.IPeer;
-import org.eclipse.tcf.protocol.Protocol;
-import org.eclipse.tcf.te.runtime.services.AbstractService;
-import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService;
-import org.eclipse.tcf.te.runtime.services.interfaces.constants.IPropertiesAccessServiceConstants;
-import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
-
-/**
- * Peer model properties access service implementation.
- */
-public class PropertiesAccessService extends AbstractService implements IPropertiesAccessService {
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getTargetAddress(java.lang.Object)
- */
- @Override
- public Map<String, String> getTargetAddress(Object context) {
- final Map<String, String> result = new HashMap<String, String>();
-
- if (context instanceof IPeerModel) {
- final IPeerModel peerModel = (IPeerModel) context;
-
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
- Map<String, String> attributes = peerModel.getPeer().getAttributes();
-
- String value = attributes.get(IPeer.ATTR_NAME);
- if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$
- result.put(IPropertiesAccessServiceConstants.PROP_NAME, value);
- }
-
- value = attributes.get(IPeer.ATTR_IP_HOST);
- if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$
- result.put(IPropertiesAccessServiceConstants.PROP_ADDRESS, value);
- }
-
- value = attributes.get(IPeer.ATTR_IP_PORT);
- if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$
- result.put(IPropertiesAccessServiceConstants.PROP_PORT, value);
- }
- }
- };
-
- if (Protocol.isDispatchThread()) {
- runnable.run();
- }
- else {
- Protocol.invokeAndWait(runnable);
- }
- }
-
- return !result.isEmpty() ? Collections.unmodifiableMap(result) : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getProperty(java.lang.Object, java.lang.String)
- */
- @Override
- public Object getProperty(final Object context, final String key) {
- Assert.isNotNull(context);
- Assert.isNotNull(key);
-
- final AtomicReference<Object> value = new AtomicReference<Object>();
- if (context instanceof IPeerModel) {
- final IPeerModel peerModel = (IPeerModel) context;
-
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
- value.set(peerModel.getProperty(key));
- }
- };
-
- if (Protocol.isDispatchThread()) {
- runnable.run();
- }
- else {
- Protocol.invokeAndWait(runnable);
- }
- }
-
- return value.get();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#setProperty(java.lang.Object, java.lang.String, java.lang.Object)
- */
- @Override
- public boolean setProperty(final Object context, final String key, final Object value) {
- Assert.isNotNull(context);
- Assert.isNotNull(key);
-
- final AtomicBoolean result = new AtomicBoolean();
- if (context instanceof IPeerModel) {
- final IPeerModel peerModel = (IPeerModel) context;
-
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
- result.set(peerModel.setProperty(key, value));
- }
- };
-
- if (Protocol.isDispatchThread()) {
- runnable.run();
- }
- else {
- Protocol.invokeAndWait(runnable);
- }
- }
-
- return result.get();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getParent(java.lang.Object)
- */
- @Override
- public Object getParent(final Object context) {
- Assert.isNotNull(context);
-
- final AtomicReference<Object> value = new AtomicReference<Object>();
- if (context instanceof IPeerModel) {
- final IPeerModel peerModel = (IPeerModel) context;
-
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
- value.set(peerModel.getParent());
- }
- };
-
- if (Protocol.isDispatchThread()) {
- runnable.run();
- }
- else {
- Protocol.invokeAndWait(runnable);
- }
- }
-
- return value.get();
- }
-}
+/******************************************************************************* + * Copyright (c) 2011, 2012 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.locator.internal.services; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.protocol.IPeer; +import org.eclipse.tcf.protocol.Protocol; +import org.eclipse.tcf.te.runtime.services.AbstractService; +import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService; +import org.eclipse.tcf.te.runtime.services.interfaces.constants.IPropertiesAccessServiceConstants; +import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel; + +/** + * Peer model properties access service implementation. + */ +public class PropertiesAccessService extends AbstractService implements IPropertiesAccessService { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getTargetAddress(java.lang.Object) + */ + @Override + public Map<String, String> getTargetAddress(Object context) { + final Map<String, String> result = new HashMap<String, String>(); + + if (context instanceof IPeerModel) { + final IPeerModel peerModel = (IPeerModel) context; + + Runnable runnable = new Runnable() { + @Override + public void run() { + Map<String, String> attributes = peerModel.getPeer().getAttributes(); + + String value = attributes.get(IPeer.ATTR_NAME); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + result.put(IPropertiesAccessServiceConstants.PROP_NAME, value); + } + + value = attributes.get(IPeer.ATTR_IP_HOST); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + result.put(IPropertiesAccessServiceConstants.PROP_ADDRESS, value); + } + + value = attributes.get(IPeer.ATTR_IP_PORT); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + result.put(IPropertiesAccessServiceConstants.PROP_PORT, value); + } + } + }; + + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } + } + + return !result.isEmpty() ? Collections.unmodifiableMap(result) : null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getProperty(java.lang.Object, java.lang.String) + */ + @Override + public Object getProperty(final Object context, final String key) { + Assert.isNotNull(context); + Assert.isNotNull(key); + + final AtomicReference<Object> value = new AtomicReference<Object>(); + if (context instanceof IPeerModel) { + final IPeerModel peerModel = (IPeerModel) context; + + Runnable runnable = new Runnable() { + @Override + public void run() { + Object val = peerModel.getProperty(key); + value.set(val); + } + }; + + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } + } + + return value.get(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#setProperty(java.lang.Object, java.lang.String, java.lang.Object) + */ + @Override + public boolean setProperty(final Object context, final String key, final Object value) { + Assert.isNotNull(context); + Assert.isNotNull(key); + + final AtomicBoolean result = new AtomicBoolean(); + if (context instanceof IPeerModel) { + final IPeerModel peerModel = (IPeerModel) context; + + Runnable runnable = new Runnable() { + @Override + public void run() { + result.set(peerModel.setProperty(key, value)); + } + }; + + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } + } + + return result.get(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService#getParent(java.lang.Object) + */ + @Override + public Object getParent(final Object context) { + Assert.isNotNull(context); + + final AtomicReference<Object> value = new AtomicReference<Object>(); + if (context instanceof IPeerModel) { + final IPeerModel peerModel = (IPeerModel) context; + + Runnable runnable = new Runnable() { + @Override + public void run() { + value.set(peerModel.getParent()); + } + }; + + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } + } + + return value.get(); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/nodes/PeerModel.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/nodes/PeerModel.java index d989a1ba7..14a7139c3 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/nodes/PeerModel.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/nodes/PeerModel.java @@ -68,7 +68,7 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { */ @Override protected final boolean checkThreadAccess() { - return Protocol.isDispatchThread(); + return Protocol.isDispatchThread(); } /* (non-Javadoc) @@ -92,15 +92,23 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { */ @Override public String getPeerId() { - return peerId; + return peerId; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.model.ModelNode#getName() + */ + @Override + public String getName() { + return getPeer().getName(); } /* (non-Javadoc) * @see org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel#getRemotePeerId() */ - @Override + @Override public String getRemotePeerId() { - // If the peer is a remote peer by itself, than we return getPeerId() + // If the peer is a remote peer by itself, than we return getPeerId() if ("RemotePeer".equals(getPeer().getClass().getSimpleName())) { //$NON-NLS-1$ return getPeerId(); } @@ -114,10 +122,14 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { } }; - if (Protocol.isDispatchThread()) runnable.run(); - else Protocol.invokeAndWait(runnable); + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } - return remotePeerId.get(); + return remotePeerId.get(); } /* (non-Javadoc) @@ -144,7 +156,7 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { // Pipe and Loop transport does not require additional attributes } - return complete; + return complete; } /* (non-Javadoc) @@ -163,8 +175,12 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { } }; - if (Protocol.isDispatchThread()) runnable.run(); - else Protocol.invokeAndWait(runnable); + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } return object.get() != null ? object.get() : super.getAdapter(adapter); } @@ -211,8 +227,12 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { } }; - if (Protocol.isDispatchThread()) runnable.run(); - else Protocol.invokeAndWait(runnable); + if (Protocol.isDispatchThread()) { + runnable.run(); + } + else { + Protocol.invokeAndWait(runnable); + } buffer.append(", " + super.toString()); //$NON-NLS-1$ return buffer.toString(); @@ -226,7 +246,7 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { if (obj instanceof PeerModel) { return getPeerId().equals(((PeerModel)obj).getPeerId()); } - return super.equals(obj); + return super.equals(obj); } /* (non-Javadoc) @@ -234,7 +254,7 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { */ @Override public int hashCode() { - return getPeerId().hashCode(); + return getPeerId().hashCode(); } /* (non-Javadoc) @@ -277,8 +297,8 @@ public class PeerModel extends ContainerModelNode implements IPeerModel { @Override public boolean isVisible() { Assert.isTrue(checkThreadAccess(), "Illegal Thread Access"); //$NON-NLS-1$ - return getPeer() != null && getPeer().getAttributes().containsKey(IPeerModelProperties.PROP_VISIBLE) - ? Boolean.valueOf(getPeer().getAttributes().get(IPeerModelProperties.PROP_VISIBLE)).booleanValue() - : true; + return getPeer() != null && getPeer().getAttributes().containsKey(IPeerModelProperties.PROP_VISIBLE) + ? Boolean.valueOf(getPeer().getAttributes().get(IPeerModelProperties.PROP_VISIBLE)).booleanValue() + : true; } } |