diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tm.te.core/src/org/eclipse/tm/te/core/connection/ConnectionType.java')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tm.te.core/src/org/eclipse/tm/te/core/connection/ConnectionType.java | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.core/src/org/eclipse/tm/te/core/connection/ConnectionType.java b/target_explorer/plugins/org.eclipse.tm.te.core/src/org/eclipse/tm/te/core/connection/ConnectionType.java deleted file mode 100644 index 71ead5bb8..000000000 --- a/target_explorer/plugins/org.eclipse.tm.te.core/src/org/eclipse/tm/te/core/connection/ConnectionType.java +++ /dev/null @@ -1,227 +0,0 @@ -/******************************************************************************* - * 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.tm.te.core.connection; - -import java.util.Map; - -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.tm.te.core.activator.CoreBundleActivator; -import org.eclipse.tm.te.core.connection.interfaces.IConnectionType; -import org.eclipse.tm.te.core.connection.interfaces.IConnectionTypeConstants; -import org.eclipse.tm.te.core.utils.text.StringUtil; -import org.eclipse.tm.te.runtime.nls.Messages; -import org.eclipse.tm.te.runtime.properties.PropertiesContainer; - -/** - * Connection type implementation. - */ -public class ConnectionType extends PropertiesContainer implements IConnectionType { - - /** - * Initialize the default connection type properties. - * <p> - * <b>Note:</b> This method is called from {@link #setInitializationData(IConfigurationElement, String, Object)}. - */ - protected void initDefaultProperties() { - setProperty(IConnectionTypeConstants.PROPERTY_DEFINING_BUNDLE, null); - setProperty(IConnectionTypeConstants.PROPERTY_ID, null); - setProperty(IConnectionTypeConstants.PROPERTY_LABEL, ""); //$NON-NLS-1$ - setProperty(IConnectionTypeConstants.PROPERTY_SHORTNAME, ""); //$NON-NLS-1$ - setProperty(IConnectionTypeConstants.PROPERTY_DESCRIPTION, ""); //$NON-NLS-1$ - setProperty(IConnectionTypeConstants.PROPERTY_CATEGORY_ID, null); - setProperty(IConnectionTypeConstants.PROPERTY_SUPPORTS_EARLY_FINISH, false); - setProperty(IConnectionTypeConstants.PROPERTY_ENABLED, true); - setProperty(IConnectionTypeConstants.PROPERTY_LAST_INVALID_CAUSE, null); - setProperty(IConnectionTypeConstants.PROPERTY_CONNECT_IMMEDIATELY, true); - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) - */ - @Override - @SuppressWarnings("unchecked") - public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException { - // Initialize the default properties first - initDefaultProperties(); - - // read the connection type attributes from the configuration element and apply - if (config != null && config.getName().equals("connectionType")) { //$NON-NLS-1$ - - // Set the id if an id attribute is specified and the id had been not - // yet set by the connection type implementation class. - // Throws an exception if the id is empty or null. - String id = config.getAttribute("id"); //$NON-NLS-1$ - if (getId() == null && id != null && id.length() > 0) { - setProperty(IConnectionTypeConstants.PROPERTY_ID, id); - } else { - throw createMissingMandatoryAttributeException("id", config.getContributor().getName()); //$NON-NLS-1$ - } - - // Initialize the label field by reading the <label> extension attribute if present. - String label = config.getAttribute("label"); //$NON-NLS-1$ - if (label != null && label.length() > 0) { - setProperty(IConnectionTypeConstants.PROPERTY_LABEL, label); - } else { - throw createMissingMandatoryAttributeException("label", config.getContributor().getName()); //$NON-NLS-1$ - } - - // Initialize the description field by reading the "<description>" extension child element if present. - IConfigurationElement[] children = config.getChildren("description"); //$NON-NLS-1$ - // Only one description element is allow. All other will be ignored - if (children.length > 0) { - IConfigurationElement description = children[0]; - String value = description.getValue(); - setProperty(IConnectionTypeConstants.PROPERTY_DESCRIPTION, value != null ? value.trim() : ""); //$NON-NLS-1$ - } - - // Get the enabled attribute - String isEnabled = config.getAttribute("isEnabled"); //$NON-NLS-1$ - - // We allow to overwrite the enabled attribute from the plugin.xml - // via a .options file property: - // - // The options file key is: <contribution plugin>/connectionType/<id>/enabled = true - StringBuilder debugKey = new StringBuilder(config.getContributor().getName()); - debugKey.append("/connectionType/"); //$NON-NLS-1$ - debugKey.append(id.replaceAll("\\s", "_")); //$NON-NLS-1$ //$NON-NLS-2$ - debugKey.append("/enabled"); //$NON-NLS-1$ - - if (Boolean.parseBoolean(Platform.getDebugOption(debugKey.toString()))) { - isEnabled = "true"; //$NON-NLS-1$ - } - - // Apply the enabled attribute - if (isEnabled != null && isEnabled.length() > 0 && (isEnabled.equalsIgnoreCase("true") || isEnabled.equalsIgnoreCase("false"))) { //$NON-NLS-1$ //$NON-NLS-2$ - setProperty(IConnectionTypeConstants.PROPERTY_ENABLED, Boolean.valueOf(isEnabled).booleanValue()); - } - - // Get the short name attribute - String shortName = config.getAttribute("shortName"); //$NON-NLS-1$ - if (shortName != null && shortName.length() > 0) { - setProperty(IConnectionTypeConstants.PROPERTY_SHORTNAME, shortName); - } - - // Get the new connection wizard category id - String categoryId = config.getAttribute("categoryId"); //$NON-NLS-1$ - if (categoryId != null && categoryId.length() > 0) { - setProperty(IConnectionTypeConstants.PROPERTY_CATEGORY_ID, categoryId); - } - } - - // Check the initialization data object. Can be either a string or a hash table. - if (data instanceof String) { - // Tokenize the string and take the pairs as properties - String[] params = StringUtil.tokenize((String)data, 0, false); - for (int i = 0; i < params.length - 1; i++) { - // Parameter key is the first parameter - String paramKey = params[i]; - // Parameter value is the second parameter - String paramValue = (i + 1) < params.length ? params[++i] : null; - // Don't apply a property with the same name if already set (protects - // explicit attributes like "shortName", "isEnabled" or "categoryId"). - if (paramKey != null && getProperty(paramKey) != null) continue; - // Store it - if (paramKey != null) setProperty(paramKey, paramValue); - } - } - else if (data instanceof Map<?,?>) { - // Just copy the map content to the properties - Map<String, String> params = (Map<String, String>)data; - for (String paramKey : params.keySet()) { - // If the short name is already set, don't overwrite it - if (IConnectionTypeConstants.PROPERTY_SHORTNAME.equals(paramKey) && getProperty(paramKey) != null) continue; - // Store it - if (paramKey != null) setProperty(paramKey, params.get(paramKey)); - } - } - } - - /** - * Creates a new {@link CoreException} to be thrown if a mandatory extension attribute - * is missing. - * - * @param attributeName The attribute name. Must be not <code>null</code>. - * @param extensionId The extension id. Must be not <code>null</code>. - * - * @return The {@link CoreException} instance. - */ - protected CoreException createMissingMandatoryAttributeException(String attributeName, String extensionId) { - Assert.isNotNull(attributeName); - Assert.isNotNull(extensionId); - - return new CoreException(new Status(IStatus.ERROR, - CoreBundleActivator.getUniqueIdentifier(), - 0, - NLS.bind(Messages.Extension_error_missingRequiredAttribute, attributeName, extensionId), - null)); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.te.runtime.interfaces.extensions.IExecutableExtension#getId() - */ - @Override - public final String getId() { - return getStringProperty(IConnectionTypeConstants.PROPERTY_ID); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.te.runtime.interfaces.extensions.IExecutableExtension#getLabel() - */ - @Override - public final String getLabel() { - return getStringProperty(IConnectionTypeConstants.PROPERTY_LABEL); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.te.runtime.interfaces.extensions.IExecutableExtension#getDescription() - */ - @Override - public final String getDescription() { - return getStringProperty(IConnectionTypeConstants.PROPERTY_DESCRIPTION); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.te.core.connection.interfaces.IConnectionType#isEnabled() - */ - @Override - public boolean isEnabled() { - return getBooleanProperty(IConnectionTypeConstants.PROPERTY_ENABLED) /*&& ConnectionTypeBindingsManager.getInstance().isConnectionTypeEnabled(getId())*/; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.te.core.connection.interfaces.IConnectionType#isValid() - */ - @Override - public boolean isValid() { - setProperty(IConnectionTypeConstants.PROPERTY_LAST_INVALID_CAUSE, null); - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) - */ - @Override - public Object getAdapter(Class adapter) { - // If the requested adapter is a connection service type, - // forward to the connection type service manager -// if (IConnectionTypeService.class.isAssignableFrom(adapter)) { -// IConnectionTypeService service = ConnectionTypeServiceManager.getInstance().getService(getId(), adapter); -// if (service != null) return service; -// } - return super.getAdapter(adapter); - } - -} |