diff options
author | Uwe Stieber | 2014-04-25 15:35:54 +0000 |
---|---|---|
committer | Uwe Stieber | 2014-04-25 15:39:10 +0000 |
commit | 49824c0cd3060498f0dc7988ef865b4b2f48d3d3 (patch) | |
tree | b7a46714163e8301fdaab13ae87ee29a4daba6c7 /target_explorer/plugins/org.eclipse.tcf.te.launch.core/src | |
parent | 750fc538f67a55693b623621fbc8e37b189406f4 (diff) | |
download | org.eclipse.tcf-49824c0cd3060498f0dc7988ef865b4b2f48d3d3.tar.gz org.eclipse.tcf-49824c0cd3060498f0dc7988ef865b4b2f48d3d3.tar.xz org.eclipse.tcf-49824c0cd3060498f0dc7988ef865b4b2f48d3d3.zip |
Releng: Fix copyrights
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.launch.core/src')
58 files changed, 2030 insertions, 2030 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/activator/CoreBundleActivator.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/activator/CoreBundleActivator.java index 165ff93d7..2c46a2e8a 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/activator/CoreBundleActivator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/activator/CoreBundleActivator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/AdapterFactory.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/AdapterFactory.java index 10b41799f..a16d1b25f 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/AdapterFactory.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/AdapterFactory.java @@ -1,48 +1,48 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.adapters.internal;
-
-import org.eclipse.core.expressions.ICountable;
-import org.eclipse.core.expressions.IIterable;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext;
-
-/**
- * Launch core framework adapter factory implementation.
- */
-public class AdapterFactory implements IAdapterFactory {
-
- private static final Class<?>[] CLASSES = new Class[] {
- IIterable.class,
- ICountable.class
- };
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
- */
- @Override
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- if (adaptableObject instanceof ISelectionContext) {
- if (IIterable.class.equals(adapterType) || ICountable.class.equals(adapterType)) {
- return new SelectionContextAdapter((ISelectionContext)adaptableObject);
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- @Override
- public Class[] getAdapterList() {
- return CLASSES;
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.adapters.internal; + +import org.eclipse.core.expressions.ICountable; +import org.eclipse.core.expressions.IIterable; +import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext; + +/** + * Launch core framework adapter factory implementation. + */ +public class AdapterFactory implements IAdapterFactory { + + private static final Class<?>[] CLASSES = new Class[] { + IIterable.class, + ICountable.class + }; + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) + */ + @Override + public Object getAdapter(Object adaptableObject, Class adapterType) { + if (adaptableObject instanceof ISelectionContext) { + if (IIterable.class.equals(adapterType) || ICountable.class.equals(adapterType)) { + return new SelectionContextAdapter((ISelectionContext)adaptableObject); + } + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() + */ + @Override + public Class[] getAdapterList() { + return CLASSES; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/SelectionContextAdapter.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/SelectionContextAdapter.java index 177e26fec..724b92c53 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/SelectionContextAdapter.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/adapters/internal/SelectionContextAdapter.java @@ -1,61 +1,61 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.adapters.internal;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.core.expressions.ICountable;
-import org.eclipse.core.expressions.IIterable;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext;
-
-/**
- * Selection context adapter implementation.
- */
-public class SelectionContextAdapter implements IIterable, ICountable {
- private final ISelectionContext context;
-
- /**
- * Constructor.
- *
- * @param context The selection context. Must not be <code>null</code>.
- */
- public SelectionContextAdapter(ISelectionContext context) {
- Assert.isNotNull(context);
- this.context = context;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.ICountable#count()
- */
- @Override
- public int count() {
- return context.getSelections() != null ? context.getSelections().length : 0;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IIterable#iterator()
- */
- @Override
- public Iterator iterator() {
- Iterator<Object> iterator = null;
-
- if (context.getSelections() != null) {
- iterator = Arrays.asList(context.getSelections()).iterator();
- } else {
- iterator = Collections.emptyList().iterator();
- }
-
- return iterator;
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.adapters.internal; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; + +import org.eclipse.core.expressions.ICountable; +import org.eclipse.core.expressions.IIterable; +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext; + +/** + * Selection context adapter implementation. + */ +public class SelectionContextAdapter implements IIterable, ICountable { + private final ISelectionContext context; + + /** + * Constructor. + * + * @param context The selection context. Must not be <code>null</code>. + */ + public SelectionContextAdapter(ISelectionContext context) { + Assert.isNotNull(context); + this.context = context; + } + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.ICountable#count() + */ + @Override + public int count() { + return context.getSelections() != null ? context.getSelections().length : 0; + } + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IIterable#iterator() + */ + @Override + public Iterator iterator() { + Iterator<Object> iterator = null; + + if (context.getSelections() != null) { + iterator = Arrays.asList(context.getSelections()).iterator(); + } else { + iterator = Collections.emptyList().iterator(); + } + + return iterator; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/LaunchConfigTypeBindingsManager.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/LaunchConfigTypeBindingsManager.java index 821ea588d..ce9e63c47 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/LaunchConfigTypeBindingsManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/LaunchConfigTypeBindingsManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/ILaunchBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/ILaunchBinding.java index 4560467e3..19e1a32af 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/ILaunchBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/ILaunchBinding.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/IOverwritableLaunchBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/IOverwritableLaunchBinding.java index 4aed764b2..24ad6cb3a 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/IOverwritableLaunchBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/interfaces/IOverwritableLaunchBinding.java @@ -1,24 +1,24 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.bindings.interfaces;
-
-/**
- * Interface to be implemented by a overwritable launch configuration type binding element.
- */
-public interface IOverwritableLaunchBinding extends ILaunchBinding {
-
- /**
- * Returns if or if not this binding overwrites the given bindings id.
- *
- * @param id The id. Must not be <code>null</code>.
- * @return <code>True</code> if this binding overwrites the given bindings id, <code>false</code> if not.
- */
- public boolean overwrites(String id);
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.bindings.interfaces; + +/** + * Interface to be implemented by a overwritable launch configuration type binding element. + */ +public interface IOverwritableLaunchBinding extends ILaunchBinding { + + /** + * Returns if or if not this binding overwrites the given bindings id. + * + * @param id The id. Must not be <code>null</code>. + * @return <code>True</code> if this binding overwrites the given bindings id, <code>false</code> if not. + */ + public boolean overwrites(String id); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchBinding.java index 737d67dae..b25f0c082 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchBinding.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeBinding.java index dc291ae8e..003f57057 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeBinding.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeUnBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeUnBinding.java index bf1b40c30..cb22b81ab 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeUnBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/LaunchConfigTypeUnBinding.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/OverwritableLaunchBinding.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/OverwritableLaunchBinding.java index 21c73cdb1..ff17fdcdd 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/OverwritableLaunchBinding.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/OverwritableLaunchBinding.java @@ -1,71 +1,71 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.bindings.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.tcf.te.launch.core.bindings.interfaces.IOverwritableLaunchBinding;
-
-/**
- * Overwritable launch configuration type binding element implementation.
- */
-public class OverwritableLaunchBinding extends LaunchBinding implements IOverwritableLaunchBinding {
-
- private String[] overwrites;
-
- /**
- * Constructor.
- *
- * @param id The launch binding id. Must not be <code>null</code>.
- * @param overwrites The overwritten launch binding id's or <code>null</code>.
- * @param modes The launch modes or <code>null</code>
- */
- public OverwritableLaunchBinding(String id, String overwrites, String modes) {
- super(id, modes);
-
- if (overwrites != null) {
- this.overwrites = overwrites.trim().split("( )*,( )*"); //$NON-NLS-1$
- }
- else {
- this.overwrites = new String[0];
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.bindings.interfaces.IOverwritableLaunchBinding#overwrites(java.lang.String)
- */
- @Override
- public boolean overwrites(String id) {
- Assert.isNotNull(id);
- for (String overwrite : overwrites) {
- if (id.equals(overwrite)) {
- return true;
- }
- }
- return overwrites.length == 0;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- StringBuffer toString = new StringBuffer();
-
- toString.append("OverwriteableLaunchBinding("); //$NON-NLS-1$
- toString.append(getId());
- toString.append(", launchModes"); //$NON-NLS-1$
- toString.append(toString(getModes()));
- toString.append(", overwrites"); //$NON-NLS-1$
- toString.append(toString(overwrites));
- toString.append(")"); //$NON-NLS-1$
-
- return toString.toString();
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.bindings.internal; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.launch.core.bindings.interfaces.IOverwritableLaunchBinding; + +/** + * Overwritable launch configuration type binding element implementation. + */ +public class OverwritableLaunchBinding extends LaunchBinding implements IOverwritableLaunchBinding { + + private String[] overwrites; + + /** + * Constructor. + * + * @param id The launch binding id. Must not be <code>null</code>. + * @param overwrites The overwritten launch binding id's or <code>null</code>. + * @param modes The launch modes or <code>null</code> + */ + public OverwritableLaunchBinding(String id, String overwrites, String modes) { + super(id, modes); + + if (overwrites != null) { + this.overwrites = overwrites.trim().split("( )*,( )*"); //$NON-NLS-1$ + } + else { + this.overwrites = new String[0]; + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.bindings.interfaces.IOverwritableLaunchBinding#overwrites(java.lang.String) + */ + @Override + public boolean overwrites(String id) { + Assert.isNotNull(id); + for (String overwrite : overwrites) { + if (id.equals(overwrite)) { + return true; + } + } + return overwrites.length == 0; + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + StringBuffer toString = new StringBuffer(); + + toString.append("OverwriteableLaunchBinding("); //$NON-NLS-1$ + toString.append(getId()); + toString.append(", launchModes"); //$NON-NLS-1$ + toString.append(toString(getModes())); + toString.append(", overwrites"); //$NON-NLS-1$ + toString.append(toString(overwrites)); + toString.append(")"); //$NON-NLS-1$ + + return toString.toString(); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/PropertyTester.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/PropertyTester.java index 6b36311ac..c4153b910 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/PropertyTester.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/bindings/internal/PropertyTester.java @@ -1,79 +1,79 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.bindings.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.tcf.te.launch.core.bindings.LaunchConfigTypeBindingsManager;
-import org.eclipse.tcf.te.launch.core.selection.LaunchSelection;
-import org.eclipse.tcf.te.launch.core.selection.ProjectSelectionContext;
-import org.eclipse.tcf.te.launch.core.selection.RemoteSelectionContext;
-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.model.interfaces.IModelNodeProvider;
-
-/**
- * Launch property tester.
- */
-public class PropertyTester extends org.eclipse.core.expressions.PropertyTester {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
- @Override
- public boolean test(final Object receiver, String property, Object[] args, Object expectedValue) {
-
- if ("launchMode".equals(property) && expectedValue instanceof String) { //$NON-NLS-1$
- if (receiver instanceof ILaunch) {
- return ((ILaunch)receiver).getLaunchMode().equalsIgnoreCase((String)expectedValue);
- }
- }
- else if ("isValidLaunchConfigType".equals(property) && expectedValue instanceof String) { //$NON-NLS-1$
- ISelectionContext selContext = null;
- if (receiver instanceof IModelNodeProvider) {
- selContext = new RemoteSelectionContext(((IModelNodeProvider)receiver).getModelNode(), true);
- }
- else if (receiver instanceof IResource) {
- selContext = new ProjectSelectionContext(((IResource)receiver).getProject(), true);
- }
- else if (receiver instanceof IProject) {
- selContext = new ProjectSelectionContext((IProject)receiver, true);
- }
- else if (receiver instanceof IAdaptable) {
- IProject project = (IProject)((IAdaptable)receiver).getAdapter(IProject.class);
- if (project != null) {
- selContext = new ProjectSelectionContext(project, true);
- }
- else {
- IResource resource = (IResource)((IAdaptable)receiver).getAdapter(IResource.class);
- if (resource != null) {
- selContext = new ProjectSelectionContext(resource.getProject(), true);
- }
- else {
- IModelNode modelNode = (IModelNode)((IAdaptable)receiver).getAdapter(IModelNode.class);
- if (modelNode != null) {
- selContext = new RemoteSelectionContext(modelNode, true);
- }
- }
- }
- }
- if (selContext != null) {
- return LaunchConfigTypeBindingsManager.getInstance().isValidLaunchConfigType(
- (String)expectedValue,
- new LaunchSelection(
- (args != null && args.length > 0 ? args[0].toString() : null),
- selContext));
- }
- }
- return false;
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.bindings.internal; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.tcf.te.launch.core.bindings.LaunchConfigTypeBindingsManager; +import org.eclipse.tcf.te.launch.core.selection.LaunchSelection; +import org.eclipse.tcf.te.launch.core.selection.ProjectSelectionContext; +import org.eclipse.tcf.te.launch.core.selection.RemoteSelectionContext; +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.model.interfaces.IModelNodeProvider; + +/** + * Launch property tester. + */ +public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + @Override + public boolean test(final Object receiver, String property, Object[] args, Object expectedValue) { + + if ("launchMode".equals(property) && expectedValue instanceof String) { //$NON-NLS-1$ + if (receiver instanceof ILaunch) { + return ((ILaunch)receiver).getLaunchMode().equalsIgnoreCase((String)expectedValue); + } + } + else if ("isValidLaunchConfigType".equals(property) && expectedValue instanceof String) { //$NON-NLS-1$ + ISelectionContext selContext = null; + if (receiver instanceof IModelNodeProvider) { + selContext = new RemoteSelectionContext(((IModelNodeProvider)receiver).getModelNode(), true); + } + else if (receiver instanceof IResource) { + selContext = new ProjectSelectionContext(((IResource)receiver).getProject(), true); + } + else if (receiver instanceof IProject) { + selContext = new ProjectSelectionContext((IProject)receiver, true); + } + else if (receiver instanceof IAdaptable) { + IProject project = (IProject)((IAdaptable)receiver).getAdapter(IProject.class); + if (project != null) { + selContext = new ProjectSelectionContext(project, true); + } + else { + IResource resource = (IResource)((IAdaptable)receiver).getAdapter(IResource.class); + if (resource != null) { + selContext = new ProjectSelectionContext(resource.getProject(), true); + } + else { + IModelNode modelNode = (IModelNode)((IAdaptable)receiver).getAdapter(IModelNode.class); + if (modelNode != null) { + selContext = new RemoteSelectionContext(modelNode, true); + } + } + } + } + if (selContext != null) { + return LaunchConfigTypeBindingsManager.getInstance().isValidLaunchConfigType( + (String)expectedValue, + new LaunchSelection( + (args != null && args.length > 0 ? args[0].toString() : null), + selContext)); + } + } + return false; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/computers/SourcePathComputerDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/computers/SourcePathComputerDelegate.java index 257435209..657796015 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/computers/SourcePathComputerDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/computers/SourcePathComputerDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/delegates/Launch.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/delegates/Launch.java index e44419c71..f5e383e06 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/delegates/Launch.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/delegates/Launch.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/exceptions/LaunchServiceException.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/exceptions/LaunchServiceException.java index fcf9f42e6..054527634 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/exceptions/LaunchServiceException.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/exceptions/LaunchServiceException.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/IReferencedProjectItem.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/IReferencedProjectItem.java index 8411aeeee..49bca8000 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/IReferencedProjectItem.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/IReferencedProjectItem.java @@ -1,32 +1,32 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.interfaces;
-
-import org.eclipse.tcf.te.runtime.interfaces.properties.IPropertiesContainer;
-
-/**
- * IFileTransferItem
- */
-public interface IReferencedProjectItem extends IPropertiesContainer {
-
- public static final String PROPERTY_ENABLED = "enabled"; //$NON-NLS-1$
- public static final String PROPERTY_PROJECT_NAME = "project_name"; //$NON-NLS-1$
-
- /**
- * Return <code>true</code> if the item is enabled.
- */
- public boolean isEnabled();
-
- /**
- * Return the project name.
- */
- public String getProjectName();
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.interfaces; + +import org.eclipse.tcf.te.runtime.interfaces.properties.IPropertiesContainer; + +/** + * IFileTransferItem + */ +public interface IReferencedProjectItem extends IPropertiesContainer { + + public static final String PROPERTY_ENABLED = "enabled"; //$NON-NLS-1$ + public static final String PROPERTY_PROJECT_NAME = "project_name"; //$NON-NLS-1$ + + /** + * Return <code>true</code> if the item is enabled. + */ + public boolean isEnabled(); + + /** + * Return the project name. + */ + public String getProjectName(); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/tracing/ITraceIds.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/tracing/ITraceIds.java index f33c10aad..088249338 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/tracing/ITraceIds.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/interfaces/tracing/ITraceIds.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonFileTransferItemPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonFileTransferItemPersistenceDelegate.java index 39daa2472..78e9e1bfa 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonFileTransferItemPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonFileTransferItemPersistenceDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonLaunchConfigAttributesPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonLaunchConfigAttributesPersistenceDelegate.java index 2fc1317b5..4504eb398 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonLaunchConfigAttributesPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonLaunchConfigAttributesPersistenceDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonReferencedProjectItemPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonReferencedProjectItemPersistenceDelegate.java index 7041eff0f..af6824629 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonReferencedProjectItemPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/internal/GsonReferencedProjectItemPersistenceDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchAttribute.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchAttribute.java index f958cf0ff..4d98459e3 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchAttribute.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchAttribute.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigHelper.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigHelper.java index e8d471eab..1fe7c4741 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigHelper.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigHelper.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigSorter.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigSorter.java index 2be5b266c..c53a2a042 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigSorter.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchConfigSorter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchManager.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchManager.java index 45022fd48..6fcc41ac0 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchManager.java @@ -1,419 +1,419 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.lm;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.tcf.te.launch.core.activator.CoreBundleActivator;
-import org.eclipse.tcf.te.launch.core.bindings.LaunchConfigTypeBindingsManager;
-import org.eclipse.tcf.te.launch.core.exceptions.LaunchServiceException;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchAttribute;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchManagerDelegate;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification;
-import org.eclipse.tcf.te.launch.core.nls.Messages;
-
-/**
- * The Launch Manager is the management interface for the launch configuration storage layer.
- * Through the launch manager, launch configuration of the several types can be accessed, searched
- * and initialized. For every possible launch configuration type, a corresponding launch manager
- * delegate must be registered which is responsible for handling the corresponding attributes of the
- * specific launch configuration type. In the case the no launch manager delegate is registered for
- * a launch configuration type, the launch configuration will not be initialized and therefore will
- * not have any default attribute. If more than one launch manager delegates are contributed for the
- * same launch configuration type, the first registered launch manager delegates will be used and the
- * registration of any other delegate for this type will fail!
- */
-public class LaunchManager extends PlatformObject {
-
- /*
- * Thread save singleton instance creation.
- */
- private static class LazyInstanceHolder {
- public static LaunchManager instance = new LaunchManager();
- }
-
- /**
- * Returns the singleton instance for the manager.
- */
- public static LaunchManager getInstance() {
- return LazyInstanceHolder.instance;
- }
-
- /**
- * Constructor.
- */
- LaunchManager() {
- super();
- }
-
- /**
- * Returns the corresponding launch manager delegate instance responsible for the specified
- * launch configuration type. The method may return a default launch manager delegate if no
- * specific launch manager delegate is registered for the specified launch configuration type.
- *
- * @param launchConfigType The launch configuration type to get the launch manager delegate for.
- * Must not be <code>null</code>!
- * @param launchMode The launch mode to get the launch manager delegate for. Must not be
- * <code>null</code>.
- * @return The corresponding launch manager delegate instance.
- */
- public ILaunchManagerDelegate getLaunchManagerDelegate(ILaunchConfigurationType launchConfigType, String launchMode) {
- Assert.isNotNull(launchConfigType);
- Assert.isNotNull(launchMode);
- return LaunchConfigTypeBindingsManager.getInstance().getLaunchManagerDelegate(launchConfigType.getIdentifier(), launchMode);
- }
-
- /**
- * Returns the corresponding launch configuration type for the given launch configuration type
- * id and the given launch mode.
- *
- * @param launchConfigTypeId The unique id of the launch configuration type requested.
- * @param launchMode The launch mode the launch configuration type must support. See
- * <code>org.eclipse.debug.core.ILaunchManager</code> for details.
- * @return The corresponding launch configuration type instance or <code>null</code> if not
- * found or the specified mode is not supported.
- */
- public ILaunchConfigurationType getLaunchConfigType(String launchConfigTypeId, String launchMode) {
- ILaunchConfigurationType launchConfigType = DebugPlugin.getDefault().getLaunchManager()
- .getLaunchConfigurationType(launchConfigTypeId);
- if (launchConfigType != null && !launchConfigType.supportsMode(launchMode)) {
- launchConfigType = null;
- }
- return launchConfigType;
- }
-
- /**
- * Returns an fully initialized launch configuration. The launch configuration type and the
- * launch mode required to create or look up the launch configuration, are specified through the
- * given launch specification. Any launch configuration attribute of the certain type which is
- * not explicitly overwritten by an attribute specified through the given launch specification
- * will be initialized with default values.
- * <p>
- * If <code>forceNewConfig</code> is <code>false</code>, the method tries to find a matching
- * existing launch configuration. If no existing launch configuration can be found, a new
- * launch configuration will created instead.
- *
- * @param launchSpec A set of non default launch configuration attributes. Must not be
- * <code>null</code>, but the list of attributes may empty to get an launch
- * configuration with all attributes initialized to default values.
- * @param createNew If <code>true</code>, a new launch configuration will be created if no
- * available is found.
- * @return The launch configuration instance matching the given parameters.
- * @throws <code>LaunchServiceException</code> in case the launch configuration instance
- * cannot be created, found and/or modified. The exception message describes the failure
- * details.
- */
- public ILaunchConfiguration getLaunchConfiguration(ILaunchSpecification launchSpec, boolean createNew) throws LaunchServiceException {
- Assert.isNotNull(launchSpec);
-
- ILaunchConfiguration launchConfig = null;
- try {
- // get all launch configurations for launch configuration type id and launch mode
- String launchConfigTypeId = launchSpec.getLaunchConfigurationTypeId();
- String launchMode = launchSpec.getLaunchMode();
- ILaunchConfigurationType launchConfigType = getLaunchConfigType(launchConfigTypeId, launchMode);
- ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager()
- .getLaunchConfigurations(launchConfigType);
-
- // get list of fully and closest matching launch configurations
- ILaunchConfiguration[] matchingConfigs = getLaunchManagerDelegate(launchConfigType, launchMode)
- .getMatchingLaunchConfigurations(launchSpec, configs);
-
- // return best matching launch configuration
- if (matchingConfigs.length > 0) {
- launchConfig = matchingConfigs[0];
- }
- }
- catch (LaunchServiceException e) {
- if (e.getType() == LaunchServiceException.TYPE_MISSING_LAUNCH_SPEC_ATTR) {
- throw e;
- }
- }
- catch (CoreException e) {
- throw new LaunchServiceException(e.getMessage());
- }
- // return new launch configuration if no matching or best matching configuration is found
- if (createNew && launchConfig == null) {
- launchConfig = createOrUpdateLaunchConfiguration(null, launchSpec);
- }
- return launchConfig;
- }
-
- /**
- * Create a new or updates an existing launch configuration of the requested type and initialize
- * the configuration with the given launch specification. Attributes not listed by the given
- * launch specification will be initialized with default values.
- *
- * @param launchConfig A launch configuration to update or <code>null</code> if a new launch
- * configuration should be created.
- * @param launchSpec A set of non default launch configuration attributes.
- * @return The newly create launch configuration instance.
- *
- * @throws <code>LaunchServiceException</code> in case the launch configuration instance
- * cannot be created or mandatory attributes are missing in the launch specification.
- * The exception message describes the failure details.
- */
- public ILaunchConfiguration createOrUpdateLaunchConfiguration(ILaunchConfiguration launchConfig, ILaunchSpecification launchSpec) throws LaunchServiceException {
- return this.createOrUpdateLaunchConfiguration(launchConfig, launchSpec, true);
- }
-
- /**
- * Create a new or updates an existing launch configuration of the requested type and initialize
- * the configuration with the given launch specification. Attributes not listed by the given
- * launch specification will be initialized with default values.
- *
- * @param launchConfig A launch configuration to update or <code>null</code> if a new launch
- * configuration should be created.
- * @param launchSpec A set of non default launch configuration attributes.
- * @param validateSpec Validate the launch specification in the <code>launchSpec</code>
- * parameter. If <code>false</code>, it will attempt to create the launch
- * configuration even if some of the mandatory parameters are missing.
- * @return The newly create launch configuration instance.
- *
- * @throws <code>LaunchServiceException</code> in case the launch configuration instance
- * cannot be created or mandatory attributes are missing in the launch specification.
- * The exception message describes the failure details.
- *
- * @since 3.2
- */
- public ILaunchConfiguration createOrUpdateLaunchConfiguration(ILaunchConfiguration launchConfig, ILaunchSpecification launchSpec, boolean validateSpec) throws LaunchServiceException {
- Assert.isNotNull(launchSpec);
-
- String launchConfigTypeId = launchSpec.getLaunchConfigurationTypeId();
- String launchMode = launchSpec.getLaunchMode();
-
- ILaunchConfigurationType launchConfigType = getLaunchConfigType(launchConfigTypeId, launchMode);
- try {
- if (launchConfigType != null) {
- // get the launch manager delegate instance for the requested launch configuration
- // type
- ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfigType, launchMode);
- if (validateSpec) {
- delegate.validate(launchSpec);
- }
- ILaunchConfigurationWorkingCopy wc = null;
- if (launchConfig == null || !launchConfig.getType().getIdentifier()
- .equals(launchConfigTypeId)) {
- try {
- // create the launch configuration working copy instance
- wc = launchConfigType.newInstance(null, LaunchConfigHelper.getUniqueLaunchConfigName(launchSpec.getLaunchConfigName()));
- // initialize the launch configuration working copy
- delegate.initLaunchConfigAttributes(wc, launchSpec);
- // and save the launch configuration
- return wc.doSave();
- }
- catch (CoreException e) {
- throw new LaunchServiceException(Messages.LaunchManager_error_failedToCreateConfig);
- }
- }
- try {
- // get a launch configration working copy
- if (launchConfig instanceof ILaunchConfigurationWorkingCopy) {
- wc = (ILaunchConfigurationWorkingCopy) launchConfig;
- }
- else {
- wc = launchConfig.getWorkingCopy();
- }
- // update the launch configuration working copy
- delegate.updateLaunchConfigAttributes(wc, launchSpec);
- // and save the launch configuration
- return (wc.isDirty()) ? wc.doSave() : launchConfig;
- }
- catch (CoreException e) {
- throw new LaunchServiceException(NLS.bind(Messages.LaunchManager_error_failedToUpdateConfig, launchConfig.getName()));
- }
- }
- }
- catch (CoreException e) {
- // do nothing, because exception is thrown afterwards if this point is reached.
- }
- throw new LaunchServiceException(NLS.bind(Messages.LaunchManager_error_noLaunchConfigType, launchMode));
- }
-
- /**
- * Delete the specified launch configuration.
- * <p>
- * In case any error occurs during the delete, the exception is logged to the Eclipse error log.
- *
- * @param launchConfig The launch configuration to delete.
- */
- public void deleteLaunchConfiguration(ILaunchConfiguration launchConfig) {
- if (launchConfig != null) {
- try {
- launchConfig.delete();
- }
- catch (CoreException e) {
- IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(),
- Messages.LaunchManager_error_deleteLaunchConfig, e);
- Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status);
- }
- }
- }
-
- /**
- * Creates an exact copy of the given launch specification.
- * <p>
- * <b>Note:</b> The method returns always an launch specification which has not locked out
- * modifications. The corresponding read-only flag from the original is not duplicated to the
- * copy!
- *
- * @param launchSpec The launch specification to duplication.
- * @return A new <code>ILaunchSpecification</code> instance containing the same data as the
- * original, or <code>null</code>.
- */
- public ILaunchSpecification duplicate(ILaunchSpecification launchSpec) {
- if (launchSpec != null) {
- ILaunchSpecification newLaunchSpec = new LaunchSpecification(launchSpec.getLaunchConfigurationTypeId(), launchSpec.getLaunchMode());
- if (!launchSpec.isEmpty()) {
- ILaunchAttribute[] attributes = launchSpec.getAllAttributes();
- for (ILaunchAttribute attribute : attributes) {
- newLaunchSpec.addAttribute(attribute.getKey(), attribute.getValue());
- }
- }
- return newLaunchSpec;
- }
- return null;
- }
-
- /**
- * Validates a launch configuration.
- *
- * @param launchConfig The launch configuration to validate.
- * @param launchMode The launch mode. Can be <code>null</code>, in this case the launch configuration
- * is valid when valid for all supported modes.
- * @return <code>true</code>, if the launch configuration is valid and can be executed (launched).
- */
- public boolean validate(ILaunchConfiguration launchConfig, String launchMode) {
- try {
- if (launchMode == null) {
- boolean valid = false;
- for (String mode : LaunchConfigHelper.getLaunchConfigTypeModes(launchConfig.getType(), false)) {
- if (launchConfig.supportsMode(mode) && validate(launchConfig, mode)) {
- valid = true;
- }
- }
- return valid;
- }
- ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfig.getType(), launchMode);
- try {
- delegate.validate(launchMode, launchConfig);
- }
- catch (LaunchServiceException e) {
- return false;
- }
-
- }
- catch (CoreException e) {
- }
- return true;
- }
-
- /**
- * Transform the specified launch configuration into a corresponding launch specification
- * object. If <code>withDefaultAttributes</code> is not set, the corresponding launch manager
- * delegate is called to determine if an attribute has a default value or not. If the attribute
- * has an default value, this attribute is not copied to the launch specification. If
- * <code>withDefaultAttributes</code> is set, all attributes are copied to the launch
- * specification object.
- *
- * @param launchConfig The launch configuration. Must not be <code>null</code>.
- * @param launchMode The launch mode the launch specification should be for. See
- * <code>ILaunchManager</code> for details.
- * @param withDefaultAttributes Set to <code>true</code> to copy attributes with default value
- * as well, <code>false</code> otherwise.
- *
- * @return The corresponding launch specification object or <code>null</code>.
- *
- * @throws <code>LaunchServiceException</code> in case the launch configuration could not be
- * transformed to a launch specification. The exception message describes the failure
- * details.
- */
- public ILaunchSpecification createSpecFromConfig(ILaunchConfiguration launchConfig, String launchMode, boolean withDefaultAttributes) throws LaunchServiceException {
- Assert.isNotNull(launchConfig);
-
- ILaunchSpecification spec = null;
- try {
- // extract the launch configuration type
- ILaunchConfigurationType type = launchConfig.getType();
- spec = new LaunchSpecification(type.getIdentifier(), launchMode);
- // get the launch manager delegate for the specific type
- ILaunchManagerDelegate delegate = getLaunchManagerDelegate(type, launchMode);
- // get all the launch configuration attributes
- Map<String, Object> attributes = launchConfig.getAttributes();
- // loop over all listed attributes and copy them to the specification
- Iterator<Entry<String, Object>> iterator = attributes.entrySet().iterator();
- while (iterator.hasNext()) {
- Entry<String, Object> entry = iterator.next();
- if (withDefaultAttributes) {
- // include the default attributes. So, just copy the stuff over.
- spec.addAttribute(entry.getKey(), entry.getValue());
- }
- else {
- // exclude the default attributes. We have to find out if the attribute is
- // set with default value.
- Object attributeValue = entry.getValue();
- if (!delegate.isDefaultAttribute(entry.getKey(), attributeValue, attributeValue, spec, launchConfig, launchMode)) {
- spec.addAttribute(entry.getKey(), attributeValue);
- }
- }
- }
- }
- catch (CoreException e) {
- spec = null;
- throw new LaunchServiceException(e);
- }
- return spec;
- }
-
- /**
- * Launch the specified launch configuration using the corresponding delegate for the specified
- * launch mode. If <code>buildBeforeLaunch</code> is set to <code>true</code>, the workspace
- * will be build before the launch.
- *
- * @param launchConfig The launch configuration to launch. Must not be <code>null</code>!
- * @param launchMode The launch mode (@see <code>org.eclipse.debug.core.ILaunchManager</code>.
- * Must not be <code>null</code>!
- * @param buildBeforeLaunch Specify <code>true</code> to build the workspace before launch,
- * <code>false</code> otherwise.
- *
- * @return The corresponding <code>ILaunch</code> object associated with this launch.
- *
- * @throws <code>LaunchServiceException</code> in case of any problem occurs during the launch sequence.
- */
- public ILaunch launch(ILaunchConfiguration launchConfig, String launchMode, boolean buildBeforeLaunch, IProgressMonitor monitor) throws LaunchServiceException {
- Assert.isNotNull(launchConfig);
- Assert.isNotNull(launchMode);
-
- try {
- ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfig.getType(), launchMode);
- delegate.validate(launchMode, launchConfig);
- return launchConfig.launch(launchMode, monitor, buildBeforeLaunch);
- }
- catch (CoreException e) {
- // re-pack into a launch service exception
- throw new LaunchServiceException(e);
- }
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.lm; + +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.launch.core.activator.CoreBundleActivator; +import org.eclipse.tcf.te.launch.core.bindings.LaunchConfigTypeBindingsManager; +import org.eclipse.tcf.te.launch.core.exceptions.LaunchServiceException; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchAttribute; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchManagerDelegate; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification; +import org.eclipse.tcf.te.launch.core.nls.Messages; + +/** + * The Launch Manager is the management interface for the launch configuration storage layer. + * Through the launch manager, launch configuration of the several types can be accessed, searched + * and initialized. For every possible launch configuration type, a corresponding launch manager + * delegate must be registered which is responsible for handling the corresponding attributes of the + * specific launch configuration type. In the case the no launch manager delegate is registered for + * a launch configuration type, the launch configuration will not be initialized and therefore will + * not have any default attribute. If more than one launch manager delegates are contributed for the + * same launch configuration type, the first registered launch manager delegates will be used and the + * registration of any other delegate for this type will fail! + */ +public class LaunchManager extends PlatformObject { + + /* + * Thread save singleton instance creation. + */ + private static class LazyInstanceHolder { + public static LaunchManager instance = new LaunchManager(); + } + + /** + * Returns the singleton instance for the manager. + */ + public static LaunchManager getInstance() { + return LazyInstanceHolder.instance; + } + + /** + * Constructor. + */ + LaunchManager() { + super(); + } + + /** + * Returns the corresponding launch manager delegate instance responsible for the specified + * launch configuration type. The method may return a default launch manager delegate if no + * specific launch manager delegate is registered for the specified launch configuration type. + * + * @param launchConfigType The launch configuration type to get the launch manager delegate for. + * Must not be <code>null</code>! + * @param launchMode The launch mode to get the launch manager delegate for. Must not be + * <code>null</code>. + * @return The corresponding launch manager delegate instance. + */ + public ILaunchManagerDelegate getLaunchManagerDelegate(ILaunchConfigurationType launchConfigType, String launchMode) { + Assert.isNotNull(launchConfigType); + Assert.isNotNull(launchMode); + return LaunchConfigTypeBindingsManager.getInstance().getLaunchManagerDelegate(launchConfigType.getIdentifier(), launchMode); + } + + /** + * Returns the corresponding launch configuration type for the given launch configuration type + * id and the given launch mode. + * + * @param launchConfigTypeId The unique id of the launch configuration type requested. + * @param launchMode The launch mode the launch configuration type must support. See + * <code>org.eclipse.debug.core.ILaunchManager</code> for details. + * @return The corresponding launch configuration type instance or <code>null</code> if not + * found or the specified mode is not supported. + */ + public ILaunchConfigurationType getLaunchConfigType(String launchConfigTypeId, String launchMode) { + ILaunchConfigurationType launchConfigType = DebugPlugin.getDefault().getLaunchManager() + .getLaunchConfigurationType(launchConfigTypeId); + if (launchConfigType != null && !launchConfigType.supportsMode(launchMode)) { + launchConfigType = null; + } + return launchConfigType; + } + + /** + * Returns an fully initialized launch configuration. The launch configuration type and the + * launch mode required to create or look up the launch configuration, are specified through the + * given launch specification. Any launch configuration attribute of the certain type which is + * not explicitly overwritten by an attribute specified through the given launch specification + * will be initialized with default values. + * <p> + * If <code>forceNewConfig</code> is <code>false</code>, the method tries to find a matching + * existing launch configuration. If no existing launch configuration can be found, a new + * launch configuration will created instead. + * + * @param launchSpec A set of non default launch configuration attributes. Must not be + * <code>null</code>, but the list of attributes may empty to get an launch + * configuration with all attributes initialized to default values. + * @param createNew If <code>true</code>, a new launch configuration will be created if no + * available is found. + * @return The launch configuration instance matching the given parameters. + * @throws <code>LaunchServiceException</code> in case the launch configuration instance + * cannot be created, found and/or modified. The exception message describes the failure + * details. + */ + public ILaunchConfiguration getLaunchConfiguration(ILaunchSpecification launchSpec, boolean createNew) throws LaunchServiceException { + Assert.isNotNull(launchSpec); + + ILaunchConfiguration launchConfig = null; + try { + // get all launch configurations for launch configuration type id and launch mode + String launchConfigTypeId = launchSpec.getLaunchConfigurationTypeId(); + String launchMode = launchSpec.getLaunchMode(); + ILaunchConfigurationType launchConfigType = getLaunchConfigType(launchConfigTypeId, launchMode); + ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager() + .getLaunchConfigurations(launchConfigType); + + // get list of fully and closest matching launch configurations + ILaunchConfiguration[] matchingConfigs = getLaunchManagerDelegate(launchConfigType, launchMode) + .getMatchingLaunchConfigurations(launchSpec, configs); + + // return best matching launch configuration + if (matchingConfigs.length > 0) { + launchConfig = matchingConfigs[0]; + } + } + catch (LaunchServiceException e) { + if (e.getType() == LaunchServiceException.TYPE_MISSING_LAUNCH_SPEC_ATTR) { + throw e; + } + } + catch (CoreException e) { + throw new LaunchServiceException(e.getMessage()); + } + // return new launch configuration if no matching or best matching configuration is found + if (createNew && launchConfig == null) { + launchConfig = createOrUpdateLaunchConfiguration(null, launchSpec); + } + return launchConfig; + } + + /** + * Create a new or updates an existing launch configuration of the requested type and initialize + * the configuration with the given launch specification. Attributes not listed by the given + * launch specification will be initialized with default values. + * + * @param launchConfig A launch configuration to update or <code>null</code> if a new launch + * configuration should be created. + * @param launchSpec A set of non default launch configuration attributes. + * @return The newly create launch configuration instance. + * + * @throws <code>LaunchServiceException</code> in case the launch configuration instance + * cannot be created or mandatory attributes are missing in the launch specification. + * The exception message describes the failure details. + */ + public ILaunchConfiguration createOrUpdateLaunchConfiguration(ILaunchConfiguration launchConfig, ILaunchSpecification launchSpec) throws LaunchServiceException { + return this.createOrUpdateLaunchConfiguration(launchConfig, launchSpec, true); + } + + /** + * Create a new or updates an existing launch configuration of the requested type and initialize + * the configuration with the given launch specification. Attributes not listed by the given + * launch specification will be initialized with default values. + * + * @param launchConfig A launch configuration to update or <code>null</code> if a new launch + * configuration should be created. + * @param launchSpec A set of non default launch configuration attributes. + * @param validateSpec Validate the launch specification in the <code>launchSpec</code> + * parameter. If <code>false</code>, it will attempt to create the launch + * configuration even if some of the mandatory parameters are missing. + * @return The newly create launch configuration instance. + * + * @throws <code>LaunchServiceException</code> in case the launch configuration instance + * cannot be created or mandatory attributes are missing in the launch specification. + * The exception message describes the failure details. + * + * @since 3.2 + */ + public ILaunchConfiguration createOrUpdateLaunchConfiguration(ILaunchConfiguration launchConfig, ILaunchSpecification launchSpec, boolean validateSpec) throws LaunchServiceException { + Assert.isNotNull(launchSpec); + + String launchConfigTypeId = launchSpec.getLaunchConfigurationTypeId(); + String launchMode = launchSpec.getLaunchMode(); + + ILaunchConfigurationType launchConfigType = getLaunchConfigType(launchConfigTypeId, launchMode); + try { + if (launchConfigType != null) { + // get the launch manager delegate instance for the requested launch configuration + // type + ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfigType, launchMode); + if (validateSpec) { + delegate.validate(launchSpec); + } + ILaunchConfigurationWorkingCopy wc = null; + if (launchConfig == null || !launchConfig.getType().getIdentifier() + .equals(launchConfigTypeId)) { + try { + // create the launch configuration working copy instance + wc = launchConfigType.newInstance(null, LaunchConfigHelper.getUniqueLaunchConfigName(launchSpec.getLaunchConfigName())); + // initialize the launch configuration working copy + delegate.initLaunchConfigAttributes(wc, launchSpec); + // and save the launch configuration + return wc.doSave(); + } + catch (CoreException e) { + throw new LaunchServiceException(Messages.LaunchManager_error_failedToCreateConfig); + } + } + try { + // get a launch configration working copy + if (launchConfig instanceof ILaunchConfigurationWorkingCopy) { + wc = (ILaunchConfigurationWorkingCopy) launchConfig; + } + else { + wc = launchConfig.getWorkingCopy(); + } + // update the launch configuration working copy + delegate.updateLaunchConfigAttributes(wc, launchSpec); + // and save the launch configuration + return (wc.isDirty()) ? wc.doSave() : launchConfig; + } + catch (CoreException e) { + throw new LaunchServiceException(NLS.bind(Messages.LaunchManager_error_failedToUpdateConfig, launchConfig.getName())); + } + } + } + catch (CoreException e) { + // do nothing, because exception is thrown afterwards if this point is reached. + } + throw new LaunchServiceException(NLS.bind(Messages.LaunchManager_error_noLaunchConfigType, launchMode)); + } + + /** + * Delete the specified launch configuration. + * <p> + * In case any error occurs during the delete, the exception is logged to the Eclipse error log. + * + * @param launchConfig The launch configuration to delete. + */ + public void deleteLaunchConfiguration(ILaunchConfiguration launchConfig) { + if (launchConfig != null) { + try { + launchConfig.delete(); + } + catch (CoreException e) { + IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), + Messages.LaunchManager_error_deleteLaunchConfig, e); + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status); + } + } + } + + /** + * Creates an exact copy of the given launch specification. + * <p> + * <b>Note:</b> The method returns always an launch specification which has not locked out + * modifications. The corresponding read-only flag from the original is not duplicated to the + * copy! + * + * @param launchSpec The launch specification to duplication. + * @return A new <code>ILaunchSpecification</code> instance containing the same data as the + * original, or <code>null</code>. + */ + public ILaunchSpecification duplicate(ILaunchSpecification launchSpec) { + if (launchSpec != null) { + ILaunchSpecification newLaunchSpec = new LaunchSpecification(launchSpec.getLaunchConfigurationTypeId(), launchSpec.getLaunchMode()); + if (!launchSpec.isEmpty()) { + ILaunchAttribute[] attributes = launchSpec.getAllAttributes(); + for (ILaunchAttribute attribute : attributes) { + newLaunchSpec.addAttribute(attribute.getKey(), attribute.getValue()); + } + } + return newLaunchSpec; + } + return null; + } + + /** + * Validates a launch configuration. + * + * @param launchConfig The launch configuration to validate. + * @param launchMode The launch mode. Can be <code>null</code>, in this case the launch configuration + * is valid when valid for all supported modes. + * @return <code>true</code>, if the launch configuration is valid and can be executed (launched). + */ + public boolean validate(ILaunchConfiguration launchConfig, String launchMode) { + try { + if (launchMode == null) { + boolean valid = false; + for (String mode : LaunchConfigHelper.getLaunchConfigTypeModes(launchConfig.getType(), false)) { + if (launchConfig.supportsMode(mode) && validate(launchConfig, mode)) { + valid = true; + } + } + return valid; + } + ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfig.getType(), launchMode); + try { + delegate.validate(launchMode, launchConfig); + } + catch (LaunchServiceException e) { + return false; + } + + } + catch (CoreException e) { + } + return true; + } + + /** + * Transform the specified launch configuration into a corresponding launch specification + * object. If <code>withDefaultAttributes</code> is not set, the corresponding launch manager + * delegate is called to determine if an attribute has a default value or not. If the attribute + * has an default value, this attribute is not copied to the launch specification. If + * <code>withDefaultAttributes</code> is set, all attributes are copied to the launch + * specification object. + * + * @param launchConfig The launch configuration. Must not be <code>null</code>. + * @param launchMode The launch mode the launch specification should be for. See + * <code>ILaunchManager</code> for details. + * @param withDefaultAttributes Set to <code>true</code> to copy attributes with default value + * as well, <code>false</code> otherwise. + * + * @return The corresponding launch specification object or <code>null</code>. + * + * @throws <code>LaunchServiceException</code> in case the launch configuration could not be + * transformed to a launch specification. The exception message describes the failure + * details. + */ + public ILaunchSpecification createSpecFromConfig(ILaunchConfiguration launchConfig, String launchMode, boolean withDefaultAttributes) throws LaunchServiceException { + Assert.isNotNull(launchConfig); + + ILaunchSpecification spec = null; + try { + // extract the launch configuration type + ILaunchConfigurationType type = launchConfig.getType(); + spec = new LaunchSpecification(type.getIdentifier(), launchMode); + // get the launch manager delegate for the specific type + ILaunchManagerDelegate delegate = getLaunchManagerDelegate(type, launchMode); + // get all the launch configuration attributes + Map<String, Object> attributes = launchConfig.getAttributes(); + // loop over all listed attributes and copy them to the specification + Iterator<Entry<String, Object>> iterator = attributes.entrySet().iterator(); + while (iterator.hasNext()) { + Entry<String, Object> entry = iterator.next(); + if (withDefaultAttributes) { + // include the default attributes. So, just copy the stuff over. + spec.addAttribute(entry.getKey(), entry.getValue()); + } + else { + // exclude the default attributes. We have to find out if the attribute is + // set with default value. + Object attributeValue = entry.getValue(); + if (!delegate.isDefaultAttribute(entry.getKey(), attributeValue, attributeValue, spec, launchConfig, launchMode)) { + spec.addAttribute(entry.getKey(), attributeValue); + } + } + } + } + catch (CoreException e) { + spec = null; + throw new LaunchServiceException(e); + } + return spec; + } + + /** + * Launch the specified launch configuration using the corresponding delegate for the specified + * launch mode. If <code>buildBeforeLaunch</code> is set to <code>true</code>, the workspace + * will be build before the launch. + * + * @param launchConfig The launch configuration to launch. Must not be <code>null</code>! + * @param launchMode The launch mode (@see <code>org.eclipse.debug.core.ILaunchManager</code>. + * Must not be <code>null</code>! + * @param buildBeforeLaunch Specify <code>true</code> to build the workspace before launch, + * <code>false</code> otherwise. + * + * @return The corresponding <code>ILaunch</code> object associated with this launch. + * + * @throws <code>LaunchServiceException</code> in case of any problem occurs during the launch sequence. + */ + public ILaunch launch(ILaunchConfiguration launchConfig, String launchMode, boolean buildBeforeLaunch, IProgressMonitor monitor) throws LaunchServiceException { + Assert.isNotNull(launchConfig); + Assert.isNotNull(launchMode); + + try { + ILaunchManagerDelegate delegate = getLaunchManagerDelegate(launchConfig.getType(), launchMode); + delegate.validate(launchMode, launchConfig); + return launchConfig.launch(launchMode, monitor, buildBeforeLaunch); + } + catch (CoreException e) { + // re-pack into a launch service exception + throw new LaunchServiceException(e); + } + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchSpecification.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchSpecification.java index 114d0160a..c227eb95e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchSpecification.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/LaunchSpecification.java @@ -1,266 +1,266 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.lm;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchAttribute;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification;
-import org.eclipse.tcf.te.launch.core.nls.Messages;
-
-/**
- * Default launch specification implementation.
- */
-public class LaunchSpecification extends PlatformObject implements ILaunchSpecification {
- private final Map<String, ILaunchAttribute> attributes = new Hashtable<String, ILaunchAttribute>();
- private final String typeId;
- private final String mode;
- private String launchConfigName;
- private String launchActionLabel;
- private boolean readOnly;
- private boolean valid = true;
- private String errorMessage = null;
-
- /**
- * Constructor.
- * <p>
- * Creates a new launch specification instance for the specified launch configuration type
- * id and the specified launch mode. The launch specification is not locked against modifications
- * by default!
- *
- * @param typeId The launch configuration type id of the described launch configuration.
- * @param mode The launch mode. @see <code>org.eclipse.debug.core.ILaunchManager</code>!
- */
- public LaunchSpecification(String typeId, String mode) {
- super();
- this.typeId = typeId;
- this.mode = mode;
- this.attributes.clear();
- setReadOnly(false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchConfigurationTypeId()
- */
- @Override
- public String getLaunchConfigurationTypeId() {
- return typeId;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchMode()
- */
- @Override
- public String getLaunchMode() {
- return mode;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isReadOnly()
- */
- @Override
- public boolean isReadOnly() {
- return readOnly;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setReadOnly(boolean)
- */
- @Override
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#addAttribute(java.lang.String, java.lang.Object)
- */
- @Override
- public void addAttribute(String key, Object value) {
- addAttribute(key, value, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#addAttribute(java.lang.String, java.lang.Object, boolean)
- */
- @Override
- public void addAttribute(String key, Object value, boolean createOnly) {
- Assert.isNotNull(key);
-
- if (isReadOnly()) {
- return;
- }
-
- // Attention: If the value == null -> remove the key from the map!!!
- if (value != null) {
- attributes.put(key, new LaunchAttribute(key, value, createOnly));
- }
- else {
- attributes.remove(key);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#hasAttribute(java.lang.String)
- */
- @Override
- public boolean hasAttribute(String key) {
- Assert.isNotNull(key);
- return attributes.containsKey(key);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#removeAttribute(java.lang.String)
- */
- @Override
- public Object removeAttribute(String key) {
- Assert.isNotNull(key);
- if (isReadOnly()) {
- return null;
- }
- return attributes.remove(key);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isCreateOnlyAttribute(java.lang.String)
- */
- @Override
- public boolean isCreateOnlyAttribute(String key) {
- Assert.isNotNull(key);
- ILaunchAttribute attribute = getAttribute(key);
- return attribute != null && attribute.isCreateOnlyAttribute();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAttribute(java.lang.String, java.lang.Object)
- */
- @Override
- public Object getAttribute(String key, Object defaultValue) {
- Assert.isNotNull(key);
- ILaunchAttribute attribute = getAttribute(key);
- return (attribute != null && attribute.getValue() != null) ? attribute.getValue() : defaultValue;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#clear()
- */
- @Override
- public void clear() {
- if (isReadOnly()) {
- return;
- }
- attributes.clear();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#size()
- */
- @Override
- public int size() {
- return attributes.size();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isEmpty()
- */
- @Override
- public boolean isEmpty() {
- return attributes.isEmpty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAttribute(java.lang.String)
- */
- @Override
- public ILaunchAttribute getAttribute(String key) {
- Assert.isNotNull(key);
- return attributes.get(key);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAllAttributes()
- */
- @Override
- public ILaunchAttribute[] getAllAttributes() {
- return attributes.values().toArray(new ILaunchAttribute[attributes.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchActionLabel()
- */
- @Override
- public String getLaunchActionLabel() {
- return launchActionLabel;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchConfigName()
- */
- @Override
- public String getLaunchConfigName() {
- return launchConfigName != null ? launchConfigName : Messages.DefaultLaunchManagerDelegate_defaultLaunchName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setLaunchActionLabel(java.lang.String)
- */
- @Override
- public void setLaunchActionLabel(String launchActionLabel) {
- this.launchActionLabel = launchActionLabel;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setLaunchConfigName(java.lang.String)
- */
- @Override
- public void setLaunchConfigName(String launchConfigName) {
- this.launchConfigName = LaunchConfigHelper.getUniqueLaunchConfigName(launchConfigName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isValid()
- */
- @Override
- public boolean isValid() {
- return valid;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setIsValid(boolean)
- */
- @Override
- public void setIsValid(boolean valid) {
- this.valid = valid;
- if (valid) {
- errorMessage = null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getErrorMessage()
- */
- @Override
- public String getErrorMessage() {
- if (!isValid()) {
- return errorMessage;
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setErrorMessage(java.lang.String)
- */
- @Override
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.lm; + +import java.util.Hashtable; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchAttribute; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification; +import org.eclipse.tcf.te.launch.core.nls.Messages; + +/** + * Default launch specification implementation. + */ +public class LaunchSpecification extends PlatformObject implements ILaunchSpecification { + private final Map<String, ILaunchAttribute> attributes = new Hashtable<String, ILaunchAttribute>(); + private final String typeId; + private final String mode; + private String launchConfigName; + private String launchActionLabel; + private boolean readOnly; + private boolean valid = true; + private String errorMessage = null; + + /** + * Constructor. + * <p> + * Creates a new launch specification instance for the specified launch configuration type + * id and the specified launch mode. The launch specification is not locked against modifications + * by default! + * + * @param typeId The launch configuration type id of the described launch configuration. + * @param mode The launch mode. @see <code>org.eclipse.debug.core.ILaunchManager</code>! + */ + public LaunchSpecification(String typeId, String mode) { + super(); + this.typeId = typeId; + this.mode = mode; + this.attributes.clear(); + setReadOnly(false); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchConfigurationTypeId() + */ + @Override + public String getLaunchConfigurationTypeId() { + return typeId; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchMode() + */ + @Override + public String getLaunchMode() { + return mode; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isReadOnly() + */ + @Override + public boolean isReadOnly() { + return readOnly; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setReadOnly(boolean) + */ + @Override + public void setReadOnly(boolean readOnly) { + this.readOnly = readOnly; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#addAttribute(java.lang.String, java.lang.Object) + */ + @Override + public void addAttribute(String key, Object value) { + addAttribute(key, value, false); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#addAttribute(java.lang.String, java.lang.Object, boolean) + */ + @Override + public void addAttribute(String key, Object value, boolean createOnly) { + Assert.isNotNull(key); + + if (isReadOnly()) { + return; + } + + // Attention: If the value == null -> remove the key from the map!!! + if (value != null) { + attributes.put(key, new LaunchAttribute(key, value, createOnly)); + } + else { + attributes.remove(key); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#hasAttribute(java.lang.String) + */ + @Override + public boolean hasAttribute(String key) { + Assert.isNotNull(key); + return attributes.containsKey(key); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#removeAttribute(java.lang.String) + */ + @Override + public Object removeAttribute(String key) { + Assert.isNotNull(key); + if (isReadOnly()) { + return null; + } + return attributes.remove(key); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isCreateOnlyAttribute(java.lang.String) + */ + @Override + public boolean isCreateOnlyAttribute(String key) { + Assert.isNotNull(key); + ILaunchAttribute attribute = getAttribute(key); + return attribute != null && attribute.isCreateOnlyAttribute(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAttribute(java.lang.String, java.lang.Object) + */ + @Override + public Object getAttribute(String key, Object defaultValue) { + Assert.isNotNull(key); + ILaunchAttribute attribute = getAttribute(key); + return (attribute != null && attribute.getValue() != null) ? attribute.getValue() : defaultValue; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#clear() + */ + @Override + public void clear() { + if (isReadOnly()) { + return; + } + attributes.clear(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#size() + */ + @Override + public int size() { + return attributes.size(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isEmpty() + */ + @Override + public boolean isEmpty() { + return attributes.isEmpty(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAttribute(java.lang.String) + */ + @Override + public ILaunchAttribute getAttribute(String key) { + Assert.isNotNull(key); + return attributes.get(key); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getAllAttributes() + */ + @Override + public ILaunchAttribute[] getAllAttributes() { + return attributes.values().toArray(new ILaunchAttribute[attributes.size()]); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchActionLabel() + */ + @Override + public String getLaunchActionLabel() { + return launchActionLabel; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getLaunchConfigName() + */ + @Override + public String getLaunchConfigName() { + return launchConfigName != null ? launchConfigName : Messages.DefaultLaunchManagerDelegate_defaultLaunchName; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setLaunchActionLabel(java.lang.String) + */ + @Override + public void setLaunchActionLabel(String launchActionLabel) { + this.launchActionLabel = launchActionLabel; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setLaunchConfigName(java.lang.String) + */ + @Override + public void setLaunchConfigName(String launchConfigName) { + this.launchConfigName = LaunchConfigHelper.getUniqueLaunchConfigName(launchConfigName); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#isValid() + */ + @Override + public boolean isValid() { + return valid; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setIsValid(boolean) + */ + @Override + public void setIsValid(boolean valid) { + this.valid = valid; + if (valid) { + errorMessage = null; + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#getErrorMessage() + */ + @Override + public String getErrorMessage() { + if (!isValid()) { + return errorMessage; + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification#setErrorMessage(java.lang.String) + */ + @Override + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/delegates/DefaultLaunchManagerDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/delegates/DefaultLaunchManagerDelegate.java index cf7146bda..1bb8118fc 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/delegates/DefaultLaunchManagerDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/delegates/DefaultLaunchManagerDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ICommonLaunchAttributes.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ICommonLaunchAttributes.java index ca67f2af2..e33e89915 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ICommonLaunchAttributes.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ICommonLaunchAttributes.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IFileTransferLaunchAttributes.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IFileTransferLaunchAttributes.java index f7e027152..bd81c6094 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IFileTransferLaunchAttributes.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IFileTransferLaunchAttributes.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchAttribute.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchAttribute.java index bbb7d9a30..8a1eda91e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchAttribute.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchAttribute.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchContextLaunchAttributes.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchContextLaunchAttributes.java index 8eddee6ec..9bb6b7d23 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchContextLaunchAttributes.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchContextLaunchAttributes.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchManagerDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchManagerDelegate.java index 7a012a753..7992f341f 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchManagerDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchManagerDelegate.java @@ -1,178 +1,178 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.lm.interfaces;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.tcf.te.launch.core.exceptions.LaunchServiceException;
-import org.eclipse.tcf.te.launch.core.selection.interfaces.ILaunchSelection;
-import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext;
-import org.eclipse.tcf.te.runtime.interfaces.extensions.IExecutableExtension;
-
-/**
- * Describes the interface used by the <code>LaunchManager</code> to create
- * and manage the different types of possible launch configurations in a generalized,
- * simple and abstract way. A <code>ILaunchManagerDelegate</code> is strictly bound
- * to one specific <code>ILaunchConfigurationType</code> and is capable and responsible
- * to initializing and handling launch configurations of this type. A launch manager
- * delegate is contribute through the <code>org.eclipse.tcf.te.launch.core.launchManagerDelegates</code>
- * extension point!
- */
-public interface ILaunchManagerDelegate extends IExecutableExtension {
-
- public static final int SITUATION_BEFORE_LAUNCH = 0;
- public static final int SITUATION_AFTER_LAUNCH_FAILED = 99;
-
- // Constants for signaling the type of found matches
-
- /**
- * Constant to signal to ignore this matching.
- */
- public final static int IGNORE = -1;
-
- /**
- * Constant to signal a no match (no attributes are matching).
- */
- public final static int NO_MATCH = 0;
-
- /**
- * Constant to signal a partial match (some attributes are matching).
- */
- public final static int PARTIAL_MATCH = 1;
-
- /**
- * Constant to signal a full match (all attributes are matching).
- */
- public final static int FULL_MATCH = 2;
-
- /**
- * Initialize the launch configuration attributes based on the specified launch specification. If an launch
- * configuration attribute is not listed within the specified launch specification, the corresponding attribute is
- * initialized with an default.
- *
- * @param wc The launch configuration working copy to initialize. Must not be <code>null</code>!
- * @param launchSpec The launch specification. Must not be <code>null</code>!
- */
- public void initLaunchConfigAttributes(ILaunchConfigurationWorkingCopy wc, ILaunchSpecification launchSpec);
-
- /**
- * Updates a found launch configuration based on the specified launch specification.
- *
- * @param wc The launch configuration working copy to initialize. Must not be <code>null</code>!
- * @param launchSpec The launch specification. Must not be <code>null</code>!
- */
- public void updateLaunchConfigAttributes(ILaunchConfigurationWorkingCopy wc, ILaunchSpecification launchSpec);
-
- /**
- * Updates a launch configuration with the given selection context.
- *
- * @param wc The launch configuration working copy.
- * @param selContext The selection context to use for the update.
- * @param replace <code>true</code> if existing attribute values should be replaced,
- * <code>false</code> if data from the selection context should be added to existing values.
- */
- public void updateLaunchConfig(ILaunchConfigurationWorkingCopy wc, ISelectionContext selContext, boolean replace);
-
- /**
- * Test the specified attribute if or if not the specified attribute value is an default value or not.
- *
- * @param attributeKey The attribute key/name. Must not be <code>null</code>.
- * @param specValue The launch specification value.
- * @param confValue The launch configuration value.
- * @param launchSpec The launch specification which is the source of the <code>specValue</code>. Must not be <code>null</code>.
- * @param launchConfig The launch configuration which is the source of the <code>confValue</code>. Must not be <code>null</code>.
- * @param launchMode The launch mode. Default values may differ for different launch modes. Must not be
- * <code>null</code>!
- * @return <code>true</code> if the specified attribute value is the default value, <code>false</code> otherwise.
- */
- public boolean isDefaultAttribute(String attributeKey, Object specValue, Object confValue, ILaunchSpecification launchSpec, ILaunchConfiguration launchConfig, String launchMode);
-
- /**
- * Returns a ranked list of launch configurations that best matches the given launch specification. In case of no
- * results or a given empty or null launch configuration list an empty list should be returned. If no launch specification
- * is given, the original list should be returned.
- *
- * @param launchSpec The launch specification the launch configurations should match.
- * @param launchConfigs A full list of launch configurations to check for best matching.
- * @return List of matching launch configurations starting with best match on first index.
- * @throws LaunchServiceException
- */
- public ILaunchConfiguration[] getMatchingLaunchConfigurations(ILaunchSpecification launchSpec, ILaunchConfiguration[] launchConfigs) throws LaunchServiceException;
-
- /**
- * Get the default launch configuration name.
- *
- * @param launchSpec The launch specification to create a default name for the launch config. Must not be <code>null</code>.
- * @return The default launch configuration name.
- */
- public String getDefaultLaunchName(ILaunchSpecification launchSpec);
-
- /**
- * Get the default launch configuration name.
- *
- * @param launchConfig The launch configuration to create a default name for the launch config. Must not be <code>null</code>.
- * @return The default launch configuration name.
- */
- public String getDefaultLaunchName(ILaunchConfiguration launchConfig);
-
- /**
- * Get a launch specification with all needed attributes for this delegate taken from the selection to find or create a new
- * launch configuration.
- *
- * @param launchConfigTypeId The launch configuration type id.
- * @param launchSelection The selected contexts.
- * @return Launch specification with attributes set from selected contexts.
- * @throws LaunchServiceException
- */
- public ILaunchSpecification getLaunchSpecification(String launchConfigTypeId, ILaunchSelection launchSelection);
-
- /**
- * Validates a launch specification.
- *
- * @param launchSpec The launch specification to validate.
- * @throws LaunchServiceException If validation fails with further information about the reason (e.q. missing
- * attributes)
- */
- public void validate(ILaunchSpecification launchSpec) throws LaunchServiceException;
-
- /**
- * Validates a launch configuration.
- *
- * @param launchConfig The launch configuration to validate.
- * @param launchMode The launch mode.
- * @throws LaunchServiceException If validation fails with further information about the reason (e.q. missing
- * attributes)
- */
- public void validate(String launchMode, ILaunchConfiguration launchConfig) throws LaunchServiceException;
-
- /**
- * Returns true, if the launch dialog should be shown before launch.
- * @param situation The situation (before launch, after launch, ..)
- */
- public boolean showLaunchDialog(int situation);
-
- /**
- * Return <code>true</code> if the two selection contexts are equal
- * for this launch configuration type.
- *
- * @param ctx1 The first launch selection context or <code>null</code>.
- * @param ctx2 The second launch selection context or <code>null</code>.
- *
- * @return <code>True</code> if the two selection contexts are equal for this launch configuration type, <code>false</code> otherwise.
- */
- public boolean equals(ISelectionContext ctx1, ISelectionContext ctx2);
-
- /**
- * Get a short description for the given launch configuration.
- * @param config The launch configuration.
- * @return The description.
- */
- public String getDescription(ILaunchConfiguration config);
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.lm.interfaces; + +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.tcf.te.launch.core.exceptions.LaunchServiceException; +import org.eclipse.tcf.te.launch.core.selection.interfaces.ILaunchSelection; +import org.eclipse.tcf.te.launch.core.selection.interfaces.ISelectionContext; +import org.eclipse.tcf.te.runtime.interfaces.extensions.IExecutableExtension; + +/** + * Describes the interface used by the <code>LaunchManager</code> to create + * and manage the different types of possible launch configurations in a generalized, + * simple and abstract way. A <code>ILaunchManagerDelegate</code> is strictly bound + * to one specific <code>ILaunchConfigurationType</code> and is capable and responsible + * to initializing and handling launch configurations of this type. A launch manager + * delegate is contribute through the <code>org.eclipse.tcf.te.launch.core.launchManagerDelegates</code> + * extension point! + */ +public interface ILaunchManagerDelegate extends IExecutableExtension { + + public static final int SITUATION_BEFORE_LAUNCH = 0; + public static final int SITUATION_AFTER_LAUNCH_FAILED = 99; + + // Constants for signaling the type of found matches + + /** + * Constant to signal to ignore this matching. + */ + public final static int IGNORE = -1; + + /** + * Constant to signal a no match (no attributes are matching). + */ + public final static int NO_MATCH = 0; + + /** + * Constant to signal a partial match (some attributes are matching). + */ + public final static int PARTIAL_MATCH = 1; + + /** + * Constant to signal a full match (all attributes are matching). + */ + public final static int FULL_MATCH = 2; + + /** + * Initialize the launch configuration attributes based on the specified launch specification. If an launch + * configuration attribute is not listed within the specified launch specification, the corresponding attribute is + * initialized with an default. + * + * @param wc The launch configuration working copy to initialize. Must not be <code>null</code>! + * @param launchSpec The launch specification. Must not be <code>null</code>! + */ + public void initLaunchConfigAttributes(ILaunchConfigurationWorkingCopy wc, ILaunchSpecification launchSpec); + + /** + * Updates a found launch configuration based on the specified launch specification. + * + * @param wc The launch configuration working copy to initialize. Must not be <code>null</code>! + * @param launchSpec The launch specification. Must not be <code>null</code>! + */ + public void updateLaunchConfigAttributes(ILaunchConfigurationWorkingCopy wc, ILaunchSpecification launchSpec); + + /** + * Updates a launch configuration with the given selection context. + * + * @param wc The launch configuration working copy. + * @param selContext The selection context to use for the update. + * @param replace <code>true</code> if existing attribute values should be replaced, + * <code>false</code> if data from the selection context should be added to existing values. + */ + public void updateLaunchConfig(ILaunchConfigurationWorkingCopy wc, ISelectionContext selContext, boolean replace); + + /** + * Test the specified attribute if or if not the specified attribute value is an default value or not. + * + * @param attributeKey The attribute key/name. Must not be <code>null</code>. + * @param specValue The launch specification value. + * @param confValue The launch configuration value. + * @param launchSpec The launch specification which is the source of the <code>specValue</code>. Must not be <code>null</code>. + * @param launchConfig The launch configuration which is the source of the <code>confValue</code>. Must not be <code>null</code>. + * @param launchMode The launch mode. Default values may differ for different launch modes. Must not be + * <code>null</code>! + * @return <code>true</code> if the specified attribute value is the default value, <code>false</code> otherwise. + */ + public boolean isDefaultAttribute(String attributeKey, Object specValue, Object confValue, ILaunchSpecification launchSpec, ILaunchConfiguration launchConfig, String launchMode); + + /** + * Returns a ranked list of launch configurations that best matches the given launch specification. In case of no + * results or a given empty or null launch configuration list an empty list should be returned. If no launch specification + * is given, the original list should be returned. + * + * @param launchSpec The launch specification the launch configurations should match. + * @param launchConfigs A full list of launch configurations to check for best matching. + * @return List of matching launch configurations starting with best match on first index. + * @throws LaunchServiceException + */ + public ILaunchConfiguration[] getMatchingLaunchConfigurations(ILaunchSpecification launchSpec, ILaunchConfiguration[] launchConfigs) throws LaunchServiceException; + + /** + * Get the default launch configuration name. + * + * @param launchSpec The launch specification to create a default name for the launch config. Must not be <code>null</code>. + * @return The default launch configuration name. + */ + public String getDefaultLaunchName(ILaunchSpecification launchSpec); + + /** + * Get the default launch configuration name. + * + * @param launchConfig The launch configuration to create a default name for the launch config. Must not be <code>null</code>. + * @return The default launch configuration name. + */ + public String getDefaultLaunchName(ILaunchConfiguration launchConfig); + + /** + * Get a launch specification with all needed attributes for this delegate taken from the selection to find or create a new + * launch configuration. + * + * @param launchConfigTypeId The launch configuration type id. + * @param launchSelection The selected contexts. + * @return Launch specification with attributes set from selected contexts. + * @throws LaunchServiceException + */ + public ILaunchSpecification getLaunchSpecification(String launchConfigTypeId, ILaunchSelection launchSelection); + + /** + * Validates a launch specification. + * + * @param launchSpec The launch specification to validate. + * @throws LaunchServiceException If validation fails with further information about the reason (e.q. missing + * attributes) + */ + public void validate(ILaunchSpecification launchSpec) throws LaunchServiceException; + + /** + * Validates a launch configuration. + * + * @param launchConfig The launch configuration to validate. + * @param launchMode The launch mode. + * @throws LaunchServiceException If validation fails with further information about the reason (e.q. missing + * attributes) + */ + public void validate(String launchMode, ILaunchConfiguration launchConfig) throws LaunchServiceException; + + /** + * Returns true, if the launch dialog should be shown before launch. + * @param situation The situation (before launch, after launch, ..) + */ + public boolean showLaunchDialog(int situation); + + /** + * Return <code>true</code> if the two selection contexts are equal + * for this launch configuration type. + * + * @param ctx1 The first launch selection context or <code>null</code>. + * @param ctx2 The second launch selection context or <code>null</code>. + * + * @return <code>True</code> if the two selection contexts are equal for this launch configuration type, <code>false</code> otherwise. + */ + public boolean equals(ISelectionContext ctx1, ISelectionContext ctx2); + + /** + * Get a short description for the given launch configuration. + * @param config The launch configuration. + * @return The description. + */ + public String getDescription(ILaunchConfiguration config); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchSpecification.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchSpecification.java index bb497f719..2f8207f5e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchSpecification.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/ILaunchSpecification.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IReferencedProjectLaunchAttributes.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IReferencedProjectLaunchAttributes.java index 23b52749d..2d213cb37 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IReferencedProjectLaunchAttributes.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/interfaces/IReferencedProjectLaunchAttributes.java @@ -1,23 +1,23 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.lm.interfaces;
-
-/**
- * Defines the launch configuration attribute id's to access the launch step contexts.
- */
-public interface IReferencedProjectLaunchAttributes {
-
- /**
- * Launch configuration attribute: The referenced project items the launch is operating with. Use
- * {@link ReferencedProjectsPersistanceDelegate} to access
- * this attribute within a launch configuration.
- */
- public static final String ATTR_REFERENCED_PROJECTS = ICommonLaunchAttributes.ATTR_PREFIX + ".referencedProjects"; //$NON-NLS-1$
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.lm.interfaces; + +/** + * Defines the launch configuration attribute id's to access the launch step contexts. + */ +public interface IReferencedProjectLaunchAttributes { + + /** + * Launch configuration attribute: The referenced project items the launch is operating with. Use + * {@link ReferencedProjectsPersistanceDelegate} to access + * this attribute within a launch configuration. + */ + public static final String ATTR_REFERENCED_PROJECTS = ICommonLaunchAttributes.ATTR_PREFIX + ".referencedProjects"; //$NON-NLS-1$ +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/internal/ExtensionPointManager.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/internal/ExtensionPointManager.java index c0f42f4c3..a0a3ba1b6 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/internal/ExtensionPointManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/lm/internal/ExtensionPointManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.java index bc9670183..e1b921a22 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.java @@ -1,49 +1,49 @@ -/*******************************************************************************
- * 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.launch.core.nls;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Launch Core Plug-in externalized strings management.
- */
-public class Messages extends NLS {
-
- // The plug-in resource bundle name
- private static final String BUNDLE_NAME = "org.eclipse.tcf.te.launch.core.nls.Messages"; //$NON-NLS-1$
-
- /**
- * Static constructor.
- */
- static {
- // Load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- // **** Declare externalized string id's down here *****
-
- public static String DefaultLaunchManagerDelegate_defaultLaunchName;
-
- public static String LaunchManager_error_invalidExtensionPoint;
- public static String LaunchManager_error_noLaunchConfigType;
- public static String LaunchManager_error_failedToCreateConfig;
- public static String LaunchManager_error_failedToUpdateConfig;
- public static String LaunchManager_error_deleteLaunchConfig;
-
- public static String LaunchConfigurationDelegate_error_failedToGetStepper;
- public static String LaunchConfigurationDelegate_error_failedToCloneStepper;
- public static String LaunchConfigurationDelegate_error_inaccessibleReferencedProject;
-
- public static String AbstractLaunchConfigurationDelegate_scoped_incremental_build;
-
- public static String ReferencedProjectItemValidator_missingProject;
- public static String ReferencedProjectItemValidator_notExistingProject;
- public static String ReferencedProjectItemValidator_closedProject;
-}
+/******************************************************************************* + * Copyright (c) 2011, 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.launch.core.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Launch Core Plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.launch.core.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String DefaultLaunchManagerDelegate_defaultLaunchName; + + public static String LaunchManager_error_invalidExtensionPoint; + public static String LaunchManager_error_noLaunchConfigType; + public static String LaunchManager_error_failedToCreateConfig; + public static String LaunchManager_error_failedToUpdateConfig; + public static String LaunchManager_error_deleteLaunchConfig; + + public static String LaunchConfigurationDelegate_error_failedToGetStepper; + public static String LaunchConfigurationDelegate_error_failedToCloneStepper; + public static String LaunchConfigurationDelegate_error_inaccessibleReferencedProject; + + public static String AbstractLaunchConfigurationDelegate_scoped_incremental_build; + + public static String ReferencedProjectItemValidator_missingProject; + public static String ReferencedProjectItemValidator_notExistingProject; + public static String ReferencedProjectItemValidator_closedProject; +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.properties index bb3dcee10..ec06ab590 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/nls/Messages.properties @@ -1,29 +1,29 @@ -###############################################################################
-# Copyright (c) 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
-###############################################################################
-
-DefaultLaunchManagerDelegate_defaultLaunchName=New configuration
-
-LaunchManager_error_invalidExtensionPoint=Failed to instantiate the executable extension from extension point ''{0}''.
-LaunchManager_error_noLaunchConfigType=No launch configuration type (id = ) is available for launch mode ''{0}''.
-LaunchManager_error_failedToCreateConfig=Failed to create and initialize new launch configuration.
-LaunchManager_error_failedToUpdateConfig=Failed to update existing launch configuration ''{0}''.
-LaunchManager_error_deleteLaunchConfig=Failed to delete launch configuration.
-
-LaunchConfigurationDelegate_error_failedToGetStepper=Failed to access stepper for launch configuration type ''{0}'' \
-and launch mode ''{1}''.
-LaunchConfigurationDelegate_error_failedToCloneStepper=Failed to clone stepper for launch configuration type ''{0}'' \
-and launch mode ''{1}''.
-LaunchConfigurationDelegate_error_inaccessibleReferencedProject=Failed to access project ''{0}''. The project is either missing or closed.
-
-AbstractLaunchConfigurationDelegate_scoped_incremental_build=Scoped incremental build before launch...
-
-ReferencedProjectItemValidator_missingProject = Missing project
-ReferencedProjectItemValidator_notExistingProject = Project does not exist
-ReferencedProjectItemValidator_closedProject = Project is closed
+############################################################################### +# Copyright (c) 2012, 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 +############################################################################### + +DefaultLaunchManagerDelegate_defaultLaunchName=New configuration + +LaunchManager_error_invalidExtensionPoint=Failed to instantiate the executable extension from extension point ''{0}''. +LaunchManager_error_noLaunchConfigType=No launch configuration type (id = ) is available for launch mode ''{0}''. +LaunchManager_error_failedToCreateConfig=Failed to create and initialize new launch configuration. +LaunchManager_error_failedToUpdateConfig=Failed to update existing launch configuration ''{0}''. +LaunchManager_error_deleteLaunchConfig=Failed to delete launch configuration. + +LaunchConfigurationDelegate_error_failedToGetStepper=Failed to access stepper for launch configuration type ''{0}'' \ +and launch mode ''{1}''. +LaunchConfigurationDelegate_error_failedToCloneStepper=Failed to clone stepper for launch configuration type ''{0}'' \ +and launch mode ''{1}''. +LaunchConfigurationDelegate_error_inaccessibleReferencedProject=Failed to access project ''{0}''. The project is either missing or closed. + +AbstractLaunchConfigurationDelegate_scoped_incremental_build=Scoped incremental build before launch... + +ReferencedProjectItemValidator_missingProject = Missing project +ReferencedProjectItemValidator_notExistingProject = Project does not exist +ReferencedProjectItemValidator_closedProject = Project is closed diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/AbstractItemListXMLParser.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/AbstractItemListXMLParser.java index fe3b6dcc8..809233741 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/AbstractItemListXMLParser.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/AbstractItemListXMLParser.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/DefaultPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/DefaultPersistenceDelegate.java index 97a529ddc..3194cfb46 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/DefaultPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/DefaultPersistenceDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/LaunchConfigurationChangedEvent.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/LaunchConfigurationChangedEvent.java index d1430d222..edc373a0a 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/LaunchConfigurationChangedEvent.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/LaunchConfigurationChangedEvent.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/filetransfer/FileTransfersPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/filetransfer/FileTransfersPersistenceDelegate.java index abf476913..f554a05de 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/filetransfer/FileTransfersPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/filetransfer/FileTransfersPersistenceDelegate.java @@ -1,114 +1,114 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.persistence.filetransfer;
-
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.IFileTransferLaunchAttributes;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser;
-import org.eclipse.tcf.te.runtime.services.interfaces.filetransfer.IFileTransferItem;
-
-/**
- * File transfer persistence delegate.
- */
-public class FileTransfersPersistenceDelegate {
-
- private static final String TAG_FILE_TRANSFER = "fileTransfer"; //$NON-NLS-1$
-
- private static final AbstractItemListPersistenceDelegate<IFileTransferItem> delegate =
- new AbstractItemListPersistenceDelegate<IFileTransferItem>(TAG_FILE_TRANSFER, IFileTransferLaunchAttributes.ATTR_FILE_TRANSFERS) {
- @Override
- protected AbstractItemListXMLParser<IFileTransferItem> getXMLParser() {
- return new AbstractItemListXMLParser<IFileTransferItem>(TAG_FILE_TRANSFER) {
- @Override
- protected Class<?> getReadClass() {
- return IFileTransferItem.class;
- }
- };
- }
- };
-
- /**
- * Saves the selected file transfer items to the specified launch configuration working copy. If the
- * selected file transfer items are <code>null</code> or empty, the attribute will be removed from
- * the specified launch configuration working copy.
- *
- * @param wc The launch configuration working copy. Must not be <code>null</code>.
- * @param items The file transfer items to save or <code>null</code>.
- */
- public final static void setFileTransfers(ILaunchConfigurationWorkingCopy wc, IFileTransferItem[] items) {
- delegate.setItems(wc, items);
- }
-
- /**
- * Saves the selected file transfer items to the specified launch specification. If the selected
- * file transfer items are <code>null</code> or empty, the attribute will be removed from the
- * specified launch specification.
- *
- * @param launchSpec The launch specification. Must not be <code>null</code>.
- * @param items The file transfer items to save or <code>null</code>.
- */
- public final static void setFileTransfers(ILaunchSpecification launchSpec, IFileTransferItem[] items) {
- delegate.setItems(launchSpec, items);
- }
-
- /**
- * Writes the given file transfer items into a string encoded in XML.
- *
- * @param items The file transfer items to encode. Must not be <code>null</code>.
- * @return The full XML representation of the given items or <code>null</code>.
- */
- public final static String encodeFileTransferItems(IFileTransferItem[] items) {
- return delegate.encodeItems(items);
- }
-
- /**
- * Reads the selected file transfer items from the given XML encoded string.
- *
- * @param encodedItems The selected file transfer items encoded as XML string. Must not be <code>null</code>.
- * @return The selected file transfer items or an empty array.
- */
- public final static IFileTransferItem[] decodeFileTransferItems(String encodedItems) {
- List<IFileTransferItem> list = delegate.decodeItems(encodedItems);
- return list.toArray(new IFileTransferItem[list.size()]);
- }
-
- /**
- * Returns the list of configured file transfer items from the given launch configuration.
- * <p>
- * If the given launch configuration is <code>null</code> and the method will return an empty
- * array.
- *
- * @param configuration The launch configuration or <code>null</code>.
- * @return The list of configured file transfer items or an empty array.
- */
- public static final IFileTransferItem[] getFileTransfers(ILaunchConfiguration configuration) {
- List<IFileTransferItem> list = delegate.getItems(configuration);
- return list.toArray(new IFileTransferItem[list.size()]);
- }
-
- /**
- * Returns the list of configured file transfer items from the given launch specification.
- * <p>
- * If the given launch specification is <code>null</code> and the method will return an empty
- * array.
- *
- * @param launchSpec The launch specification or <code>null</code>.
- * @return The list of configured file transfer items or an empty array.
- */
- public static final IFileTransferItem[] getFileTransfers(ILaunchSpecification launchSpec) {
- List<IFileTransferItem> list = delegate.getItems(launchSpec);
- return list.toArray(new IFileTransferItem[list.size()]);
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.persistence.filetransfer; + +import java.util.List; + +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.tcf.te.launch.core.lm.interfaces.IFileTransferLaunchAttributes; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser; +import org.eclipse.tcf.te.runtime.services.interfaces.filetransfer.IFileTransferItem; + +/** + * File transfer persistence delegate. + */ +public class FileTransfersPersistenceDelegate { + + private static final String TAG_FILE_TRANSFER = "fileTransfer"; //$NON-NLS-1$ + + private static final AbstractItemListPersistenceDelegate<IFileTransferItem> delegate = + new AbstractItemListPersistenceDelegate<IFileTransferItem>(TAG_FILE_TRANSFER, IFileTransferLaunchAttributes.ATTR_FILE_TRANSFERS) { + @Override + protected AbstractItemListXMLParser<IFileTransferItem> getXMLParser() { + return new AbstractItemListXMLParser<IFileTransferItem>(TAG_FILE_TRANSFER) { + @Override + protected Class<?> getReadClass() { + return IFileTransferItem.class; + } + }; + } + }; + + /** + * Saves the selected file transfer items to the specified launch configuration working copy. If the + * selected file transfer items are <code>null</code> or empty, the attribute will be removed from + * the specified launch configuration working copy. + * + * @param wc The launch configuration working copy. Must not be <code>null</code>. + * @param items The file transfer items to save or <code>null</code>. + */ + public final static void setFileTransfers(ILaunchConfigurationWorkingCopy wc, IFileTransferItem[] items) { + delegate.setItems(wc, items); + } + + /** + * Saves the selected file transfer items to the specified launch specification. If the selected + * file transfer items are <code>null</code> or empty, the attribute will be removed from the + * specified launch specification. + * + * @param launchSpec The launch specification. Must not be <code>null</code>. + * @param items The file transfer items to save or <code>null</code>. + */ + public final static void setFileTransfers(ILaunchSpecification launchSpec, IFileTransferItem[] items) { + delegate.setItems(launchSpec, items); + } + + /** + * Writes the given file transfer items into a string encoded in XML. + * + * @param items The file transfer items to encode. Must not be <code>null</code>. + * @return The full XML representation of the given items or <code>null</code>. + */ + public final static String encodeFileTransferItems(IFileTransferItem[] items) { + return delegate.encodeItems(items); + } + + /** + * Reads the selected file transfer items from the given XML encoded string. + * + * @param encodedItems The selected file transfer items encoded as XML string. Must not be <code>null</code>. + * @return The selected file transfer items or an empty array. + */ + public final static IFileTransferItem[] decodeFileTransferItems(String encodedItems) { + List<IFileTransferItem> list = delegate.decodeItems(encodedItems); + return list.toArray(new IFileTransferItem[list.size()]); + } + + /** + * Returns the list of configured file transfer items from the given launch configuration. + * <p> + * If the given launch configuration is <code>null</code> and the method will return an empty + * array. + * + * @param configuration The launch configuration or <code>null</code>. + * @return The list of configured file transfer items or an empty array. + */ + public static final IFileTransferItem[] getFileTransfers(ILaunchConfiguration configuration) { + List<IFileTransferItem> list = delegate.getItems(configuration); + return list.toArray(new IFileTransferItem[list.size()]); + } + + /** + * Returns the list of configured file transfer items from the given launch specification. + * <p> + * If the given launch specification is <code>null</code> and the method will return an empty + * array. + * + * @param launchSpec The launch specification or <code>null</code>. + * @return The list of configured file transfer items or an empty array. + */ + public static final IFileTransferItem[] getFileTransfers(ILaunchSpecification launchSpec) { + List<IFileTransferItem> list = delegate.getItems(launchSpec); + return list.toArray(new IFileTransferItem[list.size()]); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/launchcontext/LaunchContextsPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/launchcontext/LaunchContextsPersistenceDelegate.java index d8c644a87..5e45fe882 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/launchcontext/LaunchContextsPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/launchcontext/LaunchContextsPersistenceDelegate.java @@ -1,257 +1,257 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.persistence.launchcontext;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchContextLaunchAttributes;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-import org.eclipse.tcf.te.runtime.services.ServiceManager;
-import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService;
-
-/**
- * Context selector persistence delegate.
- */
-public class LaunchContextsPersistenceDelegate {
- // The read cache for step contexts. Avoid running time consuming
- // re-parsing of an already parsed step context description again and again.
- private final static Map<String, List<IModelNode>> readCache = new LinkedHashMap<String, List<IModelNode>>();
- // The write cache for target contexts. Avoids re-generating the XML again and again.
- private final static Map<String, String> writeCache = new LinkedHashMap<String, String>();
-
- // Limit the read cache to the last 10 read step contexts
- private final static int READ_CACHE_MAX_CAPACITY = 25;
- // Limit the write cache to the last 10 written step contexts
- private final static int WRITE_CACHE_MAX_CAPACITY = 25;
-
- private static final String TAG_LAUNCH_CONTEXT = "context"; //$NON-NLS-1$
-
- private static final AbstractItemListPersistenceDelegate<IModelNode> delegate =
- new AbstractItemListPersistenceDelegate<IModelNode>(TAG_LAUNCH_CONTEXT, ILaunchContextLaunchAttributes.ATTR_LAUNCH_CONTEXTS) {
- @Override
- protected AbstractItemListXMLParser<IModelNode> getXMLParser() {
- return new AbstractItemListXMLParser<IModelNode>(TAG_LAUNCH_CONTEXT) {
- @Override
- protected Class<?> getReadClass() {
- return IModelNode.class;
- }
- };
- }
- };
-
- /**
- * Saves the selected launch contexts to the specified launch configuration working copy. If the
- * selected launch contexts are <code>null</code> or empty, the attribute will be removed from
- * the specified launch configuration working copy.
- *
- * @param wc The launch configuration working copy. Must not be <code>null</code>.
- * @param contexts The launch contexts to save or <code>null</code>.
- */
- public final static void setLaunchContexts(ILaunchConfigurationWorkingCopy wc, IModelNode[] contexts) {
- delegate.setItems(wc, contexts);
- }
-
- /**
- * Saves the selected launch contexts to the specified launch specification. If the selected
- * launch contexts are <code>null</code> or empty, the attribute will be removed from the
- * specified launch specification.
- *
- * @param launchSpec The launch specification. Must not be <code>null</code>.
- * @param contexts The launch contexts to save or <code>null</code>.
- */
- public final static void setLaunchContexts(ILaunchSpecification launchSpec, IModelNode[] contexts) {
- delegate.setItems(launchSpec, contexts);
- }
-
- /**
- * Writes the given launch contexts into a string encoded in XML.
- *
- * @param contexts The launch contexts to encode. Must not be <code>null</code>.
- * @return The full XML representation of the given contexts or <code>null</code>.
- */
- public final static String encodeLaunchContexts(IModelNode[] contexts) {
- Assert.isNotNull(contexts);
-
- // The final result
- String result = null;
-
- // Generate the write cache key
- String writeCacheKey = makeWriteCacheKey(contexts);
-
- // Check if we have the contexts already generated before
- synchronized (writeCache) {
- if (writeCache.containsKey(writeCacheKey)) {
- result = writeCache.get(writeCacheKey);
- }
- }
-
- // If no cache hit, generate from scratch
- if (result == null) {
- result = delegate.encodeItems(contexts);
-
- synchronized (writeCache) {
- // Limit the write cache capacity
- checkCacheCapacity(writeCache, WRITE_CACHE_MAX_CAPACITY);
- // And put it into the write cache
- writeCache.put(writeCacheKey, result);
- }
- }
-
- return result;
- }
-
- /**
- * Generates a write cache key from the given contexts.
- *
- * @param contexts The contexts
- * @return The corresponding write key cache.
- */
- private static String makeWriteCacheKey(IModelNode[] contexts) {
- Assert.isNotNull(contexts);
-
- StringBuffer key = new StringBuffer();
- for (IModelNode context : contexts) {
- key.append(Integer.toHexString(context.hashCode()));
- key.append(':');
- }
- if (key.charAt(key.length() - 1) == ':') {
- key.setCharAt(key.length() - 1, ' ');
- }
- return key.toString().trim();
- }
-
- /**
- * Reads the selected launch contexts from the given XML encoded string.
- *
- * @param encodedContexts The selected launch contexts encoded as XML string. Must not be <code>null</code>.
- * @return The selected launch contexts or an empty array.
- */
- public final static IModelNode[] decodeLaunchContexts(String encodedContexts) {
- Assert.isNotNull(encodedContexts);
-
- List<IModelNode> contexts = null;
-
- if (!"".equals(encodedContexts.trim())) { //$NON-NLS-1$
- synchronized (readCache) {
- // Check if we have the contexts already parsed before
- if (readCache.containsKey(encodedContexts)) {
- // Take the result from the cache
- contexts = readCache.get(encodedContexts);
- // check sanity. If empty or we cannot find the step context,
- // drop the cache value and decode again.
- ListIterator<IModelNode> iterator = contexts.listIterator();
- while (iterator.hasNext()) {
- IModelNode node = iterator.next();
- IPropertiesAccessService service = ServiceManager.getInstance().getService(node, IPropertiesAccessService.class);
- boolean isGhost = false;
- if (service != null) {
- Object value = service.getProperty(node, IModelNode.PROPERTY_IS_GHOST);
- if (value instanceof Boolean) {
- isGhost = ((Boolean)value).booleanValue();
- }
- }
- if (isGhost) {
- contexts = null;
- readCache.remove(encodedContexts);
- break;
- }
- }
-
- if (contexts != null && contexts.isEmpty()) {
- readCache.remove(encodedContexts);
- contexts = null;
- }
- }
- }
-
- if (contexts == null || contexts.isEmpty()) {
- contexts = delegate.decodeItems(encodedContexts);
- if (!contexts.isEmpty()) {
- synchronized (readCache) {
- // Limit the read cache capacity
- checkCacheCapacity(readCache, READ_CACHE_MAX_CAPACITY);
- // Put the result into the read cache
- readCache.put(encodedContexts, contexts);
- }
- }
- }
- }
-
- return contexts != null ? contexts.toArray(new IModelNode[contexts.size()]) : new IModelNode[0];
- }
-
- /**
- * Internal helper method to ensure a maximum capacity of the caches.
- */
- private final static void checkCacheCapacity(Map<String, ?> cache, int maxCapacity) {
- if (cache.size() < maxCapacity) {
- return;
- }
- // Get all keys
- String[] keys = cache.keySet().toArray(new String[cache.keySet().size()]);
- // And remove all keys starting with the eldest till the
- // capacity is fine again.
- for (String key : keys) {
- cache.remove(key);
- if (cache.size() < maxCapacity / 2) {
- break;
- }
- }
- }
-
- /**
- * Returns the list of configured launch contexts from the given launch configuration.
- * <p>
- * If the given launch configuration is <code>null</code> and the method will return an empty
- * array.
- *
- * @param configuration The launch configuration or <code>null</code>.
- * @return The list of configured launch contexts or an empty array.
- */
- public static final IModelNode[] getLaunchContexts(ILaunchConfiguration configuration) {
- List<IModelNode> list = delegate.getItems(configuration);
- return list.toArray(new IModelNode[list.size()]);
- }
-
- /**
- * Returns the list of configured launch contexts from the given launch specification.
- * <p>
- * If the given launch specification is <code>null</code> and the method will return an empty
- * array.
- *
- * @param launchSpec The launch specification or <code>null</code>.
- * @return The list of configured launch contexts or an empty array.
- */
- public static final IModelNode[] getLaunchContexts(ILaunchSpecification launchSpec) {
- List<IModelNode> list = delegate.getItems(launchSpec);
- return list.toArray(new IModelNode[list.size()]);
- }
-
- /**
- * Returns the first configured launch context from the given launch configuration.
- *
- * @param configuration The launch configuration or <code>null</code>.
- * @return The first configured launch context or <code>null</code>.
- */
- public static final IModelNode getFirstLaunchContext(ILaunchConfiguration configuration) {
- List<IModelNode> list = delegate.getItems(configuration);
- return list != null && !list.isEmpty() ? list.get(0) : null;
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.persistence.launchcontext; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchContextLaunchAttributes; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; +import org.eclipse.tcf.te.runtime.services.ServiceManager; +import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService; + +/** + * Context selector persistence delegate. + */ +public class LaunchContextsPersistenceDelegate { + // The read cache for step contexts. Avoid running time consuming + // re-parsing of an already parsed step context description again and again. + private final static Map<String, List<IModelNode>> readCache = new LinkedHashMap<String, List<IModelNode>>(); + // The write cache for target contexts. Avoids re-generating the XML again and again. + private final static Map<String, String> writeCache = new LinkedHashMap<String, String>(); + + // Limit the read cache to the last 10 read step contexts + private final static int READ_CACHE_MAX_CAPACITY = 25; + // Limit the write cache to the last 10 written step contexts + private final static int WRITE_CACHE_MAX_CAPACITY = 25; + + private static final String TAG_LAUNCH_CONTEXT = "context"; //$NON-NLS-1$ + + private static final AbstractItemListPersistenceDelegate<IModelNode> delegate = + new AbstractItemListPersistenceDelegate<IModelNode>(TAG_LAUNCH_CONTEXT, ILaunchContextLaunchAttributes.ATTR_LAUNCH_CONTEXTS) { + @Override + protected AbstractItemListXMLParser<IModelNode> getXMLParser() { + return new AbstractItemListXMLParser<IModelNode>(TAG_LAUNCH_CONTEXT) { + @Override + protected Class<?> getReadClass() { + return IModelNode.class; + } + }; + } + }; + + /** + * Saves the selected launch contexts to the specified launch configuration working copy. If the + * selected launch contexts are <code>null</code> or empty, the attribute will be removed from + * the specified launch configuration working copy. + * + * @param wc The launch configuration working copy. Must not be <code>null</code>. + * @param contexts The launch contexts to save or <code>null</code>. + */ + public final static void setLaunchContexts(ILaunchConfigurationWorkingCopy wc, IModelNode[] contexts) { + delegate.setItems(wc, contexts); + } + + /** + * Saves the selected launch contexts to the specified launch specification. If the selected + * launch contexts are <code>null</code> or empty, the attribute will be removed from the + * specified launch specification. + * + * @param launchSpec The launch specification. Must not be <code>null</code>. + * @param contexts The launch contexts to save or <code>null</code>. + */ + public final static void setLaunchContexts(ILaunchSpecification launchSpec, IModelNode[] contexts) { + delegate.setItems(launchSpec, contexts); + } + + /** + * Writes the given launch contexts into a string encoded in XML. + * + * @param contexts The launch contexts to encode. Must not be <code>null</code>. + * @return The full XML representation of the given contexts or <code>null</code>. + */ + public final static String encodeLaunchContexts(IModelNode[] contexts) { + Assert.isNotNull(contexts); + + // The final result + String result = null; + + // Generate the write cache key + String writeCacheKey = makeWriteCacheKey(contexts); + + // Check if we have the contexts already generated before + synchronized (writeCache) { + if (writeCache.containsKey(writeCacheKey)) { + result = writeCache.get(writeCacheKey); + } + } + + // If no cache hit, generate from scratch + if (result == null) { + result = delegate.encodeItems(contexts); + + synchronized (writeCache) { + // Limit the write cache capacity + checkCacheCapacity(writeCache, WRITE_CACHE_MAX_CAPACITY); + // And put it into the write cache + writeCache.put(writeCacheKey, result); + } + } + + return result; + } + + /** + * Generates a write cache key from the given contexts. + * + * @param contexts The contexts + * @return The corresponding write key cache. + */ + private static String makeWriteCacheKey(IModelNode[] contexts) { + Assert.isNotNull(contexts); + + StringBuffer key = new StringBuffer(); + for (IModelNode context : contexts) { + key.append(Integer.toHexString(context.hashCode())); + key.append(':'); + } + if (key.charAt(key.length() - 1) == ':') { + key.setCharAt(key.length() - 1, ' '); + } + return key.toString().trim(); + } + + /** + * Reads the selected launch contexts from the given XML encoded string. + * + * @param encodedContexts The selected launch contexts encoded as XML string. Must not be <code>null</code>. + * @return The selected launch contexts or an empty array. + */ + public final static IModelNode[] decodeLaunchContexts(String encodedContexts) { + Assert.isNotNull(encodedContexts); + + List<IModelNode> contexts = null; + + if (!"".equals(encodedContexts.trim())) { //$NON-NLS-1$ + synchronized (readCache) { + // Check if we have the contexts already parsed before + if (readCache.containsKey(encodedContexts)) { + // Take the result from the cache + contexts = readCache.get(encodedContexts); + // check sanity. If empty or we cannot find the step context, + // drop the cache value and decode again. + ListIterator<IModelNode> iterator = contexts.listIterator(); + while (iterator.hasNext()) { + IModelNode node = iterator.next(); + IPropertiesAccessService service = ServiceManager.getInstance().getService(node, IPropertiesAccessService.class); + boolean isGhost = false; + if (service != null) { + Object value = service.getProperty(node, IModelNode.PROPERTY_IS_GHOST); + if (value instanceof Boolean) { + isGhost = ((Boolean)value).booleanValue(); + } + } + if (isGhost) { + contexts = null; + readCache.remove(encodedContexts); + break; + } + } + + if (contexts != null && contexts.isEmpty()) { + readCache.remove(encodedContexts); + contexts = null; + } + } + } + + if (contexts == null || contexts.isEmpty()) { + contexts = delegate.decodeItems(encodedContexts); + if (!contexts.isEmpty()) { + synchronized (readCache) { + // Limit the read cache capacity + checkCacheCapacity(readCache, READ_CACHE_MAX_CAPACITY); + // Put the result into the read cache + readCache.put(encodedContexts, contexts); + } + } + } + } + + return contexts != null ? contexts.toArray(new IModelNode[contexts.size()]) : new IModelNode[0]; + } + + /** + * Internal helper method to ensure a maximum capacity of the caches. + */ + private final static void checkCacheCapacity(Map<String, ?> cache, int maxCapacity) { + if (cache.size() < maxCapacity) { + return; + } + // Get all keys + String[] keys = cache.keySet().toArray(new String[cache.keySet().size()]); + // And remove all keys starting with the eldest till the + // capacity is fine again. + for (String key : keys) { + cache.remove(key); + if (cache.size() < maxCapacity / 2) { + break; + } + } + } + + /** + * Returns the list of configured launch contexts from the given launch configuration. + * <p> + * If the given launch configuration is <code>null</code> and the method will return an empty + * array. + * + * @param configuration The launch configuration or <code>null</code>. + * @return The list of configured launch contexts or an empty array. + */ + public static final IModelNode[] getLaunchContexts(ILaunchConfiguration configuration) { + List<IModelNode> list = delegate.getItems(configuration); + return list.toArray(new IModelNode[list.size()]); + } + + /** + * Returns the list of configured launch contexts from the given launch specification. + * <p> + * If the given launch specification is <code>null</code> and the method will return an empty + * array. + * + * @param launchSpec The launch specification or <code>null</code>. + * @return The list of configured launch contexts or an empty array. + */ + public static final IModelNode[] getLaunchContexts(ILaunchSpecification launchSpec) { + List<IModelNode> list = delegate.getItems(launchSpec); + return list.toArray(new IModelNode[list.size()]); + } + + /** + * Returns the first configured launch context from the given launch configuration. + * + * @param configuration The launch configuration or <code>null</code>. + * @return The first configured launch context or <code>null</code>. + */ + public static final IModelNode getFirstLaunchContext(ILaunchConfiguration configuration) { + List<IModelNode> list = delegate.getItems(configuration); + return list != null && !list.isEmpty() ? list.get(0) : null; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItem.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItem.java index 0c5d8d0b3..d4a33ce48 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItem.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItem.java @@ -1,72 +1,72 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.persistence.projects;
-
-import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem;
-import org.eclipse.tcf.te.runtime.properties.PropertiesContainer;
-
-/**
- * ReferencedProjectItem
- */
-public class ReferencedProjectItem extends PropertiesContainer implements IReferencedProjectItem {
-
- /**
- * Constructor.
- */
- public ReferencedProjectItem() {
- setProperty(PROPERTY_ENABLED, true);
- }
-
- public ReferencedProjectItem(String projectName) {
- this();
- setProperty(PROPERTY_PROJECT_NAME, projectName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem#isEnabled()
- */
- @Override
- public boolean isEnabled() {
- return getBooleanProperty(PROPERTY_ENABLED);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem#getProjectName()
- */
- @Override
- public String getProjectName() {
- return getStringProperty(PROPERTY_PROJECT_NAME);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.properties.PropertiesContainer#hashCode()
- */
- @Override
- public int hashCode() {
- if (getProjectName() != null) {
- return getProjectName().hashCode();
- }
- return super.hashCode();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.properties.PropertiesContainer#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof IReferencedProjectItem) {
- String pn1 = getProjectName();
- String pn2 = ((IReferencedProjectItem)obj).getProjectName();
- return pn1 != null ? pn1.equals(pn2) : pn2 == null;
- }
- return super.equals(obj);
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.persistence.projects; + +import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem; +import org.eclipse.tcf.te.runtime.properties.PropertiesContainer; + +/** + * ReferencedProjectItem + */ +public class ReferencedProjectItem extends PropertiesContainer implements IReferencedProjectItem { + + /** + * Constructor. + */ + public ReferencedProjectItem() { + setProperty(PROPERTY_ENABLED, true); + } + + public ReferencedProjectItem(String projectName) { + this(); + setProperty(PROPERTY_PROJECT_NAME, projectName); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem#isEnabled() + */ + @Override + public boolean isEnabled() { + return getBooleanProperty(PROPERTY_ENABLED); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem#getProjectName() + */ + @Override + public String getProjectName() { + return getStringProperty(PROPERTY_PROJECT_NAME); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.properties.PropertiesContainer#hashCode() + */ + @Override + public int hashCode() { + if (getProjectName() != null) { + return getProjectName().hashCode(); + } + return super.hashCode(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.properties.PropertiesContainer#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof IReferencedProjectItem) { + String pn1 = getProjectName(); + String pn2 = ((IReferencedProjectItem)obj).getProjectName(); + return pn1 != null ? pn1.equals(pn2) : pn2 == null; + } + return super.equals(obj); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItemValidator.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItemValidator.java index 74b33d2ff..ffe47ec4e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItemValidator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectItemValidator.java @@ -1,49 +1,49 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.persistence.projects;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem;
-import org.eclipse.tcf.te.launch.core.nls.Messages;
-
-/**
- * ReferencedProjectItemValidator
- */
-public class ReferencedProjectItemValidator {
-
- public static final Map<String,String> validate(IReferencedProjectItem item) {
- Assert.isNotNull(item);
-
- Map<String,String> invalid = new HashMap<String,String>();
-
- String projectName = item.getStringProperty(IReferencedProjectItem.PROPERTY_PROJECT_NAME);
-
- if (projectName == null || projectName.trim().length() == 0) {
- invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_missingProject);
- }
- else {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- if (project == null) {
- invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_notExistingProject);
- }
- else if (!project.isOpen()) {
- invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_closedProject);
- }
- }
-
- return invalid.isEmpty() ? null : invalid;
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.persistence.projects; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem; +import org.eclipse.tcf.te.launch.core.nls.Messages; + +/** + * ReferencedProjectItemValidator + */ +public class ReferencedProjectItemValidator { + + public static final Map<String,String> validate(IReferencedProjectItem item) { + Assert.isNotNull(item); + + Map<String,String> invalid = new HashMap<String,String>(); + + String projectName = item.getStringProperty(IReferencedProjectItem.PROPERTY_PROJECT_NAME); + + if (projectName == null || projectName.trim().length() == 0) { + invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_missingProject); + } + else { + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + if (project == null) { + invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_notExistingProject); + } + else if (!project.isOpen()) { + invalid.put(IReferencedProjectItem.PROPERTY_PROJECT_NAME, Messages.ReferencedProjectItemValidator_closedProject); + } + } + + return invalid.isEmpty() ? null : invalid; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectsPersistenceDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectsPersistenceDelegate.java index 79be4e877..a98996d03 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectsPersistenceDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/persistence/projects/ReferencedProjectsPersistenceDelegate.java @@ -1,114 +1,114 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.persistence.projects;
-
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification;
-import org.eclipse.tcf.te.launch.core.lm.interfaces.IReferencedProjectLaunchAttributes;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate;
-import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser;
-
-/**
- * Referenced projects persistence delegate.
- */
-public class ReferencedProjectsPersistenceDelegate {
-
- private static final String TAG_PROJECT = "referencedProject"; //$NON-NLS-1$
-
- private static final AbstractItemListPersistenceDelegate<IReferencedProjectItem> delegate =
- new AbstractItemListPersistenceDelegate<IReferencedProjectItem>(TAG_PROJECT, IReferencedProjectLaunchAttributes.ATTR_REFERENCED_PROJECTS) {
- @Override
- protected AbstractItemListXMLParser<IReferencedProjectItem> getXMLParser() {
- return new AbstractItemListXMLParser<IReferencedProjectItem>(TAG_PROJECT) {
- @Override
- protected Class<?> getReadClass() {
- return IReferencedProjectItem.class;
- }
- };
- }
- };
-
- /**
- * Saves the selected referenced project items to the specified launch configuration working copy. If the
- * selected referenced project items are <code>null</code> or empty, the attribute will be removed from
- * the specified launch configuration working copy.
- *
- * @param wc The launch configuration working copy. Must not be <code>null</code>.
- * @param items The referenced project items to save or <code>null</code>.
- */
- public final static void setReferencedProjects(ILaunchConfigurationWorkingCopy wc, IReferencedProjectItem[] items) {
- delegate.setItems(wc, items);
- }
-
- /**
- * Saves the selected referenced project items to the specified launch specification. If the selected
- * referenced project items are <code>null</code> or empty, the attribute will be removed from the
- * specified launch specification.
- *
- * @param launchSpec The launch specification. Must not be <code>null</code>.
- * @param items The referenced project items to save or <code>null</code>.
- */
- public final static void setReferencedProjects(ILaunchSpecification launchSpec, IReferencedProjectItem[] items) {
- delegate.setItems(launchSpec, items);
- }
-
- /**
- * Writes the given referenced project items into a string encoded in XML.
- *
- * @param items The referenced project items to encode. Must not be <code>null</code>.
- * @return The full XML representation of the given items or <code>null</code>.
- */
- public final static String encodeReferencedProjectItems(IReferencedProjectItem[] items) {
- return delegate.encodeItems(items);
- }
-
- /**
- * Reads the selected referenced project items from the given XML encoded string.
- *
- * @param encodedItems The selected referenced project items encoded as XML string. Must not be <code>null</code>.
- * @return The selected referenced project items or an empty array.
- */
- public final static IReferencedProjectItem[] decodeReferencedProjectItems(String encodedItems) {
- List<IReferencedProjectItem> list = delegate.decodeItems(encodedItems);
- return list.toArray(new IReferencedProjectItem[list.size()]);
- }
-
- /**
- * Returns the list of configured referenced project items from the given launch configuration.
- * <p>
- * If the given launch configuration is <code>null</code> and the method will return an empty
- * array.
- *
- * @param configuration The launch configuration or <code>null</code>.
- * @return The list of configured referenced project items or an empty array.
- */
- public static final IReferencedProjectItem[] getReferencedProjects(ILaunchConfiguration configuration) {
- List<IReferencedProjectItem> list = delegate.getItems(configuration);
- return list.toArray(new IReferencedProjectItem[list.size()]);
- }
-
- /**
- * Returns the list of configured referenced project items from the given launch specification.
- * <p>
- * If the given launch specification is <code>null</code> and the method will return an empty
- * array.
- *
- * @param launchSpec The launch specification or <code>null</code>.
- * @return The list of configured referenced project items or an empty array.
- */
- public static final IReferencedProjectItem[] getReferencedProjects(ILaunchSpecification launchSpec) {
- List<IReferencedProjectItem> list = delegate.getItems(launchSpec);
- return list.toArray(new IReferencedProjectItem[list.size()]);
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.persistence.projects; + +import java.util.List; + +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.tcf.te.launch.core.interfaces.IReferencedProjectItem; +import org.eclipse.tcf.te.launch.core.lm.interfaces.ILaunchSpecification; +import org.eclipse.tcf.te.launch.core.lm.interfaces.IReferencedProjectLaunchAttributes; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListPersistenceDelegate; +import org.eclipse.tcf.te.launch.core.persistence.AbstractItemListXMLParser; + +/** + * Referenced projects persistence delegate. + */ +public class ReferencedProjectsPersistenceDelegate { + + private static final String TAG_PROJECT = "referencedProject"; //$NON-NLS-1$ + + private static final AbstractItemListPersistenceDelegate<IReferencedProjectItem> delegate = + new AbstractItemListPersistenceDelegate<IReferencedProjectItem>(TAG_PROJECT, IReferencedProjectLaunchAttributes.ATTR_REFERENCED_PROJECTS) { + @Override + protected AbstractItemListXMLParser<IReferencedProjectItem> getXMLParser() { + return new AbstractItemListXMLParser<IReferencedProjectItem>(TAG_PROJECT) { + @Override + protected Class<?> getReadClass() { + return IReferencedProjectItem.class; + } + }; + } + }; + + /** + * Saves the selected referenced project items to the specified launch configuration working copy. If the + * selected referenced project items are <code>null</code> or empty, the attribute will be removed from + * the specified launch configuration working copy. + * + * @param wc The launch configuration working copy. Must not be <code>null</code>. + * @param items The referenced project items to save or <code>null</code>. + */ + public final static void setReferencedProjects(ILaunchConfigurationWorkingCopy wc, IReferencedProjectItem[] items) { + delegate.setItems(wc, items); + } + + /** + * Saves the selected referenced project items to the specified launch specification. If the selected + * referenced project items are <code>null</code> or empty, the attribute will be removed from the + * specified launch specification. + * + * @param launchSpec The launch specification. Must not be <code>null</code>. + * @param items The referenced project items to save or <code>null</code>. + */ + public final static void setReferencedProjects(ILaunchSpecification launchSpec, IReferencedProjectItem[] items) { + delegate.setItems(launchSpec, items); + } + + /** + * Writes the given referenced project items into a string encoded in XML. + * + * @param items The referenced project items to encode. Must not be <code>null</code>. + * @return The full XML representation of the given items or <code>null</code>. + */ + public final static String encodeReferencedProjectItems(IReferencedProjectItem[] items) { + return delegate.encodeItems(items); + } + + /** + * Reads the selected referenced project items from the given XML encoded string. + * + * @param encodedItems The selected referenced project items encoded as XML string. Must not be <code>null</code>. + * @return The selected referenced project items or an empty array. + */ + public final static IReferencedProjectItem[] decodeReferencedProjectItems(String encodedItems) { + List<IReferencedProjectItem> list = delegate.decodeItems(encodedItems); + return list.toArray(new IReferencedProjectItem[list.size()]); + } + + /** + * Returns the list of configured referenced project items from the given launch configuration. + * <p> + * If the given launch configuration is <code>null</code> and the method will return an empty + * array. + * + * @param configuration The launch configuration or <code>null</code>. + * @return The list of configured referenced project items or an empty array. + */ + public static final IReferencedProjectItem[] getReferencedProjects(ILaunchConfiguration configuration) { + List<IReferencedProjectItem> list = delegate.getItems(configuration); + return list.toArray(new IReferencedProjectItem[list.size()]); + } + + /** + * Returns the list of configured referenced project items from the given launch specification. + * <p> + * If the given launch specification is <code>null</code> and the method will return an empty + * array. + * + * @param launchSpec The launch specification or <code>null</code>. + * @return The list of configured referenced project items or an empty array. + */ + public static final IReferencedProjectItem[] getReferencedProjects(ILaunchSpecification launchSpec) { + List<IReferencedProjectItem> list = delegate.getItems(launchSpec); + return list.toArray(new IReferencedProjectItem[list.size()]); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/IPreferenceKeys.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/IPreferenceKeys.java index 58c28de97..5c4b50ed3 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/IPreferenceKeys.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/IPreferenceKeys.java @@ -1,62 +1,62 @@ -/*******************************************************************************
- * 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.launch.core.preferences;
-
-
-/**
- * The locator model bundle preference key identifiers.
- */
-public interface IPreferenceKeys {
- /**
- * Common prefix for all core preference keys
- */
- public final String PREFIX = "te.launch.core."; //$NON-NLS-1$
-
- /**
- * Launch configuration find/create mode: Always create new launch configurations.
- */
- public static final int MODE_ALWAYS_NEW = 0;
-
- /**
- * Launch configuration find/create mode: Re-use launch configuration if all attributes are matching.
- */
- public static final int MODE_FULL_MATCH_LAUNCH_CONFIG = 1;
-
- /**
- * Launch configuration find/create mode: Re-use launch configuration if the target ID matches.
- */
- public static final int MODE_FULL_MATCH_TARGET = 2;
-
- /**
- * Launch configuration find/create mode: Re-use first matching launch configuration.
- */
- public static final int MODE_FIRST_MATCHING = 3;
-
- /**
- * Launch configuration find/create mode. See the <code>MODE_*</code> constants.
- */
- public static final String PREF_LAUNCH_CONFIG_FIND_CREATE_MODE = PREFIX + "launchConfigFindCreateMode"; //$NON-NLS-1$
-
- /**
- * If set to <code>true</code>, project references will be added by default to newly created launch configurations.
- */
- public static final String PREF_ADD_PROJECT_TO_NEW_LAUNCH_CONFIG = PREFIX + "addProjectToNewLaunchConfig"; //$NON-NLS-1$
-
- /**
- * If set to <code>true</code>, launches are sorted by their last launched time stamp.
- */
- public static final String PREF_SORT_LAUNCHES_BY_LAST_LAUNCHED = PREFIX + ".sortLaunchesByLastLaunched"; //$NON-NLS-1$
-
- /**
- * Preference key to access the flag to hide favorite launches content extension.
- */
- public static final String PREF_HIDE_FAVORITE_LAUNCHES_EXTENSION = "org.eclipse.tcf.te.tcf.launch.ui.navigator.favorites.content.hide"; //$NON-NLS-1$
-
-}
+/******************************************************************************* + * Copyright (c) 2011, 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.launch.core.preferences; + + +/** + * The locator model bundle preference key identifiers. + */ +public interface IPreferenceKeys { + /** + * Common prefix for all core preference keys + */ + public final String PREFIX = "te.launch.core."; //$NON-NLS-1$ + + /** + * Launch configuration find/create mode: Always create new launch configurations. + */ + public static final int MODE_ALWAYS_NEW = 0; + + /** + * Launch configuration find/create mode: Re-use launch configuration if all attributes are matching. + */ + public static final int MODE_FULL_MATCH_LAUNCH_CONFIG = 1; + + /** + * Launch configuration find/create mode: Re-use launch configuration if the target ID matches. + */ + public static final int MODE_FULL_MATCH_TARGET = 2; + + /** + * Launch configuration find/create mode: Re-use first matching launch configuration. + */ + public static final int MODE_FIRST_MATCHING = 3; + + /** + * Launch configuration find/create mode. See the <code>MODE_*</code> constants. + */ + public static final String PREF_LAUNCH_CONFIG_FIND_CREATE_MODE = PREFIX + "launchConfigFindCreateMode"; //$NON-NLS-1$ + + /** + * If set to <code>true</code>, project references will be added by default to newly created launch configurations. + */ + public static final String PREF_ADD_PROJECT_TO_NEW_LAUNCH_CONFIG = PREFIX + "addProjectToNewLaunchConfig"; //$NON-NLS-1$ + + /** + * If set to <code>true</code>, launches are sorted by their last launched time stamp. + */ + public static final String PREF_SORT_LAUNCHES_BY_LAST_LAUNCHED = PREFIX + ".sortLaunchesByLastLaunched"; //$NON-NLS-1$ + + /** + * Preference key to access the flag to hide favorite launches content extension. + */ + public static final String PREF_HIDE_FAVORITE_LAUNCHES_EXTENSION = "org.eclipse.tcf.te.tcf.launch.ui.navigator.favorites.content.hide"; //$NON-NLS-1$ + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/PreferencesInitializer.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/PreferencesInitializer.java index 66ef5238e..254df84da 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/PreferencesInitializer.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/preferences/PreferencesInitializer.java @@ -1,44 +1,44 @@ -/*******************************************************************************
- * Copyright (c) 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.launch.core.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.tcf.te.launch.core.activator.CoreBundleActivator;
-import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
-
-/**
- * Launch core framework preferences initializer implementation.
- */
-public class PreferencesInitializer extends AbstractPreferenceInitializer {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
- @Override
- public void initializeDefaultPreferences() {
- // Get the preferences store
- ScopedEclipsePreferences store = CoreBundleActivator.getScopedPreferences();
-
- /**
- * Launch configuration find/create mode: default <code>MODE_FIRST_MATCHING</code>.
- */
- store.putDefaultInt(IPreferenceKeys.PREF_LAUNCH_CONFIG_FIND_CREATE_MODE, IPreferenceKeys.MODE_FIRST_MATCHING);
-
- /**
- * Add project references to newly created launch configurations: default <code>true</code>.
- */
- store.putDefaultBoolean(IPreferenceKeys.PREF_ADD_PROJECT_TO_NEW_LAUNCH_CONFIG, true);
-
- /**
- * Sort launches by their last launched time stamp: default <code>true</code>.
- */
- store.putDefaultBoolean(IPreferenceKeys.PREF_SORT_LAUNCHES_BY_LAST_LAUNCHED, true);
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 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.launch.core.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.tcf.te.launch.core.activator.CoreBundleActivator; +import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences; + +/** + * Launch core framework preferences initializer implementation. + */ +public class PreferencesInitializer extends AbstractPreferenceInitializer { + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + @Override + public void initializeDefaultPreferences() { + // Get the preferences store + ScopedEclipsePreferences store = CoreBundleActivator.getScopedPreferences(); + + /** + * Launch configuration find/create mode: default <code>MODE_FIRST_MATCHING</code>. + */ + store.putDefaultInt(IPreferenceKeys.PREF_LAUNCH_CONFIG_FIND_CREATE_MODE, IPreferenceKeys.MODE_FIRST_MATCHING); + + /** + * Add project references to newly created launch configurations: default <code>true</code>. + */ + store.putDefaultBoolean(IPreferenceKeys.PREF_ADD_PROJECT_TO_NEW_LAUNCH_CONFIG, true); + + /** + * Sort launches by their last launched time stamp: default <code>true</code>. + */ + store.putDefaultBoolean(IPreferenceKeys.PREF_SORT_LAUNCHES_BY_LAST_LAUNCHED, true); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/properties/PropertyTester.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/properties/PropertyTester.java index 28e7ca609..bcc989554 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/properties/PropertyTester.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/properties/PropertyTester.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/AbstractSelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/AbstractSelectionContext.java index 5b8bdc65b..032655874 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/AbstractSelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/AbstractSelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/LaunchSelection.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/LaunchSelection.java index 8b9515e40..5a87d76b8 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/LaunchSelection.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/LaunchSelection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/ProjectSelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/ProjectSelectionContext.java index 83e37ac6b..0ca37ecb3 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/ProjectSelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/ProjectSelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/RemoteSelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/RemoteSelectionContext.java index 4065bb6b8..1f0e2e75e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/RemoteSelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/RemoteSelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ILaunchSelection.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ILaunchSelection.java index 11c34cd19..b48de66e1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ILaunchSelection.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ILaunchSelection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IProjectSelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IProjectSelectionContext.java index 558fb669f..6dc088bc9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IProjectSelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IProjectSelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IRemoteSelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IRemoteSelectionContext.java index df97305d9..3358cb86c 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IRemoteSelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/IRemoteSelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ISelectionContext.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ISelectionContext.java index 959510901..83784f7eb 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ISelectionContext.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/selection/interfaces/ISelectionContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/AbstractLaunchStep.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/AbstractLaunchStep.java index 97cf1dfe0..70adfe5a1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/AbstractLaunchStep.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/AbstractLaunchStep.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/RemoveLaunchStep.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/RemoveLaunchStep.java index 54564cb67..ad5a1e277 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/RemoveLaunchStep.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/RemoveLaunchStep.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/AbstractLaunchStepGroupIterator.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/AbstractLaunchStepGroupIterator.java index 4ca43c070..ba08a7ea6 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/AbstractLaunchStepGroupIterator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/AbstractLaunchStepGroupIterator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 diff --git a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/LaunchContextIterator.java b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/LaunchContextIterator.java index aca87d22f..d1f9ca6e4 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/LaunchContextIterator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.launch.core/src/org/eclipse/tcf/te/launch/core/steps/iterators/LaunchContextIterator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 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 |