mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-23 00:03:53 +02:00
[188284] add ILabeledObject and exploit in server launchers and property sets
This commit is contained in:
parent
cc453b444a
commit
0d4191c560
9 changed files with 96 additions and 4 deletions
|
@ -0,0 +1,34 @@
|
||||||
|
/********************************************************************************
|
||||||
|
* Copyright (c) 2007 IBM Corporation 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:
|
||||||
|
* David Dykstal (IBM) - initial API and implementation
|
||||||
|
********************************************************************************/
|
||||||
|
|
||||||
|
package org.eclipse.rse.core.model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This interface provides a means of extending RSE model objects and property sets
|
||||||
|
* with labels that can be used for display purposes.
|
||||||
|
* The persistence characteristics of labels are left to the implementing
|
||||||
|
* objects.
|
||||||
|
*/
|
||||||
|
public interface ILabeledObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the display label for the object. If this has not
|
||||||
|
* previously been set, this can return the name of object or
|
||||||
|
* some other generated or constant label. It may return null
|
||||||
|
* if no label can be determined.
|
||||||
|
*/
|
||||||
|
public String getLabel();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label A display label for this object.
|
||||||
|
*/
|
||||||
|
public void setLabel(String label);
|
||||||
|
|
||||||
|
}
|
|
@ -29,9 +29,10 @@ import java.util.Set;
|
||||||
* Not thread-safe since the underlying {@link java.util.HashMap} is
|
* Not thread-safe since the underlying {@link java.util.HashMap} is
|
||||||
* not thread-safe.
|
* not thread-safe.
|
||||||
*/
|
*/
|
||||||
public class PropertySet extends RSEPersistableObject implements IPropertySet, Observer {
|
public class PropertySet extends RSEPersistableObject implements IPropertySet, ILabeledObject, Observer {
|
||||||
|
|
||||||
private String _name;
|
private String _name;
|
||||||
|
private String _label = null;
|
||||||
private Map _properties;
|
private Map _properties;
|
||||||
private IPropertySetContainer _container = null;
|
private IPropertySetContainer _container = null;
|
||||||
|
|
||||||
|
@ -44,6 +45,10 @@ public class PropertySet extends RSEPersistableObject implements IPropertySet, O
|
||||||
public PropertySet(IPropertySet propertySet) {
|
public PropertySet(IPropertySet propertySet) {
|
||||||
_name = propertySet.getName();
|
_name = propertySet.getName();
|
||||||
_properties = new HashMap();
|
_properties = new HashMap();
|
||||||
|
if (propertySet instanceof ILabeledObject) {
|
||||||
|
ILabeledObject p = (ILabeledObject) propertySet;
|
||||||
|
_label = p.getLabel();
|
||||||
|
}
|
||||||
|
|
||||||
String[] keys = propertySet.getPropertyKeys();
|
String[] keys = propertySet.getPropertyKeys();
|
||||||
for (int i = 0; i < keys.length; i++) {
|
for (int i = 0; i < keys.length; i++) {
|
||||||
|
@ -67,6 +72,16 @@ public class PropertySet extends RSEPersistableObject implements IPropertySet, O
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return _name;
|
return _name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
if (_label != null) return _label;
|
||||||
|
return _name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
_label = label;
|
||||||
|
setDirty(true);
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return getPropertyValue(DESCRIPTION_KEY);
|
return getPropertyValue(DESCRIPTION_KEY);
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.eclipse.rse.core.subsystems;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.eclipse.rse.core.model.ILabeledObject;
|
||||||
import org.eclipse.rse.core.model.IProperty;
|
import org.eclipse.rse.core.model.IProperty;
|
||||||
import org.eclipse.rse.core.model.IPropertySet;
|
import org.eclipse.rse.core.model.IPropertySet;
|
||||||
import org.eclipse.rse.core.model.IPropertyType;
|
import org.eclipse.rse.core.model.IPropertyType;
|
||||||
|
@ -57,8 +58,9 @@ public class RemoteServerLauncher extends ServerLauncher implements IRemoteServe
|
||||||
|
|
||||||
protected static final ServerLaunchType SERVER_LAUNCH_TYPE_EDEFAULT = ServerLaunchType.DAEMON_LITERAL;
|
protected static final ServerLaunchType SERVER_LAUNCH_TYPE_EDEFAULT = ServerLaunchType.DAEMON_LITERAL;
|
||||||
|
|
||||||
// proeprty set keys
|
// property set keys
|
||||||
protected final String PROPERTY_SET_NAME = "Launcher Properties"; //$NON-NLS-1$
|
protected final String PROPERTY_SET_NAME = "Launcher Properties"; //$NON-NLS-1$
|
||||||
|
private final String PROPERTY_SET_LABEL = RSECoreMessages.RESID_PROPERTYSET_LAUNCHER_PROPERTIES;
|
||||||
|
|
||||||
protected final String KEY_DAEMON_PORT = "daemon.port"; //$NON-NLS-1$
|
protected final String KEY_DAEMON_PORT = "daemon.port"; //$NON-NLS-1$
|
||||||
protected final String KEY_REXEC_PORT = "rexec.port"; //$NON-NLS-1$
|
protected final String KEY_REXEC_PORT = "rexec.port"; //$NON-NLS-1$
|
||||||
|
@ -140,6 +142,10 @@ public class RemoteServerLauncher extends ServerLauncher implements IRemoteServe
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (set instanceof ILabeledObject) {
|
||||||
|
ILabeledObject ps = (ILabeledObject) set;
|
||||||
|
ps.setLabel(PROPERTY_SET_LABEL);
|
||||||
|
}
|
||||||
IProperty launchTypeProperty = set.getProperty(KEY_SERVER_LAUNCH_TYPE_NAME);
|
IProperty launchTypeProperty = set.getProperty(KEY_SERVER_LAUNCH_TYPE_NAME);
|
||||||
launchTypeProperty.setLabel(RSECoreMessages.RESID_PROP_SERVERLAUNCHER_MEANS_LABEL);
|
launchTypeProperty.setLabel(RSECoreMessages.RESID_PROP_SERVERLAUNCHER_MEANS_LABEL);
|
||||||
String launchTypeName = launchTypeProperty.getValue();
|
String launchTypeName = launchTypeProperty.getValue();
|
||||||
|
@ -194,7 +200,10 @@ public class RemoteServerLauncher extends ServerLauncher implements IRemoteServe
|
||||||
IPropertySet set = getPropertySet(PROPERTY_SET_NAME);
|
IPropertySet set = getPropertySet(PROPERTY_SET_NAME);
|
||||||
if (set == null)
|
if (set == null)
|
||||||
{
|
{
|
||||||
set = createPropertySet(PROPERTY_SET_NAME, getDescription());
|
set = createPropertySet(PROPERTY_SET_NAME, getDescription());
|
||||||
|
if (set instanceof ILabeledObject) {
|
||||||
|
((ILabeledObject)set).setLabel(PROPERTY_SET_LABEL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_serverLaunchType == null)
|
if (_serverLaunchType == null)
|
||||||
|
|
|
@ -37,6 +37,9 @@ public class RSECoreMessages extends NLS {
|
||||||
public static String RESID_CONNECTION_PORT_LABEL;
|
public static String RESID_CONNECTION_PORT_LABEL;
|
||||||
public static String RESID_SUBSYSTEM_AUTODETECT_LABEL;
|
public static String RESID_SUBSYSTEM_AUTODETECT_LABEL;
|
||||||
|
|
||||||
|
public static String RESID_PROPERTYSET_REMOTE_SERVER_LAUNCHER;
|
||||||
|
public static String RESID_PROPERTYSET_LAUNCHER_PROPERTIES;
|
||||||
|
|
||||||
// Persistence
|
// Persistence
|
||||||
public static String PropertyFileProvider_LoadingTaskName;
|
public static String PropertyFileProvider_LoadingTaskName;
|
||||||
public static String PropertyFileProvider_SavingTaskName;
|
public static String PropertyFileProvider_SavingTaskName;
|
||||||
|
|
|
@ -31,6 +31,9 @@ RESID_PROP_SERVERLAUNCHER_INVOCATION=Server launch command
|
||||||
RESID_CONNECTION_PORT_LABEL=Port
|
RESID_CONNECTION_PORT_LABEL=Port
|
||||||
RESID_CONNECTION_DAEMON_PORT_LABEL=Daemon Port
|
RESID_CONNECTION_DAEMON_PORT_LABEL=Daemon Port
|
||||||
|
|
||||||
|
RESID_PROPERTYSET_REMOTE_SERVER_LAUNCHER=Remote Server Launcher
|
||||||
|
RESID_PROPERTYSET_LAUNCHER_PROPERTIES=Launcher Properties
|
||||||
|
|
||||||
# Persistence
|
# Persistence
|
||||||
RSEPersistenceManager_DeleteProfileJobName=Delete RSE Profile Job
|
RSEPersistenceManager_DeleteProfileJobName=Delete RSE Profile Job
|
||||||
PropertyFileProvider_SavingTaskName=Saving DOM
|
PropertyFileProvider_SavingTaskName=Saving DOM
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.eclipse.rse.internal.core.subsystems;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.eclipse.rse.core.model.ILabeledObject;
|
||||||
import org.eclipse.rse.core.model.IPropertySet;
|
import org.eclipse.rse.core.model.IPropertySet;
|
||||||
import org.eclipse.rse.core.model.IRSEPersistableContainer;
|
import org.eclipse.rse.core.model.IRSEPersistableContainer;
|
||||||
import org.eclipse.rse.core.model.RSEModelObject;
|
import org.eclipse.rse.core.model.RSEModelObject;
|
||||||
|
@ -28,11 +29,12 @@ import org.eclipse.rse.core.subsystems.IServerLauncherProperties;
|
||||||
import org.eclipse.rse.internal.core.RSECoreMessages;
|
import org.eclipse.rse.internal.core.RSECoreMessages;
|
||||||
|
|
||||||
|
|
||||||
public abstract class ServerLauncher extends RSEModelObject implements IServerLauncherProperties
|
public abstract class ServerLauncher extends RSEModelObject implements IServerLauncherProperties, ILabeledObject
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
protected String _name;
|
protected String _name;
|
||||||
|
private String _label = null;
|
||||||
protected IConnectorService _connectorService;
|
protected IConnectorService _connectorService;
|
||||||
|
|
||||||
protected ServerLauncher(String name, IConnectorService service)
|
protected ServerLauncher(String name, IConnectorService service)
|
||||||
|
@ -47,6 +49,16 @@ public abstract class ServerLauncher extends RSEModelObject implements IServerLa
|
||||||
return _name;
|
return _name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
if (_label != null) return _label;
|
||||||
|
return _name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
_label = label;
|
||||||
|
setDirty(true);
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription()
|
public String getDescription()
|
||||||
{
|
{
|
||||||
return RSECoreMessages.RESID_MODELOBJECTS_SERVERLAUNCHER_DESCRIPTION;
|
return RSECoreMessages.RESID_MODELOBJECTS_SERVERLAUNCHER_DESCRIPTION;
|
||||||
|
|
|
@ -20,6 +20,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
import org.eclipse.rse.core.model.ILabeledObject;
|
||||||
import org.eclipse.rse.core.model.IProperty;
|
import org.eclipse.rse.core.model.IProperty;
|
||||||
import org.eclipse.rse.core.model.IPropertySet;
|
import org.eclipse.rse.core.model.IPropertySet;
|
||||||
import org.eclipse.rse.core.model.IPropertyType;
|
import org.eclipse.rse.core.model.IPropertyType;
|
||||||
|
@ -62,6 +63,10 @@ implements IPropertySource
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
|
if (_propertySet instanceof ILabeledObject) {
|
||||||
|
ILabeledObject ps = (ILabeledObject) _propertySet;
|
||||||
|
return ps.getLabel();
|
||||||
|
}
|
||||||
return _propertySet.getName();
|
return _propertySet.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package org.eclipse.rse.ui.widgets.services;
|
package org.eclipse.rse.ui.widgets.services;
|
||||||
|
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
import org.eclipse.rse.core.model.ILabeledObject;
|
||||||
import org.eclipse.rse.core.subsystems.IServerLauncherProperties;
|
import org.eclipse.rse.core.subsystems.IServerLauncherProperties;
|
||||||
import org.eclipse.rse.ui.ISystemIconConstants;
|
import org.eclipse.rse.ui.ISystemIconConstants;
|
||||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
|
@ -36,6 +37,10 @@ public class ServerLauncherPropertiesServiceElement extends RSEModelServiceEleme
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
|
if (_launcherProperties instanceof ILabeledObject) {
|
||||||
|
ILabeledObject lp = (ILabeledObject) _launcherProperties;
|
||||||
|
return lp.getLabel();
|
||||||
|
}
|
||||||
return _launcherProperties.getName();
|
return _launcherProperties.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ import org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManager;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterSavePolicies;
|
import org.eclipse.rse.core.filters.ISystemFilterSavePolicies;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterString;
|
import org.eclipse.rse.core.filters.ISystemFilterString;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
import org.eclipse.rse.core.model.ILabeledObject;
|
||||||
import org.eclipse.rse.core.model.IRSEPersistableContainer;
|
import org.eclipse.rse.core.model.IRSEPersistableContainer;
|
||||||
import org.eclipse.rse.core.model.ISystemNewConnectionWizardPage;
|
import org.eclipse.rse.core.model.ISystemNewConnectionWizardPage;
|
||||||
import org.eclipse.rse.core.model.ISystemProfile;
|
import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
|
@ -59,6 +60,7 @@ import org.eclipse.rse.core.model.ISystemProfileManager;
|
||||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||||
import org.eclipse.rse.core.model.SystemStartHere;
|
import org.eclipse.rse.core.model.SystemStartHere;
|
||||||
import org.eclipse.rse.core.references.IRSEBaseReferencingObject;
|
import org.eclipse.rse.core.references.IRSEBaseReferencingObject;
|
||||||
|
import org.eclipse.rse.internal.core.RSECoreMessages;
|
||||||
import org.eclipse.rse.internal.core.filters.SystemFilterPoolManager;
|
import org.eclipse.rse.internal.core.filters.SystemFilterPoolManager;
|
||||||
import org.eclipse.rse.internal.core.filters.SystemFilterPoolWrapperInformation;
|
import org.eclipse.rse.internal.core.filters.SystemFilterPoolWrapperInformation;
|
||||||
import org.eclipse.rse.internal.core.filters.SystemFilterStartHere;
|
import org.eclipse.rse.internal.core.filters.SystemFilterStartHere;
|
||||||
|
@ -2692,6 +2694,10 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
|
||||||
public IServerLauncherProperties createServerLauncher(IConnectorService connectorService)
|
public IServerLauncherProperties createServerLauncher(IConnectorService connectorService)
|
||||||
{
|
{
|
||||||
IRemoteServerLauncher sl = new RemoteServerLauncher("Remote Server Launcher", connectorService); //$NON-NLS-1$
|
IRemoteServerLauncher sl = new RemoteServerLauncher("Remote Server Launcher", connectorService); //$NON-NLS-1$
|
||||||
|
if (sl instanceof ILabeledObject) {
|
||||||
|
((ILabeledObject)sl).setLabel(RSECoreMessages.RESID_PROPERTYSET_REMOTE_SERVER_LAUNCHER);
|
||||||
|
}
|
||||||
|
|
||||||
IRSESystemType systemType = connectorService.getHost().getSystemType();
|
IRSESystemType systemType = connectorService.getHost().getSystemType();
|
||||||
String systemTypeId = systemType.getId();
|
String systemTypeId = systemType.getId();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue