Community
Participate
Working Groups
In implementing a proof of concept tag drop implementation, I discovered that we are not passing enough context information for the tag drop to cover all use cases. The change adds a new runCustomizer to IDropCustomizer that passes File and DOMPosition information about the intended drop and deprecates the existing no argument version. The AbstractDropCustomizer will call runCustomizer() from the new method by default, ensuring backward compatibility of both interface and behaviour. No-arg runCustomizer is now deprecated, however.
Created attachment 114578 [details] Shows the API change and compatibility preserving behaviour.
Change committed to HEAD (3.1 stream).
Oracle would like to have this fix in Ganymede for its adopter product. This fix requires a non-breaking API change that adds a new method to an existing class. The default is for the new method to call the old one, so behavior is also preserved. The change qualifies as non-breaking under: http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs#Example_4_-_Adding_an_API_method
* Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such. This is a "hotbug" request from Oracle. This fix is required to enable support for a feature in the adopter product. * Is there a work-around? If so, why do you believe the work-around is insufficient? There is no workaround. * How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added? Existing junits cover the default scenario of tag drop with no customization. The extensibility scenario has been tested in the adopter product. * Give a brief technical overview. Who has reviewed this fix? See description, comment 0 and comment 5 . I have reviewed the fix. * What is the risk associated with this fix? Minimal since the goal is to preserve the current behavior in the WTP codeline.
This change appears to meet the API change requirements. Approved.
Marking it as PMC approved
Patch applied to 3.0.4. Will mark fixed once 3.1 is synced.
Verified that HEAD (3.1) is still consistent with the backport.