Menu

#15 Update to remove references to deprecated code

open
nobody
None
7
2010-01-08
2010-01-08
Del Myers
No

There are a number of places that deprecated and/or internal code is referenced in Eclipse 3.5. References to deprecated and internal API should be removed.

Discussion

  • Brianna Potvin

    Brianna Potvin - 2010-03-09

    Patch 0/7

    This is a patchset intended to fix deprecated code calls within active TagSEA development. Current deprecated code references will eventually become non-functional, and so references to deprecated interfaces must be updated.

    Within TagSEA, deprecated code can be broken up into two types: internal and external deprecation. External deprecation is related to deprecated code within the Eclipse Plug-in API, while internal deprecation is related to TagSEA code tagged as 'deprecated'. The first objective of our patchsets is fixing the external deprecation; once this is completed, we will search for and remove references to internal deprecation.

    Currently, the following files within TagSEA contain references to external deprecation, flagged by the Eclipse Plug-in API:
    • net.sourceforge.tagsea.resources
    • package net.sourceforge.tagsea.resources.ui
    • file TagEditorComposite.java
    • deprecated import org.eclipse.jface.fieldassist.TextControlCreator
    • deprecated import org.eclispe.ui.fieldassist.ContentAssistField
    • Both of these deprecations are related to the function createFilterTextControl()
    • file TextComposite.java
    • Has the same deprecated imports as the file above and the same function issues
    • package net.sourceforge.tagsea.resources.waypoints
    • file ResourceWaypointDelegate.java
    • deprecated import org.eclipse.ui.view.navigaotr.IResourceNavigator
    • this deprecated import is used in the run function while doing and instance of comparison
    • package net.sourceforge.tagsea.tasks (sean)
    • file TaskWaypointUtils.java
    • deprecated import org.eclipse.core.runtime.Preferences
    • referenced in function getJavaTaskTags()

    The following files reference classes or functions within TagSEA that are flagged as deprecated:

    • net.sourceforge.tagsea
    • package net.sourceforge.tagsea.core.ui.tags
    • file TagsView.java
    • deprecated import net.sourceforge.tagsea.core.ui.internal.tags.TagActionGroup
    • Looks like most of the deprecated warnings have to do with use of TagActionGroup
    • Referenced in net.sourceforge.tagsea.core.ui.internal.tags.TagActionGroup.java
    • net.sourceforge.tagsea.core.ui.internal.waypoints.TagHyperLinkListener.java
    • net.sourceforge.tagsea.core.ui.internal.TagSEAUI.java
    • package net.sourceforge.tagsea.core.ui.internal.tags
    • file TagActionGroup.java
    • deprecated import net.sourceforge.tagsea.core.ui.tags.TagsView
    • Deprecated calls to TagsView.java
    • Also referenced by TagsView.java above
    • package net.sourceforge.tagsea.core.ui.internal
    • file TagSEAUI.java
    • deprecated calls to net.sourceforge.tagsea.core.ui.tags.TagsView
    • Referenced in net.sourceforge.tagsea.TagSEAPlugin.java
    • net.sourceforge.tagsea.core.ui.TagSEAView.java
    • net.sourceforge.tagsea.core.ui.tags.TagsView.java
    • net.sourceforge.tagsea.core.internal.Starter.java
    • package net.sourceforge.tagsea.core.ui.tags
    • file TagsViewLabelProvider.java
    • class is deprecated, make sure there are no references to it
    • Referenced in net.sourceforge.tagsea.core.ui.TagSeaView.java
    • Referenced in net.sourceforge.tagsea.core.ui.tags.TagsView.java

    Our intended patch outline is as follows:

    Patch 1/7: Fixes external deprecated code issues in package net.sourceforge.tagsea.resources.ui
    Patch 2/7: Fixes external deprecated code issues in package net.sourceforge.tagsea.resources.waypoints
    Patch 3/7: Fixes external deprecated code issues in package net.sourceforge.tagsea.tasks
    Patch 4/7: Fixes internal deprecated code issues in package net.sourceforge.tagsea.core.ui.tags (TagsView.java)
    Patch 5/7: Fixes internal deprecated code issues in package net.sourceforge.tagsea.core.ui.internal.tags
    Patch 6/7: Fixes internal deprecated code issues in package net.sourceforge.tagsea.core.ui.internal
    Patch 7/7: Fixes internal deprecated code issues in package net.sourceforge.tagsea.core.ui.tags (file TagsViewLabelProvider.java)

    There is no interaction between each of the patches; the intention of these fixes is to keep the same code functionality by referencing new, non-deprecated calls. The patches could therefore be applied in any order with the same results - they all operate on separate sections of code, having no effects visible outside the given module. As a result, we may release patches in an order other than the above, depending on when those changes are complete.

    Also, documentation changes are expected to be small. Since the functionality will remain constant, there is no need to change most documentation; the only changes will be to in-line comments that reference the former, deprecated code, and these changes will be dealt with during refactoring.

    Testing will be done via unit testing. Tests will be written for each function containing deprecated code, and will be used both before and after the refactoring to ensure that functionality has not changed after refactoring. If we need to remove references to deprecated code, the testing will ensure that any new references don't change the function of the code.

    ----------------------------------------------------------------------------------------------------------------------------
    Nicholas Turner, Brianna Potvin, Sean Stuart
    3rd year software engineering, University of Victoria

     
  • Del Myers

    Del Myers - 2010-03-10

    Hi Brian. Do you have the actual patches? The can be attached to the "Patches" feature of Tracker.

    It looks good so far, though. Internal deprecation isn't as important as external deprecation. Most references to internally deprecated code should have already been removed. The deprecated classes still exist for reference purposes only. It might be a good idea to try moving the deprecated classes of TagSEA out into a couple of "compatability" plugins. If moving them doesn't cause any compile errors, then there are no side-effects from them (they aren't internally referenced, and it should be OK to remove them). If there are compile errors, it would be helpful to take note of where they occur. I don't really expect you to fix all of those issues because it would require a lot more in-depth knowledge of how TagSEA works than what you have likely been able to acquire over the past couple of months.

    Thanks.

     
  • Nobody/Anonymous

    Ok, thanks for the information about the internal deprecation. For this bug we will focus on removing external deprecation, reducing our patch set plan from seven to three. The first three responding to the external deprecation.

     
MongoDB Logo MongoDB