diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse')
18 files changed, 488 insertions, 488 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/MessageModelNode.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/MessageModelNode.java index 764e3746b..6b2c243c9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/MessageModelNode.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/MessageModelNode.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/PendingOperationModelNode.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/PendingOperationModelNode.java index 30381cf67..d65a666d2 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/PendingOperationModelNode.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/PendingOperationModelNode.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 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.runtime.model/src/org/eclipse/tcf/te/runtime/model/activator/CoreBundleActivator.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/activator/CoreBundleActivator.java index aac41888d..e41aa357f 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/activator/CoreBundleActivator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/activator/CoreBundleActivator.java @@ -1,72 +1,72 @@ -/*******************************************************************************
- * 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.runtime.model.activator;
-
-import org.eclipse.tcf.te.runtime.tracing.TraceHandler;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class CoreBundleActivator implements BundleActivator {
- // The bundle context
- private static BundleContext context;
- // The trace handler instance
- private static volatile TraceHandler traceHandler;
-
- /**
- * Returns the bundle context
- *
- * @return the bundle context
- */
- public static BundleContext getContext() {
- return context;
- }
-
- /**
- * Convenience method which returns the unique identifier of this plugin.
- */
- public static String getUniqueIdentifier() {
- if (getContext() != null && getContext().getBundle() != null) {
- return getContext().getBundle().getSymbolicName();
- }
- return "org.eclipse.tcf.te.runtime.model"; //$NON-NLS-1$
- }
-
- /**
- * Returns the bundles trace handler.
- *
- * @return The bundles trace handler.
- */
- public static TraceHandler getTraceHandler() {
- if (traceHandler == null) {
- traceHandler = new TraceHandler(getUniqueIdentifier());
- }
- return traceHandler;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext bundleContext) throws Exception {
- CoreBundleActivator.context = bundleContext;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext bundleContext) throws Exception {
- CoreBundleActivator.context = null;
- }
-
-}
+/******************************************************************************* + * 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.runtime.model.activator; + +import org.eclipse.tcf.te.runtime.tracing.TraceHandler; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class CoreBundleActivator implements BundleActivator { + // The bundle context + private static BundleContext context; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * Returns the bundle context + * + * @return the bundle context + */ + public static BundleContext getContext() { + return context; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getContext() != null && getContext().getBundle() != null) { + return getContext().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.runtime.model"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext bundleContext) throws Exception { + CoreBundleActivator.context = bundleContext; + } + + /* (non-Javadoc) + * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext bundleContext) throws Exception { + CoreBundleActivator.context = null; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/contexts/AsyncRefreshableCtxAdapter.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/contexts/AsyncRefreshableCtxAdapter.java index f82e41bf3..d62c801f9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/contexts/AsyncRefreshableCtxAdapter.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/contexts/AsyncRefreshableCtxAdapter.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate.java index f2dc3d5ff..3be24c768 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate.java @@ -1,21 +1,21 @@ -/*******************************************************************************
- * Copyright (c) 2011 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.runtime.model.factory;
-
-import org.eclipse.tcf.te.runtime.extensions.ExecutableExtension;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate;
-
-
-/**
- * Abstract model node factory delegate implementation.
- */
-public abstract class AbstractFactoryDelegate extends ExecutableExtension implements IFactoryDelegate {
-
-}
+/******************************************************************************* + * 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.runtime.model.factory; + +import org.eclipse.tcf.te.runtime.extensions.ExecutableExtension; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate; + + +/** + * Abstract model node factory delegate implementation. + */ +public abstract class AbstractFactoryDelegate extends ExecutableExtension implements IFactoryDelegate { + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate2.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate2.java index f832d6df5..033a70514 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate2.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/AbstractFactoryDelegate2.java @@ -1,20 +1,20 @@ -/*******************************************************************************
- * 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.runtime.model.factory;
-
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate2;
-
-
-/**
- * Abstract model node factory delegate implementing {@link IFactoryDelegate2}.
- */
-public abstract class AbstractFactoryDelegate2 extends AbstractFactoryDelegate implements IFactoryDelegate2 {
-
-}
+/******************************************************************************* + * 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.runtime.model.factory; + +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate2; + + +/** + * Abstract model node factory delegate implementing {@link IFactoryDelegate2}. + */ +public abstract class AbstractFactoryDelegate2 extends AbstractFactoryDelegate implements IFactoryDelegate2 { + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/Factory.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/Factory.java index 468a40828..3cef80b58 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/Factory.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/Factory.java @@ -1,72 +1,72 @@ -/*******************************************************************************
- * 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.runtime.model.factory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate2;
-import org.eclipse.tcf.te.runtime.model.internal.factory.FactoryDelegateManager;
-
-/**
- * Model node factory implementation.
- */
-public final class Factory extends PlatformObject implements IFactory {
- private final FactoryDelegateManager manager = new FactoryDelegateManager();
-
- /*
- * Thread save singleton instance creation.
- */
- private static class LazyInstance {
- public static Factory instance = new Factory();
- }
-
- /**
- * Returns the singleton instance of the service manager.
- */
- public static Factory getInstance() {
- return LazyInstance.instance;
- }
-
- /**
- * Constructor.
- */
- Factory() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory#newInstance(java.lang.Class)
- */
- @Override
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface) {
- Assert.isNotNull(nodeInterface);
-
- // Determine the model node factory delegate to use
- IFactoryDelegate delegate = manager.getFactoryDelegate(nodeInterface);
- // Return the model node instance
- return delegate != null ? (V) delegate.newInstance(nodeInterface) : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory#newInstance(java.lang.Class, java.lang.Object[])
- */
- @Override
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args) {
- Assert.isNotNull(nodeInterface);
-
- // Determine the model node factory delegate to use
- IFactoryDelegate delegate = manager.getFactoryDelegate(nodeInterface);
- // Return the model node instance
- return delegate instanceof IFactoryDelegate2 ? (V) ((IFactoryDelegate2)delegate).newInstance(nodeInterface, args) : null;
- }
-}
+/******************************************************************************* + * 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.runtime.model.factory; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate2; +import org.eclipse.tcf.te.runtime.model.internal.factory.FactoryDelegateManager; + +/** + * Model node factory implementation. + */ +public final class Factory extends PlatformObject implements IFactory { + private final FactoryDelegateManager manager = new FactoryDelegateManager(); + + /* + * Thread save singleton instance creation. + */ + private static class LazyInstance { + public static Factory instance = new Factory(); + } + + /** + * Returns the singleton instance of the service manager. + */ + public static Factory getInstance() { + return LazyInstance.instance; + } + + /** + * Constructor. + */ + Factory() { + super(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory#newInstance(java.lang.Class) + */ + @Override + public <V extends IModelNode> V newInstance(Class<V> nodeInterface) { + Assert.isNotNull(nodeInterface); + + // Determine the model node factory delegate to use + IFactoryDelegate delegate = manager.getFactoryDelegate(nodeInterface); + // Return the model node instance + return delegate != null ? (V) delegate.newInstance(nodeInterface) : null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactory#newInstance(java.lang.Class, java.lang.Object[]) + */ + @Override + public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args) { + Assert.isNotNull(nodeInterface); + + // Determine the model node factory delegate to use + IFactoryDelegate delegate = manager.getFactoryDelegate(nodeInterface); + // Return the model node instance + return delegate instanceof IFactoryDelegate2 ? (V) ((IFactoryDelegate2)delegate).newInstance(nodeInterface, args) : null; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/ModelNodeFactoryDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/ModelNodeFactoryDelegate.java index 1aa61fd36..2ea221ea6 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/ModelNodeFactoryDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/factory/ModelNodeFactoryDelegate.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IContainerModelNode.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IContainerModelNode.java index 23f3fb9e7..36556ff56 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IContainerModelNode.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IContainerModelNode.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IModelNodeProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IModelNodeProvider.java index 2cae3d019..d53875da7 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IModelNodeProvider.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/IModelNodeProvider.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/contexts/IAsyncRefreshableCtx.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/contexts/IAsyncRefreshableCtx.java index 94535a7ac..2f0a51dd7 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/contexts/IAsyncRefreshableCtx.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/contexts/IAsyncRefreshableCtx.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.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactory.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactory.java index 490de970d..f60cf8194 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactory.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactory.java @@ -1,44 +1,44 @@ -/*******************************************************************************
- * 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.runtime.model.interfaces.factory;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-
-/**
- * Interface to be implemented by model node factories.
- */
-public interface IFactory extends IAdaptable {
-
- /**
- * Creates an new instance of an node object implementing the specified node interface.
- *
- * @param nodeInterface The node interface to be implemented by the node object to be created.
- * Must not be <code>null</code>.
- * @return The node object implementing the specified node interface or <code>null</code>.
- */
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface);
-
- /**
- * Creates an new instance of an node object implementing the specified node interface.
- * <p>
- * <b>Note:</b> Factory delegates must implement {@link IFactoryDelegate2} to be invoked by
- * this method.
- *
- * @param nodeInterface The node interface to be implemented by the node object to be created.
- * Must not be <code>null</code>.
- * @param args The arguments to be passed to a matching constructor, or <code>null</code>.
- *
- * @return The node object implementing the specified node interface or <code>null</code>.
- *
- * @see IFactoryDelegate2#newInstance(Class, Object[])
- */
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args);
-}
+/******************************************************************************* + * 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.runtime.model.interfaces.factory; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; + +/** + * Interface to be implemented by model node factories. + */ +public interface IFactory extends IAdaptable { + + /** + * Creates an new instance of an node object implementing the specified node interface. + * + * @param nodeInterface The node interface to be implemented by the node object to be created. + * Must not be <code>null</code>. + * @return The node object implementing the specified node interface or <code>null</code>. + */ + public <V extends IModelNode> V newInstance(Class<V> nodeInterface); + + /** + * Creates an new instance of an node object implementing the specified node interface. + * <p> + * <b>Note:</b> Factory delegates must implement {@link IFactoryDelegate2} to be invoked by + * this method. + * + * @param nodeInterface The node interface to be implemented by the node object to be created. + * Must not be <code>null</code>. + * @param args The arguments to be passed to a matching constructor, or <code>null</code>. + * + * @return The node object implementing the specified node interface or <code>null</code>. + * + * @see IFactoryDelegate2#newInstance(Class, Object[]) + */ + public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate.java index 18cead26f..f140aa82c 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate.java @@ -1,28 +1,28 @@ -/*******************************************************************************
- * Copyright (c) 2011 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.runtime.model.interfaces.factory;
-
-import org.eclipse.tcf.te.runtime.interfaces.extensions.IExecutableExtension;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-
-/**
- * Interface to be implemented by model node factory delegates.
- */
-public interface IFactoryDelegate extends IExecutableExtension {
-
- /**
- * Returns a new instance of an node object implementing the given node interface.
- *
- * @param nodeInterface The node interface to be implemented by the node object to be created.
- * Must not be <code>null</code>.
- * @return The node object implementing the specified node interface or <code>null</code>.
- */
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface);
-}
+/******************************************************************************* + * 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.runtime.model.interfaces.factory; + +import org.eclipse.tcf.te.runtime.interfaces.extensions.IExecutableExtension; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; + +/** + * Interface to be implemented by model node factory delegates. + */ +public interface IFactoryDelegate extends IExecutableExtension { + + /** + * Returns a new instance of an node object implementing the given node interface. + * + * @param nodeInterface The node interface to be implemented by the node object to be created. + * Must not be <code>null</code>. + * @return The node object implementing the specified node interface or <code>null</code>. + */ + public <V extends IModelNode> V newInstance(Class<V> nodeInterface); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate2.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate2.java index 6b3f6cc72..6c3297c32 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate2.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/interfaces/factory/IFactoryDelegate2.java @@ -1,37 +1,37 @@ -/*******************************************************************************
- * 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.runtime.model.interfaces.factory;
-
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-
-/**
- * Interface to be implemented by model node factory delegates.
- */
-public interface IFactoryDelegate2 extends IFactoryDelegate {
-
- /**
- * Returns a new instance of an node object implementing the given node interface.
- * <p>
- * If <code>args</code> is <code>null</code>, the node object returned by this method
- * should be the same as by calling {@link #newInstance(Class)}.
- * <p>
- * If <code>args</code> is not <code>null</code>, the method is matching the argument
- * types with the argument types of the node object constructor(s) and call the matched
- * constructor. If no constructor is matching the argument types, the method does return
- * <code>null</code>.
- *
- * @param nodeInterface The node interface to be implemented by the node object to be created.
- * Must not be <code>null</code>.
- * @param args The arguments to be passed to a matching constructor, or <code>null</code>.
- *
- * @return The node object implementing the specified node interface or <code>null</code>.
- */
- public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args);
-}
+/******************************************************************************* + * 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.runtime.model.interfaces.factory; + +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; + +/** + * Interface to be implemented by model node factory delegates. + */ +public interface IFactoryDelegate2 extends IFactoryDelegate { + + /** + * Returns a new instance of an node object implementing the given node interface. + * <p> + * If <code>args</code> is <code>null</code>, the node object returned by this method + * should be the same as by calling {@link #newInstance(Class)}. + * <p> + * If <code>args</code> is not <code>null</code>, the method is matching the argument + * types with the argument types of the node object constructor(s) and call the matched + * constructor. If no constructor is matching the argument types, the method does return + * <code>null</code>. + * + * @param nodeInterface The node interface to be implemented by the node object to be created. + * Must not be <code>null</code>. + * @param args The arguments to be passed to a matching constructor, or <code>null</code>. + * + * @return The node object implementing the specified node interface or <code>null</code>. + */ + public <V extends IModelNode> V newInstance(Class<V> nodeInterface, Object[] args); +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateManager.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateManager.java index 1e5e00354..a81c5384b 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateManager.java @@ -1,78 +1,78 @@ -/*******************************************************************************
- * Copyright (c) 2011 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.runtime.model.internal.factory;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager;
-import org.eclipse.tcf.te.runtime.extensions.ExecutableExtensionProxy;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate;
-
-
-/**
- * Model node factory delegate extension point manager implementation.
- */
-public class FactoryDelegateManager extends AbstractExtensionPointManager<IFactoryDelegate> {
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#getExtensionPointId()
- */
- @Override
- protected String getExtensionPointId() {
- return "org.eclipse.tcf.te.runtime.model.factoryDelegates"; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#getConfigurationElementName()
- */
- @Override
- protected String getConfigurationElementName() {
- return "delegate"; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#doCreateExtensionProxy(org.eclipse.core.runtime.IConfigurationElement)
- */
- @Override
- protected ExecutableExtensionProxy<IFactoryDelegate> doCreateExtensionProxy(IConfigurationElement element) throws CoreException {
- return new FactoryDelegateProxy(element);
- }
-
- /**
- * Returns the model node factory delegate for the given node type.
- * <p>
- * <b>Note:</b> The first factory delegate declaring the given node type
- * as supported will be returned.
- *
- * @param nodeType The node type. Must not be <code>null</code>.
- * @return The model node factory delegate or <code>null</code>.
- */
- public IFactoryDelegate getFactoryDelegate(Class<? extends IModelNode> nodeType) {
- Assert.isNotNull(nodeType);
-
- IFactoryDelegate delegate = null;
-
- Collection<ExecutableExtensionProxy<IFactoryDelegate>> delegates = getExtensions().values();
- for (ExecutableExtensionProxy<IFactoryDelegate> candidate : delegates) {
- if (!(candidate instanceof FactoryDelegateProxy)) continue;
- if (((FactoryDelegateProxy)candidate).getNodeTypes().contains(nodeType)) {
- delegate = candidate.getInstance();
- break;
- }
- }
-
- return delegate;
- }
-
-}
+/******************************************************************************* + * 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.runtime.model.internal.factory; + +import java.util.Collection; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager; +import org.eclipse.tcf.te.runtime.extensions.ExecutableExtensionProxy; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate; + + +/** + * Model node factory delegate extension point manager implementation. + */ +public class FactoryDelegateManager extends AbstractExtensionPointManager<IFactoryDelegate> { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#getExtensionPointId() + */ + @Override + protected String getExtensionPointId() { + return "org.eclipse.tcf.te.runtime.model.factoryDelegates"; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#getConfigurationElementName() + */ + @Override + protected String getConfigurationElementName() { + return "delegate"; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.extensions.AbstractExtensionPointManager#doCreateExtensionProxy(org.eclipse.core.runtime.IConfigurationElement) + */ + @Override + protected ExecutableExtensionProxy<IFactoryDelegate> doCreateExtensionProxy(IConfigurationElement element) throws CoreException { + return new FactoryDelegateProxy(element); + } + + /** + * Returns the model node factory delegate for the given node type. + * <p> + * <b>Note:</b> The first factory delegate declaring the given node type + * as supported will be returned. + * + * @param nodeType The node type. Must not be <code>null</code>. + * @return The model node factory delegate or <code>null</code>. + */ + public IFactoryDelegate getFactoryDelegate(Class<? extends IModelNode> nodeType) { + Assert.isNotNull(nodeType); + + IFactoryDelegate delegate = null; + + Collection<ExecutableExtensionProxy<IFactoryDelegate>> delegates = getExtensions().values(); + for (ExecutableExtensionProxy<IFactoryDelegate> candidate : delegates) { + if (!(candidate instanceof FactoryDelegateProxy)) continue; + if (((FactoryDelegateProxy)candidate).getNodeTypes().contains(nodeType)) { + delegate = candidate.getInstance(); + break; + } + } + + return delegate; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateProxy.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateProxy.java index 05af0cc82..998b7df8f 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateProxy.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/internal/factory/FactoryDelegateProxy.java @@ -1,107 +1,107 @@ -/*******************************************************************************
- * Copyright (c) 2011 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.runtime.model.internal.factory;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.tcf.te.runtime.activator.CoreBundleActivator;
-import org.eclipse.tcf.te.runtime.extensions.ExecutableExtensionProxy;
-import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
-import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate;
-import org.eclipse.tcf.te.runtime.model.nls.Messages;
-import org.osgi.framework.Bundle;
-
-/**
- * Model node factory delegate executable extension proxy implementation.
- */
-public class FactoryDelegateProxy extends ExecutableExtensionProxy<IFactoryDelegate> {
- // The list of node types supported by the model node factory delegate
- private final List<Class<? extends IModelNode>> nodeTypes = new ArrayList<Class<? extends IModelNode>>();
- // Flag to mark if the node types has been loaded
- private boolean nodeTypesLoaded = false;
-
- /**
- * Constructor.
- *
- * @param element The configuration element. Must not be <code>null</code>.
- * @throws CoreException In case the configuration element attribute <i>id</i> is <code>null</code> or empty.
- */
- public FactoryDelegateProxy(IConfigurationElement element) throws CoreException {
- super(element);
- }
-
- /**
- * Constructor.
- *
- * @param id The id for this instance.
- * @param instance The instance to add to proxy.
- */
- public FactoryDelegateProxy(String id, IFactoryDelegate instance) {
- super(id, instance);
- }
-
- /**
- * Returns the list of node types supported by the model node factory.
- *
- * @return The unmodifiable list of node types.
- */
- public List<Class<? extends IModelNode>> getNodeTypes() {
- if (!nodeTypesLoaded) loadNodeTypes();
- return Collections.unmodifiableList(nodeTypes);
- }
-
- /**
- * Load the node types.
- */
- protected void loadNodeTypes() {
- IConfigurationElement element = getConfigurationElement();
- Assert.isNotNull(element);
-
- nodeTypes.clear();
-
- IConfigurationElement[] nodeTypeElements = element.getChildren("nodeType"); //$NON-NLS-1$
- if (nodeTypeElements != null && nodeTypeElements.length > 0) {
- for (IConfigurationElement nodeTypeElement : nodeTypeElements) {
- try {
- String type = nodeTypeElement.getAttribute("class"); //$NON-NLS-1$
- String bundleId = nodeTypeElement.getAttribute("bundleId"); //$NON-NLS-1$
-
- // If a bundle id got specified, use the specified bundle to load the node type class
- Bundle bundle = bundleId != null ? bundle = Platform.getBundle(bundleId) : null;
- // If we don't have a bundle to load from yet, fallback to the declaring bundle
- if (bundle == null) bundle = Platform.getBundle(element.getDeclaringExtension().getNamespaceIdentifier());
- // And finally, use our own bundle to load the class.
- // This fallback is expected to never be used.
- if (bundle == null) bundle = CoreBundleActivator.getContext().getBundle();
-
- // Try to load the node type class now.
- Class<? extends IModelNode> typeClass = (Class<? extends IModelNode>)(bundle != null ? bundle.loadClass(type) : Class.forName(type));
- this.nodeTypes.add(typeClass);
- }
- catch (Exception e) {
- IStatus status = new Status(IStatus.WARNING, CoreBundleActivator.getUniqueIdentifier(),
- NLS.bind(Messages.FactoryDelegateProxy_warning_failedToLoadNodeType, nodeTypeElement.getAttribute("class"), element.getDeclaringExtension().getUniqueIdentifier()), e); //$NON-NLS-1$
- Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status);
- }
- }
- }
-
- nodeTypesLoaded = true;
- }
-}
+/******************************************************************************* + * 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.runtime.model.internal.factory; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.runtime.activator.CoreBundleActivator; +import org.eclipse.tcf.te.runtime.extensions.ExecutableExtensionProxy; +import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; +import org.eclipse.tcf.te.runtime.model.interfaces.factory.IFactoryDelegate; +import org.eclipse.tcf.te.runtime.model.nls.Messages; +import org.osgi.framework.Bundle; + +/** + * Model node factory delegate executable extension proxy implementation. + */ +public class FactoryDelegateProxy extends ExecutableExtensionProxy<IFactoryDelegate> { + // The list of node types supported by the model node factory delegate + private final List<Class<? extends IModelNode>> nodeTypes = new ArrayList<Class<? extends IModelNode>>(); + // Flag to mark if the node types has been loaded + private boolean nodeTypesLoaded = false; + + /** + * Constructor. + * + * @param element The configuration element. Must not be <code>null</code>. + * @throws CoreException In case the configuration element attribute <i>id</i> is <code>null</code> or empty. + */ + public FactoryDelegateProxy(IConfigurationElement element) throws CoreException { + super(element); + } + + /** + * Constructor. + * + * @param id The id for this instance. + * @param instance The instance to add to proxy. + */ + public FactoryDelegateProxy(String id, IFactoryDelegate instance) { + super(id, instance); + } + + /** + * Returns the list of node types supported by the model node factory. + * + * @return The unmodifiable list of node types. + */ + public List<Class<? extends IModelNode>> getNodeTypes() { + if (!nodeTypesLoaded) loadNodeTypes(); + return Collections.unmodifiableList(nodeTypes); + } + + /** + * Load the node types. + */ + protected void loadNodeTypes() { + IConfigurationElement element = getConfigurationElement(); + Assert.isNotNull(element); + + nodeTypes.clear(); + + IConfigurationElement[] nodeTypeElements = element.getChildren("nodeType"); //$NON-NLS-1$ + if (nodeTypeElements != null && nodeTypeElements.length > 0) { + for (IConfigurationElement nodeTypeElement : nodeTypeElements) { + try { + String type = nodeTypeElement.getAttribute("class"); //$NON-NLS-1$ + String bundleId = nodeTypeElement.getAttribute("bundleId"); //$NON-NLS-1$ + + // If a bundle id got specified, use the specified bundle to load the node type class + Bundle bundle = bundleId != null ? bundle = Platform.getBundle(bundleId) : null; + // If we don't have a bundle to load from yet, fallback to the declaring bundle + if (bundle == null) bundle = Platform.getBundle(element.getDeclaringExtension().getNamespaceIdentifier()); + // And finally, use our own bundle to load the class. + // This fallback is expected to never be used. + if (bundle == null) bundle = CoreBundleActivator.getContext().getBundle(); + + // Try to load the node type class now. + Class<? extends IModelNode> typeClass = (Class<? extends IModelNode>)(bundle != null ? bundle.loadClass(type) : Class.forName(type)); + this.nodeTypes.add(typeClass); + } + catch (Exception e) { + IStatus status = new Status(IStatus.WARNING, CoreBundleActivator.getUniqueIdentifier(), + NLS.bind(Messages.FactoryDelegateProxy_warning_failedToLoadNodeType, nodeTypeElement.getAttribute("class"), element.getDeclaringExtension().getUniqueIdentifier()), e); //$NON-NLS-1$ + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status); + } + } + } + + nodeTypesLoaded = true; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.java index b739d0ce9..eeed55238 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 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.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.properties index f56e12470..5f410103a 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.runtime.model/src/org/eclipse/tcf/te/runtime/model/nls/Messages.properties @@ -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 |