diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/Context.java --- a/web.debug/src/org/netbeans/modules/web/debug/Context.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/Context.java Wed Jun 11 17:21:02 2008 +0200 @@ -51,6 +51,8 @@ import org.netbeans.spi.debugger.jpda.*; import org.netbeans.spi.debugger.jpda.*; import org.netbeans.modules.web.debug.breakpoints.JspLineBreakpoint; +import org.netbeans.spi.debugger.ui.EditorContextDispatcher; +import org.openide.filesystems.FileObject; /** * @@ -137,13 +139,20 @@ public class Context { public static String getCurrentURL () { return getContext ().getCurrentURL (); } + + public static FileObject getCurrentFile() { + return EditorContextDispatcher.getDefault().getCurrentFile(); + } public static void addPropertyChangeListener (PropertyChangeListener l) { - getContext ().addPropertyChangeListener (l); + //getContext ().addPropertyChangeListener (l); + EditorContextDispatcher.getDefault().addPropertyChangeListener("text/x-jsp", l); + EditorContextDispatcher.getDefault().addPropertyChangeListener("text/x-tag", l); } public static void removePropertyChangeListener (PropertyChangeListener l) { - getContext ().removePropertyChangeListener (l); + //getContext ().removePropertyChangeListener (l); + EditorContextDispatcher.getDefault().removePropertyChangeListener(l); } /** diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/JspToolTipAnnotation.java --- a/web.debug/src/org/netbeans/modules/web/debug/JspToolTipAnnotation.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/JspToolTipAnnotation.java Wed Jun 11 17:21:02 2008 +0200 @@ -52,6 +52,7 @@ import org.netbeans.modules.web.debug.ut import org.netbeans.modules.web.debug.util.Utils; import org.netbeans.api.debugger.*; import org.netbeans.api.debugger.jpda.*; +import org.netbeans.spi.debugger.ui.EditorContextDispatcher; import org.openide.loaders.DataObject; public class JspToolTipAnnotation extends Annotation implements Runnable { @@ -93,7 +94,7 @@ public class JspToolTipAnnotation extend //1) get tooltip text Line.Part lp = (Line.Part)getAttachedAnnotatable(); - JEditorPane ep = Utils.getCurrentEditor(); + JEditorPane ep = EditorContextDispatcher.getDefault().getCurrentEditor(); String textForTooltip = ""; if ((lp == null) || (ep == null)) { diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/actions/JspGoToCursorActionProvider.java --- a/web.debug/src/org/netbeans/modules/web/debug/actions/JspGoToCursorActionProvider.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/actions/JspGoToCursorActionProvider.java Wed Jun 11 17:21:02 2008 +0200 @@ -78,7 +78,7 @@ public class JspGoToCursorActionProvider setEnabled ( ActionsManager.ACTION_RUN_TO_CURSOR, (debugger.getState () == debugger.STATE_STOPPED) && - (Utils.isJsp(Context.getCurrentURL()) || Utils.isTag(Context.getCurrentURL())) + (Utils.isJsp(Context.getCurrentFile()) || Utils.isTag(Context.getCurrentFile())) ); if ((debugger.getState () != debugger.STATE_RUNNING) && (breakpoint != null)) { DebuggerManager.getDebuggerManager ().removeBreakpoint (breakpoint); diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/actions/JspRunToCursorActionProvider.java --- a/web.debug/src/org/netbeans/modules/web/debug/actions/JspRunToCursorActionProvider.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/actions/JspRunToCursorActionProvider.java Wed Jun 11 17:21:02 2008 +0200 @@ -54,12 +54,12 @@ import org.netbeans.api.debugger.Watch; import org.netbeans.api.debugger.Watch; import org.netbeans.api.debugger.jpda.JPDADebugger; import org.netbeans.api.project.Project; -import org.netbeans.spi.debugger.jpda.EditorContext; +import org.netbeans.modules.web.debug.Context; import org.netbeans.spi.project.ActionProvider; -import org.openide.windows.TopComponent; import org.netbeans.modules.web.debug.breakpoints.JspLineBreakpoint; import org.netbeans.modules.web.debug.util.Utils; import org.netbeans.spi.debugger.ActionsProviderSupport; +import org.netbeans.spi.debugger.ui.EditorContextDispatcher; /** * @@ -67,16 +67,13 @@ import org.netbeans.spi.debugger.Actions */ public class JspRunToCursorActionProvider extends ActionsProviderSupport { - private EditorContext editorContext; private JspLineBreakpoint breakpoint; { - editorContext = (EditorContext) DebuggerManager. - getDebuggerManager().lookupFirst(null, EditorContext.class); - Listener listener = new Listener (); MainProjectManager.getDefault ().addPropertyChangeListener (listener); - TopComponent.getRegistry ().addPropertyChangeListener (listener); + EditorContextDispatcher.getDefault().addPropertyChangeListener("text/x-jsp", listener); + EditorContextDispatcher.getDefault().addPropertyChangeListener("text/x-tag", listener); DebuggerManager.getDebuggerManager ().addDebuggerListener (listener); setEnabled(ActionsManager.ACTION_RUN_TO_CURSOR, shouldBeEnabled()); @@ -104,7 +101,7 @@ public class JspRunToCursorActionProvide private boolean shouldBeEnabled () { - if (/* some module disabled? */ editorContext == null || !Utils.isJsp(editorContext.getCurrentURL())) { + if (!Utils.isJsp(Context.getCurrentFile())) { return false; } @@ -136,8 +133,8 @@ public class JspRunToCursorActionProvide private void createBreakpoint() { breakpoint = JspLineBreakpoint.create ( - editorContext.getCurrentURL (), - editorContext.getCurrentLineNumber () + Context.getCurrentURL (), + Context.getCurrentLineNumber () ); breakpoint.setHidden (true); DebuggerManager.getDebuggerManager ().addBreakpoint (breakpoint); @@ -152,7 +149,7 @@ public class JspRunToCursorActionProvide private class Listener implements PropertyChangeListener, DebuggerManagerListener { public void propertyChange (PropertyChangeEvent e) { - if ((e == null) || (TopComponent.Registry.PROP_OPENED.equals(e.getPropertyName()))) + if (e == null) return; if (e.getPropertyName () == JPDADebugger.PROP_STATE) { int state = ((Integer) e.getNewValue ()).intValue (); diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/actions/JspToggleBreakpointActionProvider.java --- a/web.debug/src/org/netbeans/modules/web/debug/actions/JspToggleBreakpointActionProvider.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/actions/JspToggleBreakpointActionProvider.java Wed Jun 11 17:21:02 2008 +0200 @@ -84,10 +84,8 @@ public class JspToggleBreakpointActionPr } public void propertyChange (PropertyChangeEvent evt) { - String url = Context.getCurrentURL(); - //#67910 - setting of a bp allowed only in JSP contained in some web module - FileObject fo = Utils.getFileObjectFromUrl(url); + FileObject fo = Context.getCurrentFile(); WebModule owner = null; if (fo != null) { owner = WebModule.getWebModule(fo); diff -r 766e8327016d web.debug/src/org/netbeans/modules/web/debug/util/Utils.java --- a/web.debug/src/org/netbeans/modules/web/debug/util/Utils.java Fri Jun 06 19:28:24 2008 +0200 +++ b/web.debug/src/org/netbeans/modules/web/debug/util/Utils.java Wed Jun 11 17:21:02 2008 +0200 @@ -41,7 +41,6 @@ package org.netbeans.modules.web.debug.util; -import java.io.*; import java.net.*; import java.util.logging.Level; import java.util.logging.Logger; @@ -49,17 +48,15 @@ import javax.swing.text.*; import javax.swing.text.*; import org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider; -import org.openide.nodes.*; import org.openide.filesystems.*; import org.openide.text.*; import org.openide.cookies.*; -import org.openide.util.Mutex; -import org.openide.windows.TopComponent; import org.netbeans.modules.web.api.webmodule.*; import org.netbeans.modules.j2ee.deployment.devmodules.api.JSPServletFinder; import org.netbeans.api.project.*; +import org.netbeans.spi.debugger.ui.EditorContextDispatcher; @@ -235,43 +232,6 @@ public class Utils { return null; } - /** - * Returns current editor component instance. - * - * @return current editor component instance - */ - public static EditorCookie getCurrentEditorCookie () { - Node[] nodes = TopComponent.getRegistry ().getCurrentNodes(); - if ( (nodes == null) || - (nodes.length != 1) ) return null; - Node n = nodes [0]; - return (EditorCookie) n.getCookie ( - EditorCookie.class - ); - } - - public static JEditorPane getCurrentEditor () { - EditorCookie e = getCurrentEditorCookie (); - if (e == null) { - return null; - } - return getCurrentEditor(e); - } - - /** - * Returns current editor component instance. - * - * @return current editor component instance - */ - public static JEditorPane getCurrentEditor (final EditorCookie e) { - return Mutex.EVENT.readAccess(new Mutex.Action() { - public JEditorPane run() { - JEditorPane[] op = e.getOpenedPanes(); - return (op == null ? null : op[0]); - } - }); - } - public static String getJavaIdentifier(StyledDocument doc, JEditorPane ep, int offset) { String t = null; if ( (ep.getSelectionStart() <= offset) && (offset <= ep.getSelectionEnd())) { @@ -403,11 +363,11 @@ public class Utils { } public static String getJavaIdentifier () { - EditorCookie e = getCurrentEditorCookie (); + EditorCookie e = EditorContextDispatcher.getDefault().getCurrentEditorCookie(); if (e == null) { return null; } - JEditorPane ep = getCurrentEditor (e); + JEditorPane ep = EditorContextDispatcher.getDefault().getCurrentEditor(); if (ep == null) { return null; } @@ -435,11 +395,11 @@ public class Utils { // } public static boolean isScriptlet() { - EditorCookie e = getCurrentEditorCookie (); + EditorCookie e = EditorContextDispatcher.getDefault().getCurrentEditorCookie(); if (e == null) { return false; } - JEditorPane ep = getCurrentEditor (e); + JEditorPane ep = EditorContextDispatcher.getDefault().getCurrentEditor(); if (ep == null) { return false; }