Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Dykstal2006-08-04 20:37:05 +0000
committerDavid Dykstal2006-08-04 20:37:05 +0000
commitfc3a24983c925cce9158de297a0a1868d8af76f3 (patch)
tree53a91233d648eb7b00a56a1a0caee870d35c1632
parent562ee300343f8fe851df6307c658eb5f04fe6c90 (diff)
downloadorg.eclipse.tm-fc3a24983c925cce9158de297a0a1868d8af76f3.tar.gz
org.eclipse.tm-fc3a24983c925cce9158de297a0a1868d8af76f3.tar.xz
org.eclipse.tm-fc3a24983c925cce9158de297a0a1868d8af76f3.zip
bug 149331 - Update tutorial to use current tutorial example code.
Get rid of etools references. The tutorial still requires some work since it is hard to update from the code. All highlighting and anchor creation is done by hand, as are the differences from step to step.
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperAdapterFactory.html12
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorService.html100
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorServiceManager.html94
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperFilterStringEditPane.html98
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResource.html48
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html160
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem.html198
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem2.html118
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration.html102
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration2.html112
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory.html83
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory2.html155
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystem.html71
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystemManager.html80
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage1.html11
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage2.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry.html8
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry2.html10
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin.html136
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin2.html168
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents1.html11
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents2.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResource.html39
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResourceAdapter.html181
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/empty.html22
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/index.html1
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/pdeProject.html122
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/popup.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/propertypage.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesMessages2.html2
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources3.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources4.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/startup.html4
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/guide/tutorial/subsystem.html58
-rwxr-xr-xrse/doc/org.eclipse.rse.doc.isv/topics_Guide.xml4
35 files changed, 1178 insertions, 1054 deletions
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperAdapterFactory.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperAdapterFactory.html
index d98c6aa0f..ea0623e4c 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperAdapterFactory.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperAdapterFactory.html
@@ -9,9 +9,8 @@
<title>DeveloperAdapterFactory Class After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>DeveloperAdapterFactory Class After Editing</h1>
-<p>
<pre><samp>
package samples.model;
@@ -21,9 +20,9 @@ import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
import org.eclipse.ui.views.properties.IPropertySource;
/**
- * <i>This factory maps requests for an adapter object from a given remote object.</i>
+ * This factory maps requests for an adapter object from a given remote object.
*/
-public class DeveloperAdapterFactory
+public class DeveloperAdapterFactory
extends AbstractSystemRemoteAdapterFactory
implements IAdapterFactory
{
@@ -47,14 +46,13 @@ public class DeveloperAdapterFactory
if (adaptableObject instanceof TeamResource)
adapter = teamAdapter;
else if (adaptableObject instanceof DeveloperResource)
- adapter = developerAdapter;</b>
+ adapter = developerAdapter;
// <i>these lines are very important! </i>
- <b>if ((adapter != null) &amp;&amp; (adapterType == IPropertySource.class))
+ if ((adapter != null) &amp;&amp; (adapterType == IPropertySource.class))
adapter.setPropertySourceInput(adaptableObject);
return adapter;</b>
}
}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorService.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorService.html
new file mode 100755
index 000000000..1e7ec7dfe
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorService.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+
+<head>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
+<title>DeveloperConnectorService Class After Editing</title>
+</head>
+
+<body>
+<h1>DeveloperConnectorService Class After Editing</h1>
+<pre><samp>
+package samples.subsystems;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.rse.core.subsystems.AbstractConnectorService;
+import org.eclipse.rse.model.IHost;
+
+import samples.RSESamplesPlugin;
+
+/**
+ * Our system class that manages connecting to, and disconnecting from,
+ * our remote server-side code.
+ */
+public class DeveloperConnectorService extends AbstractConnectorService {
+
+ <strong>private boolean connected = false;</strong>
+
+ /**
+ * Constructor for DeveloperConnectorService.
+ * @param host
+ */
+ public DeveloperConnectorService(IHost host)
+ {
+ super(
+ RSESamplesPlugin.getResourceString("connectorservice.devr.name"),
+ RSESamplesPlugin.getResourceString("connectorservice.devr.desc"),
+ host,
+ 0
+ );
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.IConnectorService#isConnected()
+ */
+ public boolean isConnected()
+ {
+ return connected;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.AbstractConnectorService#internalConnect(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ protected void internalConnect(IProgressMonitor monitor) throws Exception
+ {
+ super.internalConnect(monitor);
+ // pretend. Normally, we'd connect to our remote server-side code here
+ connected=true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.AbstractConnectorService#internalDisconnect(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public void internalDisconnect(IProgressMonitor monitor) throws Exception
+ {
+ super.internalDisconnect(monitor);
+ // pretend. Normally, we'd disconnect from our remote server-side code here
+ connected=false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.IConnectorService#supportsRemoteServerLaunching()
+ */
+ public boolean supportsRemoteServerLaunching()
+ {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.IConnectorService#hasRemoteServerLauncherProperties()
+ */
+ public boolean hasRemoteServerLauncherProperties()
+ {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.IConnectorService#supportsServerLaunchProperties()
+ */
+ public boolean supportsServerLaunchProperties()
+ {
+ return false;
+ }
+
+}
+</samp></pre>
+</body>
+</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorServiceManager.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorServiceManager.html
new file mode 100755
index 000000000..6fb30c942
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperConnectorServiceManager.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+
+<head>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
+<title>DeveloperConnectorServiceManager Class After Editing</title>
+</head>
+
+<body>
+<h1>DeveloperConnectorServiceManager Class After Editing</h1>
+<pre><samp>
+/********************************************************************************
+ * Copyright (c) 2006 IBM Corporation. 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
+ *
+ * Initial Contributors:
+ * The following IBM employees contributed to the Remote System Explorer
+ * component that contains this file: David McKnight, Kushal Munir,
+ * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
+ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
+ *
+ * Contributors:
+ * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE.
+ ********************************************************************************/
+
+package samples.subsystems;
+
+import org.eclipse.rse.core.subsystems.AbstractConnectorServiceManager;
+import org.eclipse.rse.core.subsystems.IConnectorService;
+import org.eclipse.rse.core.subsystems.ISubSystem;
+import org.eclipse.rse.model.IHost;
+
+/**
+ * This class manages our DeveloperConnectorService objects, so that if we
+ * ever have multiple subsystem configurations, different subsystems can share
+ * the same system object if they share the communication layer.
+ */
+public class DeveloperConnectorServiceManager extends
+ AbstractConnectorServiceManager {
+
+ <strong>private static DeveloperConnectorServiceManager inst;</strong>
+
+ /**
+ * Constructor for DeveloperConnectorServiceManager.
+ */
+ public DeveloperConnectorServiceManager()
+ {
+ super();
+ }
+
+ <strong>/**
+ * Return singleton instance
+ */
+ public static DeveloperConnectorServiceManager getTheDeveloperConnectorServiceManager()
+ {
+ if (inst == null)
+ inst = new DeveloperConnectorServiceManager();
+ return inst;
+ }</strong>
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.AbstractConnectorServiceManager#createConnectorService(org.eclipse.rse.model.IHost)
+ */
+ public IConnectorService createConnectorService(IHost host)
+ {
+ <strong>return new DeveloperConnectorService(host);</strong>
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.AbstractConnectorServiceManager#sharesSystem(org.eclipse.rse.core.subsystems.ISubSystem)
+ */
+ public boolean sharesSystem(ISubSystem otherSubSystem)
+ {
+ <strong>return (otherSubSystem instanceof IDeveloperSubSystem);</strong>
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.AbstractConnectorServiceManager#getSubSystemCommonInterface(org.eclipse.rse.core.subsystems.ISubSystem)
+ */
+ public Class getSubSystemCommonInterface(ISubSystem subsystem)
+ {
+ <strong>return IDeveloperSubSystem.class;</strong>
+ }
+
+}
+</samp></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperFilterStringEditPane.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperFilterStringEditPane.html
index f7903a1b1..38095d16a 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperFilterStringEditPane.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperFilterStringEditPane.html
@@ -9,30 +9,31 @@
<title>DeveloperFilterStringEditPane Class After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>DeveloperFilterStringEditPane Class After Editing</h1>
-<p>
<pre><samp>
package samples.subsystems;
-import <b>org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;</b>
+<strong>import org.eclipse.rse.services.clientserver.messages.SystemMessage;
+import org.eclipse.rse.ui.SystemWidgetHelpers;</strong>
+import org.eclipse.rse.ui.filters.SystemFilterStringEditPane;
+<strong>import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;</strong>
-import com.ibm.etools.systems.filters.ui.SystemFilterStringEditPane;
-<b>import RSESamples.RSESamplesPlugin;
-import com.ibm.etools.systems.core.ui.*;
-import com.ibm.etools.systems.core.ui.messages.SystemMessage;
-
-import java.util.*;</b>
+<strong>import samples.RSESamplesPlugin;</strong>
/**
- * <i>Our specialized filter string edit pane for developer filters.</i>
+ * Our specialized filter string edit pane for developer filters.
*/
-public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
-{
- // <i>gui widgets</i>
- <b>private Text textTeam, textDevr;</b>
+public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane {
+
+ // gui widgets
+ <strong>private Text textTeam, textDevr;</strong>
/**
* Constructor for DeveloperFilterStringEditPane.
@@ -42,29 +43,37 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
{
super(shell);
}
-
+
/**
* Override of parent method.
* This is where we populate the client area.
* @param parent - the composite that will be the parent of the returned client area composite
* @return Control - a client-area composite populated with widgets.
*
- * @see com.ibm.etools.systems.core.ui.SystemWidgetHelpers
+ * @see org.eclipse.rse.ui.SystemWidgetHelpers
*/
- <b>public Control createContents(Composite parent)
+ <strong>public Control createContents(Composite parent)
{
- ResourceBundle rb = RSESamplesPlugin.getDefault().getResourceBundle();
-
// Inner composite
int nbrColumns = 1;
Composite composite_prompts = SystemWidgetHelpers.createComposite(parent, nbrColumns);
((GridLayout)composite_prompts.getLayout()).marginWidth = 0;
// CREATE TEAM-PARENT PROMPT
- textTeam = SystemWidgetHelpers.createLabeledTextField(composite_prompts,null,rb,&quot;filter.devr.teamprompt.&quot;);
+ textTeam = SystemWidgetHelpers.createLabeledTextField(
+ composite_prompts,
+ null,
+ RSESamplesPlugin.getResourceString("filter.devr.teamprompt.label"), //$NON-NLS-1$
+ RSESamplesPlugin.getResourceString("filter.devr.teamprompt.tooltip") //$NON-NLS-1$
+ );
// CREATE DEVELOPER PROMPT
- textDevr = SystemWidgetHelpers.createLabeledTextField(composite_prompts,null,rb,&quot;filter.devr.devrprompt.&quot;);
+ textDevr = SystemWidgetHelpers.createLabeledTextField(
+ composite_prompts,
+ null,
+ RSESamplesPlugin.getResourceString("filter.devr.devrprompt.label"), //$NON-NLS-1$
+ RSESamplesPlugin.getResourceString("filter.devr.devrprompt.tooltip") //$NON-NLS-1$
+ );
resetFields();
doInitializeFields();
@@ -89,15 +98,16 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
}
);
return composite_prompts;
- }</b>
+ }</strong>
+
/**
* Override of parent method.
* Return the control to recieve initial focus.
*/
- <b>public Control getInitialFocusControl()
+ <strong>public Control getInitialFocusControl()
{
return textTeam;
- } </b>
+ }</strong>
/**
* Override of parent method.
@@ -105,7 +115,7 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
* 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
*/
- <b>protected void doInitializeFields()
+ <strong>protected void doInitializeFields()
{
if (textTeam == null)
return; // do nothing
@@ -120,27 +130,29 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
textDevr.setText(inputFilterString.substring(idx+1));
}
}
- } </b>
+ }</strong>
+
/**
* Override of parent method.
- * This is called in the change filter dialog when the user selects &quot;new&quot;, or selects another string.
+ * This is called in the change filter dialog when the user selects "new", or selects another string.
*/
- <b>protected void resetFields()
+ <strong>protected void resetFields()
{
- textTeam.setText(&quot;&quot;);
- textDevr.setText(&quot;*&quot;);
- }</b>
+ textTeam.setText(""); //$NON-NLS-1$
+ textDevr.setText("*"); //$NON-NLS-1$
+ }</strong>
+
/**
* Override of parent method.
* Called by parent to decide if information is complete enough to enable finish.
*/
- <b>protected boolean areFieldsComplete()
+ <strong>protected boolean areFieldsComplete()
{
if ((textTeam == null) || (textDevr == null))
return false;
else
- return (textTeam.getText().trim().length()&gt;0) &amp;&amp; (textDevr.getText().trim().length()&gt;0);
- }</b>
+ return (textTeam.getText().trim().length()>0) && (textDevr.getText().trim().length()>0);
+ }</strong>
/**
* Override of parent method.
@@ -148,7 +160,7 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
* 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.
*/
- <b>public String getFilterString()
+ <strong>public String getFilterString()
{
if ((textTeam == null) || (textDevr == null))
return inputFilterString; // return what we were given.
@@ -156,9 +168,9 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
{
String teamName = textTeam.getText().trim();
String devrName = textDevr.getText().trim();
- return teamName + &quot;/&quot; + devrName;
+ return teamName + "/" + devrName; //$NON-NLS-1$
}
- }</b>
+ }</strong>
/**
* Override of parent method.
@@ -167,7 +179,7 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
*
* @return error message if there is one, else null if ok
*/
- <b>public SystemMessage verify()
+ <strong>public SystemMessage verify()
{
errorMessage = null;
Control controlInError = null;
@@ -190,11 +202,9 @@ public class DeveloperFilterStringEditPane extends SystemFilterStringEditPane
controlInError.setFocus();
}
return errorMessage;
- } </b>
-}
-
+ }</strong>
+}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResource.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResource.html
index ef3a19c2c..4da58a080 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResource.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResource.html
@@ -15,18 +15,18 @@
<pre><samp>
package samples.model;
-import com.ibm.etools.systems.subsystems.SubSystem;
-import com.ibm.etools.systems.subsystems.impl.AbstractResource;
+import org.eclipse.rse.core.subsystems.AbstractResource;
+import org.eclipse.rse.core.subsystems.ISubSystem;
/**
- * <i>This models a remote resource representing a developer defined on a particular system.</i>
+ * This models a remote resource representing a developer defined on a particular system.
*/
-public class DeveloperResource extends AbstractResource
-{
- <b>private String name;</b>
- <b>private String id;</b>
- <b>private String deptNbr;</b>
-
+public class DeveloperResource extends AbstractResource {
+
+ <strong>private String name;</strong>
+ <strong>private String id;</strong>
+ <strong>private String deptNbr;</strong>
+
/**
* Default constructor for DeveloperResource.
*/
@@ -34,49 +34,51 @@ public class DeveloperResource extends AbstractResource
{
super();
}
+
/**
* Constructor for DeveloperResource when given parent subsystem.
*/
- public DeveloperResource(SubSystem subsystem)
+ public DeveloperResource(ISubSystem parentSubSystem)
{
- super(subsystem);
+ super(parentSubSystem);
}
-
+
/**
* Returns the name.
* @return String
*/
- <b>public String getName()
+ public String getName()
{
return name;
- }</b>
+ }
/**
* Sets the name.
* @param name The name to set
*/
- <b>public void setName(String name)
+ public void setName(String name)
{
this.name = name;
- }</b>
+ }
/**
* Returns the id.
* @return String
*/
- <b>public String getId()
+ public String getId()
{
return id;
- }</b>
+ }
/**
* Sets the id.
* @param id The id to set
*/
- <b>public void setId(String id)
+ public void setId(String id)
{
this.id = id;
- }</b>
+ }
+
/**
* Returns the deptNbr.
* @return String
@@ -90,12 +92,12 @@ public class DeveloperResource extends AbstractResource
* Sets the deptNbr.
* @param deptNbr The deptNbr to set
*/
- <b>public void setDeptNbr(String deptNbr)
+ public void setDeptNbr(String deptNbr)
{
this.deptNbr = deptNbr;
- }</b>
-}
+ }
+}
</samp></pre>
</p>
</body>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html
index 35922542e..f7cdae861 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html
@@ -9,35 +9,42 @@
<title>DeveloperResourceAdapter Class After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>DeveloperResourceAdapter Class After Editing</h1>
-<p>
<pre><samp>
package samples.model;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.rse.ui.SystemMenuManager;
+import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
+import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
import org.eclipse.swt.widgets.Shell;
-import <b>org.eclipse.ui.views.properties.*;</b>
+<strong>import org.eclipse.ui.views.properties.IPropertyDescriptor;</strong>
+<strong>import org.eclipse.ui.views.properties.PropertyDescriptor;</strong>
-import com.ibm.etools.systems.core.ui.SystemMenuManager;
-import com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter;
-import com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter;
-
-<b>import samples.subsystems.*;
-import java.util.*;</b>
+<strong>import samples.RSESamplesPlugin;</strong>
/**
- * <i>This is the adapter which enables us to work with our remote developer resources.</i>
+ * This is the adapter which enables us to work with our remote developer resources.
*/
-public class DeveloperResourceAdapter
- extends AbstractSystemViewAdapter
- implements ISystemRemoteElementAdapter
+public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
+ implements ISystemRemoteElementAdapter
{
+
/**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#addActions(SystemMenuManager, IStructuredSelection, Shell, String)
+ * Constructor
+ */
+ public DeveloperResourceAdapter() {
+ super();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#addActions(org.eclipse.rse.ui.SystemMenuManager,
+ * org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String)
*/
- public void addActions(SystemMenuManager menu,IStructuredSelection selection,Shell parent,String menuGroup)
+ public void addActions(SystemMenuManager menu,
+ IStructuredSelection selection, Shell parent, String menuGroup)
{
}
@@ -46,32 +53,32 @@ public class DeveloperResourceAdapter
*/
public ImageDescriptor getImageDescriptor(Object object)
{
- <b>return RSESamples.RSESamplesPlugin.getDefault().getImageDescriptor(&quot;ICON_ID_DEVELOPER&quot;);</b>
+ <strong>return RSESamplesPlugin.getDefault().getImageDescriptor("ICON_ID_DEVELOPER");</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getText(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getText(java.lang.Object)
*/
public String getText(Object element)
{
- <b>return ((DeveloperResource)element).getName();</b>
+ <strong>return ((DeveloperResource)element).getName();</strong>
}
- /**
- * @see com.ibm.etools.systems.subsystems.IRemoteObjectIdentifier#getAbsoluteName(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getAbsoluteName(java.lang.Object)
*/
public String getAbsoluteName(Object object)
{
- <b>DeveloperResource devr = (DeveloperResource)object;
- return "Devr_" + devr.getId();</b>
+ <strong>DeveloperResource devr = (DeveloperResource)object;</strong>
+ r<strong>eturn "Devr_" + devr.getId();</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getType(java.lang.Object)
*/
public String getType(Object element)
{
- <b>return &quot;Developer resource&quot;;</b>
+ <strong>return RSESamplesPlugin.getResourceString("property.devr_resource.type");</strong>
}
/**
@@ -82,8 +89,8 @@ public class DeveloperResourceAdapter
return null; // not really used, which is good because it is ambiguous
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#hasChildren(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object element)
{
@@ -98,110 +105,115 @@ public class DeveloperResourceAdapter
return null;
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
*/
protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{
- // <i>the following array should be made static to it isn't created every time</i>
- <b>PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];
- ourPDs[0] = new PropertyDescriptor(&quot;devr_id&quot;, &quot;Id&quot;);
- ourPDs[0].setDescription(&quot;ID number&quot;);
- ourPDs[1] = new PropertyDescriptor(&quot;devr_dept&quot;, &quot;Department&quot;);
- ourPDs[1].setDescription(&quot;Department number&quot;);
- return ourPDs;</b>
+ // the following array should be made static to it isn't created every time
+ <strong>PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];</strong>
+ <strong>ourPDs[0] = new PropertyDescriptor("devr_id", RSESamplesPlugin.getResourceString("property.devr_id.name"));</strong>
+ <strong>ourPDs[0].setDescription(RSESamplesPlugin.getResourceString("property.devr_id.desc"));</strong>
+ <strong>ourPDs[1] = new PropertyDescriptor("devr_dept", RSESamplesPlugin.getResourceString("property.devr_dept.name"));</strong>
+ <strong>ourPDs[1].setDescription(RSESamplesPlugin.getResourceString("property.devr_dept.desc"));</strong>
+ <strong>return ourPDs;</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue()
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object)
*/
- public Object internalGetPropertyValue(Object key)
+ protected Object internalGetPropertyValue(Object key)
{
- // <i>propertySourceInput holds the currently selected object</i>
- <b>DeveloperResource devr = (DeveloperResource)propertySourceInput;
- if (key.equals(&quot;devr_id&quot;))
- return devr.getId();
- else if (key.equals(&quot;devr_dept&quot;))
+ // propertySourceInput holds the currently selected object
+ <strong>DeveloperResource devr = (DeveloperResource)propertySourceInput;
+ if (key.equals("devr_id"))
+ return devr.getId();
+ else if (key.equals("devr_dept"))
return devr.getDeptNbr();
- return null;</b>
+ return null;</strong>
}
// --------------------------------------
- // <b>ISystemRemoteElementAdapter methods...</b>
+ // ISystemRemoteElementAdapter methods...
// --------------------------------------
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(java.lang.Object)
*/
public String getAbsoluteParentName(Object element)
{
- <b>return &quot;root&quot;;</b> // not really applicable as we have no unique hierarchy
+ <strong>return "root";</strong> // not really applicable as we have no unique hierarchy
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getSubSystemFactoryId(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getSubSystemConfigurationId(java.lang.Object)
*/
- public String getSubSystemFactoryId(Object element)
+ public String getSubSystemConfigurationId(Object element)
{
- <b>return &quot;samples.subsystems.factory&quot;;</b> // as declared in extension in plugin.xml
+ <strong>return "samples.subsystems.factory";</strong> // as declared in extension in plugin.xml
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(java.lang.Object)
*/
public String getRemoteTypeCategory(Object element)
{
- <b>return &quot;developers&quot;;</b> // Course grained. Same for all our remote resources.
+ <strong>return "developers";</strong> // Course grained. Same for all our remote resources.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteType(java.lang.Object)
*/
public String getRemoteType(Object element)
{
- <b>return &quot;developer&quot;;</b> // Fine grained. Unique to this resource type.
+ <strong>return "developer";</strong> // Fine grained. Unique to this resource type.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(java.lang.Object)
*/
public String getRemoteSubType(Object element)
{
return null; // Very fine grained. We don't use it.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(Object, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(java.lang.Object, java.lang.Object)
*/
public boolean refreshRemoteObject(Object oldElement, Object newElement)
{
- <b>DeveloperResource oldDevr= (DeveloperResource)oldElement;
+ <strong>DeveloperResource oldDevr= (DeveloperResource)oldElement;
DeveloperResource newDevr = (DeveloperResource)newElement;
newDevr.setName(oldDevr.getName());
- return false;</b>
+ return false;</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParent(Shell, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParent(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public Object getRemoteParent(Shell shell, Object element) throws Exception
{
return null; // maybe this would be a Department obj, if we fully fleshed out our model
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(Shell, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public String[] getRemoteParentNamesInUse(Shell shell, Object element)
- throws Exception
+ throws Exception
{
- // <b><i>developers names do not have to be unique! So we don't need to implement this!</i></b>
+ // developers names do not have to be unique! So we don't need to implement this!
return null;
}
-}
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#supportsUserDefinedActions(java.lang.Object)
+ */
+ public boolean supportsUserDefinedActions(Object object) {
+ <strong>return false;</strong>
+ }
+}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem.html
index 37ae6d9c2..c422ad32c 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem.html
@@ -11,177 +11,181 @@
<body bgcolor="#ffffff">
<h1>DeveloperSubSystem Class After Editing</h1>
-<p>
<pre><samp>
package samples.subsystems;
-import com.ibm.etools.systems.dftsubsystem.impl.DefaultSubSystemImpl;
-<b>import samples.model.*;
-import com.ibm.etools.systems.subsystems.impl.*;
-import com.ibm.etools.systems.subsystems.*;
+<strong>import java.util.Vector;
-import org.eclipse.core.runtime.*; // <i>for IProgressMonitor</i>
-import com.ibm.etools.systems.core.clientserver.NamePatternMatcher;
-import java.util.*;</b>
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.rse.core.subsystems.IConnectorService;</strong>
+import org.eclipse.rse.core.subsystems.SubSystem;
+<strong>import org.eclipse.rse.model.IHost;
+import org.eclipse.rse.services.clientserver.NamePatternMatcher;
-/**
- * <i>This is our subsystem, which manages the remote connection and resources for</i>
- * <i>a particular system connection object.</i>
- */
-public class DeveloperSubSystem extends DefaultSubSystemImpl
+import samples.model.DeveloperResource;
+import samples.model.TeamResource;</strong>
+
+<strong>/**
+ * This is our subsystem, which manages the remote connection and resources for
+ * a particular system connection object.
+ */</strong>
+public class DeveloperSubSystem extends SubSystem
{
- <b>private TeamResource[] teams; // <i>faked-out master list of teams</i></b>
- <b>private Vector devVector = new Vector(); // <i>faked-out master list of developers</i></b>
- <b>private static int employeeId = 123456; // <i>employee Id factory</i></b>
-
+ <strong>private TeamResource[] teams; // faked-out master list of teams</strong>
+ <strong>private Vector devVector = new Vector(); // faked-out master list of developers</strong>
+ <strong>private static int employeeId = 123456; // employee Id factory</strong>
+
/**
- * <i>Constructor for DeveloperSubSystem.</i>
+ * @param host
+ * @param connectorService
*/
- public DeveloperSubSystem()
- {
- super();
+ public DeveloperSubSystem(IHost host, IConnectorService connectorService) {
+ super(host, connectorService);
}
- /**
- * <i>Return a singleton instance of an AbstractSystemManager subclass that manages
- * a pool of ISystem objects, one per system connection. By default, getSystem()
- * calls this, unless you override getSystem().
- *
- * @return DeveloperSystemManager.getTheDeveloperSystemManager()</i>
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystem#initializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
*/
- public AbstractSystemManager getSystemManager()
- {
- return DeveloperSystemManager.getTheDeveloperSystemManager();
- }
+ public void initializeSubSystem(IProgressMonitor monitor) {
+ }
- /**
- * <i>For drag and drop, and clipboard support of remote objects.
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.ISubSystem#uninitializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public void uninitializeSubSystem(IProgressMonitor monitor) {
+ }
+
+ <strong>/**
+ * For drag and drop, and clipboard support of remote objects.
*
* Return the remote object within the subsystem that corresponds to
* the specified unique ID. Because each subsystem maintains it's own
* objects, it's the responsability of the subsystem to determine
* how an ID (or key) for a given object maps to the real object.
- * By default this returns null. </i>
+ * By default this returns null.
*/
- <b>public Object getObjectWithAbsoluteName(String key)
+ public Object getObjectWithAbsoluteName(String key)
{
- // <i> Functional opposite of getAbsoluteName(Object) in our resource adapters</i>
- if (key.startsWith(&quot;Team_&quot;))
+ // Functional opposite of getAbsoluteName(Object) in our resource adapters
+ if (key.startsWith("Team_")) //$NON-NLS-1$
{
String teamName = key.substring(5);
TeamResource[] allTeams = getAllTeams();
- for (int idx=0; idx&lt;allTeams.length; idx++)
+ for (int idx=0; idx &lt; allTeams.length; idx++)
if (allTeams[idx].getName().equals(teamName))
return allTeams[idx];
}
- else if (key.startsWith(&quot;Devr_&quot;))
+ else if (key.startsWith("Devr_")) //$NON-NLS-1$
{
String devrId = key.substring(5);
DeveloperResource[] devrs = getAllDevelopers();
- for (int idx=0; idx&lt;devrs.length; idx++)
+ for (int idx=0; idx &lt; devrs.length; idx++)
if (devrs[idx].getId().equals(devrId))
return devrs[idx];
}
return null;
- }</b>
+ }</strong>
- /**
- * <i>When a filter is expanded, this is called for each filter string in the filter.
+ <strong>/**
+ * When a filter is expanded, this is called for each filter string in the filter.
* Using the criteria of the filter string, it must return objects representing remote resources.
* For us, this will be an array of TeamResource objects.
*
* @param monitor - the progress monitor in effect while this operation performs
- * @param filterString - one of the filter strings from the expanded filter.</i>
+ * @param filterString - one of the filter strings from the expanded filter.
*/
- <A name="resolveFilterString"></A><b>protected Object[] internalResolveFilterString(IProgressMonitor monitor, String filterString)
+ protected Object[] internalResolveFilterString(IProgressMonitor monitor, String filterString)
throws java.lang.reflect.InvocationTargetException,
java.lang.InterruptedException
{
- // <i>Fake it out for now and return dummy list. </i>
- // <i>In reality, this would communicate with remote server-side code/data.</i>
- TeamResource[] allTeams = getAllTeams();
-
- // <i>Now, subset master list, based on filter string...</i>
- NamePatternMatcher subsetter = new NamePatternMatcher(filterString);
- Vector v = new Vector();
- for (int idx=0; idx&lt;allTeams.length; idx++)
- {
- if (subsetter.matches(allTeams[idx].getName()))
- v.addElement(allTeams[idx]);
- }
- TeamResource[] teams = new TeamResource[v.size()];
- for (int idx=0; idx&lt;v.size(); idx++)
- teams[idx] = (TeamResource)v.elementAt(idx);
- return teams;
- }</b>
+ // Fake it out for now and return dummy list.
+ // In reality, this would communicate with remote server-side code/data.
+ TeamResource[] allTeams = getAllTeams();
+
+ // Now, subset master list, based on filter string...
+ NamePatternMatcher subsetter = new NamePatternMatcher(filterString);
+ Vector v = new Vector();
+ for (int idx = 0; idx &lt; allTeams.length; idx++)
+ {
+ if (subsetter.matches(allTeams[idx].getName()))
+ v.addElement(allTeams[idx]);
+ }
+ TeamResource[] teams = new TeamResource[v.size()];
+ for (int idx=0; idx &lt; v.size(); idx++)
+ teams[idx] = (TeamResource)v.elementAt(idx);
+ return teams;
+ }</strong>
- /**
- * <i>When a remote resource is expanded, this is called to return the children of the resource, if
- * the resource's adapter states the resource object is expandable. &lt;br&gt;
+ <strong>/**
+ * When a remote resource is expanded, this is called to return the children of the resource, if
+ * the resource's adapter states the resource object is expandable.
* For us, it is a Team resource that was expanded, and an array of Developer resources will be returned.
*
* @param monitor - the progress monitor in effect while this operation performs
* @param parent - the parent resource object being expanded
- * @param filterString - typically defaults to &quot;*&quot;. In future additional user-specific quick-filters may be supported.</i>
+ * @param filterString - typically defaults to "*". In future additional user-specific quick-filters may be supported.
*/
- <b>protected Object[] internalResolveFilterString(IProgressMonitor monitor, Object parent, String filterString)
+ <a id="resolveFilterString"/>protected Object[] internalResolveFilterString(IProgressMonitor monitor, Object parent, String filterString)
throws java.lang.reflect.InvocationTargetException,
java.lang.InterruptedException
{
- // <i>typically we ignore the filter string as it is always &quot;*&quot;
- // until support is added for &quot;quick filters&quot; the user can specify/select
- // at the time they expand a remote resource.</i>
+ // typically we ignore the filter string as it is always "*"
+ // until support is added for "quick filters" the user can specify/select
+ // at the time they expand a remote resource.
TeamResource team = (TeamResource)parent;
return team.getDevelopers();
- }</b>
+ }</strong>
- // ------------------
+ <strong>// ------------------
// Our own methods...
- // ------------------
- /**
- * <i>Get the list of all teams. Normally this would involve a trip the server, but we
- * fake it out and return a hard-coded local list. </i>
+ // ------------------</strong>
+
+ <strong>/**
+ * Get the list of all teams. Normally this would involve a trip the server, but we
+ * fake it out and return a hard-coded local list.
*/
- <b>public TeamResource[] getAllTeams()
+ public TeamResource[] getAllTeams()
{
if (teams == null)
- teams = createTeams(&quot;Team &quot;, 4);
+ teams = createTeams("Team ", 4);
return teams;
- }</b>
- /**
- * <i>Get the list of all developers. Normally this would involve a trip the server, but we
- * fake it out and return a hard-coded local list. </i>
+ }</strong>
+
+ <strong>/**
+ * Get the list of all developers. Normally this would involve a trip the server, but we
+ * fake it out and return a hard-coded local list.
*/
- <b>public DeveloperResource[] getAllDevelopers()
+ public DeveloperResource[] getAllDevelopers()
{
DeveloperResource[] allDevrs = new DeveloperResource[devVector.size()];
- for (int idx=0; idx&lt;allDevrs.length; idx++)
+ for (int idx = 0; idx &lt; allDevrs.length; idx++)
allDevrs[idx] = (DeveloperResource)devVector.elementAt(idx);
return allDevrs;
- }</b>
- /*
- * <i>Create and return a dummy set of teams</i>
+ }</strong>
+
+ <strong>/*
+ * Create and return a dummy set of teams
*/
- <b>private TeamResource[] createTeams(String prefix, int howMany)
+ private TeamResource[] createTeams(String prefix, int howMany)
{
TeamResource[] teams = new TeamResource[howMany];
- for (int idx=0; idx&lt;teams.length; idx++)
+ for (int idx = 0; idx &lt; teams.length; idx++)
{
teams[idx] = new TeamResource(this);
teams[idx].setName(prefix + (idx+1));
- teams[idx].setDevelopers(createDevelopers(teams[idx].getName()+&quot; developer&quot;,idx+1));
+ teams[idx].setDevelopers(createDevelopers(teams[idx].getName()+" developer",idx+1));
}
return teams;
- }</b>
+ }</strong>
- /*
- * <i>Create and return a dummy set of developers</i>
+ <strong>/*
+ * Create and return a dummy set of developers
*/
- <b>private DeveloperResource[] createDevelopers(String prefix, int nbr)
+ private DeveloperResource[] createDevelopers(String prefix, int nbr)
{
DeveloperResource[] devrs = new DeveloperResource[nbr];
- for (int idx=0; idx&lt;devrs.length; idx++)
+ for (int idx=0; idx &lt; devrs.length; idx++)
{
devrs[idx] = new DeveloperResource(this);
devrs[idx].setName(prefix + (idx+1));
@@ -190,9 +194,9 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
devVector.add(devrs[idx]); // update master list
}
return devrs;
- }</b>
+ }</strong>
+
}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem2.html
index c5b4aca21..092258ce1 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem2.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystem2.html
@@ -9,55 +9,55 @@
<title>DeveloperSubSystem Class After Editing Supporting Multiple Filter Types</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>DeveloperSubSystem Class After Editing Supporting Multiple Filter Types</h1>
-<p>
<pre><samp>
package samples.subsystems;
-import samples.model.*;
+import java.util.Vector;
-import com.ibm.etools.systems.dftsubsystem.impl.DefaultSubSystemImpl;
-import com.ibm.etools.systems.subsystems.impl.*;
-import com.ibm.etools.systems.subsystems.*;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.rse.core.subsystems.IConnectorService;
+import org.eclipse.rse.core.subsystems.SubSystem;
+import org.eclipse.rse.model.IHost;
+import org.eclipse.rse.services.clientserver.NamePatternMatcher;
-import org.eclipse.core.runtime.*; // for IProgressMonitor
-import com.ibm.etools.systems.core.clientserver.NamePatternMatcher;
-import java.util.*;
+import samples.model.DeveloperResource;
+import samples.model.TeamResource;
/**
* This is our subsystem, which manages the remote connection and resources for
* a particular system connection object.
*/
-public class DeveloperSubSystem extends DefaultSubSystemImpl
+public class DeveloperSubSystem extends SubSystem
{
private TeamResource[] teams; // faked-out master list of teams
private Vector devVector = new Vector(); // faked-out master list of developers
- private static int employeeId = 123456; // employee Id factory
+ private static int employeeId = 123456; // employee Id factory
/**
- * Constructor for DeveloperSubSystem.
+ * @param host
+ * @param connectorService
*/
- public DeveloperSubSystem()
- {
- super();
+ public DeveloperSubSystem(IHost host, IConnectorService connectorService) {
+ super(host, connectorService);
}
- /**
- * Return a singleton instance of an AbstractSystemManager subclass that manages
- * a pool of ISystem objects, one per system connection. By default, getSystem()
- * calls this, unless you override getSystem().
- * &lt;p&gt;
- * @return DeveloperSystemManager.getTheDeveloperSystemManager()
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystem#initializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
*/
- public AbstractSystemManager getSystemManager()
- {
- return DeveloperSystemManager.getTheDeveloperSystemManager();
- }
+ public void initializeSubSystem(IProgressMonitor monitor) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.ISubSystem#uninitializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public void uninitializeSubSystem(IProgressMonitor monitor) {
+ }
/**
* For drag and drop, and clipboard support of remote objects.
- * &lt;p&gt;
+ *
* Return the remote object within the subsystem that corresponds to
* the specified unique ID. Because each subsystem maintains it's own
* objects, it's the responsability of the subsystem to determine
@@ -66,22 +66,22 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
*/
public Object getObjectWithAbsoluteName(String key)
{
- // Functional opposite getAbsoluteName(Object) in our resource adapters
- if (key.startsWith(&quot;Team_&quot;))
+ // Functional opposite of getAbsoluteName(Object) in our resource adapters
+ if (key.startsWith("Team_"))
{
String teamName = key.substring(5);
TeamResource[] allTeams = getAllTeams();
- for (int idx=0; idx&lt;allTeams.length; idx++)
+ for (int idx = 0; idx &lt; allTeams.length; idx++)
if (allTeams[idx].getName().equals(teamName))
return allTeams[idx];
}
- else if (key.startsWith(&quot;Devr_&quot;))
+ else if (key.startsWith("Devr_"))
{
String devrId = key.substring(5);
DeveloperResource[] devrs = getAllDevelopers();
- for (int idx=0; idx&lt;devrs.length; idx++)
- if (devrs[idx].getId().equals(devrId))
- return devrs[idx];
+ for (int idx=0; idx &lt; devrs.length; idx++)
+ if (devrs[idx].getId().equals(devrId))
+ return devrs[idx];
}
return null;
}
@@ -94,13 +94,13 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
* @param monitor - the progress monitor in effect while this operation performs
* @param filterString - one of the filter strings from the expanded filter.
*/
- <a name="resolve"></a>protected Object[] internalResolveFilterString(IProgressMonitor monitor, String filterString)
+ protected Object[] internalResolveFilterString(IProgressMonitor monitor, String filterString)
throws java.lang.reflect.InvocationTargetException,
java.lang.InterruptedException
{
- <b>int slashIdx = filterString.indexOf('/');
+ <strong>int slashIdx = filterString.indexOf('/');
if (slashIdx &lt; 0)
- {</b>
+ {</strong>
// Fake it out for now and return dummy list.
// In reality, this would communicate with remote server-side code/data.
TeamResource[] allTeams = getAllTeams();
@@ -108,23 +108,23 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
// Now, subset master list, based on filter string...
NamePatternMatcher subsetter = new NamePatternMatcher(filterString);
Vector v = new Vector();
- for (int idx=0; idx&lt;allTeams.length; idx++)
+ for (int idx=0; idx &lt1; allTeams.length; idx++)
{
if (subsetter.matches(allTeams[idx].getName()))
v.addElement(allTeams[idx]);
}
TeamResource[] teams = new TeamResource[v.size()];
- for (int idx=0; idx&lt;v.size(); idx++)
+ for (int idx=0; idx &lt; v.size(); idx++)
teams[idx] = (TeamResource)v.elementAt(idx);
return teams;
- <b>}
+ <strong>}
else
{
String teamName = filterString.substring(0, slashIdx);
String devrName = filterString.substring(slashIdx+1);
TeamResource[] allTeams = getAllTeams();
TeamResource match = null;
- for (int idx=0; (match==null) &amp;&amp; (idx&lt;allTeams.length); idx++)
+ for (int idx=0; (match==null) && (idx &lt; allTeams.length); idx++)
if (allTeams[idx].getName().equals(teamName))
match = allTeams[idx];
if (match != null)
@@ -133,41 +133,41 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
// Now, subset master list, based on filter string...
NamePatternMatcher subsetter = new NamePatternMatcher(devrName);
Vector v = new Vector();
- for (int idx=0; idx&lt;allDevrs.length; idx++)
+ for (int idx=0; idx &lt; allDevrs.length; idx++)
{
if (subsetter.matches(allDevrs[idx].getName()))
v.addElement(allDevrs[idx]);
}
DeveloperResource[] devrs = new DeveloperResource[v.size()];
- for (int idx=0; idx&lt;v.size(); idx++)
+ for (int idx=0; idx &lt; v.size(); idx++)
devrs[idx] = (DeveloperResource)v.elementAt(idx);
return devrs;
}
}
- return null;</b>
+ return null;</strong>
}
/**
* When a remote resource is expanded, this is called to return the children of the resource, if
- * the resource's adapter states the resource object is expandable. &lt;br&gt;
+ * the resource's adapter states the resource object is expandable. <br>
* For us, it is a Team resource that was expanded, and an array of Developer resources will be returned.
*
* @param monitor - the progress monitor in effect while this operation performs
* @param parent - the parent resource object being expanded
- * @param filterString - typically defaults to &quot;*&quot;. In future additional user-specific quick-filters may be supported.
+ * @param filterString - typically defaults to "*". In future additional user-specific quick-filters may be supported.
*/
protected Object[] internalResolveFilterString(IProgressMonitor monitor, Object parent, String filterString)
throws java.lang.reflect.InvocationTargetException,
java.lang.InterruptedException
{
- // typically we ignore the filter string as it is always &quot;*&quot;
- // until support is added for &quot;quick filters&quot; the user can specify/select
+ // typically we ignore the filter string as it is always "*"
+ // until support is added for "quick filters" the user can specify/select
// at the time they expand a remote resource.
TeamResource team = (TeamResource)parent;
return team.getDevelopers();
}
-
+
// ------------------
// Our own methods...
// ------------------
@@ -179,9 +179,10 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
public TeamResource[] getAllTeams()
{
if (teams == null)
- teams = createTeams(&quot;Team &quot;, 4);
+ teams = createTeams("Team ", 4);
return teams;
}
+
/**
* Get the list of all developers. Normally this would involve a trip the server, but we
* fake it out and return a hard-coded local list.
@@ -189,31 +190,33 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
public DeveloperResource[] getAllDevelopers()
{
DeveloperResource[] allDevrs = new DeveloperResource[devVector.size()];
- for (int idx=0; idx&lt;allDevrs.length; idx++)
+ for (int idx=0; idx &lt; allDevrs.length; idx++)
allDevrs[idx] = (DeveloperResource)devVector.elementAt(idx);
return allDevrs;
}
+
/*
* Create and return a dummy set of teams
*/
private TeamResource[] createTeams(String prefix, int howMany)
{
TeamResource[] teams = new TeamResource[howMany];
- for (int idx=0; idx&lt;teams.length; idx++)
+ for (int idx=0; idx &lt; teams.length; idx++)
{
teams[idx] = new TeamResource(this);
teams[idx].setName(prefix + (idx+1));
- teams[idx].setDevelopers(createDevelopers(teams[idx].getName()+&quot; developer&quot;,idx+1));
+ teams[idx].setDevelopers(createDevelopers(teams[idx].getName()+" developer",idx+1));
}
return teams;
- }
+ }
+
/*
* Create and return a dummy set of developers
*/
- private DeveloperResource[] createDevelopers(String prefix, int howMany)
+ private DeveloperResource[] createDevelopers(String prefix, int nbr)
{
- DeveloperResource[] devrs = new DeveloperResource[howMany];
- for (int idx=0; idx&lt;devrs.length; idx++)
+ DeveloperResource[] devrs = new DeveloperResource[nbr];
+ for (int idx=0; idx &lt; devrs.length; idx++)
{
devrs[idx] = new DeveloperResource(this);
devrs[idx].setName(prefix + (idx+1));
@@ -223,11 +226,8 @@ public class DeveloperSubSystem extends DefaultSubSystemImpl
}
return devrs;
}
-
}
-
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration.html
new file mode 100755
index 000000000..b4c8ac444
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+
+<head>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
+<title>DeveloperSubSystemConfiguration Class After Editing</title>
+</head>
+
+<body>
+<h1>DeveloperSubSystemConfiguration Class After Editing</h1>
+<pre><samp>
+package samples.subsystems;
+
+<strong>import java.util.Vector;</strong>
+
+<strong>import org.eclipse.rse.core.subsystems.IConnectorService;
+import org.eclipse.rse.core.subsystems.ISubSystem;</strong>
+import org.eclipse.rse.core.subsystems.SubSystemConfiguration;
+<strong>import org.eclipse.rse.filters.ISystemFilterPool;
+import org.eclipse.rse.filters.ISystemFilterPoolManager;
+import org.eclipse.rse.internal.filters.SystemFilter;
+import org.eclipse.rse.model.IHost;</strong>
+
+<strong>import samples.RSESamplesPlugin;</strong>
+
+/**
+ * This is our subsystem factory, which creates instances of our subsystems,
+ * and supplies the subsystem and filter actions to their popup menus.
+ */
+public class DeveloperSubSystemConfiguration extends SubSystemConfiguration {
+
+ /**
+ * Constructor for DeveloperSubSystemConfiguration.
+ */
+ public DeveloperSubSystemConfiguration() {
+ super();
+ }
+
+ /**
+ * Create an instance of our subsystem.
+ */
+ <strong>public ISubSystem createSubSystemInternal(IHost conn) {
+ return new DeveloperSubSystem(conn, getConnectorService(conn));
+ }</strong>
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.ISubSystemConfiguration#getConnectorService(org.eclipse.rse.model.IHost)
+ */
+ public IConnectorService getConnectorService(IHost host) {
+ <strong>return DeveloperConnectorServiceManager.getTheDeveloperConnectorServiceManager()
+ .getConnectorService(host, IDeveloperSubSystem.class);</strong>
+ }
+
+ /**
+ * Intercept of parent method that creates an initial default filter pool.
+ * We intercept so that we can create an initial filter in that pool, which will
+ * list all teams.
+ */
+ <a id="createDefaultFilterPool"/><strong>protected ISystemFilterPool createDefaultFilterPool(ISystemFilterPoolManager mgr)
+ {
+ ISystemFilterPool defaultPool = null;
+ try {
+ defaultPool = mgr.createSystemFilterPool(getDefaultFilterPoolName(mgr.getName(), getId()), true); // true=>is deletable by user
+ Vector strings = new Vector();
+ strings.add("*");
+ mgr.createSystemFilter(defaultPool, "All teams", strings);
+ } catch (Exception exc) {}
+ return defaultPool;
+ }</strong>
+
+ /**
+ * Intercept of parent method so we can supply our own value shown in the 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
+ */
+ <strong>public String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
+ {
+ return RSESamplesPlugin.getResourceString("property.type.teamfilter");
+ }</strong>
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#supportsUserId()
+ */
+ <strong>public boolean supportsUserId() {
+ return false;
+ }</strong>
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#supportsServerLaunchProperties(org.eclipse.rse.model.IHost)
+ */
+ <strong>public boolean supportsServerLaunchProperties(IHost host) {
+ return false;
+ }</strong>
+
+}
+</samp></pre>
+</body>
+</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration2.html
new file mode 100755
index 000000000..07336a81f
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemConfiguration2.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+
+<head>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
+<title>DeveloperSubSystemFactory Class After Editing For Filter Support</title>
+</head>
+
+<body>
+<h1>DeveloperSubSystemFactory Class After Editing For Filter Support</h1>
+<pre><samp>
+package samples.subsystems;
+
+import java.util.Vector;
+
+import org.eclipse.rse.core.subsystems.IConnectorService;
+import org.eclipse.rse.core.subsystems.ISubSystem;
+import org.eclipse.rse.core.subsystems.SubSystemConfiguration;
+import org.eclipse.rse.filters.ISystemFilter;
+import org.eclipse.rse.filters.ISystemFilterPool;
+import org.eclipse.rse.filters.ISystemFilterPoolManager;
+import org.eclipse.rse.internal.filters.SystemFilter;
+import org.eclipse.rse.model.IHost;
+
+import samples.RSESamplesPlugin;
+
+/**
+ * This is our subsystem factory, which creates instances of our subsystems,
+ * and supplies the subsystem and filter actions to their popup menus.
+ */
+public class DeveloperSubSystemConfiguration extends SubSystemConfiguration {
+
+ /**
+ * Constructor for DeveloperSubSystemConfiguration.
+ */
+ public DeveloperSubSystemConfiguration() {
+ super();
+ }
+
+ /**
+ * Create an instance of our subsystem.
+ */
+ public ISubSystem createSubSystemInternal(IHost conn) {
+ return new DeveloperSubSystem(conn, getConnectorService(conn));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.ISubSystemConfiguration#getConnectorService(org.eclipse.rse.model.IHost)
+ */
+ public IConnectorService getConnectorService(IHost host) {
+ return DeveloperConnectorServiceManager.getTheDeveloperConnectorServiceManager()
+ .getConnectorService(host, IDeveloperSubSystem.class);
+ }
+
+ /**
+ * Intercept of parent method that creates an initial default filter pool.
+ * We intercept so that we can create an initial filter in that pool, which will
+ * list all teams.
+ */
+ protected ISystemFilterPool createDefaultFilterPool(ISystemFilterPoolManager mgr)
+ {
+ ISystemFilterPool defaultPool = null;
+ try {
+ defaultPool = mgr.createSystemFilterPool(getDefaultFilterPoolName(mgr.getName(), getId()), true); // true=>is deletable by user
+ Vector strings = new Vector();
+ strings.add("*");
+ I<strong>SystemFilter filter = mgr.createSystemFilter(defaultPool,
+ RSESamplesPlugin.getResourceString("filter.default.name"),
+ strings);
+ filter.setType("team");</strong>
+ } catch (Exception exc) {}
+ return defaultPool;
+ }
+
+ /**
+ * Intercept of parent method so we can supply our own value shown in the 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
+ */
+ public String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
+ {
+ <strong>String type = selectedFilter.getType();
+ if (type == null)
+ type = "team";
+ if (type.equals("team"))
+ return RSESamplesPlugin.getResourceString("property.type.teamfilter");
+ else
+ return RSESamplesPlugin.getResourceString("property.type.devrfilter");</strong>
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#supportsUserId()
+ */
+ public boolean supportsUserId() {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#supportsServerLaunchProperties(org.eclipse.rse.model.IHost)
+ */
+ public boolean supportsServerLaunchProperties(IHost host) {
+ return false;
+ }
+
+}
+</samp></pre>
+</body>
+</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory.html
deleted file mode 100755
index 4d96ba5c2..000000000
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
-<title>DeveloperSubSystemFactory Class After Editing</title>
-</head>
-
-<body bgcolor="#ffffff">
-<h1>DeveloperSubSystemFactory Class After Editing</h1>
-<p>
-<pre><samp>
-package samples.subsystems;
-
-<b>import RSESamples.*;</b>
-import com.ibm.etools.systems.dftsubsystem.impl.DefaultSubSystemFactoryImpl;
-<b>
-import com.ibm.etools.systems.subsystems.impl.*;
-import com.ibm.etools.systems.subsystems.*;
-import com.ibm.etools.systems.model.*;
-import com.ibm.etools.systems.filters.*;
-</b>
-
-import java.util.*;
-
-/**
- * This is our subsystem factory, which creates instances of our subsystems,
- * and supplies the subsystem and filter actions to their popup menus.
- */
-public class DeveloperSubSystemFactory extends DefaultSubSystemFactoryImpl
-{
-
- /**
- * Constructor for DeveloperSubSystemFactory.
- */
- public DeveloperSubSystemFactory()
- {
- super();
- }
-
- /**
- * Create an instance of our subsystem.
- */
- <b>protected SubSystem createSubSystemInternal(SystemConnection conn)
- {
- return new DeveloperSubSystem();
- }</b>
-
- /**
- * Intercept of parent method that creates an initial default filter pool.
- * We intercept so that we can create an initial filter in that pool, which will
- * list all teams.
- */
- <A name="createDefaultFilterPool"></A><b>protected SystemFilterPool createDefaultFilterPool(SystemFilterPoolManager mgr)
- {
- SystemFilterPool defaultPool = super.createDefaultFilterPool(mgr);
- Vector strings = new Vector();
- strings.add(&quot;*&quot;);
- try {
- mgr.createSystemFilter(defaultPool, &quot;All teams&quot;, strings);
- } catch (Exception exc) {}
- return defaultPool;
- }</b>
-
- /**
- * Intercept of parent method so we can supply our own value shown in the 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
- */
- <b>public String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
- {
- return RSESamplesPlugin.getResourceString("property.type.teamfilter");
- }</b>
-}
-
-</samp></pre>
-</p>
-</body>
-</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory2.html
deleted file mode 100755
index 8f099f20c..000000000
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSubSystemFactory2.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
-<title>DeveloperSubSystemFactory Class After Editing For Filter Support</title>
-</head>
-
-<body bgcolor="#ffffff">
-<h1>DeveloperSubSystemFactory Class After Editing For Filter Support</h1>
-<p>
-<pre><samp>
-package samples.subsystems;
-
-import RSESamples.*;
-import com.ibm.etools.systems.dftsubsystem.impl.DefaultSubSystemFactoryImpl;
-import com.ibm.etools.systems.subsystems.impl.*;
-import com.ibm.etools.systems.subsystems.*;
-import com.ibm.etools.systems.model.*;
-import com.ibm.etools.systems.filters.*;
-<b>import com.ibm.etools.systems.filters.ui.actions.*;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.widgets.Shell;</b>
-
-import java.util.*;
-
-/**
- * This is our subsystem factory, which creates instances of our subsystems,
- * and supplies the subsystem and filter actions to their popup menus.
- */
-public class DeveloperSubSystemFactory extends DefaultSubSystemFactoryImpl
-{
-
- /**
- * Constructor for DeveloperSubSystemFactory.
- */
- public DeveloperSubSystemFactory()
- {
- super();
- }
-
- /**
- * Create an instance of our subsystem.
- */
- protected SubSystem createSubSystemInternal(SystemConnection conn)
- {
- return new DeveloperSubSystem();
- }
-
- /**
- * Intercept of parent method that creates an initial default filter pool.
- * We intercept so that we can create an initial filter in that pool, which will
- * list all teams.
- */
- protected SystemFilterPool createDefaultFilterPool(SystemFilterPoolManager mgr)
- {
- SystemFilterPool defaultPool = super.createDefaultFilterPool(mgr);
- Vector strings = new Vector();
- strings.add(&quot;*&quot;);
- try {
- <b>SystemFilter filter = </b>mgr.createSystemFilter(defaultPool, &quot;All teams&quot;, strings);
- <b>filter.setType("team");</b>
- } catch (Exception exc) {}
- return defaultPool;
- }
-
- /**
- * Intercept of parent method so we can supply our own value shown in the property
- * sheet for the &quot;type&quot; property when a filter is selected within our subsystem.
- *
- * Requires this line in rseSamplesResources.properties: property.type.teamfilter=Team filter
- */
- public String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
- {
- <b>String type = selectedFilter.getType();
- if (type == null)
- type = &quot;team&quot;;
- if (type.equals(&quot;team&quot;))
- return RSESamplesPlugin.getResourceString(&quot;property.type.teamfilter&quot;);
- else
- return RSESamplesPlugin.getResourceString(&quot;property.type.devrfilter&quot;); </b>
- }
-
- /**
- * Override of parent method, to affect what is returned for the New Filter-&gt; actions.
- * We intercept here, versus getNewFilterPoolFilterAction, so that we can return multiple
- * actions versus just one.
- */
- <b>protected IAction[] getNewFilterPoolFilterActions(SystemFilterPool selectedPool, Shell shell)
- {
- SystemNewFilterAction teamAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(selectedPool, shell);
- teamAction.setWizardPageTitle(RSESamplesPlugin.getResourceString(&quot;filter.team.pagetitle&quot;));
- teamAction.setPage1Description(RSESamplesPlugin.getResourceString(&quot;filter.team.pagetext&quot;));
- teamAction.setType(&quot;team&quot;);
- teamAction.setText(RSESamplesPlugin.getResourceString(&quot;filter.team.pagetitle&quot;) + &quot;...&quot;);
-
- SystemNewFilterAction devrAction = (SystemNewFilterAction)super.getNewFilterPoolFilterAction(selectedPool, shell);
- devrAction.setWizardPageTitle(RSESamplesPlugin.getResourceString(&quot;filter.devr.pagetitle&quot;));
- devrAction.setPage1Description(RSESamplesPlugin.getResourceString(&quot;filter.devr.pagetext&quot;));
- devrAction.setType(&quot;devr&quot;);
- devrAction.setText(RSESamplesPlugin.getResourceString(&quot;filter.devr.pagetitle&quot;) + &quot;...&quot;);
- devrAction.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell));
-
- IAction[] actions = new IAction[2];
- actions[0] = teamAction;
- actions[1] = devrAction;
- return actions;
- }</b>
-
- /**
- * Override of parent method for returning the change-filter action, so we can affect it.
- */
- <b>protected IAction getChangeFilterAction(SystemFilter selectedFilter, Shell shell)
- {
- SystemChangeFilterAction action = (SystemChangeFilterAction)super.getChangeFilterAction(selectedFilter, shell);
- String type = selectedFilter.getType();
- if (type == null)
- type = &quot;team&quot;;
- if (type.equals(&quot;team&quot;))
- {
- action.setDialogTitle(RSESamplesPlugin.getResourceString(&quot;filter.team.dlgtitle&quot;));
- }
- else
- {
- action.setDialogTitle(RSESamplesPlugin.getResourceString(&quot;filter.devr.dlgtitle&quot;));
- action.setFilterStringEditPane(new DeveloperFilterStringEditPane(shell));
- }
- return action;
- }</b>
-
- /**
- * Override of parent method for returning the image for filters in our subsystem.
- */
- <b>public ImageDescriptor getSystemFilterImage(SystemFilter filter)
- {
- String type = filter.getType();
- if (type == null)
- type = &quot;team&quot;;
- if (type.equals(&quot;team&quot;))
- return RSESamplesPlugin.getDefault().getImageDescriptor(&quot;ICON_ID_TEAMFILTER&quot;);
- else
- return RSESamplesPlugin.getDefault().getImageDescriptor(&quot;ICON_ID_DEVELOPERFILTER&quot;);
- }</b>
-}
-
-
-</samp></pre>
-</p>
-</body>
-</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystem.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystem.html
deleted file mode 100755
index f1303279a..000000000
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystem.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
-<title>DeveloperSystem Class After Editing</title>
-</head>
-
-<body bgcolor="#ffffff">
-<h1>DeveloperSystem Class After Editing</h1>
-<p>
-<pre><samp>
-package samples.subsystems;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import com.ibm.etools.systems.subsystems.SubSystem;
-import com.ibm.etools.systems.subsystems.impl.AbstractSystem;
-
-/**
- * <i>Our system class that manages connecting to, and disconnecting from, our</i>
- * <i>remote server-side code.</i>
- */
-public class DeveloperSystem extends AbstractSystem
-{
- <b>private boolean connected = false;</b>
-
- /**
- * Constructor for DeveloperSystem.
- * @param subsystem
- */
- public DeveloperSystem(SubSystem subsystem)
- {
- super(subsystem);
- }
-
- /**
- * @see com.ibm.etools.systems.subsystems.ISystem#isConnected()
- */
- public boolean isConnected()
- {
- <b>return connected;</b>
- }
-
- /**
- * @see com.ibm.etools.systems.subsystems.ISystem#connect(IProgressMonitor)
- */
- public void connect(IProgressMonitor monitor) throws Exception
- {
- // <i>pretend. Normally, we'd connect to our remote server-side code here</i>
- <b>connected = true;</b>
- }
-
- /**
- * @see com.ibm.etools.systems.subsystems.ISystem#disconnect()
- */
- public void disconnect() throws Exception
- {
- // <i>pretend. Normally, we'd disconnect from our remote server-side code here</i>
- <b>connected = false;</b>
- }
-
-}
-
-</samp></pre>
-</p>
-</body>
-</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystemManager.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystemManager.html
deleted file mode 100755
index 8f92d275e..000000000
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperSystemManager.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
-<title>DeveloperSystemManager Class After Editing</title>
-</head>
-
-<body bgcolor="#ffffff">
-<h1>DeveloperSystemManager Class After Editing</h1>
-<p>
-<pre><samp>
-package samples.subsystems;
-
-import com.ibm.etools.systems.subsystems.ISystem;
-import com.ibm.etools.systems.subsystems.SubSystem;
-import com.ibm.etools.systems.subsystems.impl.AbstractSystemManager;
-
-/**
- * <i>This class manages our DeveloperSystem objects, so that if we ever have multiple</i>
- * <i>subsystem factories, different subsystems can share the same system object if they</i>
- * <i>share the communication layer.</i>
- */
-public class DeveloperSystemManager extends AbstractSystemManager
-{
- private static DeveloperSystemManager inst;
-
- /**
- * Constructor for DeveloperSystemManager.
- */
- protected DeveloperSystemManager()
- {
- super();
- }
-
- <b>/**
- * Return singleton instance
- */
- public static DeveloperSystemManager getTheDeveloperSystemManager()
- {
- if (inst == null)
- inst = new DeveloperSystemManager();
- return inst;
- }</b>
-
- /**
- * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#createSystemObject(SubSystem)
- */
- public ISystem createSystemObject(SubSystem subsystem)
- {
- <b>return new DeveloperSystem(subsystem);</b>
- }
-
- /**
- * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#sharesSystem(SubSystem)
- */
- public boolean sharesSystem(SubSystem otherSubSystem)
- {
- <b>return (otherSubSystem instanceof IDeveloperSubSystem);</b>
- }
-
- /**
- * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#getSubSystemCommonInterface(SubSystem)
- */
- public Class getSubSystemCommonInterface(SubSystem subsystem)
- {
- <b>return IDeveloperSubSystem.class;</b>
- }
-
-}
-
-
-b
-</samp></pre>
-</p>
-</body>
-</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage1.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage1.html
index 483b083b4..61fb592d5 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage1.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage1.html
@@ -18,14 +18,7 @@ package samples.ui.propertypages;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import com
- .ibm
- .etools
- .systems
- .core
- .ui
- .propertypages
- .SystemAbstractRemoteFilePropertyPageExtensionAction;
+import org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction;
public class <b>FolderInfoPropertyPage</b>
extends SystemAbstractRemoteFilePropertyPageExtensionAction
@@ -40,7 +33,7 @@ public class <b>FolderInfoPropertyPage</b>
}
/**
- * @see com.ibm.etools.systems.core.ui.propertypages.SystemBasePropertyPage#createContentArea(Composite)
+ * @see org.eclipse.rse.ui.propertypages.SystemBasePropertyPage#createContentArea(Composite)
*/
protected Control <b>createContentArea</b>(Composite parent)
{
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage2.html
index 4d1fa2377..40b45e2e8 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage2.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/FolderInfoPropertyPage2.html
@@ -19,7 +19,7 @@ import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
import RSESamples.*;
-import com.ibm.etools.systems.core.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction;
+import org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction;
import com.ibm.etools.systems.subsystems.*;
import com.ibm.etools.systems.core.ui.*;
@@ -57,7 +57,7 @@ public class <b>FolderInfoPropertyPage</b>
// --------------------------
/**
- * @see com.ibm.etools.systems.core.ui.propertypages.SystemBasePropertyPage#createContentArea(Composite)
+ * @see org.eclipse.rse.ui.propertypages.SystemBasePropertyPage#createContentArea(Composite)
*/
protected Control <b>createContentArea</b>(Composite parent)
{
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry.html
index e6a59f0f4..d8b5b27bd 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry.html
@@ -9,9 +9,8 @@
<title>InitializeImageRegistry Method</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>InitializeImageRegistry Method</h1>
-<p>
<pre><samp>
/**
* <i>Initialize the image registry by declaring all of the required graphics.</i>
@@ -19,11 +18,10 @@
protected void initializeImageRegistry()
{
String path = getIconPath();
- <b>putImageInRegistry(&quot;ICON_ID_TEAM&quot;, path+&quot;team.gif&quot;);</b>
- <b>putImageInRegistry(&quot;ICON_ID_DEVELOPER&quot;, path+&quot;developer.gif&quot;);</b>
+ <b>putImageInRegistry("ICON_ID_TEAM", path+"team.gif");</b>
+ <b>putImageInRegistry("ICON_ID_DEVELOPER", path+"developer.gif");</b>
// TO RETRIEVE AN ICON, CALL GETIMAGE OR GETIMAGEDESCRIPTOR WITH ITS XXX_ID ID
}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry2.html
index 324323afb..09130347c 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry2.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/InitializeImageRegistry2.html
@@ -9,9 +9,8 @@
<title>InitializeImageRegistry Method</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>InitializeImageRegistry Method</h1>
-<p>
<pre><samp>
/**
* <i>Initialize the image registry by declaring all of the required graphics.</i>
@@ -19,13 +18,12 @@
protected void initializeImageRegistry()
{
String path = getIconPath();
- putImageInRegistry(&quot;ICON_ID_TEAM&quot;, path+&quot;team.gif&quot;);
- putImageInRegistry(&quot;ICON_ID_DEVELOPER&quot;, path+&quot;developer.gif&quot;);
- <b>putImageInRegistry("ICON_ID_TEAMFILTER", path+"teamFilter.gif");</b>
+ putImageInRegistry("ICON_ID_TEAM", path+"team.gif");
+ putImageInRegistry("ICON_ID_DEVELOPER", path+"developer.gif");
+ <b>putImageInRegistry("ICON_ID_TEAMFILTER", path+"teamFilter.gif");</b>
<b>putImageInRegistry("ICON_ID_DEVELOPERFILTER", path+"developerFilter.gif");</b>
// TO RETRIEVE AN ICON, CALL GETIMAGE OR GETIMAGEDESCRIPTOR WITH ITS XXX_ID ID
}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin.html
index 303f891f6..ef43681ed 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin.html
@@ -9,124 +9,132 @@
<title>RSESamplesPlugin Class</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>RSESamplesPlugin Class</h1>
-<p>
<pre><samp>
-package RSESamples;
+package samples;
-import org.eclipse.ui.plugin.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.resources.*;
-import java.util.*;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
-import com.ibm.etools.systems.core.*;
-import com.ibm.etools.systems.core.ui.messages.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.preference.*;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.rse.core.SystemBasePlugin;
+import org.eclipse.rse.services.clientserver.messages.SystemMessage;
+import org.eclipse.rse.services.clientserver.messages.SystemMessageFile;
+import org.osgi.framework.BundleContext;
/**
- * The main plugin class to be used in the desktop.
+ * The activator class controls the plug-in life cycle
*/
-public class <b>RSESamplesPlugin</b> extends SystemBasePlugin {
- <i>//The shared instance.</i>
+public class RSESamplesPlugin extends SystemBasePlugin {
+
+ //The shared instance.
private static RSESamplesPlugin plugin;
- <i>//Resource bundle.</i>
- private ResourceBundle resourceBundle;
- private static SystemMessageFile messageFile = null;
+
+ //Resource bundle.
+ private ResourceBundle resourceBundle = null;
+ private static SystemMessageFile messageFile = null;
/**
* The constructor.
*/
- public <b>RSESamplesPlugin</b>(IPluginDescriptor descriptor) {
- super(descriptor, &quot;RSESamples&quot;);
- plugin = this;
- <i>//try {</i>
- <i>// resourceBundle= ResourceBundle.getBundle(&quot;RSESamples.RSESamplesPluginResources&quot;);</i>
- <i>//} catch (MissingResourceException x) {</i>
- <i>// resourceBundle = null;</i>
- <i>//}</i>
- resourceBundle = loadResourceBundle(descriptor,&quot;rseSamplesResources&quot;);
- messageFile = loadMessageFile(descriptor,&quot;rseSamplesMessages.xml&quot;);
+ public RSESamplesPlugin() {
+ super();
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ <strong>plugin = this;
+ messageFile = getMessageFile("rseSamplesMessages.xml");</strong>
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ public void stop(BundleContext context) throws Exception {
+ <strong>plugin = null;
+ resourceBundle = null;</strong>
+ super.stop(context);
}
/**
* Returns the shared instance.
*/
- public static RSESamplesPlugin <b>getDefault</b>() {
+ <strong>public static RSESamplesPlugin getDefault() {
return plugin;
- }
+ }</strong>
/**
* Returns the workspace instance.
*/
- public static IWorkspace <b>getWorkspace</b>() {
+ <strong>public static IWorkspace getWorkspace() {
return ResourcesPlugin.getWorkspace();
- }
+ }</strong>
/**
* Returns the string from the plugin's resource bundle,
* or 'key' if not found.
*/
- public static String <b>getResourceString</b>(String key) {
+ <strong>public static String getResourceString(String key) {
ResourceBundle bundle= RSESamplesPlugin.getDefault().getResourceBundle();
- return getString(bundle, key); <i>// inherited method.</i>
- <i>//try {</i>
- <i>// return bundle.getString(key);</i>
- <i>//} catch (MissingResourceException e) {</i>
- <i>// return key;</i>
- <i>//}</i>
- }
+ try {
+ return (bundle != null) ? bundle.getString(key) : key;
+ } catch (MissingResourceException e) {
+ return key;
+ }
+ }</strong>
/**
* Returns the plugin's resource bundle,
*/
- public ResourceBundle <b>getResourceBundle</b>() {
+ <strong>public ResourceBundle getResourceBundle() {
+ try {
+ if (resourceBundle == null)
+ resourceBundle = ResourceBundle.getBundle("samples.rseSamplesResources");
+ } catch (MissingResourceException x) {
+ resourceBundle = null;
+ }
return resourceBundle;
- }
+ }</strong>
/**
- * @see AbstractUIPlugin#initializeDefaultPreferences
- */
- protected void <b>initializeDefaultPreferences</b>(IPreferenceStore store)
- {
- super.initializeDefaultPreferences(store);
- <i>//RSESamplesPreferencePage.initDefaults(store);</i>
- }
- /**
* Initialize the image registry by declaring all of the required graphics.
*/
- protected void <b>initializeImageRegistry</b>()
+ protected void initializeImageRegistry()
{
- String path = getIconPath();
- <i>//putImageInRegistry(ISamplesConstants.ICON_XXX_ID,</i>
- <i>// path+ISampleConstants.ICON_XXX);</i>
- <i>// TO RETRIEVE AN ICON, CALL GETIMAGE OR GETIMAGEDESCRIPTOR WITH ITS XXX_ID ID</i>
}
+
/**
- * Starts up this plug-in and returns whether startup was successful.
+ * Load a message file for this plugin.
+ * @param messageFileName - the name of the message xml file. Will look for it in this plugin's install folder.
+ * @return a message file object containing the parsed contents of the message file, or null if not found.
*/
- public void <b>startup</b>() throws CoreException
+ <strong>public SystemMessageFile getMessageFile(String messageFileName)
{
- super.startup();
- }
+ return loadMessageFile(getBundle(), messageFileName);
+ }</strong>
+
/**
* Return our message file
*/
- public static SystemMessageFile <b>getPluginMessageFile</b>()
+ <strong>public static SystemMessageFile getPluginMessageFile()
{
return messageFile;
- }
+ }</strong>
+
/**
* Retrieve a message from this plugin's message file
*/
- public static SystemMessage <b>getPluginMessage</b>(String msgId)
+ <strong>public static SystemMessage getPluginMessage(String msgId)
{
return getMessage(messageFile, msgId);
- }
+ }</strong>
}
-
-
</samp></pre>
</p>
</body>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin2.html
new file mode 100755
index 000000000..1cd33dc49
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/RSESamplesPlugin2.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+
+<head>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
+<title>RSESamplesPlugin Class</title>
+</head>
+
+<body>
+<h1>RSESamplesPlugin Class</h1>
+<pre><samp>
+package samples;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdapterManager;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.rse.core.SystemBasePlugin;
+import org.eclipse.rse.services.clientserver.messages.SystemMessage;
+import org.eclipse.rse.services.clientserver.messages.SystemMessageFile;
+import org.osgi.framework.BundleContext;
+
+import samples.subsystems.DeveloperSubSystemConfigurationAdapterFactory;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class RSESamplesPlugin extends SystemBasePlugin {
+
+ //The shared instance.
+ private static RSESamplesPlugin plugin;
+
+ //Resource bundle.
+ private ResourceBundle resourceBundle;
+ private static SystemMessageFile messageFile = null;
+
+ /**
+ * The constructor.
+ */
+ public RSESamplesPlugin() {
+ super();
+ plugin = this;
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ messageFile = getMessageFile("rseSamplesMessages.xml"); //$NON-NLS-1$
+
+ IAdapterManager manager = Platform.getAdapterManager();
+ samples.model.DeveloperAdapterFactory factory = new samples.model.DeveloperAdapterFactory();
+ manager.registerAdapters(factory, samples.model.TeamResource.class);
+ manager.registerAdapters(factory, samples.model.DeveloperResource.class);
+
+ DeveloperSubSystemConfigurationAdapterFactory sscaf = new DeveloperSubSystemConfigurationAdapterFactory();
+ sscaf.registerWithManager(manager);
+
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ plugin = null;
+ resourceBundle = null;
+ }
+
+ /**
+ * Returns the shared instance.
+ */
+ public static RSESamplesPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the workspace instance.
+ */
+ public static IWorkspace getWorkspace() {
+ return ResourcesPlugin.getWorkspace();
+ }
+
+ /**
+ * Returns the string from the plugin's resource bundle,
+ * or 'key' if not found.
+ */
+ public static String getResourceString(String key) {
+ ResourceBundle bundle= RSESamplesPlugin.getDefault().getResourceBundle();
+ try {
+ return (bundle != null) ? bundle.getString(key) : key;
+ } catch (MissingResourceException e) {
+ return key;
+ }
+ }
+
+ /**
+ * Returns the plugin's resource bundle,
+ */
+ public ResourceBundle getResourceBundle() {
+ try {
+ if (resourceBundle == null)
+ resourceBundle = ResourceBundle.getBundle("samples.rseSamplesResources");
+ } 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.
+ */
+ protected void initializeImageRegistry()
+ {
+ String path = getIconPath();
+ putImageInRegistry("ICON_ID_TEAM", path+"/team.gif");
+ putImageInRegistry("ICON_ID_DEVELOPER", path+"/developer.gif");
+ putImageInRegistry("ICON_ID_TEAMFILTER", path+"/teamFilter.gif");
+ putImageInRegistry("ICON_ID_DEVELOPERFILTER", path+"/developerFilter.gif");
+ // TO RETRIEVE AN ICON, CALL GETIMAGE OR GETIMAGEDESCRIPTOR WITH ITS XXX_ID ID
+ }
+
+ /**
+ * Load a message file for this plugin.
+ * @param messageFileName - the name of the message xml file. Will look for it in this plugin's install folder.
+ * @return a message file object containing the parsed contents of the message file, or null if not found.
+ */
+ public SystemMessageFile getMessageFile(String messageFileName)
+ {
+ return loadMessageFile(getBundle(), messageFileName);
+ }
+
+ /**
+ * Return our message file
+ */
+ public static SystemMessageFile getPluginMessageFile()
+ {
+ return messageFile;
+ }
+
+ /**
+ * Retrieve a message from this plugin's message file
+ */
+ public static SystemMessage getPluginMessage(String msgId)
+ {
+ return getMessage(messageFile, msgId);
+ }
+}
+</samp></pre>
+</p>
+</body>
+</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents1.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents1.html
index b486ec2b8..90e137bc2 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents1.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents1.html
@@ -14,14 +14,7 @@
<pre><samp>
package samples.ui.actions;
-import com
- .ibm
- .etools
- .systems
- .core
- .ui
- .actions
- .SystemAbstractRemoteFilePopupMenuExtensionAction;
+import org.eclipse.rse.files.ui.actions.SystemAbstractRemoteFilePopupMenuExtensionAction;
public class <b>ShowJarContents</b>
extends SystemAbstractRemoteFilePopupMenuExtensionAction
@@ -36,7 +29,7 @@ public class <b>ShowJarContents</b>
}
/**
- * @see com.ibm.etools.systems.core.ui.actions.SystemAbstractPopupMenuExtensionAction#run()
+ * @see org.eclipse.rse.ui.actions.SystemAbstractPopupMenuExtensionAction#run()
*/
public void <b>run</b>()
{
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents2.html
index 1549dec5c..7464bd93e 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents2.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/ShowJarContents2.html
@@ -15,7 +15,7 @@
<pre><samp>
package samples.ui.actions;
-import com.ibm.etools.systems.core.ui.actions.SystemAbstractRemoteFilePopupMenuExtensionAction;
+import org.eclipse.rse.files.ui.actions.SystemAbstractRemoteFilePopupMenuExtensionAction;
<b>import com.ibm.etools.systems.subsystems.*;</b>
/**
@@ -35,7 +35,7 @@ public class ShowJarContents
}
/**
- * @see com.ibm.etools.systems.core.ui.actions.SystemAbstractPopupMenuExtensionAction#run()
+ * @see org.eclipse.rse.ui.actions.SystemAbstractPopupMenuExtensionAction#run()
*/
public void run()
{
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResource.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResource.html
index da3798fa8..9fbe890f1 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResource.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResource.html
@@ -9,22 +9,21 @@
<title>TeamResource Class After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>TeamResource Class After Editing</h1>
-<p>
<pre><samp>
package samples.model;
-import com.ibm.etools.systems.subsystems.<b>SubSystem</b>;
-import com.ibm.etools.systems.subsystems.impl.AbstractResource;
+import org.eclipse.rse.core.subsystems.AbstractResource;
+import org.eclipse.rse.core.subsystems.ISubSystem;
/**
* This models a remote resource representing a team defined on a particular system.
*/
-public class TeamResource extends AbstractResource
-{
- <b>private String name;</b>
- <b>private DeveloperResource[] developers;</b>
+public class TeamResource extends AbstractResource {
+
+ private String name;
+ private DeveloperResource[] developers;
/**
* Default constructor
@@ -36,51 +35,49 @@ public class TeamResource extends AbstractResource
/**
* Constructor for TeamResource when given a parent subsystem.
*/
- public TeamResource(SubSystem subsystem)
+ public TeamResource(ISubSystem parentSubSystem)
{
- super(subsystem);
+ super(parentSubSystem);
}
/**
* Returns the name.
* @return String
*/
- <b>public String getName()
+ public String getName()
{
return name;
- }</b>
+ }
/**
* Sets the name.
* @param name The name to set
*/
- <b>public void setName(String name)
+ public void setName(String name)
{
this.name = name;
- }</b>
+ }
/**
* Returns the developers.
* @return DeveloperResource[]
*/
- <b>public DeveloperResource[] getDevelopers()
+ public DeveloperResource[] getDevelopers()
{
return developers;
- }</b>
+ }
/**
* Sets the developers.
* @param developers The developers to set
*/
- <b>public void setDevelopers(DeveloperResource[] developers)
+ public void setDevelopers(DeveloperResource[] developers)
{
this.developers = developers;
- }</b>
-
-}
+ }
+}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResourceAdapter.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResourceAdapter.html
index 1d4adef25..c576c6c5c 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResourceAdapter.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/TeamResourceAdapter.html
@@ -9,207 +9,220 @@
<title>TeamResourceAdapter Class After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>TeamResourceAdapter Class After Editing</h1>
-<p>
<pre><samp>
package samples.model;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.rse.ui.SystemMenuManager;
+import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
+import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import com.ibm.etools.systems.core.ui.SystemMenuManager;
-import com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter;
-import com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter;
-
-<b>import samples.subsystems.*;
-import java.util.*;</b>
+<strong>import samples.RSESamplesPlugin;</strong>
+<strong>import samples.subsystems.DeveloperSubSystem;</strong>
/**
- * <i>This is the adapter which enables us to work with our remote team resources.</i>
+ * This is the adapter which enables us to work with our remote team resources.
*/
-public class TeamResourceAdapter
- extends AbstractSystemViewAdapter
- implements ISystemRemoteElementAdapter
-{
+public class TeamResourceAdapter extends AbstractSystemViewAdapter implements
+ ISystemRemoteElementAdapter {
/**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#addActions(SystemMenuManager, IStructuredSelection, Shell, String)
+ * Constructor.
+ */
+ public TeamResourceAdapter() {
+ super();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#addActions(org.eclipse.rse.ui.SystemMenuManager,
+ * org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String)
*/
- public void addActions(SystemMenuManager menu, IStructuredSelection selection, Shell parent, String menuGroup)
+ public void addActions(SystemMenuManager menu,
+ IStructuredSelection selection, Shell parent, String menuGroup)
{
}
-
- /**
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
+
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getImageDescriptor(java.lang.Object)
*/
- public ImageDescriptor getImageDescriptor(Object object)
+ public ImageDescriptor getImageDescriptor(Object element)
{
- <b>return RSESamples.RSESamplesPlugin.getDefault().getImageDescriptor(&quot;ICON_ID_TEAM&quot;);</b>
+ <strong>return RSESamplesPlugin.getDefault().getImageDescriptor("ICON_ID_TEAM");</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getText(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getText(java.lang.Object)
*/
public String getText(Object element)
{
- <b>return ((TeamResource)element).getName();</b>
+ <strong>return ((TeamResource)element).getName();</strong>
}
- /**
- * @see com.ibm.etools.systems.subsystems.IRemoteObjectIdentifier#getAbsoluteName(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getAbsoluteName(java.lang.Object)
*/
- <a name="getAbsoluteName"></a>public String getAbsoluteName(Object object)
+ <a id="getAbsoluteName"/>public String getAbsoluteName(Object object)
{
- <b>TeamResource team = (TeamResource)object;
- return "Team_"+team.getName();</b>
+ <strong>TeamResource team = (TeamResource)object;
+ return "Team_"+team.getName();</strong>
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getType(java.lang.Object)
*/
public String getType(Object element)
{
- <b>return &quot;Team resource&quot;;</b>
+ <strong>return RSESamplesPlugin.getResourceString("property.team_resource.type");</strong>
}
- /**
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getParent(java.lang.Object)
*/
- public Object getParent(Object o)
+ public Object getParent(Object element)
{
return null; // not really used, which is good because it is ambiguous
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#hasChildren(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object element)
{
- <b>return true;</b>
+ <strong>return true;</strong>
}
- /**
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getChildren(java.lang.Object)
*/
- public Object[] getChildren(Object o)
+ public Object[] getChildren(Object element)
{
- <b>return ((TeamResource)o).getDevelopers();</b>
+ <strong>return ((TeamResource)element).getDevelopers();</strong>
}
/**
- * @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
*/
protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{
return null;
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue()
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object)
*/
- public Object internalGetPropertyValue(Object key)
+ protected Object internalGetPropertyValue(Object key)
{
return null;
- }
- <b>/**
+ }
+
+ /**
* Intercept of parent method to indicate these objects can be renamed using the RSE-supplied
* rename action.
*/
- <A name="canRename"></A>public boolean canRename(Object element)
+ <a id="canRename"/>public boolean canRename(Object element)
{
- return true;
+ <strong>return true;</strong>
}
/**
* 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.
*/
- <A name="doRename"></A>public boolean doRename(Shell shell, Object element, String newName)
+ <a id="doRename"/>public boolean doRename(Shell shell, Object element, String newName)
{
- ((TeamResource)element).setName(newName);
- return true;
- }</b>
+ <strong>((TeamResource)element).setName(newName);
+ return true;</strong>
+ }
// --------------------------------------
// ISystemRemoteElementAdapter methods...
// --------------------------------------
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(java.lang.Object)
*/
public String getAbsoluteParentName(Object element)
{
- <b>return &quot;root&quot;;</b> // not really applicable as we have no unique hierarchy
+ <strong>return "root";</strong> // not really applicable as we have no unique hierarchy
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getSubSystemFactoryId(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getSubSystemConfigurationId(java.lang.Object)
*/
- public String getSubSystemFactoryId(Object element)
+ public String getSubSystemConfigurationId(Object element)
{
- <b>return &quot;samples.subsystems.factory&quot;;</b> // as declared in extension in plugin.xml
+ <strong>return "samples.subsystems.factory";</strong> // as declared in extension in plugin.xml
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(java.lang.Object)
*/
public String getRemoteTypeCategory(Object element)
{
- <b>return &quot;developers&quot;;</b> // Course grained. Same for all our remote resources.
+ <strong>return "developers";</strong> // Course grained. Same for all our remote resources.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteType(java.lang.Object)
*/
public String getRemoteType(Object element)
{
- <b>return &quot;team&quot;;</b> // Fine grained. Unique to this resource type.
+ <strong>return "team";</strong> // Fine grained. Unique to this resource type.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(java.lang.Object)
*/
public String getRemoteSubType(Object element)
{
return null; // Very fine grained. We don't use it.
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(Object, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(java.lang.Object, java.lang.Object)
*/
- <a name="refreshRemoteObject"></a>public boolean refreshRemoteObject(Object oldElement, Object newElement)
+ <a id="refreshRemoteObject"/>public boolean refreshRemoteObject(Object oldElement, Object newElement)
{
- <b>TeamResource oldTeam = (TeamResource)oldElement;
+ <strong>TeamResource oldTeam = (TeamResource)oldElement;
TeamResource newTeam = (TeamResource)newElement;
newTeam.setName(oldTeam.getName());
- return false;</b> // <i>If developer objects held references to their team names, we'd have to return true</i>
+ return false;</strong> // If developer objects held references to their team names, we'd have to return true
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParent(Shell, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParent(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public Object getRemoteParent(Shell shell, Object element) throws Exception
{
return null; // maybe this would be a Project or Roster object, or leave as null if this is the root
}
- /**
- * @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(Shell, Object)
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
-<A name="getNames"></A> public String[] getRemoteParentNamesInUse(Shell shell, Object element)
- throws Exception
+ <a id="getNames"/>public String[] getRemoteParentNamesInUse(Shell shell, Object element)
+ throws Exception
{
- <b>DeveloperSubSystem ourSS = (DeveloperSubSystem)getSubSystem(element);
+ <strong>DeveloperSubSystem ourSS = (DeveloperSubSystem)getSubSystem(element);
TeamResource[] allTeams = ourSS.getAllTeams();
String[] allNames = new String[allTeams.length];
- for (int idx=0; idx&lt;allTeams.length; idx++)
+ for (int idx = 0; idx &lt; allTeams.length; idx++)
allNames[idx] = allTeams[idx].getName();
- return allNames;</b> // Return list of all team names
+ return allNames;</strong> // Return list of all team names
}
-}
+ /* (non-Javadoc)
+ * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#supportsUserDefinedActions(java.lang.Object)
+ */
+ public boolean supportsUserDefinedActions(Object object) {
+ <strong>return false;</strong>
+ }
+
+}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/empty.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/empty.html
deleted file mode 100755
index cc790e935..000000000
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/empty.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
-<title>TeamResourceAdapter Class After Editing</title>
-</head>
-
-<body bgcolor="#ffffff">
-<h1>TeamResourceAdapter Class After Editing</h1>
-<p>
-<pre><samp>
-a<br>
-
-b
-</samp></pre>
-</p>
-</body>
-</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/index.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/index.html
new file mode 100755
index 000000000..c6cd77505
--- /dev/null
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <meta name="generator" content="Adobe GoLive"> <title>RSE Tutorials</title> </head> <body> <p>Note: This page exists only to provide a root page for debugging the tutorial and should not be accessible from any page or the table of contents.</p> <p><a href="pdeProject.html">Getting Started</a></p> <p><a href="propertypage.html">Property Page Tutorial</a></p> <p><a href="subsystem.html">Subsystem Tutorial</a></p> <p><a href="popup.html">Popup Menu Tutorial</a></p> </body> </html> \ No newline at end of file
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/pdeProject.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/pdeProject.html
index 9adc8be89..fd07da1a7 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/pdeProject.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/pdeProject.html
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
-<head>
+ <head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
@@ -9,83 +9,39 @@
<title>Creating a Plug-in Project</title>
</head>
-<body bgcolor="#ffffff">
-<h1>Creating a Plug-in Project</h1>
-<p>To use any Eclipse extension point, including those defined by the Remote System Explorer,
-you must first create a plug-in project using the plug-in development environment (PDE), which you will do shortly.
-At its simplest, a plug-in project requires a <samp>plugin.xml</samp> file identifying the extension points being
-implemented, and a set of Java classes implementing those extension points. There is usually also a
-plug-in class file that is used as the overall manager of the project, and point of integration that other
-classes can rely on.
-</p>
-<P><I>If you already have a plugin project, you can safely skip these
-steps! However, you must update project's classpath as described
-<A href="pdeProject_changeClasspath.html">here</A>. You must also
-add a <samp>requires</samp> statement to your <samp>plugin.xml</samp> file for the
-<samp>com.ibm.etools.systems.core</samp> and <samp>com.ibm.etools.systems.logging</samp>
-projects.
-</p></I>
-
-<p>Eclipse supplies a number of plug-in project templates, which generate a number of project files that
-illustrate examples of various Eclipse extension points. While you are free to pick one of these, or indeed
-start with any existing plug-in project if you have one, in the RSE tutorials everything is created by
-hand so as to keep focused on the RSE-required classes and files.</p>
-<p>The following tutorial uses numbered steps to indicate where you are required
-to do something as you follow along.</p>
-<h2>Step By Step: Creating an RSE Plug-in Project</h2>
-<ol>
-<li>Select <b>File->New->Project.</b> </LI>
- <LI>On the left of the dialog box, select <B>Plug-in Development</B>
- category, and on the right, select the <B><A href="pdeProj_1.gif">Plug-in
- Project</A></B> wizard. Press <B>Next ></B>.</LI>
- <li>In the <A href="pdeProj_wiz_page1.gif">first page</A> of the wizard (Plug-in Project Name), enter <B>&quot;RSESamples&quot;</B> for the
-project name (without the quotes). Press <b>Next ></b>.
-<li>In the second page of the wizard (Plug-in Project Structure), just take the defaults, and press <b>Next ></b>.
-<li>In the <A href="pdeProj_wiz_page3.gif">third page</A> of the wizard
-(Plug-in Code Generators), select <B>&quot;Default Plug-in Structure&quot;</B>, and press <B>Next &gt;</B>.</LI>
-<LI>In the <A href="pdeProj_wiz_page4.gif">fourth page</A> of the wizard (Simple Plug-in Content), enter your company for the <B>Provider Name</B>,
-and press <B>Finish</B>. </LI>
-<li>Your new plugin project is created and visible in the Package Explorer of the Plug-in Development perspective.
-Your new <samp>plugin.xml</samp> file is also open in the <A href="pdeProj_wiz_after.gif">plug-in editor</A>.
-<I>Close this editor</I>, as you will not be using it in this tutorial.
-</LI>
-<LI>Follow <A href="pdeProject_changeClasspath.html">these steps</A> to
-setup your project's classpath so the code to be written will compile cleanly.
-</LI>
-<LI>It is not enough to only change the project classpath. This works for the Plug-in Development Environment, but not for run time.
-Select the <samp>plugin.xml</samp> file, right click and select <b>Open With-&gt;Text Editor</b>.
-Edit the <b>requires</b> statement to add the last lines highlighted here:
-<pre><code>
- &lt;requires&gt;
- &lt;import plugin=&quot;org.eclipse.core.resources&quot;/&gt;
- &lt;import plugin=&quot;org.eclipse.ui&quot;/&gt;
- <b>&lt;import plugin=&quot;com.ibm.etools.systems.core&quot;/&gt;
- &lt;import plugin=&quot;com.ibm.etools.systems.logging&quot;/&gt;</b>
- &lt;/requires&gt;
-
-</code></pre>
-</LI>
-<LI>Expand the <B>src</B> folder, then the <B>RSESamples</B> package
-folder, and double-click on <SAMP><B>RSESamplesPlugin.java</B></SAMP>
-to edit this class.</LI>
-<LI>Follow <A href="pdeProject_changePluginClass.html">these steps</A> to edit the generated plugin-class, or simply
-copy and paste the <A href="RSESamplesPlugin.html">final result</A>.
-</li>
-<LI>Create the project's resources file for translatable strings: right-click on the <b>RSESamples</b> project and select <b>New-&gt;File</b> to open
-the <b>New File</b> wizard. Enter <samp><b>rseSamplesResources.properties</b></samp> for
-the file name, as was specified in the call to <samp>loadResourceBundle</samp> in the plug-in class's constructor.
-Press <b>Finish</b> to create the file. You will populate as you go through the tutorials,
-so for now just <i>close</i> the editor opened for the file.
-</LI>
-<LI>Create the project's RSE-style messages file for translatable messages: right-click on the <b>RSESamples</b> project and select <b>New-&gt;File</b> to get
-the <b>New File</b> wizard. Enter <samp><b>rseSamplesMessages.xml</b></samp> for
-the file name, as was specified in the call to <samp>loadMessageFile</samp> in the plug-in class's constructor.
-Press <b>Finish</b> to create the file. You will see the XML editor open for the
-new file. Press the <b>Source</b> tab at the bottom of the editor, and enter the
-following lines (so that you can add messages to the file later on):
-<pre><CODE>
+ <body bgcolor="#ffffff">
+ <h1>Creating a Plug-in Project</h1>
+ <p>To use any Eclipse extension point, including those defined by the Remote System Explorer, you must first create a plug-in project using the plug-in development environment (PDE), which you will do shortly. At its simplest, a plug-in project requires a <tt>MANIFEST.MF</tt> file describing the plugin and its dependencies and, if extending the workbench a <samp>plugin.xml</samp> file identifying the extension points being implemented, and a set of Java classes implementing those extension points. There is usually also a plug-in class file that is used as the overall manager of the project, and point of integration that other classes can rely on.</p>
+ <p><i>If you already have a plugin project, you will need to update it slightly to make it extend SystemBasePlugin and add the few methods it requires. You may wish to examine these steps to see what methods to add. The Eclipse environment will keep your classpaths and plugin dependecies in sync for you.</i></p>
+ <p>Eclipse supplies a number of plug-in project templates, which generate a number of project files that illustrate examples of various Eclipse extension points. While you are free to pick one of these, or indeed start with any existing plug-in project if you have one, in the RSE tutorials everything is created by hand so as to keep focused on the RSE-required classes and files.</p>
+ <p>The following tutorial uses numbered steps to indicate where you are required to do something as you follow along.</p>
+ <h2>Step By Step: Creating an RSE Plug-in Project</h2>
+ <ol>
+ <li>Select <b>File-&gt;New-&gt;Project.</b>
+ <li>On the left of the dialog box, select <b>Plug-in Development</b> category, and on the right, select the <b><a href="pdeProj_1.gif">Plug-in Project</a></b> wizard. Press <b>Next &gt;</b>.
+ <li>In the <a href="pdeProj_wiz_page1.gif">first page</a> of the wizard (Plug-in Project Name), enter <b>&quot;RSESamples&quot;</b> for the project name (without the quotes). Press <b>Next &gt;</b>.
+ <li>In the second page of the wizard (Plug-in Project Structure), just take the defaults, and press <b>Next &gt;</b>.
+ <li>In the <a href="pdeProj_wiz_page3.gif">third page</a> of the wizard (Plug-in Code Generators), select <b>&quot;Default Plug-in Structure&quot;</b>, and press <b>Next &gt;</b>.
+ <li>In the <a href="pdeProj_wiz_page4.gif">fourth page</a> of the wizard (Simple Plug-in Content), enter your company for the <b>Provider Name</b>, and press <b>Finish</b>.
+ <li>Your new plugin project is created and visible in the Package Explorer of the Plug-in Development perspective. Your new <samp>plugin.xml</samp> file is also open in the <a href="pdeProj_wiz_after.gif">plug-in editor</a>. <i>Close this editor</i>, as you will not be using it in this tutorial.
+
+ <li>Select the <samp>plugin.xml</samp> file, right click and select <b>Open</b>. Go to the dependencies tab and add the following plugins to the list:
+ <ul>
+ <li>org.eclipse.rse.ui
+ <li>org.eclipse.rse.services
+ <li>org.eclipse.rse.files.ui
+ <li>org.eclipse.rse.shells.ui
+ <li>org.rse.eclipse.subsystems.files.core
+ <li>org.rse.subsystems.shells.core
+ </ul>
+ <li>Expand the <b>src</b> folder, then the <b>RSESamples</b> package folder, and double-click on <samp><b>RSESamplesPlugin.java</b></samp> to edit this class to make it look like <a href="RSESamplesPlugin.html">this</a>.
+
+ <li>Create the project's resources file for translatable strings: right-click on the <b>RSESamples</b> project and select <b>New-&gt;File</b> to open the <b>New File</b> wizard. Enter <samp><b>rseSamplesResources.properties</b></samp> for the file name, as was specified in the call to <samp>loadResourceBundle</samp> in the plug-in class's constructor. Press <b>Finish</b> to create the file. You will populate as you go through the tutorials, so for now just <i>close</i> the editor opened for the file.
+
+ <li>Create the project's RSE-style messages file for translatable messages: right-click on the <b>RSESamples</b> project and select <b>New-&gt;File</b> to get the <b>New File</b> wizard. Enter <samp><b>rseSamplesMessages.xml</b></samp> for the file name, as was specified in the call to <samp>loadMessageFile</samp> in the plug-in class's constructor. Press <b>Finish</b> to create the file. You will see the XML editor open for the new file. Press the <b>Source</b> tab at the bottom of the editor, and enter the following lines (so that you can add messages to the file later on):
+ <pre><code>
&lt;?xml version=&quot;1.0&quot; encoding='UTF-8'?&gt;
-&lt;!DOCTYPE MessageFile SYSTEM &quot;../com.ibm.etools.systems.core/messageFile.dtd&quot;&gt;
+&lt;!DOCTYPE MessageFile SYSTEM &quot;../org.eclipse.rse.ui/messageFile.dtd&quot;&gt;
&lt;!-- This is a message file used by SystemMessage and SystemMessageDialog --&gt;
&lt;<b>MessageFile</b> Version=&quot;1.0&quot;&gt;
&lt;<b>Component</b> Name=&quot;RSE Samples&quot; Abbr=&quot;RSS&quot;&gt;
@@ -100,11 +56,9 @@ following lines (so that you can add messages to the file later on):
&lt;/<b>Component</b>&gt;
&lt;/<b>MessageFile</b>&gt;
</code></pre>
-Save and close the file.
-</li>
-<li>That's it! Your plugin is created and you are ready to go. Now you only need to add
-code, to implement the extension points.
-</li>
-</ol>
-</body>
+ Save and close the file.
+ <li>That's it! Your plugin is created and you are ready to go. Now you only need to add code, to implement the extension points.
+ </ol>
+ </body>
+
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/popup.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/popup.html
index 3e89e39fe..68e1b8275 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/popup.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/popup.html
@@ -39,7 +39,7 @@ This will affect code generated by wizards. The source code shown assumes this o
&lt;!-- ======================================= --&gt;
&lt;!-- Remote Object Popup Menu Actions --&gt;
&lt;!-- ======================================= --&gt;
- &lt;extension point=&quot;com.ibm.etools.systems.core.popupMenus&quot;&gt;
+ &lt;extension point=&quot;org.eclipse.rse.ui.popupMenus&quot;&gt;
&lt;objectContribution id=&quot;actions.jar&quot;
typecategoryfilter=&quot;files&quot;
typefilter=&quot;file&quot;
@@ -61,7 +61,7 @@ Create the Java package: right-click on the <B>src</B> source folder and select
<li>
Create the Java class: right-click on the new <B>&quot;samples.ui.actions&quot;</B> package folder and select <B>New-&gt;Class</B> to open the <B>New
Java Class</B> wizard. Enter <B>&quot;ShowJarContents&quot;</B> for the <b>Name</b>
-and <b>&quot;com.ibm.etools.systems.core.ui.actions.SystemAbstractRemoteFilePopupMenuExtensionAction&quot;</b>
+and <b>&quot;org.eclipse.rse.files.ui.actions.SystemAbstractRemoteFilePopupMenuExtensionAction&quot;</b>
for the <b>Superclass</b>. Select the <b>Constructors from superclass</b> check box, as shown
<A href="popup_newClass.gif">here</A>.
Press <b>Finish</b> to create the <samp><a href="ShowJarContents1.html">ShowJarContents</a></samp> class.
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/propertypage.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/propertypage.html
index 05abfdfb5..22aeaa128 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/propertypage.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/propertypage.html
@@ -40,7 +40,7 @@ Open the <b>plugin.xml</b> file for editing by right-clicking on it, and selecti
&lt;!-- ======================================= --&gt;
&lt;!-- Remote Object Property Pages --&gt;
&lt;!-- ======================================= --&gt;
- &lt;extension point=&quot;com.ibm.etools.systems.core.propertyPages&quot;&gt;
+ &lt;extension point=&quot;org.eclipse.rse.ui.propertyPages&quot;&gt;
&lt;page name=&quot;Folder Contents&quot;
class=&quot;samples.ui.propertypages.FolderInfoPropertyPage&quot;
id=&quot;samples.ui.PropertyPage1&quot;
@@ -57,7 +57,7 @@ Create the Java package: right-click on the <B>src</B> source folder and select
<li>
Create the Java class: right-click on the new <B>&quot;samples.ui.propertypages&quot;</B> package folder and select <B>New-&gt;Class</B> to open the <B>New
Java Class</B> wizard. Enter <B>&quot;FolderInfoPropertyPage&quot;</B> for the <b>Name</b>
-and <b>&quot;com.ibm.etools.systems.core.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction&quot;</b>
+and <b>&quot;org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction&quot;</b>
for the <b>Superclass</b>. Select the <b>Constructors from superclass</b> check box, as shown
<A href="propertypage_newClass.gif">here</A>.
Press <b>Finish</b> to create the <samp><a href="FolderInfoPropertyPage1.html">FolderInfoPropertyPage</a></samp> class.
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesMessages2.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesMessages2.html
index f92da51b7..ea240dd19 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesMessages2.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesMessages2.html
@@ -14,7 +14,7 @@
<p>
<pre><samp>
&lt;?xml version=&quot;1.0&quot; encoding='UTF-8'?&gt;
-&lt;!DOCTYPE MessageFile SYSTEM &quot;../com.ibm.etools.systems.core/messageFile.dtd&quot;&gt;
+&lt;!DOCTYPE MessageFile SYSTEM &quot;../org.eclipse.rse.ui/messageFile.dtd&quot;&gt;
&lt;!-- This is a message file used by SystemMessage and SystemMessageDialog --&gt;
&lt;MessageFile Version=&quot;1.0&quot;&gt;
&lt;Component Name=&quot;RSE Samples&quot; Abbr=&quot;RSS&quot;&gt;
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources3.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources3.html
index 16a3ef48d..93b3df7cb 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources3.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources3.html
@@ -9,9 +9,8 @@
<title>rseSamplesResources Properties File After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>rseSamplesResources Properties File After Editing</h1>
-<p>
<pre><samp>
pp.size.label=Size
pp.size.tooltip=Cumulative size, in bytes
@@ -24,6 +23,5 @@ pp.stopButton.tooltip=Cancel the thread
<b>property.type.teamfilter=Team filter</b>
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources4.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources4.html
index fd7f6a702..6b91d8a1e 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources4.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/rseSamplesResources4.html
@@ -9,9 +9,8 @@
<title>rseSamplesResources Properties File After Editing</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>rseSamplesResources Properties File After Editing</h1>
-<p>
<pre><samp>
pp.size.label=Size
pp.size.tooltip=Cumulative size, in bytes
@@ -38,6 +37,5 @@ filter.devr.devrprompt.label=Developers
filter.devr.devrprompt.tooltip=Specify a simple or generic developer name pattern
</b>
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/startup.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/startup.html
index 72f37c7c9..7e715b6bc 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/startup.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/startup.html
@@ -9,9 +9,8 @@
<title>Startup Method in RSESamplesPlugin</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>Startup Method in RSESamplesPlugin</h1>
-<p>
<pre><samp>
public void startup() throws CoreException
{
@@ -22,6 +21,5 @@
manager.registerAdapters(factory, samples.model.DeveloperResource.class);</b>
}
</samp></pre>
-</p>
</body>
</html>
diff --git a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/subsystem.html b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/subsystem.html
index 77f4a64d2..34b529216 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/subsystem.html
+++ b/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/subsystem.html
@@ -8,10 +8,9 @@
<title>Creating a Subsystem Configuration</title>
</head>
-<body bgcolor="#ffffff">
+<body>
<h1>Creating a Subsystem Configuration</h1>
-<p>In this tutorial, you will use the RSE <A href="../../reference/extension-points/org_eclipse_rse_ui_subsystemConfiguration.html">subsystemConfiguration extension point</A> to show new subsystems within connections, when they are expanded. Effectively,
-you will add a new <i>remote-accessing tool</i> to the Remote System Explorer.</p>
+<p>In this tutorial you will use the RSE <A href="../../reference/extension-points/org_eclipse_rse_ui_subsystemConfiguration.html">subsystemConfiguration</A> extension point to show new subsystems within connections, which will then appear when those connections are expanded. Effectively, you will add a new <i>remote-accessing tool</i> to the Remote System Explorer.</p>
<p>
A full-blown tutorial to illustrate this extension point is a bit difficult without inventing
server-side code and a communication layer for that server-side code to communication with the
@@ -21,16 +20,10 @@ on the client-side so as to focus discussion on the client-side code. The extens
you already have server-side code and a communication layer you now want to exploit within
Eclipse.
</p>
-<h2>Scenario</h2>
-<p>This tutorial pretends that you have server-side code, which manages user profiles for developers, and
-<i>teams</i> of developers. There is a master list of developers identified for development access
-to this server, and there is a grouping mechanism that allows developers to be assigned to named
-teams. Developers may exist on multiple teams. Each developer can have one or more <i>roles</i>, which
-may affect what they are allowed to access.</p>
-<p>In this tutorial you will define a subsystem for working with these resources in the remote system
-identified by the parent connection object. This will first list teams, then developers within teams.
-Roles will be accessible via an action.
-</p>
+ <p>When you are finished you should have a working subsystem similar to the one found in the org.eclipse.rse.examples.tutorial plugin.</p>
+ <h2>Scenario</h2>
+ <p>This tutorial pretends that you have server-side code which manages user profiles for developers and teams of developers. We assume there is a master list of developers identified for development access to this server, and there is a grouping mechanism that allows developers to be assigned to named teams. A developer may exist on multiple teams. Each developer can have one or more <i>roles</i> which may affect what they are allowed to access.</p>
+<p>In this tutorial you will define a subsystem for working with these resources in the remote system identified by the connection. This will first list teams and then developers within teams. Roles will be accessible via an action.</p>
<p><i>Do not worry about how useful or realistic the example is. The point of the exercise is
show the code necessary to fully enable new subsystems. It is up to the subsystem developer to
decide what resources to expose and what actions on those resources.</i></p>
@@ -50,19 +43,19 @@ and using the <b>New-&gt;Package</b> wizard. In the new package, create an empty
create a class named <samp><b>DeveloperConnectorService</b></samp> that extends <b>superclass</b>
<samp><A href="../../reference/api/org/eclipse/rse/core/subsystems/AbstractConnectorService.html">AbstractConnectorService</A></samp>,
selecting the option to include <b>Constructors from superclass</b>. Edit the result to add
-a <samp>connected</samp> instance variable that is used in the methods, as shown in bold <a href="DeveloperSystem.html">here</a>.
+a <samp>connected</samp> instance variable that is used in the methods, as shown in bold <a href="DeveloperConnectorService.html">here</a>.
</li>
<li>Again in package <samp>samples.subsystems</samp>, use <b>New-&gt;Class</b> to
-create a class named <samp><b>DeveloperSystemManager</b></samp> that extends <b>superclass</b>
+create a class named <samp><b>DeveloperConnectorServiceManager</b></samp> that extends <b>superclass</b>
<samp><A href="../../reference/api/org/eclipse/rse/core/subsystems/AbstractConnectorServiceManager.html">AbstractSystemManager</A></samp>,
selecting the option to include <b>Constructors from superclass</b>. Edit the result to add
-a factory method, and flesh out the methods, as highlighted <a href="DeveloperSystemManager.html">here</a>.
+a factory method, and flesh out the methods, as highlighted <a href="DeveloperConnectorServiceManager.html">here</a>.
</li>
<li>Create a package named <samp><b>samples.model</b></samp>. Create two classes in it:
<b><samp>TeamResource</samp></b> and <b><samp>DeveloperResource</samp></b>, each of which extend
-<A href="../../reference/api/org/eclipse/rse/core/subsystems/AbstractResource.html">AbstractResource</A>.
+<A href="../../reference/api/org/eclipse/rse/core/subsystems/AbstractResource.html"><samp>AbstractResource</samp></A>.
<ol>
- <li type="i">Edit <samp>DeveloperResource</samp> to add <samp>name</samp>, <samp>id</samp>, and <samp>deptNbr</samp> properties, as shown in bold <a href="DeveloperResource.html">here</a>.<li type="i">Edit <samp>TeamResource</samp> to add <samp>name</samp> and <samp>developers</samp> (array) properties,
+ <li type="i">Edit <samp>DeveloperResource</samp> to add <samp>name</samp>, <samp>id</samp>, and <samp>deptNbr</samp> properties, as shown in bold <a href="DeveloperResource.html">here</a>. You can use the refactoring support in eclipse to generate the getters and setters for these properties.<li type="i">Edit <samp>TeamResource</samp> to add <samp>name</samp> and <samp>developers</samp> (array) properties,
as shown in bold <a href="TeamResource.html">here</a>.
</ol>
<li>You need to think about filter support. For now, you can keep it simple: users can only create filters that list teams,
@@ -72,9 +65,9 @@ parsing. As a result, you have nothing to do for this step.</li>
<li>Return to package <samp>samples.subsystems</samp>, and create class <b><samp>DeveloperSubSystem</samp></b>
that extends <samp><A href="../../reference/api/org/eclipse/rse/core/subsystems/SubSystem.html">SubSystem</A></samp>.
Edit the generated class to add code highlighted <a href="DeveloperSubSystem.html">here</a>.</li>
-<li>Again in package <samp>samples.subsystems</samp>, create class <b><samp>DeveloperSubSystemFactory</samp></b>
+<li>Again in package <samp>samples.subsystems</samp>, create class <b><samp>DeveloperSubSystemConfiguration</samp></b>
that extends <samp><A href="../../reference/api/org/eclipse/rse/core/subsystems/SubSystemConfiguration.html">SubSystemConfiguration</A></samp>.
-Edit the generated class to add code highlighted <a href="DeveloperSubSystemFactory.html">here</a>.
+Edit the generated class to add code highlighted <a href="DeveloperSubSystemConfiguration.html">here</a>.
</li>
<li>In the project's root folder, find and edit file <samp>rseSamplesResources.properties</samp> and
add the line highlighted <a href="rseSamplesResources3.html">here</a>.
@@ -154,9 +147,7 @@ The <a href="renameDialog.gif">rename dialog</a> can catch this error because we
the <a href="TeamResourceAdapter.html#getNames">getRemoteParentNamesInUse</a>
method in our team resource adapter class. Rename to a new name. The rename in fact happens because we implemented
the <a href="TeamResourceAdapter.html#doRename">doRename</a> method.
-<li>The default filter <samp>All teams</samp> exists because we wrote code to create it in
-our <a href="DeveloperSubSystemFactory.html#createDefaultFilterPool">createDefaultFilterPool</a>
-subsystem factory method. Try creating a new filter: right-click on <samp>Teams</samp> subsystem and select
+<li>The default filter <samp>All teams</samp> exists because we wrote code to create it in our <a href="DeveloperSubSystemConfiguration.html#createDefaultFilterPool">createDefaultFilterPool</a> method of our subsystem configuration. Try creating a new filter: right-click on <samp>Teams</samp> subsystem and select
<a href="newFilterAction.gif">New-&gt;Filter</a> to get the
<a href="NewFilterWizard.gif">New Filter wizard</a>. Enter <samp>*2</samp>, press <b>Next</b>, and
enter <samp>Test filter</samp> for the filter name. Press <b>Finish</b>
@@ -165,17 +156,14 @@ to create the filter. Expand it, and you will see that only teams whose name end
<br>
Filter support is free in the RSE,
but you do have to write our own code to apply that filter pattern as you see fit. In this case, we did this in our
-<a href="DeveloperSubSystem.html#resolveFilterString">internalResolveFilterString</a> subsystem method.
-<li>Notice how a resource like team can display multiple times, by different filters that resolve to it.
+<a href="DeveloperSubSystem.html#resolveFilterString">internalResolveFilterString</a> method of our subsystem.<li>Notice how a resource like team can display multiple times, by different filters that resolve to it.
Rename <samp>Team 2</samp> shown under the new expanded <samp>Test filter</samp>, and notice how it is successfully
renamed under both filters. This ability to refresh the name in all occurrences of the same resource is made
possible by the adapter methods <a href="TeamResourceAdapter.html#getAbsoluteName">getAbsoluteName</a>, which helps
RSE find redundant copies of the same object, and <a href="TeamResourceAdapter.html#refreshRemoteObject">refreshRemoteObject</a>,
which the RSE calls, on each redundant copy, on a rename operation.
<IMG border="0" src="testRename.gif"></ul>
-<p>
-<br><br><br>
-<p>There are no steps to perform here, but for your reference here is some information on how to further
+<p><em>Note:</em> For your reference here is some information on how to further
evolve the functions via your adapter, should you want to:</p>
<ul>
<li>To not show the rename and delete actions at all, or to enable them,
@@ -188,7 +176,7 @@ override appropriate methods in the adapter class. For details see the methods
<samp><A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html">AbstractSystemViewAdapter</A></samp> class.
<li>To supply your own validator for syntax checking of new names on the rename dialogs,
override <A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html#getNameValidator(java.lang.Object)">getNameValidator</A>.
-<li>To add additional actions to the pop-up menus, implement the <A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html#addActions(com.ibm.etools.systems.core.ui.SystemMenuManager, org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String)">addActions</a>
+<li>To add additional actions to the pop-up menus, implement the <A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html#addActions(org.eclipse.rse.ui.SystemMenuManager, org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String)">addActions</a>
method in your adapter class.
<li>To support dragging and dropping, override the
<A href="../../reference/api/org/eclipse/rse/ui/view/AbstractSystemViewAdapter.html#canDrag(java.lang.Object)">canDrag</a> and
@@ -200,8 +188,6 @@ in your adapter class.
<li>To add property pages to your remote objects (the Properties popup menu item will then appear) use
the RSE <A href="../plugin/propertypage.html">propertyPages</a> extension point.
</ul>
-
-<br><br><br>
<p>Now you will continue with the tutorial by enhancing the running example to supply its own actions for creating and changing
filters. You will support two types of filters in our subsystems: team filters and developer filters. You have seen team filter already,
but developer filters will be new. They will contain a team name and a developer name-pattern, and when expanded, they will list all the
@@ -213,21 +199,19 @@ which dialog to present to the user. This will also allow you to have different
<ol>
<li type="i">First, create the new GUI pane for your developer filter prompts. Select the <samp>samples.subsystems</samp>
package and in it create a new class named <samp><b>DeveloperFilterStringEditPane</b></samp> that extends the
- class <samp><b>SystemFilterStringEditPane</b></samp> in package <samp>com.ibm.etools.systems.filters.ui</samp>.
+ class <samp><b>SystemFilterStringEditPane</b></samp> in package <samp>org.eclipse.rse.ui.filters</samp>.
Edit the new class, adding the code highlighted <a href="DeveloperFilterStringEditPane.html">here</a>.
</li>
- <li type="i">Edit the <samp>DeveloperSubSystemFactory</samp> class, and add the code highlighted
- <a href="DeveloperSubSystemFactory2.html">here</a>.
+ <li type="i">Edit the <samp>DeveloperSubSystemConfiguration</samp> class, and add the code highlighted
+ <a href="DeveloperSubSystemConfiguration2.html">here</a>.
</li>
<li type="i">Next, you need the unique icons for your own filters, which you referred to in your subsystem factory. Edit the <samp>RSESamplesPlugin</samp> file and edit the <samp>initializeImageRegistry</samp>
to add the lines of code highlighted <a href="InitializeImageRegistry2.html">here</a>. Now you need these icons.
Select the folder named <b>icons</b> and use <b>File-&gt;Import</b> to
import the <samp>teamFilter.gif</samp> and <samp>developerFilter.gif</samp> files from the
- <samp>plugins\com.ibm.etools.systems.doc.isv\icons</samp> folder,
- typically found in <samp>c:\wdsc\iseries</samp> where c:\wdsc is where you installed this product.
- </li>
+ <samp>org.eclipse.rse.examples.tutorial\icons</samp> folder.</li>
<li type="i">Now you need to edit your subsystem so it will parse the two types of filters you now
have. Edit <samp>DeveloperSubSystem</samp> and edit it as highlighted <a href="DeveloperSubSystem2.html#resolve">here</a>.
diff --git a/rse/doc/org.eclipse.rse.doc.isv/topics_Guide.xml b/rse/doc/org.eclipse.rse.doc.isv/topics_Guide.xml
index 3f8449054..c1356f383 100755
--- a/rse/doc/org.eclipse.rse.doc.isv/topics_Guide.xml
+++ b/rse/doc/org.eclipse.rse.doc.isv/topics_Guide.xml
@@ -28,8 +28,8 @@
<topic label="Relevant Eclipse Extension Points" href="guide/plugin/other.html" />
</topic>
<topic label="Tutorials" href="guide/tutorials.html">
- <topic label="Creating a Remote Resource Popup Menu Action" href="guide/tutorial/popup.html" />
<topic label="Creating a Remote Resource Property Page" href="guide/tutorial/propertypage.html" />
- <topic label="Creating a Subsystem Factory" href="guide/tutorial/subsystem.html" />
+ <topic label="Creating a Subsystem Configuration" href="guide/tutorial/subsystem.html" />
+ <topic label="Creating a Remote Resource Popup Menu Action" href="guide/tutorial/popup.html" />
</topic>
</toc> \ No newline at end of file

Back to the top