Community
Participate
Working Groups
Simple SubSystems do not need initialization. Therefore, the SubSystem base class should provide a default implementation, doing nothing.
Default implementations in an abstract superclass do not break API but make programming and using the API simpler. The fix is trivial, and I'd love to see this for 1.0.1
Default implementations of initializeSubSystem and uninitializeSubSystem have been provided.
A declaration for initializeSubSystem has been provided in SubSystem but not for uninitializeSubSystem. Also the method is declared abstract, and from the bug title and description I would expect a really simple subsystem to use directly the empty implementation from SubSystem, so it shouldn't be abtract.
This patch could fix the bug: ### Eclipse Workspace Patch 1.0 #P org.eclipse.rse.ui Index: subsystems/org/eclipse/rse/core/subsystems/SubSystem.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java,v retrieving revision 1.43 diff -u -r1.43 SubSystem.java --- subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 5 Dec 2006 00:20:15 -0000 1.43 +++ subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 13 Dec 2006 18:02:44 -0000 @@ -2467,7 +2467,12 @@ * This method should be overridden if any initialization for the subsystem needs * to occur at this time */ - public abstract void initializeSubSystem(IProgressMonitor monitor); + public void initializeSubSystem(IProgressMonitor monitor){} + + /** + * Called on each subsystem associated with a particular IConnectorService after it disconnects + */ + public void uninitializeSubSystem(IProgressMonitor monitor){} /**
You are correct. The change was not submitted at the last minute while debugging another problem. It will be placed back in later today after verification is completed.
Let's try this again :) - providing default implementations of initializeSubSystem and uninitializeSubSystem.