### Eclipse Workspace Patch 1.0 #P org.eclipse.jst.pagedesigner Index: src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java =================================================================== RCS file: /cvsroot/webtools/org.eclipse.jsf/components/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java,v retrieving revision 1.2 diff -u -r1.2 IDropCustomizer.java --- src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java 14 Apr 2008 19:53:04 -0000 1.2 +++ src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java 8 Oct 2008 17:52:53 -0000 @@ -11,12 +11,14 @@ *******************************************************************************/ package org.eclipse.jst.pagedesigner.itemcreation.customizer; +import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jst.pagedesigner.dom.IDOMPosition; /** * Interface used to declare an object that customizes tag creation data prior - * to a drop. The drop customizer should be used to illicit data on per-drop basis. + * to a drop. The drop customizer should be used to ellicit data on per-drop basis. * * Clients should not implement this interface. Extend AbstractDropCustomizer instead. * @@ -27,6 +29,15 @@ public interface IDropCustomizer { /** + * This is deprecated and is no longer called directly. AbstractDropCustomizer + * will call this from runCustomizer(IFile) in the default case. + * + * @return the status condition of the customizer + * @deprecated + */ + public IStatus runCustomizer(); + + /** * Executed when the user performs a drop gesture for a tag, but before the * command is dispatched to create the tag in the target document. Implementers * may do calculations or raise customization UI. There return value is used @@ -39,10 +50,13 @@ * NOTE: This method may be called on the UI thread, although this is not guaranteed. * Implementer should ensure that anything that is long-running (such as a dialog) * is user-cancellable and that any UI code is run on the display thread. + * @param file + * @param position the position in the target file where the new tag will be dropped * * @return the status condition of the customizer */ - public IStatus runCustomizer(); + + public IStatus runCustomizer(final IFile file, final IDOMPosition position); /** * @return the customization data. This method will only be called after runCustomizer Index: src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java =================================================================== RCS file: /cvsroot/webtools/org.eclipse.jsf/components/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java,v retrieving revision 1.2 diff -u -r1.2 AbstractDropCustomizer.java --- src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java 14 Apr 2008 19:53:04 -0000 1.2 +++ src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java 8 Oct 2008 17:52:53 -0000 @@ -11,9 +11,11 @@ *******************************************************************************/ package org.eclipse.jst.pagedesigner.itemcreation.customizer; +import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.jst.pagedesigner.dom.IDOMPosition; /** * Clients should extend to implement their own IDropCustomizer. @@ -23,6 +25,10 @@ * @author cbateman * */ +/** + * @author cbateman + * + */ public abstract class AbstractDropCustomizer implements IDropCustomizer { /* (non-Javadoc) @@ -40,4 +46,11 @@ { return Status.OK_STATUS; } + + public IStatus runCustomizer(final IFile file, final IDOMPosition position) + { + // backward compatibility: call the deprecated method to ensure that + // existing users are not broken + return runCustomizer(); + } }