1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-28 19:35:36 +02:00

[235626] Convert examples to MessageBundle format

This commit is contained in:
Martin Oberhuber 2008-06-04 22:38:44 +00:00
parent 19fdbcabac
commit e97b62b224
13 changed files with 280 additions and 253 deletions

View file

@ -319,7 +319,7 @@
<feature url="features/org.eclipse.rse.telnet_2.1.0.qualifier.jar" id="org.eclipse.rse.telnet" version="2.1.0.qualifier"> <feature url="features/org.eclipse.rse.telnet_2.1.0.qualifier.jar" id="org.eclipse.rse.telnet" version="2.1.0.qualifier">
<category name="TM and RSE 3.0"/> <category name="TM and RSE 3.0"/>
</feature> </feature>
<feature url="features/org.eclipse.rse.examples_2.1.0.qualifier.jar" id="org.eclipse.rse.examples" version="2.1.0.qualifier"> <feature url="features/org.eclipse.rse.examples_3.0.0.qualifier.jar" id="org.eclipse.rse.examples" version="3.0.0.qualifier">
<category name="TM and RSE 3.0"/> <category name="TM and RSE 3.0"/>
</feature> </feature>
<feature url="features/org.eclipse.rse.remotecdt_2.1.0.qualifier.jar" id="org.eclipse.rse.remotecdt" version="2.1.0.qualifier"> <feature url="features/org.eclipse.rse.remotecdt_2.1.0.qualifier.jar" id="org.eclipse.rse.remotecdt" version="2.1.0.qualifier">

View file

@ -2,7 +2,7 @@
<feature <feature
id="org.eclipse.rse.examples" id="org.eclipse.rse.examples"
label="%featureName" label="%featureName"
version="2.1.0.qualifier" version="3.0.0.qualifier"
provider-name="%providerName" provider-name="%providerName"
plugin="org.eclipse.rse.examples.tutorial" plugin="org.eclipse.rse.examples.tutorial"
image="eclipse_update_120.jpg"> image="eclipse_update_120.jpg">

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %pluginName Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.rse.examples.tutorial;singleton:=true Bundle-SymbolicName: org.eclipse.rse.examples.tutorial;singleton:=true
Bundle-Version: 2.0.100.qualifier Bundle-Version: 3.0.0.qualifier
Bundle-Activator: samples.RSESamplesPlugin Bundle-Activator: samples.RSESamplesPlugin
Bundle-Vendor: %providerName Bundle-Vendor: %providerName
Bundle-Localization: plugin Bundle-Localization: plugin

View file

@ -1,24 +1,22 @@
/******************************************************************************** /********************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* This program and the accompanying materials are made available under the terms * 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 * of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html * available at http://www.eclipse.org/legal/epl-v10.html
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
********************************************************************************/ ********************************************************************************/
package samples; package samples;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IAdapterManager; import org.eclipse.core.runtime.IAdapterManager;
@ -37,9 +35,8 @@ public class RSESamplesPlugin extends SystemBasePlugin {
//The shared instance. //The shared instance.
private static RSESamplesPlugin plugin; private static RSESamplesPlugin plugin;
//Resource bundle. //Resource bundle.
private ResourceBundle resourceBundle;
private static SystemMessageFile messageFile = null; private static SystemMessageFile messageFile = null;
/** /**
* The constructor. * The constructor.
*/ */
@ -63,7 +60,6 @@ public class RSESamplesPlugin extends SystemBasePlugin {
DeveloperSubSystemConfigurationAdapterFactory sscaf = new DeveloperSubSystemConfigurationAdapterFactory(); DeveloperSubSystemConfigurationAdapterFactory sscaf = new DeveloperSubSystemConfigurationAdapterFactory();
sscaf.registerWithManager(manager); sscaf.registerWithManager(manager);
} }
/* /*
@ -73,12 +69,11 @@ public class RSESamplesPlugin extends SystemBasePlugin {
public void stop(BundleContext context) throws Exception { public void stop(BundleContext context) throws Exception {
super.stop(context); super.stop(context);
plugin = null; plugin = null;
resourceBundle = null;
} }
/** /**
* Returns the shared instance. * Returns the shared instance.
* @return the shared instance * @return the shared instance
*/ */
public static RSESamplesPlugin getDefault() { public static RSESamplesPlugin getDefault() {
return plugin; return plugin;
@ -92,46 +87,6 @@ public class RSESamplesPlugin extends SystemBasePlugin {
return ResourcesPlugin.getWorkspace(); return ResourcesPlugin.getWorkspace();
} }
/**
* Returns the string from the plugin's resource bundle,
* or 'key' if not found.
* @see java.util.ResourceBundle#getString(String)
*
* @param key the key for the desired string
* @return the string for the given key
*/
public static String getResourceString(String key) {
ResourceBundle bundle= RSESamplesPlugin.getDefault().getResourceBundle();
try {
return (bundle != null) ? bundle.getString(key) : key;
} catch (MissingResourceException e) {
return key;
}
}
/**
* Return the plugin's Resource bundle.
* @return the Resource bundle
*/
public ResourceBundle getResourceBundle() {
try {
if (resourceBundle == null)
resourceBundle = ResourceBundle.getBundle("samples.rseSamplesResources"); //$NON-NLS-1$
} catch (MissingResourceException x) {
resourceBundle = null;
}
return resourceBundle;
}
/**
* @see AbstractUIPlugin#initializeDefaultPreferences
*/
//protected void initializeDefaultPreferences(IPreferenceStore store)
//{
// super.initializeDefaultPreferences(store);
// //RSESamplesPreferencePage.initDefaults(store);
//}
/** /**
* Initialize the image registry by declaring all of the required graphics. * Initialize the image registry by declaring all of the required graphics.
*/ */
@ -151,25 +106,25 @@ public class RSESamplesPlugin extends SystemBasePlugin {
*/ */
public SystemMessageFile getMessageFile(String messageFileName) public SystemMessageFile getMessageFile(String messageFileName)
{ {
return loadMessageFile(getBundle(), messageFileName); return loadMessageFile(getBundle(), messageFileName);
} }
/** /**
* Return our message file. * Return our message file.
* *
* @return the RSE message file * @return the RSE message file
*/ */
public static SystemMessageFile getPluginMessageFile() public static SystemMessageFile getPluginMessageFile()
{ {
return messageFile; return messageFile;
} }
/** /**
* Retrieve a message from this plugin's message file, * Retrieve a message from this plugin's message file,
* or <code>null</code> if the message cannot be found. * or <code>null</code> if the message cannot be found.
* @see SystemMessageFile#getMessage(String) * @see SystemMessageFile#getMessage(String)
* *
* @param msgId message id * @param msgId message id
* @return the message object referenced by the given id * @return the message object referenced by the given id
*/ */
public static SystemMessage getPluginMessage(String msgId) public static SystemMessage getPluginMessage(String msgId)

View file

@ -0,0 +1,61 @@
/*******************************************************************************
* Copyright (c) 2008 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:
* Martin Oberhuber (Wind River) - [235626] initial API and implementation
*******************************************************************************/
package samples;
import org.eclipse.osgi.util.NLS;
public class RSESamplesResources extends NLS {
private static String BUNDLE_NAME = "samples.rseSamplesResources"; //$NON-NLS-1$
public static String pp_size_label;
public static String pp_size_tooltip;
public static String pp_files_label;
public static String pp_files_tooltip;
public static String pp_folders_label;
public static String pp_folders_tooltip;
public static String pp_stopButton_label;
public static String pp_stopButton_tooltip;
// Tutorial #3: Creating a Subsystem Configuration
public static String connectorservice_devr_name;
public static String connectorservice_devr_desc;
public static String property_devr_resource_type;
public static String property_devr_id_name;
public static String property_devr_id_desc;
public static String property_devr_dept_name;
public static String property_devr_dept_desc;
public static String property_team_resource_type;
public static String filter_default_name;
// Tutorial #3a: Adding a Custom Filter
public static String property_type_teamfilter;
public static String property_type_devrfilter;
public static String filter_team_dlgtitle;
public static String filter_team_pagetitle;
public static String filter_team_pagetext;
public static String filter_devr_dlgtitle;
public static String filter_devr_pagetitle;
public static String filter_devr_pagetext;
public static String filter_devr_teamprompt_label;
public static String filter_devr_teamprompt_tooltip;
public static String filter_devr_devrprompt_label;
public static String filter_devr_devrprompt_tooltip;
static {
NLS.initializeMessages(BUNDLE_NAME, RSESamplesResources.class);
}
}

View file

@ -7,13 +7,14 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI * Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.model; package samples.model;
@ -30,6 +31,7 @@ import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.PropertyDescriptor; import org.eclipse.ui.views.properties.PropertyDescriptor;
import samples.RSESamplesPlugin; import samples.RSESamplesPlugin;
import samples.RSESamplesResources;
/** /**
* This is the adapter which enables us to work with our remote developer resources. * This is the adapter which enables us to work with our remote developer resources.
@ -39,7 +41,7 @@ public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
{ {
/** /**
* Constructor * Constructor
*/ */
public DeveloperResourceAdapter() { public DeveloperResourceAdapter() {
super(); super();
@ -84,7 +86,7 @@ public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
*/ */
public String getType(Object element) public String getType(Object element)
{ {
return RSESamplesPlugin.getResourceString("property.devr_resource.type"); //$NON-NLS-1$ return RSESamplesResources.property_devr_resource_type;
} }
/** /**
@ -114,32 +116,32 @@ public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
*/ */
protected IPropertyDescriptor[] internalGetPropertyDescriptors() protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{ {
// the following array should be made static to it isn't created every time // the following array should be made static to it isn't created every time
PropertyDescriptor[] ourPDs = new PropertyDescriptor[2]; PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];
ourPDs[0] = new PropertyDescriptor("devr_id", //$NON-NLS-1$ ourPDs[0] = new PropertyDescriptor("devr_id", //$NON-NLS-1$
RSESamplesPlugin.getResourceString("property.devr_id.name")); //$NON-NLS-1$ RSESamplesResources.property_devr_id_name);
ourPDs[0].setDescription( ourPDs[0].setDescription(
RSESamplesPlugin.getResourceString("property.devr_id.desc")); //$NON-NLS-1$ RSESamplesResources.property_devr_id_desc);
ourPDs[1] = new PropertyDescriptor("devr_dept", //$NON-NLS-1$ ourPDs[1] = new PropertyDescriptor("devr_dept", //$NON-NLS-1$
RSESamplesPlugin.getResourceString("property.devr_dept.name")); //$NON-NLS-1$ RSESamplesResources.property_devr_dept_name);
ourPDs[1].setDescription( ourPDs[1].setDescription(
RSESamplesPlugin.getResourceString("property.devr_dept.desc")); //$NON-NLS-1$ RSESamplesResources.property_devr_dept_desc);
return ourPDs; return ourPDs;
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object) * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object)
*/ */
protected Object internalGetPropertyValue(Object key) protected Object internalGetPropertyValue(Object key)
{ {
// propertySourceInput holds the currently selected object // propertySourceInput holds the currently selected object
DeveloperResource devr = (DeveloperResource)propertySourceInput; DeveloperResource devr = (DeveloperResource)propertySourceInput;
if (key.equals("devr_id")) //$NON-NLS-1$ if (key.equals("devr_id")) //$NON-NLS-1$
return devr.getId(); return devr.getId();
else if (key.equals("devr_dept")) //$NON-NLS-1$ else if (key.equals("devr_dept")) //$NON-NLS-1$
return devr.getDeptNbr(); return devr.getDeptNbr();
return null; return null;
} }
// -------------------------------------- // --------------------------------------
// ISystemRemoteElementAdapter methods... // ISystemRemoteElementAdapter methods...
// -------------------------------------- // --------------------------------------
@ -157,7 +159,7 @@ public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
*/ */
public String getSubSystemConfigurationId(Object element) public String getSubSystemConfigurationId(Object element)
{ {
return "samples.subsystems.factory"; // as declared in extension in plugin.xml //$NON-NLS-1$ return "samples.subsystems.factory"; // as declared in extension in plugin.xml //$NON-NLS-1$
} }
/* (non-Javadoc) /* (non-Javadoc)

View file

@ -7,14 +7,15 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Xuan Chen (IBM) - [160775] [api] [breaking] [nl] rename (at least within a zip) blocks UI thread * Xuan Chen (IBM) - [160775] [api] [breaking] [nl] rename (at least within a zip) blocks UI thread
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI * Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.model; package samples.model;
@ -30,6 +31,7 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.views.properties.IPropertyDescriptor; import org.eclipse.ui.views.properties.IPropertyDescriptor;
import samples.RSESamplesPlugin; import samples.RSESamplesPlugin;
import samples.RSESamplesResources;
import samples.subsystems.DeveloperSubSystem; import samples.subsystems.DeveloperSubSystem;
/** /**
@ -84,7 +86,7 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
*/ */
public String getType(Object element) public String getType(Object element)
{ {
return RSESamplesPlugin.getResourceString("property.team_resource.type"); //$NON-NLS-1$ return RSESamplesResources.property_team_resource_type;
} }
/* (non-Javadoc) /* (non-Javadoc)
@ -94,7 +96,7 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
{ {
return null; // not really used, which is good because it is ambiguous return null; // not really used, which is good because it is ambiguous
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object) * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object)
*/ */
@ -126,22 +128,22 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
{ {
return null; return null;
} }
/** /**
* Intercept of parent method to indicate these objects * Intercept of parent method to indicate these objects
* can be renamed using the RSE-supplied rename action. * can be renamed using the RSE-supplied rename action.
* *
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#canRename(java.lang.Object) * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#canRename(java.lang.Object)
*/ */
public boolean canRename(Object element) public boolean canRename(Object element)
{ {
return true; return true;
} }
/** /**
* Intercept of parent method to actually do the rename. RSE supplies the rename GUI, but * Intercept of parent method to actually do the rename. RSE supplies the rename GUI, but
* defers the action work of renaming to this adapter method. * defers the action work of renaming to this adapter method.
* *
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#doRename(Shell, Object, String, IProgressMonitor) * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#doRename(Shell, Object, String, IProgressMonitor)
*/ */
public boolean doRename(Shell shell, Object element, String newName, IProgressMonitor monitor) public boolean doRename(Shell shell, Object element, String newName, IProgressMonitor monitor)
@ -149,7 +151,7 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
((TeamResource)element).setName(newName); ((TeamResource)element).setName(newName);
return true; return true;
} }
// -------------------------------------- // --------------------------------------
// ISystemRemoteElementAdapter methods... // ISystemRemoteElementAdapter methods...
// -------------------------------------- // --------------------------------------
@ -167,7 +169,7 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
*/ */
public String getSubSystemConfigurationId(Object element) public String getSubSystemConfigurationId(Object element)
{ {
return "samples.subsystems.factory"; // as declared in extension in plugin.xml //$NON-NLS-1$ return "samples.subsystems.factory"; // as declared in extension in plugin.xml //$NON-NLS-1$
} }
/* (non-Javadoc) /* (non-Javadoc)
@ -210,7 +212,7 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
*/ */
public Object getRemoteParent(Object element, IProgressMonitor monitor) throws Exception public Object getRemoteParent(Object element, IProgressMonitor monitor) throws Exception
{ {
return null; // maybe this would be a Project or Roster object, or leave as null if this is the root return null; // maybe this would be a Project or Roster object, or leave as null if this is the root
} }
/* (non-Javadoc) /* (non-Javadoc)
@ -224,6 +226,6 @@ public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
String[] allNames = new String[allTeams.length]; String[] allNames = new String[allTeams.length];
for (int idx=0; idx<allTeams.length; idx++) for (int idx=0; idx<allTeams.length; idx++)
allNames[idx] = allTeams[idx].getName(); allNames[idx] = allTeams[idx].getName();
return allNames; // Return list of all team names return allNames; // Return list of all team names
} }
} }

View file

@ -1,5 +1,5 @@
############################################################################### ###############################################################################
# Copyright (c) 2006, 2007 IBM Corporation and others. # Copyright (c) 2006, 2008 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials # All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0 # are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at # which accompanies this distribution, and is available at
@ -13,45 +13,46 @@
# #
# Contributors: # Contributors:
# Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. # Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
# Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
############################################################################### ###############################################################################
# NLS_MESSAGEFORMAT_VAR # NLS_MESSAGEFORMAT_VAR
# NLS_ENCODING=UTF-8 # NLS_ENCODING=UTF-8
# Tutorial #2: Creating a Remote Resource Property Page # Tutorial #2: Creating a Remote Resource Property Page
pp.size.label=Size pp_size_label=Size
pp.size.tooltip=Cumulative size, in bytes pp_size_tooltip=Cumulative size, in bytes
pp.files.label=Files pp_files_label=Files
pp.files.tooltip=Cumulative number of files pp_files_tooltip=Cumulative number of files
pp.folders.label=Folders pp_folders_label=Folders
pp.folders.tooltip=Cumulative number of folders pp_folders_tooltip=Cumulative number of folders
pp.stopButton.label=Stop pp_stopButton_label=Stop
pp.stopButton.tooltip=Cancel the thread pp_stopButton_tooltip=Cancel the thread
# Tutorial #3: Creating a Subsystem Configuration # Tutorial #3: Creating a Subsystem Configuration
connectorservice.devr.name=DeveloperConnectorService connectorservice_devr_name=DeveloperConnectorService
connectorservice.devr.desc=Manages connections to faked remote developer resources. connectorservice_devr_desc=Manages connections to faked remote developer resources.
property.devr_resource.type=Developer resource property_devr_resource_type=Developer resource
property.devr_id.name=Id property_devr_id_name=Id
property.devr_id.desc=ID number property_devr_id_desc=ID number
property.devr_dept.name=Department property_devr_dept_name=Department
property.devr_dept.desc=Department number property_devr_dept_desc=Department number
property.team_resource.type=Team resource property_team_resource_type=Team resource
filter.default.name=All Teams filter_default_name=All Teams
# Tutorial #3a: Adding a Custom Filter # Tutorial #3a: Adding a Custom Filter
property.type.teamfilter=Team filter property_type_teamfilter=Team filter
property.type.devrfilter=Developer filter property_type_devrfilter=Developer filter
filter.team.dlgtitle=Change Team Filter filter_team_dlgtitle=Change Team Filter
filter.team.pagetitle=Team Filter filter_team_pagetitle=Team Filter
filter.team.pagetext=Create a new filter to list teams filter_team_pagetext=Create a new filter to list teams
filter.devr.dlgtitle=Change Developer Filter filter_devr_dlgtitle=Change Developer Filter
filter.devr.pagetitle=Developer Filter filter_devr_pagetitle=Developer Filter
filter.devr.pagetext=Create a new filter to list developers filter_devr_pagetext=Create a new filter to list developers
filter.devr.teamprompt.label=Parent team filter_devr_teamprompt_label=Parent team
filter.devr.teamprompt.tooltip=Specify the team within which to list developers filter_devr_teamprompt_tooltip=Specify the team within which to list developers
filter.devr.devrprompt.label=Developers filter_devr_devrprompt_label=Developers
filter.devr.devrprompt.tooltip=Specify a simple or generic developer name pattern filter_devr_devrprompt_tooltip=Specify a simple or generic developer name pattern

View file

@ -1,18 +1,19 @@
/******************************************************************************** /********************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* This program and the accompanying materials are made available under the terms * 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 * of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html * available at http://www.eclipse.org/legal/epl-v10.html
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies * David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
********************************************************************************/ ********************************************************************************/
package samples.subsystems; package samples.subsystems;
@ -21,7 +22,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.subsystems.BasicConnectorService; import org.eclipse.rse.core.subsystems.BasicConnectorService;
import samples.RSESamplesPlugin; import samples.RSESamplesResources;
/** /**
* Our system class that manages connecting to, and disconnecting from, * Our system class that manages connecting to, and disconnecting from,
@ -38,8 +39,7 @@ public class DeveloperConnectorService extends BasicConnectorService {
public DeveloperConnectorService(IHost host) public DeveloperConnectorService(IHost host)
{ {
super( super(
RSESamplesPlugin.getResourceString("connectorservice.devr.name"), //$NON-NLS-1$ RSESamplesResources.connectorservice_devr_name, RSESamplesResources.connectorservice_devr_desc,
RSESamplesPlugin.getResourceString("connectorservice.devr.desc"), //$NON-NLS-1$
host, host,
0 0
); );
@ -52,7 +52,7 @@ public class DeveloperConnectorService extends BasicConnectorService {
{ {
return connected; return connected;
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.rse.core.subsystems.AbstractConnectorService#internalConnect(org.eclipse.core.runtime.IProgressMonitor) * @see org.eclipse.rse.core.subsystems.AbstractConnectorService#internalConnect(org.eclipse.core.runtime.IProgressMonitor)
*/ */

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation and others. * Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -7,12 +7,13 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.subsystems; package samples.subsystems;
@ -28,7 +29,7 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Text;
import samples.RSESamplesPlugin; import samples.RSESamplesResources;
/** /**
* Our specialized filter string edit pane for developer filters. * Our specialized filter string edit pane for developer filters.
@ -52,75 +53,75 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
* This is where we populate the client area. * This is where we populate the client area.
* @param parent - the composite that will be the parent of the returned client area composite * @param parent - the composite that will be the parent of the returned client area composite
* @return Control - a client-area composite populated with widgets. * @return Control - a client-area composite populated with widgets.
* *
* @see org.eclipse.rse.ui.SystemWidgetHelpers * @see org.eclipse.rse.ui.SystemWidgetHelpers
*/ */
public Control createContents(Composite parent) public Control createContents(Composite parent)
{ {
// Inner composite // Inner composite
int nbrColumns = 1; int nbrColumns = 1;
Composite composite_prompts = SystemWidgetHelpers.createComposite(parent, nbrColumns); Composite composite_prompts = SystemWidgetHelpers.createComposite(parent, nbrColumns);
((GridLayout)composite_prompts.getLayout()).marginWidth = 0; ((GridLayout)composite_prompts.getLayout()).marginWidth = 0;
// CREATE TEAM-PARENT PROMPT // CREATE TEAM-PARENT PROMPT
textTeam = SystemWidgetHelpers.createLabeledTextField( textTeam = SystemWidgetHelpers.createLabeledTextField(
composite_prompts, composite_prompts,
null, null,
RSESamplesPlugin.getResourceString("filter.devr.teamprompt.label"), //$NON-NLS-1$ RSESamplesResources.filter_devr_teamprompt_label,
RSESamplesPlugin.getResourceString("filter.devr.teamprompt.tooltip") //$NON-NLS-1$ RSESamplesResources.filter_devr_teamprompt_tooltip
); );
// CREATE DEVELOPER PROMPT // CREATE DEVELOPER PROMPT
textDevr = SystemWidgetHelpers.createLabeledTextField( textDevr = SystemWidgetHelpers.createLabeledTextField(
composite_prompts, composite_prompts,
null, null,
RSESamplesPlugin.getResourceString("filter.devr.devrprompt.label"), //$NON-NLS-1$ RSESamplesResources.filter_devr_devrprompt_label,
RSESamplesPlugin.getResourceString("filter.devr.devrprompt.tooltip") //$NON-NLS-1$ RSESamplesResources.filter_devr_devrprompt_tooltip
); );
resetFields(); resetFields();
doInitializeFields(); doInitializeFields();
// add keystroke listeners... // add keystroke listeners...
textTeam.addModifyListener( textTeam.addModifyListener(
new ModifyListener() new ModifyListener()
{ {
public void modifyText(ModifyEvent e) public void modifyText(ModifyEvent e)
{ {
validateStringInput(); validateStringInput();
} }
} }
); );
textDevr.addModifyListener( textDevr.addModifyListener(
new ModifyListener() new ModifyListener()
{ {
public void modifyText(ModifyEvent e) public void modifyText(ModifyEvent e)
{ {
validateStringInput(); validateStringInput();
} }
} }
); );
setEditable(editable); setEditable(editable);
return composite_prompts; return composite_prompts;
} }
/** /**
* Override of parent method. * Override of parent method.
* Return the control to recieve initial focus. * Return the control to recieve initial focus.
* *
* @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#getInitialFocusControl() * @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#getInitialFocusControl()
*/ */
public Control getInitialFocusControl() public Control getInitialFocusControl()
{ {
return textTeam; return textTeam;
} }
/** /**
* Override of parent method. * Override of parent method.
* Initialize the input fields based on the inputFilterString, and perhaps refProvider. * Initialize the input fields based on the inputFilterString, and perhaps refProvider.
* This can be called before createContents, so test for null widgets first! * This can be called before createContents, so test for null widgets first!
* Prior to this being called, resetFields is called to set the initial default state prior to input * Prior to this being called, resetFields is called to set the initial default state prior to input
*/ */
protected void doInitializeFields() protected void doInitializeFields()
{ {
if (textTeam == null) if (textTeam == null)
@ -137,7 +138,7 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
} }
} }
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#setEditable(boolean) * @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#setEditable(boolean)
*/ */
@ -146,19 +147,19 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
enable(textDevr, editable); enable(textDevr, editable);
enable(textTeam, editable); enable(textTeam, editable);
} }
/** /**
* Override of parent method. * Override of parent method.
* This is called in the change filter dialog when the user selects "new", or selects another string. * This is called in the change filter dialog when the user selects "new", or selects another string.
*/ */
protected void resetFields() protected void resetFields()
{ {
textTeam.setText(""); //$NON-NLS-1$ textTeam.setText(""); //$NON-NLS-1$
textDevr.setText("*"); //$NON-NLS-1$ textDevr.setText("*"); //$NON-NLS-1$
} }
/** /**
* Override of parent method. * Override of parent method.
* Called by parent to decide if information is complete enough to enable finish. * Called by parent to decide if information is complete enough to enable finish.
*/ */
protected boolean areFieldsComplete() protected boolean areFieldsComplete()
{ {
@ -167,13 +168,13 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
else else
return (textTeam.getText().trim().length()>0) && (textDevr.getText().trim().length()>0); return (textTeam.getText().trim().length()>0) && (textDevr.getText().trim().length()>0);
} }
/** /**
* Override of parent method. * Override of parent method.
* Get the filter string in its current form. * Get the filter string in its current form.
* Functional opposite of doInitializeFields, which tears apart the input string in update mode, * Functional opposite of doInitializeFields, which tears apart the input string in update mode,
* to populate the GUIs. This method creates the filter string from the information in the GUI. * to populate the GUIs. This method creates the filter string from the information in the GUI.
* *
* @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#getFilterString() * @see org.eclipse.rse.ui.filters.SystemFilterStringEditPane#getFilterString()
*/ */
public String getFilterString() public String getFilterString()
@ -186,19 +187,19 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
String devrName = textDevr.getText().trim(); String devrName = textDevr.getText().trim();
return teamName + "/" + devrName; //$NON-NLS-1$ return teamName + "/" + devrName; //$NON-NLS-1$
} }
} }
/** /**
* Override of parent method. * Override of parent method.
* Does complete verification of input fields. If this * Does complete verification of input fields. If this
* method returns null, there are no errors and the dialog or wizard can close. * method returns null, there are no errors and the dialog or wizard can close.
* *
* @return error message if there is one, else null if ok * @return error message if there is one, else null if ok
*/ */
public SystemMessage verify() public SystemMessage verify()
{ {
errorMessage = null; errorMessage = null;
/* /*
Control controlInError = null; Control controlInError = null;
errorMessage = validateTeamInput(); // todo: implement if we want to syntax check input errorMessage = validateTeamInput(); // todo: implement if we want to syntax check input
@ -210,14 +211,14 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
if (errorMessage != null) if (errorMessage != null)
controlInError = textDevr; controlInError = textDevr;
} }
if (errorMessage != null) if (errorMessage != null)
{ {
if (controlInError != null) if (controlInError != null)
controlInError.setFocus(); controlInError.setFocus();
} }
*/ */
return errorMessage; return errorMessage;
} }
} }

View file

@ -7,12 +7,13 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.subsystems; package samples.subsystems;
@ -25,7 +26,7 @@ import org.eclipse.rse.core.subsystems.IConnectorService;
import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.core.subsystems.ISubSystem;
import org.eclipse.rse.core.subsystems.SubSystemConfiguration; import org.eclipse.rse.core.subsystems.SubSystemConfiguration;
import samples.RSESamplesPlugin; import samples.RSESamplesResources;
/** /**
* This is our subsystem factory, which creates instances of our subsystems, * This is our subsystem factory, which creates instances of our subsystems,
@ -71,33 +72,37 @@ public class DeveloperSubSystemConfiguration extends SubSystemConfiguration {
//--tutorial part 1 //--tutorial part 1
//mgr.createSystemFilter(defaultPool, "All teams", strings); //mgr.createSystemFilter(defaultPool, "All teams", strings);
//--tutorial part 2 //--tutorial part 2
ISystemFilter filter = mgr.createSystemFilter(defaultPool, ISystemFilter filter = mgr.createSystemFilter(defaultPool,
RSESamplesPlugin.getResourceString("filter.default.name"), //$NON-NLS-1$ RSESamplesResources.filter_default_name,
strings ); strings );
filter.setType("team"); //$NON-NLS-1$ filter.setType("team"); //$NON-NLS-1$
} catch (Exception exc) {} } catch (Exception exc) {}
return defaultPool; return defaultPool;
} }
/** /**
* Intercept of parent method so we can supply our own value shown in the property * Intercept of parent method so we can supply our own value shown in the
* sheet for the "type" property when a filter is selected within our subsystem. * property sheet for the "type" property when a filter is selected within
* our subsystem.
*
* Requires this line in rseSamplesResources.properties:
* property_type_teamfilter=Team filter
* *
* Requires this line in rseSamplesResources.properties: property.type.teamfilter=Team filter
* @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#getTranslatedFilterTypeProperty(org.eclipse.rse.core.filters.ISystemFilter) * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#getTranslatedFilterTypeProperty(org.eclipse.rse.core.filters.ISystemFilter)
*/ */
public String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter) public String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter)
{ {
//--tutorial part 1 //--tutorial part 1
//return RSESamplesPlugin.getResourceString("property.type.teamfilter"); //$NON-NLS-1$ //return RSESamplesResources.property_type_teamfilter;
//--tutorial part 2 //--tutorial part 2
String type = selectedFilter.getType(); String type = selectedFilter.getType();
if (type == null) if (type == null)
type = "team"; //$NON-NLS-1$ type = "team"; //$NON-NLS-1$
if (type.equals("team")) //$NON-NLS-1$ if (type.equals("team")) //$NON-NLS-1$
return RSESamplesPlugin.getResourceString("property.type.teamfilter"); //$NON-NLS-1$ return RSESamplesResources.property_type_teamfilter;
else else
return RSESamplesPlugin.getResourceString("property.type.devrfilter"); //$NON-NLS-1$ return RSESamplesResources.property_type_devrfilter;
} }
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation and others. * Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -7,12 +7,13 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.subsystems; package samples.subsystems;
@ -28,6 +29,7 @@ import org.eclipse.rse.ui.view.SubSystemConfigurationAdapter;
import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Shell;
import samples.RSESamplesPlugin; import samples.RSESamplesPlugin;
import samples.RSESamplesResources;
/** /**
* Adds functionality to the basic SubSystemConfiguration. * Adds functionality to the basic SubSystemConfiguration.
@ -52,24 +54,24 @@ public class DeveloperSubSystemConfigurationAdapter extends
protected IAction[] getNewFilterPoolFilterActions(ISubSystemConfiguration factory, ISystemFilterPool selectedPool, Shell shell) protected IAction[] getNewFilterPoolFilterActions(ISubSystemConfiguration factory, ISystemFilterPool selectedPool, Shell shell)
{ {
SystemNewFilterAction teamAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(factory, selectedPool, shell); SystemNewFilterAction teamAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(factory, selectedPool, shell);
teamAction.setWizardPageTitle(RSESamplesPlugin.getResourceString("filter.team.pagetitle")); //$NON-NLS-1$ teamAction.setWizardPageTitle(RSESamplesResources.filter_team_pagetitle);
teamAction.setPage1Description(RSESamplesPlugin.getResourceString("filter.team.pagetext")); //$NON-NLS-1$ teamAction.setPage1Description(RSESamplesResources.filter_team_pagetext);
teamAction.setType("team"); //$NON-NLS-1$ teamAction.setType("team"); //$NON-NLS-1$
teamAction.setText(RSESamplesPlugin.getResourceString("filter.team.pagetitle") + "..."); //$NON-NLS-1$ //$NON-NLS-2$ teamAction.setText(RSESamplesResources.filter_team_pagetitle + "..."); //$NON-NLS-1$
SystemNewFilterAction devrAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(factory, selectedPool, shell); SystemNewFilterAction devrAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(factory, selectedPool, shell);
devrAction.setWizardPageTitle(RSESamplesPlugin.getResourceString("filter.devr.pagetitle")); //$NON-NLS-1$ devrAction.setWizardPageTitle(RSESamplesResources.filter_devr_pagetitle);
devrAction.setPage1Description(RSESamplesPlugin.getResourceString("filter.devr.pagetext")); //$NON-NLS-1$ devrAction.setPage1Description(RSESamplesResources.filter_devr_pagetext);
devrAction.setType("devr"); //$NON-NLS-1$ devrAction.setType("devr"); //$NON-NLS-1$
devrAction.setText(RSESamplesPlugin.getResourceString("filter.devr.pagetitle") + "..."); //$NON-NLS-1$ //$NON-NLS-2$ devrAction.setText(RSESamplesResources.filter_devr_pagetitle + "..."); //$NON-NLS-1$
devrAction.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell)); devrAction.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell));
IAction[] actions = new IAction[2]; IAction[] actions = new IAction[2];
actions[0] = teamAction; actions[0] = teamAction;
actions[1] = devrAction; actions[1] = devrAction;
return actions; return actions;
} }
/** /**
* Override of parent method for returning the change-filter action, so we can affect it. * Override of parent method for returning the change-filter action, so we can affect it.
*/ */
@ -78,18 +80,18 @@ public class DeveloperSubSystemConfigurationAdapter extends
SystemChangeFilterAction action = (SystemChangeFilterAction)super.getChangeFilterAction(factory, selectedFilter, shell); SystemChangeFilterAction action = (SystemChangeFilterAction)super.getChangeFilterAction(factory, selectedFilter, shell);
String type = selectedFilter.getType(); String type = selectedFilter.getType();
if (type == null) if (type == null)
type = "team"; //$NON-NLS-1$ type = "team"; //$NON-NLS-1$
if (type.equals("team")) //$NON-NLS-1$ if (type.equals("team")) //$NON-NLS-1$
{ {
action.setDialogTitle(RSESamplesPlugin.getResourceString("filter.team.dlgtitle")); //$NON-NLS-1$ action.setDialogTitle(RSESamplesResources.filter_team_dlgtitle);
} }
else else
{ {
action.setDialogTitle(RSESamplesPlugin.getResourceString("filter.devr.dlgtitle")); //$NON-NLS-1$ action.setDialogTitle(RSESamplesResources.filter_devr_dlgtitle);
action.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell)); action.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell));
} }
return action; return action;
} }
/** /**
* Override of parent method for returning the image for filters in our subsystem. * Override of parent method for returning the image for filters in our subsystem.

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation and others. * Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -7,14 +7,15 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
* Kevin Doyle (IBM) - [150492] FolderInfoPropertyPage doesn't work reliably * Kevin Doyle (IBM) - [150492] FolderInfoPropertyPage doesn't work reliably
* David McKnight (IBM) - [207178] changing list APIs for file service and subsystems * David McKnight (IBM) - [207178] changing list APIs for file service and subsystems
* Martin Oberhuber (Wind River) - [235626] Convert examples to MessageBundle format
*******************************************************************************/ *******************************************************************************/
package samples.ui.propertypages; package samples.ui.propertypages;
@ -32,6 +33,7 @@ import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Label;
import samples.RSESamplesPlugin; import samples.RSESamplesPlugin;
import samples.RSESamplesResources;
/** /**
* A sample property page for a remote object, which in this case is scoped via the * A sample property page for a remote object, which in this case is scoped via the
@ -63,7 +65,7 @@ public class FolderInfoPropertyPage
// -------------------------- // --------------------------
// Parent method overrides... // Parent method overrides...
// -------------------------- // --------------------------
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction#createContentArea(org.eclipse.swt.widgets.Composite) * @see org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction#createContentArea(org.eclipse.swt.widgets.Composite)
@ -71,53 +73,49 @@ public class FolderInfoPropertyPage
protected Control createContentArea(Composite parent) protected Control createContentArea(Composite parent)
{ {
Composite composite = SystemWidgetHelpers.createComposite(parent, 2); Composite composite = SystemWidgetHelpers.createComposite(parent, 2);
// draw the gui // draw the gui
sizeLabel = SystemWidgetHelpers.createLabeledLabel(composite, sizeLabel = SystemWidgetHelpers.createLabeledLabel(composite,
RSESamplesPlugin.getResourceString("pp.size.label"), //$NON-NLS-1$ RSESamplesResources.pp_size_label, RSESamplesResources.pp_size_tooltip,
RSESamplesPlugin.getResourceString("pp.size.tooltip"), //$NON-NLS-1$
false); false);
filesLabel = SystemWidgetHelpers.createLabeledLabel(composite, filesLabel = SystemWidgetHelpers.createLabeledLabel(composite,
RSESamplesPlugin.getResourceString("pp.files.label"), //$NON-NLS-1$ RSESamplesResources.pp_files_label, RSESamplesResources.pp_files_tooltip,
RSESamplesPlugin.getResourceString("pp.files.tooltip"), //$NON-NLS-1$
false); false);
foldersLabel = SystemWidgetHelpers.createLabeledLabel(composite, foldersLabel = SystemWidgetHelpers.createLabeledLabel(composite,
RSESamplesPlugin.getResourceString("pp.folders.label"), //$NON-NLS-1$ RSESamplesResources.pp_folders_label, RSESamplesResources.pp_folders_tooltip,
RSESamplesPlugin.getResourceString("pp.folders.tooltip"), //$NON-NLS-1$
false); false);
stopButton = SystemWidgetHelpers.createPushButton(composite, null, stopButton = SystemWidgetHelpers.createPushButton(composite, null,
RSESamplesPlugin.getResourceString("pp.stopButton.label"), //$NON-NLS-1$ RSESamplesResources.pp_stopButton_label, RSESamplesResources.pp_stopButton_tooltip
RSESamplesPlugin.getResourceString("pp.stopButton.tooltip") //$NON-NLS-1$
); );
stopButton.addSelectionListener(this); stopButton.addSelectionListener(this);
setValid(false); // Disable OK button until thread is done setValid(false); // Disable OK button until thread is done
// show "Processing..." message // show "Processing..." message
setMessage(RSESamplesPlugin.getPluginMessage("RSSG1002")); //$NON-NLS-1$ setMessage(RSESamplesPlugin.getPluginMessage("RSSG1002")); //$NON-NLS-1$
// create instance of Runnable to allow asynchronous GUI updates from background thread // create instance of Runnable to allow asynchronous GUI updates from background thread
guiUpdater = new RunnableGUIClass(); guiUpdater = new RunnableGUIClass();
// spawn a thread to calculate the information // spawn a thread to calculate the information
workerThread = new RunnableClass(getRemoteFile()); workerThread = new RunnableClass(getRemoteFile());
workerThread.start(); workerThread.start();
return composite; return composite;
} }
/** /**
* Intercept from PreferencePage. Called when user presses Cancel button. * Intercept from PreferencePage. Called when user presses Cancel button.
* We stop the background thread. * We stop the background thread.
* @see org.eclipse.jface.preference.PreferencePage#performCancel() * @see org.eclipse.jface.preference.PreferencePage#performCancel()
*/ */
public boolean performCancel() public boolean performCancel()
{ {
killThread(); killThread();
return true; return true;
} }
/** /**
* Intercept from DialogPage. Called when dialog going away. * Intercept from DialogPage. Called when dialog going away.
* If the user presses the X to close this dialog, we * If the user presses the X to close this dialog, we
* need to stop that background thread. * need to stop that background thread.
*/ */
public void dispose() public void dispose()
@ -125,7 +123,7 @@ public class FolderInfoPropertyPage
killThread(); killThread();
super.dispose(); super.dispose();
} }
/** /**
* Private method to kill our background thread. * Private method to kill our background thread.
* Control doesn't return until it ends. * Control doesn't return until it ends.
@ -138,18 +136,18 @@ public class FolderInfoPropertyPage
try { try {
workerThread.join(); // wait for thread to end workerThread.join(); // wait for thread to end
} catch (InterruptedException exc) {} } catch (InterruptedException exc) {}
} }
} }
// ------------------------------------------- // -------------------------------------------
// Methods from SelectionListener interface... // Methods from SelectionListener interface...
// ------------------------------------------- // -------------------------------------------
/** /**
* From SelectionListener * From SelectionListener
* @see SelectionListener#widgetSelected(SelectionEvent) * @see SelectionListener#widgetSelected(SelectionEvent)
*/ */
public void widgetSelected(SelectionEvent event) public void widgetSelected(SelectionEvent event)
{ {
if (event.getSource() == stopButton) if (event.getSource() == stopButton)
{ {
@ -175,26 +173,26 @@ public class FolderInfoPropertyPage
private class RunnableClass extends Thread private class RunnableClass extends Thread
{ {
IRemoteFile inputFolder; IRemoteFile inputFolder;
RunnableClass(IRemoteFile inputFolder) RunnableClass(IRemoteFile inputFolder)
{ {
this.inputFolder = inputFolder; this.inputFolder = inputFolder;
} }
public void run() public void run()
{ {
if (stopped) { if (stopped) {
return; return;
} }
walkFolder(inputFolder); walkFolder(inputFolder);
if (!stopped) { if (!stopped) {
stopped = true; stopped = true;
} }
updateGUI(); updateGUI();
} }
/** /**
* Recursively walk a folder, updating the running tallies. * Recursively walk a folder, updating the running tallies.
* Update the GUI after processing each subfolder. * Update the GUI after processing each subfolder.
*/ */
private void walkFolder(IRemoteFile currFolder) private void walkFolder(IRemoteFile currFolder)
@ -206,7 +204,7 @@ public class FolderInfoPropertyPage
{ {
for (int idx=0; !stopped && (idx<folders.length); idx++) for (int idx=0; !stopped && (idx<folders.length); idx++)
{ {
// is this a folder? // is this a folder?
if (folders[idx].isDirectory()) if (folders[idx].isDirectory())
{ {
++totalFolders; ++totalFolders;
@ -224,12 +222,12 @@ public class FolderInfoPropertyPage
} }
catch (SystemMessageException e) catch (SystemMessageException e)
{ {
} }
} // end of walkFolder method } // end of walkFolder method
} // end of inner class } // end of inner class
/** /**
* Inner class encapsulating the GUI work to be done from the * Inner class encapsulating the GUI work to be done from the
* background thread. * background thread.
@ -239,20 +237,20 @@ public class FolderInfoPropertyPage
public void run() public void run()
{ {
if (stopButton.isDisposed()) if (stopButton.isDisposed())
return; return;
if (stopped) if (stopped)
{ {
setValid(true); // re-enable OK button setValid(true); // re-enable OK button
stopButton.setEnabled(false); // disable Stop button stopButton.setEnabled(false); // disable Stop button
clearMessage(); // clear "Processing..." message clearMessage(); // clear "Processing..." message
} }
sizeLabel.setText(Integer.toString(totalSize)); sizeLabel.setText(Integer.toString(totalSize));
filesLabel.setText(Integer.toString(totalFiles)); filesLabel.setText(Integer.toString(totalFiles));
foldersLabel.setText(Integer.toString(totalFolders)); foldersLabel.setText(Integer.toString(totalFolders));
} }
} }
/** /**
* Update the GUI with the current status * Update the GUI with the current status
*/ */