128229: generify ContextProvider and implement it on several more classes. diff --git a/ant.debugger/nbproject/project.properties b/ant.debugger/nbproject/project.properties --- a/ant.debugger/nbproject/project.properties +++ b/ant.debugger/nbproject/project.properties @@ -37,6 +37,8 @@ # Version 2 license, then the option applies only if the new code is # made subject to such option by the copyright holder. +javac.compilerargs=-Xlint -Xlint:-serial +javac.source=1.5 spec.version.base=1.9.0 test.unit.run.cp.extra=${tools.jar} # Make the debugger find it, even if it is not on the startup debug classpath: diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java @@ -118,8 +118,7 @@ public class AntDebugger extends Actions this.contextProvider = contextProvider; // init antCookie - antCookie = (AntProjectCookie) contextProvider.lookupFirst - (null, AntProjectCookie.class); + antCookie = contextProvider.lookupFirst(null, AntProjectCookie.class); // init engineProvider engineProvider = (AntDebuggerEngineProvider) contextProvider.lookupFirst diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java @@ -75,8 +75,7 @@ NodeActionsProvider, TableModel { public CallStackModel (ContextProvider contextProvider) { - debugger = (AntDebugger) contextProvider.lookupFirst - (null, AntDebugger.class); + debugger = contextProvider.lookupFirst(null, AntDebugger.class); } diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java @@ -370,7 +370,7 @@ public class DebuggerAntLogger extends A ); DebuggerEngine[] es = DebuggerManager.getDebuggerManager (). startDebugging (di); - AntDebugger debugger = (AntDebugger) es [0].lookupFirst (null, AntDebugger.class); + AntDebugger debugger = es[0].lookupFirst(null, AntDebugger.class); debugger.setExecutor(execTask); return debugger; } diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/ToolTipAnnotation.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/ToolTipAnnotation.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/ToolTipAnnotation.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/ToolTipAnnotation.java @@ -75,8 +75,7 @@ public class ToolTipAnnotation extends A DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager (). getCurrentEngine (); if (currentEngine == null) return null; - AntDebugger d = (AntDebugger) currentEngine.lookupFirst - (null, AntDebugger.class); + AntDebugger d = currentEngine.lookupFirst(null, AntDebugger.class); if (d == null) return null; Part lp = (Part) @@ -86,8 +85,7 @@ public class ToolTipAnnotation extends A DataObject dob = DataEditorSupport.findDataObject (line); if (dob == null) return null; EditorCookie ec = - (EditorCookie) dob.getCookie - (EditorCookie.class); + dob.getCookie(EditorCookie.class); if (ec == null) return null; this.lp = lp; @@ -119,8 +117,7 @@ public class ToolTipAnnotation extends A DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager (). getCurrentEngine (); if (currentEngine == null) return; - AntDebugger d = (AntDebugger) currentEngine.lookupFirst - (null, AntDebugger.class); + AntDebugger d = currentEngine.lookupFirst(null, AntDebugger.class); if (d == null) return; String value = d.evaluate (expression); if ( value == null || diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java @@ -66,8 +66,7 @@ public class VariablesModel implements T public VariablesModel (ContextProvider contextProvider) { - debugger = (AntDebugger) contextProvider.lookupFirst - (null, AntDebugger.class); + debugger = contextProvider.lookupFirst(null, AntDebugger.class); } diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java @@ -73,8 +73,7 @@ public class WatchesModel implements Nod public WatchesModel (ContextProvider contextProvider) { - debugger = (AntDebugger) contextProvider.lookupFirst - (null, AntDebugger.class); + debugger = contextProvider.lookupFirst(null, AntDebugger.class); } diff --git a/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java b/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java --- a/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java +++ b/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java @@ -254,6 +254,6 @@ public class BreakpointModel implements DebuggerEngine engine = DebuggerManager.getDebuggerManager (). getCurrentEngine (); if (engine == null) return null; - return (AntDebugger) engine.lookupFirst (null, AntDebugger.class); + return engine.lookupFirst(null, AntDebugger.class); } } diff --git a/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java b/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java --- a/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java +++ b/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java @@ -176,8 +176,7 @@ public abstract class JPDADebugger { ); int i, k = es.length; for (i = 0; i < k; i++) { - JPDADebugger d = (JPDADebugger) es [i].lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = es[i].lookupFirst(null, JPDADebugger.class); if (d == null) continue; d.waitRunning (); return d; @@ -247,8 +246,7 @@ public abstract class JPDADebugger { ); int i, k = es.length; for (i = 0; i < k; i++) { - JPDADebugger d = (JPDADebugger) es [i].lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = es[i].lookupFirst(null, JPDADebugger.class); if (d == null) continue; d.waitRunning (); return d; @@ -282,8 +280,7 @@ public abstract class JPDADebugger { ); int i, k = es.length; for (i = 0; i < k; i++) { - JPDADebugger d = (JPDADebugger) es [i].lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = es[i].lookupFirst(null, JPDADebugger.class); d.waitRunning (); if (d == null) continue; return d; diff --git a/api.debugger/apichanges.xml b/api.debugger/apichanges.xml --- a/api.debugger/apichanges.xml +++ b/api.debugger/apichanges.xml @@ -72,6 +72,39 @@ made subject to such option by the copyr + + + Use of some generic types in API; ContextProvider implemented more broadly + + + + +

+ As with any generification, it is possible for old code to no longer compile. E.g. +

+
List<X> = lookup.lookup(folder, X.class);
+

+ must be changed to: +

+
List<? extends X> = lookup.lookup(folder, X.class);
+
+ +

+ ContextProvider is now properly generified, and implemented also by: +

+
    +
  • DebuggerEngine
  • +
  • DebuggerInfo
  • +
  • DebuggerManager
  • +
  • Session
  • +
+
+ + + + + +
Support for "dual" actions added. diff --git a/api.debugger/manifest.mf b/api.debugger/manifest.mf --- a/api.debugger/manifest.mf +++ b/api.debugger/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.debugger/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.12 +OpenIDE-Module-Specification-Version: 1.13 diff --git a/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java b/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java --- a/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java +++ b/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java @@ -418,9 +418,7 @@ public final class ActionsManager { private void initActionImpls () { actionProviders = new HashMap (); - Iterator i = lookup.lookup (null, ActionsProvider.class).iterator (); - while (i.hasNext ()) { - ActionsProvider ap = (ActionsProvider) i.next (); + for (ActionsProvider ap : lookup.lookup(null, ActionsProvider.class)) { Iterator ii = ap.getActions ().iterator (); while (ii.hasNext ()) registerActionsProvider (ii.next (), ap); diff --git a/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java b/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java --- a/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java +++ b/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java @@ -41,9 +41,8 @@ package org.netbeans.api.debugger; -import java.beans.*; -import java.io.*; -import java.util.*; +import java.util.List; +import org.netbeans.spi.debugger.ContextProvider; /** * Debugger Engine represents implementation of one debugger (Java Debugger, @@ -122,7 +121,7 @@ import java.util.*; * * @author Jan Jancura */ -public final class DebuggerEngine { +public final class DebuggerEngine implements ContextProvider { // variables ............................................................... @@ -176,7 +175,7 @@ public final class DebuggerEngine { * @param service a type of service to look for * @return list of services of given type */ - public List lookup (String folder, Class service) { + public List lookup(String folder, Class service) { return lookup.lookup (folder, service); } @@ -186,7 +185,7 @@ public final class DebuggerEngine { * @param service a type of service to look for * @return ne service of given type */ - public Object lookupFirst (String folder, Class service) { + public T lookupFirst(String folder, Class service) { return lookup.lookupFirst (folder, service); } diff --git a/api.debugger/src/org/netbeans/api/debugger/DebuggerInfo.java b/api.debugger/src/org/netbeans/api/debugger/DebuggerInfo.java --- a/api.debugger/src/org/netbeans/api/debugger/DebuggerInfo.java +++ b/api.debugger/src/org/netbeans/api/debugger/DebuggerInfo.java @@ -42,6 +42,7 @@ package org.netbeans.api.debugger; package org.netbeans.api.debugger; import java.util.List; +import org.netbeans.spi.debugger.ContextProvider; /** @@ -53,7 +54,7 @@ import java.util.List; * * @author Jan Jancura */ -public final class DebuggerInfo { +public final class DebuggerInfo implements ContextProvider { private Lookup lookup; @@ -126,7 +127,7 @@ public final class DebuggerInfo { * @param service a type of service to look for * @return list of services of given type */ - public List lookup (String folder, Class service) { + public List lookup(String folder, Class service) { return lookup.lookup (folder, service); } @@ -136,7 +137,7 @@ public final class DebuggerInfo { * @param service a type of service to look for * @return ne service of given type */ - public Object lookupFirst (String folder, Class service) { + public T lookupFirst(String folder, Class service) { return lookup.lookupFirst (folder, service); } diff --git a/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java b/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java --- a/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java +++ b/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java @@ -48,13 +48,11 @@ import org.openide.util.Cancellable; import org.openide.util.Cancellable; import org.openide.util.Task; +import org.netbeans.spi.debugger.ContextProvider; import org.netbeans.spi.debugger.DelegatingDebuggerEngineProvider; import org.netbeans.spi.debugger.DelegatingSessionProvider; import org.netbeans.spi.debugger.DebuggerEngineProvider; import org.netbeans.spi.debugger.SessionProvider; -import org.openide.modules.ModuleInfo; -import org.openide.util.WeakListeners; -import org.openide.util.WeakSet; /** @@ -138,7 +136,7 @@ import org.openide.util.WeakSet; * * @author Jan Jancura */ -public final class DebuggerManager { +public final class DebuggerManager implements ContextProvider { // TODO: deprecate all these properties. They are useless, since there are // dedicated methods in DebuggerManagerListener @@ -225,7 +223,7 @@ public final class DebuggerManager { * @param service a type of service to look for * @return list of services of given type */ - public List lookup (String folder, Class service) { + public List lookup(String folder, Class service) { return lookup.lookup (folder, service); } @@ -235,7 +233,7 @@ public final class DebuggerManager { * @param service a type of service to look for * @return ne service of given type */ - public Object lookupFirst (String folder, Class service) { + public T lookupFirst(String folder, Class service) { return lookup.lookupFirst (folder, service); } @@ -1266,7 +1264,7 @@ public final class DebuggerManager { // helper methods .................................................... private Set loadedListeners; - private List listenersLookupList; + private List listenersLookupList; private void initDebuggerManagerListeners () { synchronized (listenersMap) { @@ -1277,7 +1275,7 @@ public final class DebuggerManager { ((Customizer) listenersLookupList).addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { - refreshDebuggerManagerListeners((List) evt.getSource()); + refreshDebuggerManagerListeners((List) evt.getSource()); } }); } @@ -1285,7 +1283,7 @@ public final class DebuggerManager { } } - private void refreshDebuggerManagerListeners (List listenersLookupList) { + private void refreshDebuggerManagerListeners(List listenersLookupList) { //System.err.println("\n refreshDebuggerManagerListeners()"); //It's neccessary to pay attention on the order in which the listeners and breakpoints are registered! //Annotation listeners must be unregistered AFTER breakpoints are removed diff --git a/api.debugger/src/org/netbeans/api/debugger/Lookup.java b/api.debugger/src/org/netbeans/api/debugger/Lookup.java --- a/api.debugger/src/org/netbeans/api/debugger/Lookup.java +++ b/api.debugger/src/org/netbeans/api/debugger/Lookup.java @@ -64,8 +64,9 @@ import java.util.List; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeSet; +import java.util.logging.Level; +import java.util.logging.Logger; import org.netbeans.spi.debugger.ContextProvider; import org.openide.ErrorManager; import org.openide.modules.ModuleInfo; @@ -90,15 +91,15 @@ abstract class Lookup implements Context public static final String NOTIFY_UNLOAD_FIRST = "unload first"; public static final String NOTIFY_UNLOAD_LAST = "unload last"; - public Object lookupFirst (String folder, Class service) { - List l = lookup (folder, service); + public T lookupFirst(String folder, Class service) { + List l = lookup(folder, service); synchronized (l) { if (l.isEmpty ()) return null; return l.get (0); } } - public abstract List lookup (String folder, Class service); + public abstract List lookup(String folder, Class service); private static boolean verbose = @@ -112,19 +113,17 @@ abstract class Lookup implements Context this.services = services; } - public List lookup (String folder, Class service) { - ArrayList l = new ArrayList (); - int i, k = services.length; - for (i = 0; i < k; i++) - if (service.isAssignableFrom (services [i].getClass ())) { - l.add (services [i]); + public List lookup(String folder, Class service) { + List l = new ArrayList(); + for (Object s : services) { + if (service.isInstance(s)) { + l.add(service.cast(s)); if (verbose) - System.out.println("\nR instance " + services [i] + - " found"); + System.out.println("\nR instance " + s + " found"); } + } return l; } - } static class Compound extends Lookup { @@ -137,8 +136,8 @@ abstract class Lookup implements Context setContext (this); } - public List lookup (String folder, Class service) { - return new CompoundLookupList(folder, service); + public List lookup(String folder, Class service) { + return new CompoundLookupList(folder, service); /*List l = new LookupList(null); l.addAll (l1.lookup (folder, service)); l.addAll (l2.lookup (folder, service)); @@ -152,15 +151,15 @@ abstract class Lookup implements Context if (l2 instanceof MetaInf) ((MetaInf) l2).setContext (context); } - private class CompoundLookupList extends LookupList implements Customizer, + private class CompoundLookupList extends LookupList implements Customizer, PropertyChangeListener { private String folder; - private Class service; + private Class service; private List propertyChangeListeners; private Customizer sublist1, sublist2; - public CompoundLookupList(String folder, Class service) { + public CompoundLookupList(String folder, Class service) { super(null); this.folder = folder; this.service = service; @@ -169,8 +168,8 @@ abstract class Lookup implements Context private synchronized void setUp() { clear(); - List list1 = l1.lookup (folder, service); - List list2 = l2.lookup (folder, service); + List list1 = l1.lookup(folder, service); + List list2 = l2.lookup(folder, service); addAll (list1); addAll (list2); sublist1 = (list1 instanceof Customizer) ? (Customizer) list1 : null; @@ -217,7 +216,7 @@ abstract class Lookup implements Context private static final String HIDDEN = "-hidden"; // NOI18N private String rootFolder; - private HashMap registrationCache = new HashMap (); + private Map> registrationCache = new HashMap>(); private HashMap instanceCache = new HashMap(); private Lookup context; private org.openide.util.Lookup.Result moduleLookupResult; @@ -231,8 +230,7 @@ abstract class Lookup implements Context MetaInf (String rootFolder) { this.rootFolder = rootFolder; - moduleLookupResult = org.openide.util.Lookup.getDefault ().lookup( - new org.openide.util.Lookup.Template(ModuleInfo.class)); + moduleLookupResult = org.openide.util.Lookup.getDefault().lookupResult(ModuleInfo.class); //System.err.println("\nModules = "+moduleLookupResult.allInstances().size()+"\n"); modulesChangeListener = new ModuleChangeListener(null); moduleLookupResult.addLookupListener( @@ -245,24 +243,27 @@ abstract class Lookup implements Context this.context = context; } - public List lookup (String folder, Class service) { - MetaInfLookupList mll = new MetaInfLookupList(folder, service); + public List lookup(String folder, Class service) { + MetaInfLookupList mll = new MetaInfLookupList(folder, service); synchronized (lookupLists) { lookupLists.add(mll); } return mll; } - private List list (String folder, Class service) { + private List list(String folder, Class service) { String name = service.getName (); String resourceName = "META-INF/debugger/" + ((rootFolder == null) ? "" : rootFolder + "/") + ((folder == null) ? "" : folder + "/") + name; synchronized(registrationCache) { - if (!registrationCache.containsKey (resourceName)) - registrationCache.put (resourceName, loadMetaInf (resourceName)); - return (List) registrationCache.get (resourceName); + List l = registrationCache.get(resourceName); + if (l == null) { + l = loadMetaInf(resourceName); + registrationCache.put(resourceName, l); + } + return l; } } @@ -285,18 +286,15 @@ abstract class Lookup implements Context * Loads instances of given class from META-INF/debugger from given * folder. Given context isused as the parameter to constructor. */ - private ArrayList loadMetaInf ( - String resourceName - ) { - ArrayList l = new ArrayList (); + private List loadMetaInf(String resourceName) { + List l = new ArrayList(); try { - ClassLoader cl = (ClassLoader) org.openide.util.Lookup. - getDefault ().lookup (ClassLoader.class); + ClassLoader cl = org.openide.util.Lookup.getDefault().lookup(ClassLoader.class); String v = "\nR lookup " + resourceName; - Enumeration e = cl.getResources (resourceName); - HashSet urls = new HashSet(); + Enumeration e = cl.getResources(resourceName); + Set urls = new HashSet(); while (e.hasMoreElements ()) { - URL url = (URL) e.nextElement(); + URL url = e.nextElement(); // Ignore duplicated URLs, necessary because of tests if (urls.contains(url)) continue; urls.add(url); @@ -325,8 +323,7 @@ abstract class Lookup implements Context private Object createInstance (String service) { try { - ClassLoader cl = (ClassLoader) org.openide.util.Lookup. - getDefault ().lookup (ClassLoader.class); + ClassLoader cl = org.openide.util.Lookup.getDefault().lookup(ClassLoader.class); String method = null; if (service.endsWith("()")) { int lastdot = service.lastIndexOf('.'); @@ -571,34 +568,33 @@ abstract class Lookup implements Context * The refreshing is performed under a lock on this list object so that * clients have consistent data under synchronization on this. */ - private final class MetaInfLookupList extends LookupList implements Customizer { + private final class MetaInfLookupList extends LookupList implements Customizer { private String folder; - private Class service; + private final Class service; private List propertyChangeListeners; public int notifyLoadOrder = 0; public int notifyUnloadOrder = 0; - public MetaInfLookupList(String folder, Class service) { - this(list (folder, service)); + public MetaInfLookupList(String folder, Class service) { + this(list(folder, service), service); this.folder = folder; - this.service = service; } - private MetaInfLookupList(List l) { - this(l, getHiddenClassNames(l)); + private MetaInfLookupList(List l, Class service) { + this(l, getHiddenClassNames(l), service); } - private MetaInfLookupList(List l, Set s) { + private MetaInfLookupList(List l, Set s, Class service) { super(s); + assert service != null; + this.service = service; fillInstances(l, s); listenOnDisabledModules(); } - private void fillInstances(List l, Set s) { - int i, k = l.size (); - for (i = 0; i < k; i++) { - String className = (String) l.get (i); + private void fillInstances(List l, Set s) { + for (String className : l) { if (className.endsWith(HIDDEN)) continue; if (s != null && s.contains (className)) continue; Object instance = null; @@ -610,7 +606,11 @@ abstract class Lookup implements Context } } if (instance != null) { - add (instance, className); + try { + add(service.cast(instance), className); + } catch (ClassCastException cce) { + Logger.getLogger(Lookup.class.getName()).log(Level.WARNING, null, cce); + } listenOn(instance.getClass().getClassLoader()); } } @@ -620,7 +620,7 @@ abstract class Lookup implements Context // Perform changes under a lock so that iterators reading this list // can sync on it clear(); - List l = list (folder, service); + List l = list(folder, service); Set s = getHiddenClassNames(l); hiddenClassNames = s; fillInstances(l, s); @@ -686,24 +686,25 @@ abstract class Lookup implements Context * A special List implementation, which ensures that hidden elements * are removed when adding items into the list. */ - private static class LookupList extends ArrayList { + private static class LookupList extends ArrayList { protected Set hiddenClassNames; - private LinkedHashMap instanceClassNames = new LinkedHashMap(); + private LinkedHashMap instanceClassNames = new LinkedHashMap(); public LookupList(Set hiddenClassNames) { this.hiddenClassNames = hiddenClassNames; } - void add(Object instance, String className) { + void add(T instance, String className) { super.add(instance); instanceClassNames.put(instance, className); } @Override - public boolean addAll(Collection c) { + public boolean addAll(Collection c) { if (c instanceof LookupList) { - LookupList ll = (LookupList) c; + @SuppressWarnings("unchecked") // XXX possible to remove using more clever pattern with Class.cast + LookupList ll = (LookupList) c; synchronized (ll) { synchronized (this) { Set newHiddenClassNames = ll.hiddenClassNames; @@ -731,8 +732,7 @@ abstract class Lookup implements Context } ensureCapacity(size() + ll.size()); boolean addedAnything = false; - for (Iterator it = ll.iterator(); it.hasNext(); ) { - Object instance = it.next(); + for (T instance : ll) { String className = ll.instanceClassNames.get(instance); if (hiddenClassNames == null || !hiddenClassNames.contains(className)) { add(instance, className); diff --git a/api.debugger/src/org/netbeans/api/debugger/Properties.java b/api.debugger/src/org/netbeans/api/debugger/Properties.java --- a/api.debugger/src/org/netbeans/api/debugger/Properties.java +++ b/api.debugger/src/org/netbeans/api/debugger/Properties.java @@ -489,7 +489,7 @@ public abstract class Properties { private static final Collection BAD_COLLECTION = new ArrayList (); private static final Object[] BAD_ARRAY = new Object [0]; - private List readersList; + private List readersList; private HashMap register; diff --git a/api.debugger/src/org/netbeans/api/debugger/Session.java b/api.debugger/src/org/netbeans/api/debugger/Session.java --- a/api.debugger/src/org/netbeans/api/debugger/Session.java +++ b/api.debugger/src/org/netbeans/api/debugger/Session.java @@ -48,6 +48,7 @@ import java.util.HashSet; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import org.netbeans.spi.debugger.ContextProvider; /** Session visually represents one process or application. It should @@ -134,7 +135,7 @@ import java.util.List; * * @author Jan Jancura */ -public final class Session { +public final class Session implements ContextProvider { /** Name of property for current language. */ public static final String PROP_CURRENT_LANGUAGE = "currentLanguage"; @@ -252,7 +253,7 @@ public final class Session { * @param service a type of service to look for * @return list of services of given type */ - public List lookup (String folder, Class service) { + public List lookup(String folder, Class service) { return lookup.lookup (folder, service); } @@ -262,7 +263,7 @@ public final class Session { * @param service a type of service to look for * @return ne service of given type */ - public Object lookupFirst (String folder, Class service) { + public T lookupFirst(String folder, Class service) { return lookup.lookupFirst (folder, service); } diff --git a/api.debugger/src/org/netbeans/spi/debugger/ContextProvider.java b/api.debugger/src/org/netbeans/spi/debugger/ContextProvider.java --- a/api.debugger/src/org/netbeans/spi/debugger/ContextProvider.java +++ b/api.debugger/src/org/netbeans/spi/debugger/ContextProvider.java @@ -58,7 +58,7 @@ public interface ContextProvider { * @param service a type of service to look for * @return list of services of given type */ - public abstract List lookup (String folder, Class service); + List lookup(String folder, Class service); /** * Returns one service of given type from given folder. @@ -67,6 +67,6 @@ public interface ContextProvider { * @param service a type of service to look for * @return ne service of given type */ - public abstract Object lookupFirst (String folder, Class service); + T lookupFirst(String folder, Class service); } diff --git a/bpel.debugger.api/src/org/netbeans/modules/bpel/debugger/api/TracerAccess.java b/bpel.debugger.api/src/org/netbeans/modules/bpel/debugger/api/TracerAccess.java --- a/bpel.debugger.api/src/org/netbeans/modules/bpel/debugger/api/TracerAccess.java +++ b/bpel.debugger.api/src/org/netbeans/modules/bpel/debugger/api/TracerAccess.java @@ -39,7 +39,7 @@ public final class TracerAccess { if (provider == null) { throw new IllegalArgumentException("Can't return tracer for null");// NOI18N } - return getTracer ((Session) provider.lookupFirst(null, Session.class)); + return getTracer (provider.lookupFirst(null, Session.class)); } /** @@ -54,9 +54,7 @@ public final class TracerAccess { private static TracerFactory getTracerFactory() { if (ourTracerFactory == null) { ourTracerFactory = - (TracerFactory) DebuggerManager.getDebuggerManager().lookupFirst( - null, TracerFactory.class - ); + DebuggerManager.getDebuggerManager().lookupFirst(null, TracerFactory.class); assert ourTracerFactory != null : "Can't find Tracer Factory"; // NOI18N } return ourTracerFactory; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentPositionAnnotationListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentPositionAnnotationListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentPositionAnnotationListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentPositionAnnotationListener.java @@ -107,8 +107,7 @@ public class CurrentPositionAnnotationLi return null; } - return (BpelDebugger) currentEngine.lookupFirst( - null, BpelDebugger.class); + return currentEngine.lookupFirst(null, BpelDebugger.class); } private static SourcePath getCurrentSourcePath() { @@ -119,7 +118,7 @@ public class CurrentPositionAnnotationLi return null; } - return (SourcePath)currentEngine.lookupFirst(null, SourcePath.class); + return currentEngine.lookupFirst(null, SourcePath.class); } private void updateCurrentPosition() { diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentProcessInstanceListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentProcessInstanceListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentProcessInstanceListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/CurrentProcessInstanceListener.java @@ -73,7 +73,7 @@ public class CurrentProcessInstanceListe return; } - debugger = (BpelDebugger) engine.lookupFirst(null, BpelDebugger.class); + debugger = engine.lookupFirst(null, BpelDebugger.class); if (debugger == null) { return; @@ -81,7 +81,7 @@ public class CurrentProcessInstanceListe debugger.addPropertyChangeListener(this); - sourcePath = (SourcePath) engine.lookupFirst(null, SourcePath.class); + sourcePath = engine.lookupFirst(null, SourcePath.class); if (sourcePath == null) { return; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/ExecutionAnnotationsListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/ExecutionAnnotationsListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/ExecutionAnnotationsListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/ExecutionAnnotationsListener.java @@ -109,7 +109,7 @@ public class ExecutionAnnotationsListene if (currentEngine == null) { return null; } - return (BpelDebugger)currentEngine.lookupFirst(null, BpelDebugger.class); + return currentEngine.lookupFirst(null, BpelDebugger.class); } private static SourcePath getCurrentSourcePath() { @@ -118,7 +118,7 @@ public class ExecutionAnnotationsListene if (currentEngine == null) { return null; } - return (SourcePath)currentEngine.lookupFirst(null, SourcePath.class); + return currentEngine.lookupFirst(null, SourcePath.class); } private void updateCurrentProcessInstance() { diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Action.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Action.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Action.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Action.java @@ -37,7 +37,7 @@ abstract class Action extends ActionsPro { Action(ContextProvider provider, Object action) { myAction = action; - myDebugger = (BpelDebugger) provider.lookupFirst (null, BpelDebugger.class); + myDebugger = provider.lookupFirst(null, BpelDebugger.class); myDebugger.addPropertyChangeListener(BpelDebugger.PROP_STATE, this); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BpelActionsProviderSupport.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BpelActionsProviderSupport.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BpelActionsProviderSupport.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BpelActionsProviderSupport.java @@ -48,7 +48,7 @@ public abstract class BpelActionsProvide mLookupProvider = lookupProvider; mAction = action; mDebugger = - (BpelDebugger) mLookupProvider.lookupFirst(null, BpelDebugger.class); + mLookupProvider.lookupFirst(null, BpelDebugger.class); setEnabled(true); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Breakpoint.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Breakpoint.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Breakpoint.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/Breakpoint.java @@ -273,9 +273,7 @@ public class Breakpoint extends ActionsP private BpelBreakpointListener getBreakpointAnnotationListener() { if (myBreakpointAnnotationListener == null) { - myBreakpointAnnotationListener = (BpelBreakpointListener) - DebuggerManager.getDebuggerManager().lookupFirst - (null, BpelBreakpointListener.class); + myBreakpointAnnotationListener = DebuggerManager.getDebuggerManager().lookupFirst(null, BpelBreakpointListener.class); } return myBreakpointAnnotationListener; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BreakpointEnableAction.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BreakpointEnableAction.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BreakpointEnableAction.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/action/BreakpointEnableAction.java @@ -148,9 +148,7 @@ public class BreakpointEnableAction exte private BpelBreakpointListener getBreakpointAnnotationListener () { if (myBreakpointAnnotationListener == null) { - myBreakpointAnnotationListener = (BpelBreakpointListener) - DebuggerManager.getDebuggerManager ().lookupFirst - (null, BpelBreakpointListener.class); + myBreakpointAnnotationListener = DebuggerManager.getDebuggerManager().lookupFirst(null, BpelBreakpointListener.class); } return myBreakpointAnnotationListener; } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/BpelLineBreakpointView.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/BpelLineBreakpointView.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/BpelLineBreakpointView.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/BpelLineBreakpointView.java @@ -130,9 +130,7 @@ public class BpelLineBreakpointView exte private BpelBreakpointListener getBreakpointListener() { if (myBreakpointListener == null) { - myBreakpointListener = (BpelBreakpointListener) - DebuggerManager.getDebuggerManager().lookupFirst - (null, BpelBreakpointListener.class); + myBreakpointListener = DebuggerManager.getDebuggerManager().lookupFirst(null, BpelBreakpointListener.class); } return myBreakpointListener; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/DebuggerHelperImpl.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/DebuggerHelperImpl.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/DebuggerHelperImpl.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/breakpoint/DebuggerHelperImpl.java @@ -126,9 +126,7 @@ public class DebuggerHelperImpl implemen private BpelBreakpointListener getBreakpointAnnotationListener () { if (myBreakpointAnnotationListener == null) { - myBreakpointAnnotationListener = (BpelBreakpointListener) - DebuggerManager.getDebuggerManager ().lookupFirst - (null, BpelBreakpointListener.class); + myBreakpointAnnotationListener = DebuggerManager.getDebuggerManager().lookupFirst(null, BpelBreakpointListener.class); } return myBreakpointAnnotationListener; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionTreeModel.java @@ -56,8 +56,7 @@ public class ProcessExecutionTreeModel i */ public ProcessExecutionTreeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionViewListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionViewListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionViewListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/execution/ProcessExecutionViewListener.java @@ -131,13 +131,14 @@ public class ProcessExecutionViewListene Models.setModelsToView(myView, Models.createCompoundModel(models)); } - private List lookup( + // XXX copy-paste programming! + private List lookup( final DebuggerEngine engine, final DebuggerManager manager, - final Class service) { - final List engineService = engine.lookup(myViewType, service); - final List managerService = manager.lookup(myViewType, service); - final List joined = new ArrayList(); + final Class service) { + final List engineService = engine.lookup(myViewType, service); + final List managerService = manager.lookup(myViewType, service); + final List joined = new ArrayList(); add(joined, engineService); add(joined, managerService); @@ -145,12 +146,10 @@ public class ProcessExecutionViewListene return joined; } - private void add( - final List source, - final List collection) { - final Object[] elements = collection.toArray(); - - for (Object element : elements) { + private void add( + final List source, + final List collection) { + for (T element : collection) { if (!source.contains(element)) { source.add(element); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTableModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTableModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTableModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTableModel.java @@ -59,8 +59,7 @@ public class PLinksTableModel implements public PLinksTableModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksTreeModel.java @@ -71,8 +71,7 @@ public class PLinksTreeModel implements */ public PLinksTreeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksViewListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksViewListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksViewListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/plinks/PLinksViewListener.java @@ -131,13 +131,14 @@ public class PLinksViewListener extends Models.setModelsToView(myView, Models.createCompoundModel(models)); } - private List lookup( + // XXX copy-paste programming! + private List lookup( final DebuggerEngine engine, final DebuggerManager manager, - final Class service) { - final List engineService = engine.lookup(myViewType, service); - final List managerService = manager.lookup(myViewType, service); - final List joined = new ArrayList(); + final Class service) { + final List engineService = engine.lookup(myViewType, service); + final List managerService = manager.lookup(myViewType, service); + final List joined = new ArrayList(); add(joined, engineService); add(joined, managerService); @@ -145,12 +146,10 @@ public class PLinksViewListener extends return joined; } - private void add( - final List source, - final List collection) { - final Object[] elements = collection.toArray(); - - for (Object element : elements) { + private void add( + final List source, + final List collection) { + for (T element : collection) { if (!source.contains(element)) { source.add(element); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesActionProvider.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesActionProvider.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesActionProvider.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesActionProvider.java @@ -118,8 +118,7 @@ public class ProcessesActionProvider imp public ProcessesActionProvider( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesColumnModel_Value.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesColumnModel_Value.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesColumnModel_Value.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesColumnModel_Value.java @@ -45,8 +45,7 @@ public final class ProcessesColumnModel_ public ProcessesColumnModel_Value(final ContextProvider context) { super(); - myDebugger = (BpelDebugger) context.lookupFirst( - null, BpelDebugger.class); + myDebugger = context.lookupFirst(null, BpelDebugger.class); myId = COLUMN_ID; myName = "CTL_Process_Column_Value"; // NOI18N diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesNodeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesNodeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesNodeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesNodeModel.java @@ -54,8 +54,7 @@ public class ProcessesNodeModel implemen public ProcessesNodeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myVariablesUtil = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTableModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTableModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTableModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTableModel.java @@ -55,8 +55,7 @@ public class ProcessesTableModel impleme public ProcessesTableModel( final ContextProvider lookupProvider) { - myDebugger = (BpelDebugger) - lookupProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = lookupProvider.lookupFirst(null, BpelDebugger.class); myVariablesUtil = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeExpansionModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeExpansionModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeExpansionModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeExpansionModel.java @@ -42,8 +42,7 @@ public class ProcessesTreeExpansionModel public ProcessesTreeExpansionModel( final ContextProvider lookupProvider) { - myDebugger = (BpelDebugger) - lookupProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = lookupProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesTreeModel.java @@ -73,8 +73,7 @@ public class ProcessesTreeModel implemen public ProcessesTreeModel( final ContextProvider lookupProvider) { - myDebugger = (BpelDebugger) - lookupProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = lookupProvider.lookupFirst(null, BpelDebugger.class); myVariablesUtil = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesViewListener.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesViewListener.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesViewListener.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/process/ProcessesViewListener.java @@ -102,29 +102,29 @@ class ProcessesViewListener extends Debu Models.setModelsToView (myView, Models.createCompoundModel (models)); } - private List lookup( - DebuggerEngine engine, - DebuggerManager manager, - Class service) - { - List engineService = engine.lookup(myViewType, service); - List managerService = manager.lookup(myViewType, service); - List joined = new ArrayList(); - - add (joined, engineService); - add (joined, managerService); - + // XXX copy-paste programming! + private List lookup( + final DebuggerEngine engine, + final DebuggerManager manager, + final Class service) { + final List engineService = engine.lookup(myViewType, service); + final List managerService = manager.lookup(myViewType, service); + final List joined = new ArrayList(); + + add(joined, engineService); + add(joined, managerService); + return joined; } - - private void add(List source, List collection) { - Object[] elements = collection.toArray(); - - for (Object element : elements) { - if ( !source.contains(element)) { + + private void add( + final List source, + final List collection) { + for (T element : collection) { + if (!source.contains(element)) { source.add(element); } - } + } } private String myViewType; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/session/BpelSessionView.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/session/BpelSessionView.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/session/BpelSessionView.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/session/BpelSessionView.java @@ -41,8 +41,7 @@ public class BpelSessionView private Vector listeners = new Vector(); public BpelSessionView(ContextProvider contextProvider) { - BpelDebugger debugger = (BpelDebugger) contextProvider. - lookupFirst (null, BpelDebugger.class); + BpelDebugger debugger = contextProvider.lookupFirst(null, BpelDebugger.class); debugger.addPropertyChangeListener(debugger.PROP_STATE, this); } @@ -55,7 +54,7 @@ public class BpelSessionView if (e == null) { return ""; } - BpelDebugger d = (BpelDebugger)e.lookupFirst(null, BpelDebugger.class); + BpelDebugger d = e.lookupFirst(null, BpelDebugger.class); if (d != null) { switch (d.getState()) { case BpelDebugger.STATE_DISCONNECTED: diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcePathImpl.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcePathImpl.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcePathImpl.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcePathImpl.java @@ -98,10 +98,8 @@ public class SourcePathImpl implements S */ public SourcePathImpl(ContextProvider lookupProvider) { myLookupProvider = lookupProvider; - myDebugger = (BpelDebugger) lookupProvider.lookupFirst - (null, BpelDebugger.class); - mySourcesRegistry = (BpelSourcesRegistry)Lookup. - getDefault().lookup(BpelSourcesRegistry.class); + myDebugger = lookupProvider.lookupFirst(null, BpelDebugger.class); + mySourcesRegistry = Lookup.getDefault().lookup(BpelSourcesRegistry.class); updateAvailableSources(); } @@ -252,16 +250,14 @@ public class SourcePathImpl implements S private synchronized SessionCookie getSessionCookie() { if (mySessionCookie == null) { - mySessionCookie = (SessionCookie) myLookupProvider.lookupFirst( - null, SessionCookie.class); + mySessionCookie = myLookupProvider.lookupFirst(null, SessionCookie.class); } return mySessionCookie; } private synchronized SourcePathSelectionProvider getSelectionProvider() { if (mySelectionProvider == null) { - mySelectionProvider = (SourcePathSelectionProvider) myLookupProvider.lookupFirst( - null, SourcePathSelectionProvider.class); + mySelectionProvider = myLookupProvider.lookupFirst(null, SourcePathSelectionProvider.class); } return mySelectionProvider; } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcesModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcesModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcesModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/source/SourcesModel.java @@ -61,10 +61,8 @@ NodeActionsProvider { private Set disabledSourceRoots = new HashSet (); public SourcesModel (ContextProvider lookupProvider) { - sourcePath = (SourcePath) lookupProvider. - lookupFirst (null, SourcePath.class); - debugger = (BpelDebugger) lookupProvider. - lookupFirst (null, BpelDebugger.class); + sourcePath = lookupProvider.lookupFirst(null, SourcePath.class); + debugger = lookupProvider.lookupFirst(null, BpelDebugger.class); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsActionProvider.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsActionProvider.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsActionProvider.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsActionProvider.java @@ -68,8 +68,7 @@ public class ThreadsActionProvider imple public ThreadsActionProvider( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsNodeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsNodeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsNodeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsNodeModel.java @@ -41,8 +41,7 @@ public class ThreadsNodeModel implements public ThreadsNodeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTableModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTableModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTableModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTableModel.java @@ -45,8 +45,7 @@ public class ThreadsTableModel implement public ThreadsTableModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/threads/ThreadsTreeModel.java @@ -52,8 +52,7 @@ public class ThreadsTreeModel implements */ public ThreadsTreeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/ModelUtil.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/ModelUtil.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/ModelUtil.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/ModelUtil.java @@ -74,7 +74,7 @@ public final class ModelUtil { } final SourcePath sourcePath = - (SourcePath) engine.lookupFirst(null, SourcePath.class); + engine.lookupFirst(null, SourcePath.class); if (sourcePath == null) { return null; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/VariablesUtil.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/VariablesUtil.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/VariablesUtil.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/util/VariablesUtil.java @@ -895,7 +895,7 @@ public class VariablesUtil { } final SourcePath sourcePath = - (SourcePath) engine.lookupFirst(null, SourcePath.class); + engine.lookupFirst(null, SourcePath.class); final ProcessInstance instance = myDebugger.getCurrentProcessInstance(); if ((sourcePath == null) || (instance == null)) { diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Type.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Type.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Type.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Type.java @@ -39,8 +39,7 @@ public final class LocalsColumnModel_Typ public LocalsColumnModel_Type(final ContextProvider context) { super(); - myDebugger = (BpelDebugger) context.lookupFirst( - null, BpelDebugger.class); + myDebugger = context.lookupFirst(null, BpelDebugger.class); myId = Constants.LOCALS_TYPE_COLUMN_ID; myName = "CTL_Variable_Column_Type"; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Value.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Value.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Value.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsColumnModel_Value.java @@ -48,8 +48,7 @@ public final class LocalsColumnModel_Val public LocalsColumnModel_Value(final ContextProvider context) { super(); - myDebugger = (BpelDebugger) context.lookupFirst( - null, BpelDebugger.class); + myDebugger = context.lookupFirst(null, BpelDebugger.class); myId = Constants.LOCALS_VALUE_COLUMN_ID; myName = "CTL_Variable_Column_Value"; diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsNodeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsNodeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsNodeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsNodeModel.java @@ -41,8 +41,7 @@ public class LocalsNodeModel implements public LocalsNodeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new VariablesUtil(myDebugger); } /**{@inheritDoc}*/ diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTableModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTableModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTableModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTableModel.java @@ -49,8 +49,7 @@ public class LocalsTableModel implements public LocalsTableModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/variable/LocalsTreeModel.java @@ -55,8 +55,7 @@ public class LocalsTreeModel implements */ public LocalsTreeModel( final ContextProvider contextProvider) { - myDebugger = (BpelDebugger) contextProvider.lookupFirst( - null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesNodeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesNodeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesNodeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesNodeModel.java @@ -48,8 +48,7 @@ public class WatchesNodeModel implements final ContextProvider contextProvider) { myContextProvider = contextProvider; - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new VariablesUtil(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTableModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTableModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTableModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTableModel.java @@ -44,8 +44,7 @@ public class WatchesTableModel implement final ContextProvider contextProvider) { myContextProvider = contextProvider; - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new Util(myDebugger); } diff --git a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTreeModel.java b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTreeModel.java --- a/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTreeModel.java +++ b/bpel.debugger.ui/src/org/netbeans/modules/bpel/debugger/ui/watch/WatchesTreeModel.java @@ -63,8 +63,7 @@ public class WatchesTreeModel implements final ContextProvider contextProvider) { myContextProvider = contextProvider; - myDebugger = (BpelDebugger) - contextProvider.lookupFirst(null, BpelDebugger.class); + myDebugger = contextProvider.lookupFirst(null, BpelDebugger.class); myHelper = new Util(myDebugger); } diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionCookie.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionCookie.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionCookie.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionCookie.java @@ -40,11 +40,11 @@ public class AttachingSessionCookie impl public String getSessionId() { if (mySessionId == null) { AttachingCookie attachingCookie = - (AttachingCookie) myContextProvider.lookupFirst (null, AttachingCookie.class); + myContextProvider.lookupFirst(null, AttachingCookie.class); if (attachingCookie != null) { mySessionId = attachingCookie.getHost() + ":" + attachingCookie.getPort(); } else { - Session session = (Session)myContextProvider.lookupFirst(null, Session.class); + Session session = myContextProvider.lookupFirst(null, Session.class); mySessionId = session.getName(); } } diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionProvider.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionProvider.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionProvider.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/AttachingSessionProvider.java @@ -51,13 +51,12 @@ public class AttachingSessionProvider ex public AttachingSessionProvider (ContextProvider contextProvider) { this.mContextProvider = contextProvider; - mAttachingCookie = (AttachingCookie) contextProvider.lookupFirst - (null, AttachingCookie.class); + mAttachingCookie = contextProvider.lookupFirst(null, AttachingCookie.class); }; public String getSessionName () { - Map arguments = (Map) mContextProvider.lookupFirst(null, Map.class); + Map arguments = mContextProvider.lookupFirst(null, Map.class); if (arguments != null) { String processName = (String) arguments.get("name"); if (processName != null) diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerEngineProvider.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerEngineProvider.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerEngineProvider.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerEngineProvider.java @@ -41,7 +41,7 @@ public class BpelDebuggerEngineProvider * @param contextProvider provides context for the BPEL debugger engine */ public BpelDebuggerEngineProvider(ContextProvider contextProvider) { - mySession = (Session) contextProvider.lookupFirst(null, Session.class); + mySession = contextProvider.lookupFirst(null, Session.class); } public String[] getLanguages() { diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerImpl.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerImpl.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerImpl.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/BpelDebuggerImpl.java @@ -82,7 +82,7 @@ public class BpelDebuggerImpl extends Bp super(lookupProvider); //TODO:why not just call lookupFirst? - List l = lookupProvider.lookup(null, DebuggerEngineProvider.class); + List l = lookupProvider.lookup(null, DebuggerEngineProvider.class); int i; int k = l.size(); @@ -108,8 +108,7 @@ public class BpelDebuggerImpl extends Bp public SourcePath getSourcePath() { if (mSourcePath == null) { - mSourcePath = (SourcePath)getLookupProvider(). - lookupFirst(null, SourcePath.class); + mSourcePath = getLookupProvider().lookupFirst(null, SourcePath.class); } return mSourcePath; } diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSessionCookie.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSessionCookie.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSessionCookie.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSessionCookie.java @@ -42,7 +42,7 @@ public class DebugProjectSessionCookie i if (mySessionId != null) { return mySessionId; } else { - Map params = (Map)myContextProvider.lookupFirst(null, Map.class); + Map params = myContextProvider.lookupFirst(null, Map.class); if (params != null) { String projectBaseDir = (String)params.get("projectBaseDir"); if (projectBaseDir != null) { @@ -52,7 +52,7 @@ public class DebugProjectSessionCookie i } //some deffensive logic - Session session = (Session)myContextProvider.lookupFirst(null, Session.class); + Session session = myContextProvider.lookupFirst(null, Session.class); mySessionId = session.getName(); return mySessionId; } diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSourcePathSelectionProvider.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSourcePathSelectionProvider.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSourcePathSelectionProvider.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/DebugProjectSourcePathSelectionProvider.java @@ -47,7 +47,7 @@ public class DebugProjectSourcePathSelec public boolean isSelected(String path) { if (mySubprojectsBaseDirs == null) { - Map params = (Map)myContextProvider.lookupFirst(null, Map.class); + Map params = myContextProvider.lookupFirst(null, Map.class); if (params != null) { String projectBaseDir = (String)params.get("projectBaseDir"); if (projectBaseDir != null) { diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/AttachActionProvider.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/AttachActionProvider.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/AttachActionProvider.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/AttachActionProvider.java @@ -23,14 +23,12 @@ import java.util.Collections; import java.util.Collections; import java.util.Set; import org.netbeans.api.debugger.ActionsManager; -import org.netbeans.api.debugger.Session; import org.netbeans.modules.bpel.debugger.api.BpelDebugger; import org.netbeans.modules.bpel.debugger.api.AttachingCookie; import org.netbeans.modules.bpel.debugger.api.DebugException; import org.netbeans.modules.bpel.debugger.BpelDebuggerImpl; import org.netbeans.spi.debugger.ActionsProviderSupport; import org.netbeans.spi.debugger.ContextProvider; -import org.openide.ErrorManager; import org.openide.util.RequestProcessor; @@ -60,7 +58,7 @@ public class AttachActionProvider extend public void postAction(Object action, Runnable actionPerformedNotifier) { AttachingCookie cookie = - (AttachingCookie) mLookupProvider.lookupFirst (null, AttachingCookie.class); + mLookupProvider.lookupFirst(null, AttachingCookie.class); final String host = cookie.getHost(); final int port = cookie.getPort(); diff --git a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/DebugProjectActionProvider.java b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/DebugProjectActionProvider.java --- a/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/DebugProjectActionProvider.java +++ b/bpel.debugger/src/org/netbeans/modules/bpel/debugger/action/DebugProjectActionProvider.java @@ -58,7 +58,7 @@ public class DebugProjectActionProvider @Override public void postAction(Object action, Runnable actionPerformedNotifier) { - final Map params = (Map)mLookupProvider.lookupFirst(null, Map.class); + final Map params = mLookupProvider.lookupFirst(null, Map.class); RequestProcessor.getDefault().post(new Runnable() { public void run() { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/CurrentThreadAnnotationListener.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/CurrentThreadAnnotationListener.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/CurrentThreadAnnotationListener.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/CurrentThreadAnnotationListener.java @@ -119,7 +119,7 @@ public class CurrentThreadAnnotationList if (currentEngine == null) { return null; } - return (GdbDebugger) currentEngine.lookupFirst(null, GdbDebugger.class); + return currentEngine.lookupFirst(null, GdbDebugger.class); } /** diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/DebuggerOutput.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/DebuggerOutput.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/DebuggerOutput.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/DebuggerOutput.java @@ -76,7 +76,7 @@ public class DebuggerOutput extends Lazy public DebuggerOutput(ContextProvider contextProvider) { this.contextProvider = contextProvider; - this.debugger = (GdbDebugger) contextProvider.lookupFirst(null, GdbDebugger.class); + this.debugger = contextProvider.lookupFirst(null, GdbDebugger.class); // close old tabs if (DebuggerManager.getDebuggerManager().getSessions().length == 1) { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbDebugger.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbDebugger.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbDebugger.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbDebugger.java @@ -207,8 +207,8 @@ public class GdbDebugger implements Prop setStarting(); try { - pae = (ProjectActionEvent) lookupProvider.lookupFirst(null, ProjectActionEvent.class); - iotab = (InputOutput) lookupProvider.lookupFirst(null, InputOutput.class); + pae = lookupProvider.lookupFirst(null, ProjectActionEvent.class); + iotab = lookupProvider.lookupFirst(null, InputOutput.class); if (iotab != null) { iotab.setErrSeparated(false); } @@ -242,7 +242,7 @@ public class GdbDebugger implements Prop gdb.gdb_set("print repeat", // NOI18N Integer.toString(CppSettings.getDefault().getArrayRepeatThreshold())); if (pae.getID() == DEBUG_ATTACH) { - programPID = (Long) lookupProvider.lookupFirst(null, Long.class); + programPID = lookupProvider.lookupFirst(null, Long.class); CommandBuffer cb = new CommandBuffer(); gdb.target_attach(cb, Long.toString(programPID)); cb.waitForCompletion(); @@ -318,7 +318,7 @@ public class GdbDebugger implements Prop gdb.exec_run(pae.getProfile().getArgsFlat()); } catch (Exception ex) { ErrorManager.getDefault().notify(ex); - ((Session) lookupProvider.lookupFirst(null, Session.class)).kill(); + lookupProvider.lookupFirst(null, Session.class).kill(); } if (Utilities.isWindows()) { gdb.info_threads(); // we get the PID from this... @@ -584,8 +584,7 @@ public class GdbDebugger implements Prop } if (gdb != null) { if (state.equals(STATE_RUNNING)) { - ProjectActionEvent pae = (ProjectActionEvent) lookupProvider.lookupFirst( - null, ProjectActionEvent.class); + ProjectActionEvent pae = lookupProvider.lookupFirst(null, ProjectActionEvent.class); gdb.exec_interrupt(); if (pae.getID() == DEBUG_ATTACH) { gdb.target_detach(); @@ -733,7 +732,7 @@ public class GdbDebugger implements Prop DialogDisplayer.getDefault().notify( new NotifyDescriptor.Message(NbBundle.getMessage(GdbDebugger.class, "ERR_CantAttach"))); // NOI18N - ((Session) lookupProvider.lookupFirst(null, Session.class)).kill(); + (lookupProvider.lookupFirst(null, Session.class)).kill(); } else if (msg.startsWith("\"No symbol ") && msg.endsWith(" in current context.\"")) { // NOI18N String type = msg.substring(13, msg.length() - 23); log.warning("Failed type lookup for " + type); @@ -743,7 +742,7 @@ public class GdbDebugger implements Prop DialogDisplayer.getDefault().notify( new NotifyDescriptor.Message(NbBundle.getMessage(GdbDebugger.class, "ERR_CorruptedStack"))); // NOI18N - ((Session) lookupProvider.lookupFirst(null, Session.class)).kill(); + (lookupProvider.lookupFirst(null, Session.class)).kill(); } else if (msg.contains("error reading line numbers")) { // NOI18N DialogDisplayer.getDefault().notify( new NotifyDescriptor.Message(NbBundle.getMessage(GdbDebugger.class, @@ -752,7 +751,7 @@ public class GdbDebugger implements Prop DialogDisplayer.getDefault().notify( new NotifyDescriptor.Message(NbBundle.getMessage(GdbDebugger.class, "ERR_NoSymbolTable"))); // NOI18N - ((Session) lookupProvider.lookupFirst(null, Session.class)).kill(); + (lookupProvider.lookupFirst(null, Session.class)).kill(); } else if (msg.contains("Cannot access memory at address")) { // NOI18N // ignore - probably dereferencing an uninitialized pointer } else if (msg.contains("mi_cmd_break_insert: Garbage following ")) { // NOI18N diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbEngineProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbEngineProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbEngineProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbEngineProvider.java @@ -53,7 +53,7 @@ public class GdbEngineProvider extends D private Session session; public GdbEngineProvider(ContextProvider contextProvider) { - session = (Session) contextProvider.lookupFirst(null, Session.class); + session = contextProvider.lookupFirst(null, Session.class); } public String[] getLanguages() { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbSessionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbSessionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbSessionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/GdbSessionProvider.java @@ -56,7 +56,7 @@ public class GdbSessionProvider extends public GdbSessionProvider(ContextProvider contextProvider) { this.contextProvider = contextProvider; - projectActionEvent = (ProjectActionEvent) contextProvider.lookupFirst(null, ProjectActionEvent.class); + projectActionEvent = contextProvider.lookupFirst(null, ProjectActionEvent.class); }; public String getSessionName () { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/LocalVariableImpl.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/LocalVariableImpl.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/LocalVariableImpl.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/LocalVariableImpl.java @@ -94,7 +94,7 @@ public class LocalVariableImpl implement if (debugger == null) { // Don't set it unless its needed... DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager().getCurrentEngine(); - debugger = (GdbDebugger) currentEngine.lookupFirst(null, GdbDebugger.class); + debugger = currentEngine.lookupFirst(null, GdbDebugger.class); } debugger.getGdbProxy().data_evaluate_expression(name + "=" + expression); // NOI18N diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/ToolTipAnnotation.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/ToolTipAnnotation.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/ToolTipAnnotation.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/ToolTipAnnotation.java @@ -74,7 +74,7 @@ public class ToolTipAnnotation extends A if (currentEngine == null) { return null; } - GdbDebugger debugger = (GdbDebugger) currentEngine.lookupFirst(null, GdbDebugger.class); + GdbDebugger debugger = currentEngine.lookupFirst(null, GdbDebugger.class); if (debugger == null) { return null; } @@ -87,7 +87,7 @@ public class ToolTipAnnotation extends A if (dob == null) { return null; } - EditorCookie ec = (EditorCookie) dob.getCookie(EditorCookie.class); + EditorCookie ec = dob.getCookie(EditorCookie.class); if (ec == null) { return null; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/GdbDebuggerActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/GdbDebuggerActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/GdbDebuggerActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/GdbDebuggerActionProvider.java @@ -60,7 +60,7 @@ public abstract class GdbDebuggerActionP private volatile boolean disabled; GdbDebuggerActionProvider(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); debugger.addPropertyChangeListener(this); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/KillActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/KillActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/KillActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/KillActionProvider.java @@ -74,8 +74,7 @@ public class KillActionProvider extends private GdbDebugger debuggerImpl; public KillActionProvider(ContextProvider lookupProvider) { - debuggerImpl = (GdbDebugger) lookupProvider.lookupFirst - (null, GdbDebugger.class); + debuggerImpl = lookupProvider.lookupFirst(null, GdbDebugger.class); //super (debuggerImpl); this.lookupProvider = lookupProvider; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCalleeCurrentActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCalleeCurrentActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCalleeCurrentActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCalleeCurrentActionProvider.java @@ -63,7 +63,7 @@ public class MakeCalleeCurrentActionProv public MakeCalleeCurrentActionProvider(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); this.lookupProvider = lookupProvider; debugger.addPropertyChangeListener(GdbDebugger.PROP_CURRENT_CALL_STACK_FRAME, this); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCallerCurrentActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCallerCurrentActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCallerCurrentActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/MakeCallerCurrentActionProvider.java @@ -64,7 +64,7 @@ public class MakeCallerCurrentActionProv private GdbDebugger debugger; public MakeCallerCurrentActionProvider(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); this.lookupProvider = lookupProvider; debugger.addPropertyChangeListener(GdbDebugger.PROP_CURRENT_CALL_STACK_FRAME, this); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/StartActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/StartActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/StartActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/StartActionProvider.java @@ -71,7 +71,7 @@ public class StartActionProvider extends */ public StartActionProvider(ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debuggerImpl = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debuggerImpl = lookupProvider.lookupFirst(null, GdbDebugger.class); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/ToggleBreakpointActionProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/ToggleBreakpointActionProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/ToggleBreakpointActionProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/actions/ToggleBreakpointActionProvider.java @@ -115,8 +115,7 @@ public class ToggleBreakpointActionProvi private BreakpointAnnotationListener getBreakpointAnnotationListener() { if (breakpointAnnotationListener == null) { - breakpointAnnotationListener = (BreakpointAnnotationListener) - DebuggerManager.getDebuggerManager().lookupFirst(null, BreakpointAnnotationListener.class); + breakpointAnnotationListener = DebuggerManager.getDebuggerManager().lookupFirst(null, BreakpointAnnotationListener.class); } return breakpointAnnotationListener; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointOutput.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointOutput.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointOutput.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointOutput.java @@ -86,7 +86,7 @@ public class BreakpointOutput extends La public BreakpointOutput(ContextProvider contextProvider) { this.contextProvider = contextProvider; - this.debugger = (GdbDebugger) contextProvider.lookupFirst(null, GdbDebugger.class); + this.debugger = contextProvider.lookupFirst(null, GdbDebugger.class); debugger.addPropertyChangeListener(GdbDebugger.PROP_STATE, this); hookBreakpoints(); DebuggerManager.getDebuggerManager().addDebuggerListener(DebuggerManager.PROP_BREAKPOINTS, this); diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsEngineListener.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsEngineListener.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsEngineListener.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsEngineListener.java @@ -70,8 +70,8 @@ public class BreakpointsEngineListener e private HashMap breakpointToImpl = new HashMap(); public BreakpointsEngineListener(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); - session = (Session) lookupProvider.lookupFirst(null, Session.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); debugger.addPropertyChangeListener(this); breakpointsReader = PersistenceManager.findBreakpointsReader(); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsUpdater.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsUpdater.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsUpdater.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/breakpoints/BreakpointsUpdater.java @@ -59,10 +59,9 @@ public class BreakpointsUpdater extends private GdbDebugger debugger; public BreakpointsUpdater(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); EditorContextBridge.createTimeStamp(debugger); - BreakpointAnnotationListener bal = (BreakpointAnnotationListener) - DebuggerManager.getDebuggerManager().lookupFirst(null, BreakpointAnnotationListener.class); + BreakpointAnnotationListener bal = DebuggerManager.getDebuggerManager().lookupFirst(null, BreakpointAnnotationListener.class); bal.updateBreakpoints(); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/disassembly/Disassembly.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/disassembly/Disassembly.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/disassembly/Disassembly.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/disassembly/Disassembly.java @@ -218,7 +218,7 @@ public class Disassembly implements Prop if (currentEngine == null) { return null; } - GdbDebugger debugger = (GdbDebugger) currentEngine.lookupFirst(null, GdbDebugger.class); + GdbDebugger debugger = currentEngine.lookupFirst(null, GdbDebugger.class); if (debugger == null) { return null; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/AbstractVariable.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/AbstractVariable.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/AbstractVariable.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/AbstractVariable.java @@ -522,7 +522,7 @@ public class AbstractVariable implements if (currentEngine == null) { return null; } - debugger = (GdbDebugger) currentEngine.lookupFirst(null, GdbDebugger.class); + debugger = currentEngine.lookupFirst(null, GdbDebugger.class); } return debugger; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackActionsProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackActionsProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackActionsProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackActionsProvider.java @@ -95,7 +95,7 @@ public class CallStackActionsProvider im public CallStackActionsProvider(ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } public Action[] getActions(Object node) throws UnknownTypeException { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackNodeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackNodeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackNodeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackNodeModel.java @@ -73,8 +73,8 @@ public class CallStackNodeModel implemen public CallStackNodeModel(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); - session = (Session) lookupProvider.lookupFirst(null, Session.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); new Listener(this, debugger); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackTreeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackTreeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackTreeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/CallStackTreeModel.java @@ -69,7 +69,7 @@ public class CallStackTreeModel implemen public CallStackTreeModel(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } /** diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/LocalsTreeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/LocalsTreeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/LocalsTreeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/LocalsTreeModel.java @@ -77,7 +77,7 @@ public class LocalsTreeModel implements private static Logger log = Logger.getLogger("gdb.logger"); // NOI18N public LocalsTreeModel(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } public Object getRoot() { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsActionsProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsActionsProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsActionsProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsActionsProvider.java @@ -80,7 +80,7 @@ public class ThreadsActionsProvider impl private GdbDebugger getDebugger() { if (debugger == null) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } return debugger; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsNodeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsNodeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsNodeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsNodeModel.java @@ -69,7 +69,7 @@ public class ThreadsNodeModel implements private Vector listeners = new Vector(); public ThreadsNodeModel(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); new Listener(this, debugger); } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsTreeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsTreeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsTreeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/ThreadsTreeModel.java @@ -66,7 +66,7 @@ public class ThreadsTreeModel implements private Listener listener; public ThreadsTreeModel(ContextProvider lookupProvider) { - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } /** diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesActionsProvider.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesActionsProvider.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesActionsProvider.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesActionsProvider.java @@ -81,7 +81,7 @@ public class VariablesActionsProvider im public VariablesActionsProvider(ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } public Action[] getActions(Object node) throws UnknownTypeException { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesTableModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesTableModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesTableModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/VariablesTableModel.java @@ -74,7 +74,7 @@ public class VariablesTableModel impleme public VariablesTableModel(ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); } public Object getValueAt(Object row, String columnID) throws UnknownTypeException { diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/WatchesTreeModel.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/WatchesTreeModel.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/WatchesTreeModel.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/WatchesTreeModel.java @@ -85,7 +85,7 @@ public class WatchesTreeModel implements public WatchesTreeModel(ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (GdbDebugger) lookupProvider.lookupFirst(null, GdbDebugger.class); + debugger = lookupProvider.lookupFirst(null, GdbDebugger.class); debugger.addPropertyChangeListener(this); watchesTreeModel = this; } diff --git a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/proxy/GdbConsoleWindow.java b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/proxy/GdbConsoleWindow.java --- a/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/proxy/GdbConsoleWindow.java +++ b/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/proxy/GdbConsoleWindow.java @@ -88,8 +88,7 @@ public class GdbConsoleWindow extends To this.debugger = debugger; this.gdbProxy = gdbProxy; debugger.addPropertyChangeListener(this); - ProjectActionEvent pae = (ProjectActionEvent) - debugger.getLookup().lookupFirst(null, ProjectActionEvent.class); + ProjectActionEvent pae = debugger.getLookup().lookupFirst(null, ProjectActionEvent.class); programName.setText(pae.getExecutable()); } diff --git a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAAppReloaded.java b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAAppReloaded.java --- a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAAppReloaded.java +++ b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAAppReloaded.java @@ -75,8 +75,7 @@ public class JPDAAppReloaded extends Tas logger.fine("No debugging sessions was found."); return ; } - JPDADebugger debugger = (JPDADebugger) debuggerEngine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = debuggerEngine.lookupFirst(null, JPDADebugger.class); if (debugger == null) { logger.fine("Current debugger is not JPDA one."); return ; diff --git a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAReload.java b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAReload.java --- a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAReload.java +++ b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAReload.java @@ -106,8 +106,7 @@ public class JPDAReload extends Task { if (debuggerEngine == null) { throw new BuildException ("No debugging sessions was found."); } - JPDADebugger debugger = (JPDADebugger) debuggerEngine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = debuggerEngine.lookupFirst(null, JPDADebugger.class); if (debugger == null) { throw new BuildException("Current debugger is not JPDA one."); } @@ -122,8 +121,7 @@ public class JPDAReload extends Task { FileUtils fileUtils = FileUtils.newFileUtils (); Map map = new HashMap (); - EditorContext editorContext = (EditorContext) DebuggerManager. - getDebuggerManager ().lookupFirst (null, EditorContext.class); + EditorContext editorContext = DebuggerManager.getDebuggerManager().lookupFirst(null, EditorContext.class); Iterator it = filesets.iterator (); while (it.hasNext ()) { diff --git a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAStart.java b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAStart.java --- a/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAStart.java +++ b/debugger.jpda.ant/antsrc/org/netbeans/modules/debugger/jpda/ant/JPDAStart.java @@ -569,8 +569,7 @@ public class JPDAStart extends Task impl } public void engineAdded (DebuggerEngine engine) { - JPDADebugger debugger = (JPDADebugger) engine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = engine.lookupFirst(null, JPDADebugger.class); if (debugger == null) return; debugger.addPropertyChangeListener ( JPDADebugger.PROP_STATE, @@ -580,8 +579,7 @@ public class JPDAStart extends Task impl } public void engineRemoved (DebuggerEngine engine) { - JPDADebugger debugger = (JPDADebugger) engine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = engine.lookupFirst(null, JPDADebugger.class); if (debugger == null) return; debugger.removePropertyChangeListener ( JPDADebugger.PROP_STATE, diff --git a/debugger.jpda.ant/build.xml b/debugger.jpda.ant/build.xml --- a/debugger.jpda.ant/build.xml +++ b/debugger.jpda.ant/build.xml @@ -46,7 +46,7 @@ made subject to such option by the copyr - + diff --git a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/models/HeapActionsFilter.java b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/models/HeapActionsFilter.java --- a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/models/HeapActionsFilter.java +++ b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/models/HeapActionsFilter.java @@ -79,8 +79,7 @@ public class HeapActionsFilter implement /** Creates a new instance of HeapActionsFilter */ public HeapActionsFilter(ContextProvider contextProvider) { - debugger = (JPDADebugger) contextProvider. - lookupFirst (null, JPDADebugger.class); + debugger = contextProvider.lookupFirst(null, JPDADebugger.class); } diff --git a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ClassesCountsView.java b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ClassesCountsView.java --- a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ClassesCountsView.java +++ b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ClassesCountsView.java @@ -154,7 +154,7 @@ public class ClassesCountsView extends T JPDADebugger debugger = null; DebuggerEngine engine = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (engine != null) { - debugger = (JPDADebugger) engine.lookupFirst(null, JPDADebugger.class); + debugger = engine.lookupFirst(null, JPDADebugger.class); } if (content != null) { remove(content); @@ -293,7 +293,7 @@ public class ClassesCountsView extends T private synchronized void attachToStateChange(DebuggerEngine engine) { detachFromStateChange(); if (engine == null) return ; - JPDADebugger debugger = (JPDADebugger) engine.lookupFirst(null, JPDADebugger.class); + JPDADebugger debugger = engine.lookupFirst(null, JPDADebugger.class); if (debugger == null) return ; debugger.addPropertyChangeListener(JPDADebugger.PROP_STATE, this); lastDebugger = new WeakReference(debugger); diff --git a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/InstancesView.java b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/InstancesView.java --- a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/InstancesView.java +++ b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/InstancesView.java @@ -220,7 +220,7 @@ public class InstancesView extends TopCo int state = JPDADebugger.STATE_DISCONNECTED; DebuggerEngine de = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (de != null) { - JPDADebugger d = (JPDADebugger) de.lookupFirst(null, JPDADebugger.class); + JPDADebugger d = de.lookupFirst(null, JPDADebugger.class); if (d != null) { state = getThreadsState(d); synchronized (this) { diff --git a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ViewModelListener.java b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ViewModelListener.java --- a/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ViewModelListener.java +++ b/debugger.jpda.heapwalk/src/org/netbeans/modules/debugger/jpda/heapwalk/views/ViewModelListener.java @@ -120,13 +120,18 @@ class ViewModelListener extends Debugger public void propertyChange (PropertyChangeEvent e) { updateModel (); } - - private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { - List es = e.lookup (viewType, service); - List ms = dm.lookup(viewType, service); - ms.removeAll(es); - es.addAll(ms); - return es; + + // XXX copy-paste programming! + private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { + List es = e.lookup (viewType, service); + List ms = dm.lookup(viewType, service); + List joined = new ArrayList(es); + for (T t : ms) { + if (!es.contains(t)) { + joined.add(t); + } + } + return joined; } private synchronized void updateModel () { diff --git a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/FixActionProvider.java b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/FixActionProvider.java --- a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/FixActionProvider.java +++ b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/FixActionProvider.java @@ -79,8 +79,7 @@ public class FixActionProvider extends A public FixActionProvider (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); listener = new Listener (); MainProjectManager.getDefault ().addPropertyChangeListener (listener); diff --git a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/RunToCursorActionProvider.java b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/RunToCursorActionProvider.java --- a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/RunToCursorActionProvider.java +++ b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/RunToCursorActionProvider.java @@ -89,8 +89,7 @@ public class RunToCursorActionProvider e private LineBreakpoint breakpoint; { - editor = (EditorContext) DebuggerManager. - getDebuggerManager ().lookupFirst (null, EditorContext.class); + editor = DebuggerManager.getDebuggerManager().lookupFirst(null, EditorContext.class); Listener listener = new Listener (); MainProjectManager.getDefault ().addPropertyChangeListener (listener); @@ -222,8 +221,7 @@ public class RunToCursorActionProvider e } public void engineAdded (DebuggerEngine engine) { - JPDADebugger debugger = (JPDADebugger) engine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = engine.lookupFirst(null, JPDADebugger.class); if (debugger == null) return; debugger.addPropertyChangeListener ( JPDADebugger.PROP_STATE, @@ -232,8 +230,7 @@ public class RunToCursorActionProvider e } public void engineRemoved (DebuggerEngine engine) { - JPDADebugger debugger = (JPDADebugger) engine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger debugger = engine.lookupFirst(null, JPDADebugger.class); if (debugger == null) return; debugger.removePropertyChangeListener ( JPDADebugger.PROP_STATE, diff --git a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java --- a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java +++ b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java @@ -116,8 +116,7 @@ public class SourcePathProviderImpl exte pcs = new PropertyChangeSupport (this); //this.session = (Session) contextProvider.lookupFirst // (null, Session.class); - Map properties = (Map) contextProvider.lookupFirst - (null, Map.class); + Map properties = contextProvider.lookupFirst(null, Map.class); // 2) get default allSourceRoots of source roots used for stepping if (properties != null) { diff --git a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java --- a/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java +++ b/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java @@ -83,8 +83,7 @@ public class ToolTipAnnotation extends A DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager (). getCurrentEngine (); if (currentEngine == null) return null; - JPDADebugger d = (JPDADebugger) currentEngine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = currentEngine.lookupFirst(null, JPDADebugger.class); if (d == null) return null; Part lp = (Part) getAttachedAnnotatable(); @@ -92,7 +91,7 @@ public class ToolTipAnnotation extends A Line line = lp.getLine (); DataObject dob = DataEditorSupport.findDataObject (line); if (dob == null) return null; - EditorCookie ec = (EditorCookie) dob.getCookie (EditorCookie.class); + EditorCookie ec = dob.getCookie(EditorCookie.class); if (ec == null) return null; // Only for editable dataobjects @@ -126,8 +125,7 @@ public class ToolTipAnnotation extends A DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager (). getCurrentEngine (); if (currentEngine == null) return; - JPDADebugger d = (JPDADebugger) currentEngine.lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = currentEngine.lookupFirst(null, JPDADebugger.class); if (d == null) return; JPDAThread t = d.getCurrentThread(); if (t == null || !t.isSuspended()) return ; diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/BreakpointOutput.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/BreakpointOutput.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/BreakpointOutput.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/BreakpointOutput.java @@ -91,10 +91,9 @@ PropertyChangeListener { public BreakpointOutput (ContextProvider contextProvider) { this.contextProvider = contextProvider; - this.debugger = (JPDADebugger) contextProvider.lookupFirst - (null, JPDADebugger.class); + this.debugger = contextProvider.lookupFirst(null, JPDADebugger.class); debugger.addPropertyChangeListener ( - debugger.PROP_STATE, + JPDADebugger.PROP_STATE, this ); hookBreakpoints (); diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/ConnectPanel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/ConnectPanel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/ConnectPanel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/ConnectPanel.java @@ -360,8 +360,7 @@ Controller, ActionListener { ); if (es != null) { for (int i = 0; i < es.length; i++) { - JPDADebugger d = (JPDADebugger) es [i].lookupFirst - (null, JPDADebugger.class); + JPDADebugger d = es[i].lookupFirst(null, JPDADebugger.class); if (d == null) continue; try { // workaround for #64227 diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/CurrentThreadAnnotationListener.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/CurrentThreadAnnotationListener.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/CurrentThreadAnnotationListener.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/CurrentThreadAnnotationListener.java @@ -119,8 +119,7 @@ public class CurrentThreadAnnotationList DebuggerEngine currentEngine = DebuggerManager. getDebuggerManager ().getCurrentEngine (); if (currentEngine == null) return null; - return (JPDADebugger) currentEngine.lookupFirst - (null, JPDADebugger.class); + return currentEngine.lookupFirst(null, JPDADebugger.class); } private void updateCurrentThread () { @@ -171,7 +170,7 @@ public class CurrentThreadAnnotationList DebuggerEngine currentEngine = (currentSession == null) ? null : currentSession.getCurrentEngine(); final SourcePath sourcePath = (currentEngine == null) ? - null : (SourcePath) currentEngine.lookupFirst(null, SourcePath.class); + null : currentEngine.lookupFirst(null, SourcePath.class); // 3) annotate current line & stack synchronized (currentPCLock) { diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/DebuggerOutput.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/DebuggerOutput.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/DebuggerOutput.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/DebuggerOutput.java @@ -97,12 +97,10 @@ PropertyChangeListener { public DebuggerOutput (ContextProvider contextProvider) { this.contextProvider = contextProvider; - this.debugger = (JPDADebugger) contextProvider.lookupFirst - (null, JPDADebugger.class); + this.debugger = contextProvider.lookupFirst(null, JPDADebugger.class); //this.engine = (DebuggerEngine) contextProvider.lookupFirst // (null, DebuggerEngine.class); - engineContext = (SourcePath) contextProvider.lookupFirst - (null, SourcePath.class); + engineContext = contextProvider.lookupFirst(null, SourcePath.class); // close old tabs if (DebuggerManager.getDebuggerManager ().getSessions ().length == 1) { @@ -113,7 +111,7 @@ PropertyChangeListener { } // open new tab - String title = (String) contextProvider.lookupFirst (null, String.class); + String title = contextProvider.lookupFirst(null, String.class); if (title == null) title = NbBundle.getBundle (IOManager.class).getString ("CTL_DebuggerConsole_Title"); @@ -152,8 +150,7 @@ PropertyChangeListener { ioManager = this.ioManager; } if (debuggerState == JPDADebugger.STATE_STARTING) { - AbstractDICookie cookie = (AbstractDICookie) contextProvider. - lookupFirst (null, AbstractDICookie.class); + AbstractDICookie cookie = contextProvider.lookupFirst(null, AbstractDICookie.class); if (cookie instanceof AttachingDICookie) { AttachingDICookie c = (AttachingDICookie) cookie; if (c.getHostName () != null) { diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/Evaluator.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/Evaluator.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/Evaluator.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/Evaluator.java @@ -418,7 +418,7 @@ public class Evaluator extends javax.swi if (autoClosed) { DebuggerEngine de = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (de == null) return ; - JPDADebugger debugger = (JPDADebugger) de.lookupFirst(null, JPDADebugger.class); + JPDADebugger debugger = de.lookupFirst(null, JPDADebugger.class); if (debugger == null) return ; open(debugger); autoClosed = false; @@ -568,18 +568,23 @@ public class Evaluator extends javax.swi eval.csfListener = null; DebuggerEngine de = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (de == null) return ; - JPDADebugger debugger = (JPDADebugger) de.lookupFirst(null, JPDADebugger.class); + JPDADebugger debugger = de.lookupFirst(null, JPDADebugger.class); eval.setDebugger(debugger); } updateModel (); } - private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { - List es = e.lookup (viewType, service); - List ms = dm.lookup(viewType, service); - ms.removeAll(es); - es.addAll(ms); - return es; + // XXX copy-paste programming! + private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { + List es = e.lookup (viewType, service); + List ms = dm.lookup(viewType, service); + List joined = new ArrayList(es); + for (T t : ms) { + if (!es.contains(t)) { + joined.add(t); + } + } + return joined; } public synchronized void updateModel () { diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SmartSteppingImpl.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SmartSteppingImpl.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SmartSteppingImpl.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SmartSteppingImpl.java @@ -125,8 +125,7 @@ PropertyChangeListener { private SourcePath getEngineContext (ContextProvider lookupProvider) { if (engineContext == null) { - engineContext = (SourcePath) lookupProvider.lookupFirst - (null, SourcePath.class); + engineContext = lookupProvider.lookupFirst(null, SourcePath.class); engineContext.addPropertyChangeListener (this); } return engineContext; diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java @@ -87,8 +87,7 @@ public class SourcePath { public SourcePath (ContextProvider contextProvider) { this.contextProvider = contextProvider; - debugger = (JPDADebugger) contextProvider.lookupFirst - (null, JPDADebugger.class); + debugger = contextProvider.lookupFirst(null, JPDADebugger.class); getContext();// To initialize the source path provider } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/WatchPanel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/WatchPanel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/WatchPanel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/WatchPanel.java @@ -101,11 +101,11 @@ public class WatchPanel { EditorKit kit = CloneableEditorSupport.getEditorKit("text/x-java"); editorPane.setEditorKit(kit); DebuggerEngine en = DebuggerManager.getDebuggerManager ().getCurrentEngine(); - JPDADebugger d = (JPDADebugger) en.lookupFirst(null, JPDADebugger.class); + JPDADebugger d = en.lookupFirst(null, JPDADebugger.class); CallStackFrame csf = d.getCurrentCallStackFrame(); if (csf != null) { String language = DebuggerManager.getDebuggerManager ().getCurrentSession().getCurrentLanguage(); - SourcePath sp = (SourcePath) en.lookupFirst(null, SourcePath.class); + SourcePath sp = en.lookupFirst(null, SourcePath.class); String url = sp.getURL(csf, language); int line = csf.getLineNumber(language); setupContext(editorPane, url, line); diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/EvaluateAction.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/EvaluateAction.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/EvaluateAction.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/EvaluateAction.java @@ -84,7 +84,7 @@ public class EvaluateAction extends Abst private synchronized boolean canBeEnabled() { DebuggerEngine de = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (de == null) return false; - JPDADebugger debugger = (JPDADebugger) de.lookupFirst(null, JPDADebugger.class); + JPDADebugger debugger = de.lookupFirst(null, JPDADebugger.class); JPDADebugger lastDebugger = (JPDADebugger) lastDebuggerRef.get(); if (lastDebugger != null && debugger != lastDebugger) { lastDebugger.removePropertyChangeListener( @@ -114,7 +114,7 @@ public class EvaluateAction extends Abst public void actionPerformed (ActionEvent evt) { DebuggerEngine de = DebuggerManager.getDebuggerManager().getCurrentEngine(); if (de == null) return ; - JPDADebugger debugger = (JPDADebugger) de.lookupFirst(null, JPDADebugger.class); + JPDADebugger debugger = de.lookupFirst(null, JPDADebugger.class); if (debugger == null) return ; Evaluator.open(debugger); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCalleeCurrentActionProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCalleeCurrentActionProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCalleeCurrentActionProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCalleeCurrentActionProvider.java @@ -64,8 +64,7 @@ public class MakeCalleeCurrentActionProv public MakeCalleeCurrentActionProvider (ContextProvider lookupProvider) { super ( - (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class) + lookupProvider.lookupFirst(null, JPDADebugger.class) ); this.lookupProvider = lookupProvider; getDebuggerImpl ().addPropertyChangeListener diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCallerCurrentActionProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCallerCurrentActionProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCallerCurrentActionProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/MakeCallerCurrentActionProvider.java @@ -71,8 +71,7 @@ public class MakeCallerCurrentActionProv public MakeCallerCurrentActionProvider (ContextProvider lookupProvider) { super ( - (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class) + lookupProvider.lookupFirst(null, JPDADebugger.class) ); this.lookupProvider = lookupProvider; getDebuggerImpl ().addPropertyChangeListener diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/RunToCursorActionProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/RunToCursorActionProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/RunToCursorActionProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/RunToCursorActionProvider.java @@ -75,16 +75,14 @@ public class RunToCursorActionProvider e public RunToCursorActionProvider (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class); - session = (Session) lookupProvider.lookupFirst - (null, Session.class); - debugger.addPropertyChangeListener (debugger.PROP_STATE, this); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); + debugger.addPropertyChangeListener (JPDADebugger.PROP_STATE, this); EditorContextBridge.getContext().addPropertyChangeListener (this); } private void destroy () { - debugger.removePropertyChangeListener (debugger.PROP_STATE, this); + debugger.removePropertyChangeListener (JPDADebugger.PROP_STATE, this); EditorContextBridge.getContext().removePropertyChangeListener (this); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/ToggleBreakpointActionProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/ToggleBreakpointActionProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/ToggleBreakpointActionProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/actions/ToggleBreakpointActionProvider.java @@ -78,8 +78,7 @@ implements PropertyChangeListener { } public ToggleBreakpointActionProvider (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); debugger.addPropertyChangeListener (JPDADebugger.PROP_STATE, this); EditorContextBridge.getContext().addPropertyChangeListener (this); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackActionsProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackActionsProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackActionsProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackActionsProvider.java @@ -139,8 +139,7 @@ public class CallStackActionsProvider im public CallStackActionsProvider (ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); } public Action[] getActions (Object node) throws UnknownTypeException { @@ -234,7 +233,7 @@ public class CallStackActionsProvider im } private static Clipboard getClipboard() { - Clipboard clipboard = (Clipboard) org.openide.util.Lookup.getDefault().lookup(Clipboard.class); + Clipboard clipboard = org.openide.util.Lookup.getDefault().lookup(Clipboard.class); if (clipboard == null) { clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); } @@ -249,9 +248,7 @@ public class CallStackActionsProvider im public void run () { String language = DebuggerManager.getDebuggerManager (). getCurrentSession ().getCurrentLanguage (); - SourcePath sp = (SourcePath) DebuggerManager. - getDebuggerManager ().getCurrentEngine ().lookupFirst - (null, SourcePath.class); + SourcePath sp = DebuggerManager.getDebuggerManager().getCurrentEngine().lookupFirst(null, SourcePath.class); sp.showSource (frame, language); } }); diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackNodeModel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackNodeModel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackNodeModel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/CallStackNodeModel.java @@ -77,10 +77,8 @@ public class CallStackNodeModel implemen public CallStackNodeModel (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); - session = (Session) lookupProvider. - lookupFirst (null, Session.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); new Listener (this, debugger); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ClassesActionsProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ClassesActionsProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ClassesActionsProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ClassesActionsProvider.java @@ -79,7 +79,7 @@ public class ClassesActionsProvider impl public ClassesActionsProvider (ContextProvider lookupProvider) { //debugger = (JPDADebugger) lookupProvider.lookupFirst(null, JPDADebugger.class); - tree = (TreeModel) lookupProvider.lookupFirst ("ClassesView", TreeModel.class); + tree = lookupProvider.lookupFirst("ClassesView", TreeModel.class); } public Action[] getActions (Object node) throws UnknownTypeException { diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/JPDASessionActionsProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/JPDASessionActionsProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/JPDASessionActionsProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/JPDASessionActionsProvider.java @@ -89,7 +89,7 @@ public class JPDASessionActionsProvider List myActions = new ArrayList(); DebuggerEngine e = session.getCurrentEngine (); if (e != null) { - JPDADebugger d = (JPDADebugger) e.lookupFirst(null, JPDADebugger.class); + JPDADebugger d = e.lookupFirst(null, JPDADebugger.class); myActions.add(new CustomizeSession(d)); } myActions.add(new LanguageSelection(session)); diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SessionsTableModelFilter.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SessionsTableModelFilter.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SessionsTableModelFilter.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SessionsTableModelFilter.java @@ -121,7 +121,7 @@ PropertyChangeListener { if (e == null) { return false; } - JPDADebugger d = (JPDADebugger) e.lookupFirst(null, JPDADebugger.class); + JPDADebugger d = e.lookupFirst(null, JPDADebugger.class); return d != null; } @@ -129,7 +129,7 @@ PropertyChangeListener { DebuggerEngine e = s.getCurrentEngine (); if (e == null) return loc ("MSG_Session_State_Starting"); - JPDADebugger d = (JPDADebugger) e.lookupFirst (null, JPDADebugger.class); + JPDADebugger d = e.lookupFirst(null, JPDADebugger.class); synchronized (this) { if (!addedAsListener) { d.addPropertyChangeListener (JPDADebugger.PROP_STATE, this); diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SourcesModel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SourcesModel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SourcesModel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/SourcesModel.java @@ -96,10 +96,8 @@ NodeActionsProvider { public SourcesModel (ContextProvider lookupProvider) { - sourcePath = (SourcePath) lookupProvider. - lookupFirst (null, SourcePath.class); - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); + sourcePath = lookupProvider.lookupFirst(null, SourcePath.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); loadFilters (); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsActionsProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsActionsProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsActionsProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsActionsProvider.java @@ -94,9 +94,7 @@ public class ThreadsActionsProvider impl if (nodes[0] instanceof MonitorModel.ThreadWithBordel) nodes[0] = ((MonitorModel.ThreadWithBordel) nodes[0]).originalThread; String language = DebuggerManager.getDebuggerManager (). getCurrentSession ().getCurrentLanguage (); - SourcePath sp = (SourcePath) DebuggerManager. - getDebuggerManager ().getCurrentEngine ().lookupFirst - (null, SourcePath.class); + SourcePath sp = DebuggerManager.getDebuggerManager().getCurrentEngine().lookupFirst(null, SourcePath.class); sp.showSource ((JPDAThread) nodes [0], language); } }, @@ -184,8 +182,7 @@ public class ThreadsActionsProvider impl public ThreadsActionsProvider (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); } public Action[] getActions (Object node) throws UnknownTypeException { @@ -246,10 +243,7 @@ public class ThreadsActionsProvider impl getCurrentSession ().getCurrentLanguage (); if (!t.isSuspended ()) return false; - String className = t.getClassName (); - SourcePath sp = (SourcePath) DebuggerManager. - getDebuggerManager ().getCurrentEngine ().lookupFirst - (null, SourcePath.class); + SourcePath sp = DebuggerManager.getDebuggerManager().getCurrentEngine().lookupFirst(null, SourcePath.class); return sp.sourceAvailable (t, language, true); } } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsNodeModel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsNodeModel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsNodeModel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/ThreadsNodeModel.java @@ -86,10 +86,8 @@ public class ThreadsNodeModel implements public ThreadsNodeModel (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); - session = (Session) lookupProvider. - lookupFirst (null, Session.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); new Listener (this, debugger); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesActionsProvider.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesActionsProvider.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesActionsProvider.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesActionsProvider.java @@ -131,14 +131,12 @@ public class VariablesActionsProvider im } public void goToSource (Field variable) { - SourcePath ectx = (SourcePath) lookupProvider.lookupFirst - (null, SourcePath.class); + SourcePath ectx = lookupProvider.lookupFirst(null, SourcePath.class); ectx.showSource (variable); } private boolean isSourceAvailable (Field v) { - SourcePath ectx = (SourcePath) lookupProvider.lookupFirst - (null, SourcePath.class); + SourcePath ectx = lookupProvider.lookupFirst(null, SourcePath.class); return ectx.sourceAvailable (v); } } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java @@ -102,8 +102,7 @@ public class VariablesNodeModel implemen public VariablesNodeModel (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider. - lookupFirst (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); } diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java @@ -73,7 +73,7 @@ public class VariablesTableModel impleme private JPDADebugger debugger; public VariablesTableModel(ContextProvider contextProvider) { - debugger = (JPDADebugger) contextProvider.lookupFirst(null, JPDADebugger.class); + debugger = contextProvider.lookupFirst(null, JPDADebugger.class); } public Object getValueAt (Object row, String columnID) throws diff --git a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/views/ViewModelListener.java b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/views/ViewModelListener.java --- a/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/views/ViewModelListener.java +++ b/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/views/ViewModelListener.java @@ -119,12 +119,17 @@ class ViewModelListener extends Debugger updateModel (); } - private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { - List es = e.lookup (viewType, service); - List ms = dm.lookup(viewType, service); - ms.removeAll(es); - es.addAll(ms); - return es; + // XXX copy-paste programming! + private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { + List es = e.lookup (viewType, service); + List ms = dm.lookup(viewType, service); + List joined = new ArrayList(es); + for (T t : ms) { + if (!es.contains(t)) { + joined.add(t); + } + } + return joined; } private synchronized void updateModel () { diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/AttachingSessionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/AttachingSessionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/AttachingSessionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/AttachingSessionProvider.java @@ -60,13 +60,11 @@ public class AttachingSessionProvider ex public AttachingSessionProvider (ContextProvider contextProvider) { this.contextProvider = contextProvider; - sadic = (AttachingDICookie) contextProvider.lookupFirst - (null, AttachingDICookie.class); + sadic = contextProvider.lookupFirst(null, AttachingDICookie.class); }; public String getSessionName () { - Map arguments = (Map) contextProvider.lookupFirst - (null, Map.class); + Map arguments = contextProvider.lookupFirst(null, Map.class); if (arguments != null) { String processName = (String) arguments.get ("name"); if (processName != null) diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java @@ -399,7 +399,7 @@ public class JPDADebuggerImpl extends JP } public Session getSession() { - return (Session) lookupProvider.lookupFirst (null, Session.class); + return lookupProvider.lookupFirst(null, Session.class); } private Boolean canBeModified; @@ -438,8 +438,7 @@ public class JPDADebuggerImpl extends JP */ public SmartSteppingFilter getSmartSteppingFilter () { if (smartSteppingFilter == null) { - smartSteppingFilter = (SmartSteppingFilter) lookupProvider. - lookupFirst (null, SmartSteppingFilter.class); + smartSteppingFilter = lookupProvider.lookupFirst(null, SmartSteppingFilter.class); smartSteppingFilter.addExclusionPatterns ( (Set) Properties.getDefault ().getProperties ("debugger"). getProperties ("sources").getProperties ("class_filters"). @@ -456,8 +455,7 @@ public class JPDADebuggerImpl extends JP private CompoundSmartSteppingListener getCompoundSmartSteppingListener () { if (compoundSmartSteppingListener == null) - compoundSmartSteppingListener = (CompoundSmartSteppingListener) lookupProvider. - lookupFirst (null, CompoundSmartSteppingListener.class); + compoundSmartSteppingListener = lookupProvider.lookupFirst(null, CompoundSmartSteppingListener.class); return compoundSmartSteppingListener; } @@ -1069,8 +1067,7 @@ public class JPDADebuggerImpl extends JP finishing = true; } logger.fine("StartActionProvider.finish ()"); - AbstractDICookie di = (AbstractDICookie) lookupProvider.lookupFirst - (null, AbstractDICookie.class); + AbstractDICookie di = lookupProvider.lookupFirst(null, AbstractDICookie.class); if (getState () == STATE_DISCONNECTED) return; Operator o = getOperator(); if (o != null) o.stop(); @@ -1396,8 +1393,7 @@ public class JPDADebuggerImpl extends JP private SourcePath engineContext; public synchronized SourcePath getEngineContext () { if (engineContext == null) - engineContext = (SourcePath) lookupProvider. - lookupFirst (null, SourcePath.class); + engineContext = lookupProvider.lookupFirst(null, SourcePath.class); return engineContext; } @@ -1559,7 +1555,7 @@ public class JPDADebuggerImpl extends JP } public JPDAStep createJPDAStep(int size, int depth) { - Session session = (Session) lookupProvider.lookupFirst (null, Session.class); + Session session = lookupProvider.lookupFirst(null, Session.class); return new JPDAStepImpl(this, session, size, depth); } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java @@ -41,13 +41,8 @@ package org.netbeans.modules.debugger.jpda; -import com.sun.jdi.AbsentInformationException; import com.sun.jdi.IncompatibleThreadStateException; import com.sun.jdi.event.LocatableEvent; -import java.beans.PropertyChangeListener; -import java.lang.reflect.InvocationTargetException; -import java.net.MalformedURLException; -import java.net.URL; import java.awt.Color; import java.awt.Dialog; import java.awt.GridBagLayout; @@ -71,14 +66,12 @@ import javax.swing.UIManager; import org.netbeans.api.debugger.DebuggerManager; import org.netbeans.api.debugger.Session; -import org.netbeans.api.debugger.jpda.CallStackFrame; import org.netbeans.api.debugger.jpda.JPDABreakpoint; import org.netbeans.api.debugger.jpda.JPDAStep; import org.netbeans.api.debugger.jpda.JPDAThread; import org.netbeans.api.debugger.jpda.JPDADebugger; import com.sun.jdi.event.Event; import com.sun.jdi.request.BreakpointRequest; -import com.sun.jdi.ThreadReference; import com.sun.jdi.request.StepRequest; import com.sun.jdi.request.EventRequest; import com.sun.jdi.request.EventRequestManager; @@ -91,24 +84,18 @@ import com.sun.jdi.VirtualMachine; import com.sun.jdi.VirtualMachine; import org.netbeans.api.debugger.jpda.JPDAThreadGroup; import org.netbeans.api.debugger.jpda.MethodBreakpoint; -import org.netbeans.api.debugger.jpda.SmartSteppingFilter; import org.netbeans.api.debugger.jpda.Variable; import org.netbeans.api.debugger.jpda.event.JPDABreakpointEvent; import org.netbeans.api.debugger.jpda.event.JPDABreakpointListener; import org.netbeans.modules.debugger.jpda.JPDAStepImpl.SingleThreadedStepWatch; -import org.netbeans.modules.debugger.jpda.actions.SmartSteppingFilterImpl; import org.netbeans.modules.debugger.jpda.breakpoints.MethodBreakpointImpl; import org.netbeans.modules.debugger.jpda.util.Executor; -import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl; import org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider; import org.netbeans.modules.debugger.jpda.models.JPDAThreadImpl; import org.netbeans.spi.debugger.jpda.EditorContext.Operation; import org.openide.DialogDescriptor; -import org.openide.DialogDescriptor; import org.openide.ErrorManager; import org.openide.NotifyDescriptor; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.URLMapper; import org.openide.util.NbBundle; import org.openide.util.RequestProcessor; @@ -554,7 +541,7 @@ public class JPDAStepImpl extends JPDASt return false; // The session has finished } int depth; - Map properties = (Map) session.lookupFirst (null, Map.class); + Map properties = session.lookupFirst(null, Map.class); if (properties != null && properties.containsKey (StepIntoActionProvider.SS_STEP_OUT)) { depth = StepRequest.STEP_OUT; } else { diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JavaEngineProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JavaEngineProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JavaEngineProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JavaEngineProvider.java @@ -61,7 +61,7 @@ public class JavaEngineProvider extends private Session session; public JavaEngineProvider (ContextProvider contextProvider) { - session = (Session) contextProvider.lookupFirst (null, Session.class); + session = contextProvider.lookupFirst(null, Session.class); } public String[] getLanguages () { diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/LaunchingSessionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/LaunchingSessionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/LaunchingSessionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/LaunchingSessionProvider.java @@ -63,13 +63,11 @@ public class LaunchingSessionProvider ex public LaunchingSessionProvider (ContextProvider contextProvider) { this.contextProvider = contextProvider; - launchingCookie = (LaunchingDICookie) contextProvider.lookupFirst - (null, LaunchingDICookie.class); + launchingCookie = contextProvider.lookupFirst(null, LaunchingDICookie.class); }; public String getSessionName () { - Map arguments = (Map) contextProvider.lookupFirst - (null, Map.class); + Map arguments = contextProvider.lookupFirst(null, Map.class); if (arguments != null) { String processName = (String) arguments.get ("name"); if (processName != null) diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/ListeningSessionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/ListeningSessionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/ListeningSessionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/ListeningSessionProvider.java @@ -60,13 +60,11 @@ public class ListeningSessionProvider ex public ListeningSessionProvider (ContextProvider contextProvider) { this.contextProvider = contextProvider; - smadic = (ListeningDICookie) contextProvider.lookupFirst - (null, ListeningDICookie.class); + smadic = contextProvider.lookupFirst(null, ListeningDICookie.class); }; public String getSessionName () { - Map arguments = (Map) contextProvider.lookupFirst - (null, Map.class); + Map arguments = contextProvider.lookupFirst(null, Map.class); if (arguments != null) { String processName = (String) arguments.get ("name"); if (processName != null) diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java @@ -75,8 +75,7 @@ public class SourcePath { public SourcePath (ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); } public SourcePathProvider getContext () { diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/CompoundSmartSteppingListener.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/CompoundSmartSteppingListener.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/CompoundSmartSteppingListener.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/CompoundSmartSteppingListener.java @@ -66,8 +66,7 @@ public class CompoundSmartSteppingListen public CompoundSmartSteppingListener (ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - SmartSteppingFilter smartSteppingFilter = (SmartSteppingFilter) lookupProvider. - lookupFirst (null, SmartSteppingFilter.class); + SmartSteppingFilter smartSteppingFilter = lookupProvider.lookupFirst(null, SmartSteppingFilter.class); initFilter (smartSteppingFilter); } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/RunIntoMethodActionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/RunIntoMethodActionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/RunIntoMethodActionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/RunIntoMethodActionProvider.java @@ -100,16 +100,14 @@ public class RunIntoMethodActionProvider public RunIntoMethodActionProvider(ContextProvider lookupProvider) { debugger = (JPDADebuggerImpl) lookupProvider.lookupFirst (null, JPDADebugger.class); - session = (Session) lookupProvider.lookupFirst - (null, Session.class); - sourcePath = (SourcePath) lookupProvider.lookupFirst - (null, SourcePath.class); - debugger.addPropertyChangeListener (debugger.PROP_STATE, this); + session = lookupProvider.lookupFirst(null, Session.class); + sourcePath = lookupProvider.lookupFirst(null, SourcePath.class); + debugger.addPropertyChangeListener (JPDADebuggerImpl.PROP_STATE, this); EditorContextBridge.getContext().addPropertyChangeListener (this); } private void destroy () { - debugger.removePropertyChangeListener (debugger.PROP_STATE, this); + debugger.removePropertyChangeListener (JPDADebuggerImpl.PROP_STATE, this); EditorContextBridge.getContext().removePropertyChangeListener (this); } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StartActionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StartActionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StartActionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StartActionProvider.java @@ -118,8 +118,7 @@ public class StartActionProvider extends debuggerImpl.setStarting (); - final AbstractDICookie cookie = (AbstractDICookie) lookupProvider. - lookupFirst (null, AbstractDICookie.class); + final AbstractDICookie cookie = lookupProvider.lookupFirst(null, AbstractDICookie.class); doStartDebugger(cookie); if (startVerbose) System.out.println ("\nS StartActionProvider." + @@ -144,8 +143,7 @@ public class StartActionProvider extends } - final AbstractDICookie cookie = (AbstractDICookie) lookupProvider. - lookupFirst (null, AbstractDICookie.class); + final AbstractDICookie cookie = lookupProvider.lookupFirst(null, AbstractDICookie.class); if (startVerbose) System.out.println ("\nS StartActionProvider." + @@ -238,7 +236,7 @@ public class StartActionProvider extends ); debuggerImpl.setException (exception); // kill the session that did not start properly - final Session session = (Session) lookupProvider.lookupFirst(null, Session.class); + final Session session = lookupProvider.lookupFirst(null, Session.class); RequestProcessor.getDefault().post(new Runnable() { public void run() { // Kill it in a separate thread so that the startup sequence can be finished. diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java @@ -118,7 +118,7 @@ implements Executor { ); this.lookupProvider = lookupProvider; setProviderToDisableOnLazyAction(this); - Map properties = (Map) lookupProvider.lookupFirst (null, Map.class); + Map properties = lookupProvider.lookupFirst(null, Map.class); if (properties != null) { smartSteppingStepOut = properties.containsKey (StepIntoActionProvider.SS_STEP_OUT); } @@ -311,7 +311,7 @@ implements Executor { (lookupProvider, t, getSmartSteppingFilterImpl ()) ) { // YES! - Session session = (Session) lookupProvider.lookupFirst(null, Session.class); + Session session = lookupProvider.lookupFirst(null, Session.class); if (session != null) { DebuggerManager.getDebuggerManager().setCurrentSession(session); } @@ -416,8 +416,7 @@ implements Executor { private CompoundSmartSteppingListener getCompoundSmartSteppingListener () { if (compoundSmartSteppingListener == null) - compoundSmartSteppingListener = (CompoundSmartSteppingListener) lookupProvider. - lookupFirst (null, CompoundSmartSteppingListener.class); + compoundSmartSteppingListener = lookupProvider.lookupFirst(null, CompoundSmartSteppingListener.class); return compoundSmartSteppingListener; } } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java @@ -100,10 +100,9 @@ implements Executor, PropertyChangeListe ); this.contextProvider = contextProvider; getSmartSteppingFilterImpl ().addPropertyChangeListener (this); - SourcePath ec = (SourcePath) contextProvider. - lookupFirst (null, SourcePath.class); + SourcePath ec = contextProvider.lookupFirst(null, SourcePath.class); ec.addPropertyChangeListener (this); - Map properties = (Map) contextProvider.lookupFirst (null, Map.class); + Map properties = contextProvider.lookupFirst(null, Map.class); if (properties != null) smartSteppingStepOut = properties.containsKey (SS_STEP_OUT); setProviderToDisableOnLazyAction(this); @@ -264,7 +263,7 @@ implements Executor, PropertyChangeListe } if (stop) { removeStepRequests (le.thread ()); - Session session = (Session) contextProvider.lookupFirst(null, Session.class); + Session session = contextProvider.lookupFirst(null, Session.class); if (session != null) { DebuggerManager.getDebuggerManager().setCurrentSession(session); } @@ -367,8 +366,7 @@ implements Executor, PropertyChangeListe private SmartSteppingFilter getSmartSteppingFilterImpl () { if (smartSteppingFilter == null) - smartSteppingFilter = (SmartSteppingFilter) contextProvider. - lookupFirst (null, SmartSteppingFilter.class); + smartSteppingFilter = contextProvider.lookupFirst(null, SmartSteppingFilter.class); return smartSteppingFilter; } @@ -376,8 +374,7 @@ implements Executor, PropertyChangeListe private CompoundSmartSteppingListener getCompoundSmartSteppingListener () { if (compoundSmartSteppingListener == null) - compoundSmartSteppingListener = (CompoundSmartSteppingListener) - contextProvider.lookupFirst (null, CompoundSmartSteppingListener.class); + compoundSmartSteppingListener = contextProvider.lookupFirst(null, CompoundSmartSteppingListener.class); return compoundSmartSteppingListener; } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java @@ -51,7 +51,6 @@ import org.netbeans.spi.debugger.Context import org.netbeans.spi.debugger.ContextProvider; import org.netbeans.api.debugger.Session; import org.netbeans.api.debugger.jpda.JPDADebugger; -import org.netbeans.api.debugger.jpda.LineBreakpoint; import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl; import org.netbeans.spi.debugger.ActionsProviderSupport; @@ -70,15 +69,13 @@ public class StepOperationActionProvider public StepOperationActionProvider (ContextProvider lookupProvider) { - debugger = (JPDADebugger) lookupProvider.lookupFirst - (null, JPDADebugger.class); - session = (Session) lookupProvider.lookupFirst - (null, Session.class); - debugger.addPropertyChangeListener (debugger.PROP_STATE, this); + debugger = lookupProvider.lookupFirst(null, JPDADebugger.class); + session = lookupProvider.lookupFirst(null, Session.class); + debugger.addPropertyChangeListener (JPDADebugger.PROP_STATE, this); } private void destroy () { - debugger.removePropertyChangeListener (debugger.PROP_STATE, this); + debugger.removePropertyChangeListener (JPDADebugger.PROP_STATE, this); } static ActionsManager getCurrentActionsManager () { @@ -107,10 +104,10 @@ public class StepOperationActionProvider setEnabled ( ActionsManager.ACTION_STEP_OPERATION, getActionsManager().isEnabled(ActionsManager.ACTION_CONTINUE) && - (debugger.getState () == debugger.STATE_STOPPED) && + (debugger.getState () == JPDADebugger.STATE_STOPPED) && (debugger.getCurrentThread () != null) ); - if (debugger.getState () == debugger.STATE_DISCONNECTED) + if (debugger.getState () == JPDADebugger.STATE_DISCONNECTED) destroy (); } @@ -139,7 +136,7 @@ public class StepOperationActionProvider setEnabled ( ActionsManager.ACTION_STEP_OPERATION, enabled && - (debugger.getState () == debugger.STATE_STOPPED) && + (debugger.getState () == JPDADebugger.STATE_STOPPED) && (debugger.getCurrentThread () != null) ); } diff --git a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/BreakpointsEngineListener.java b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/BreakpointsEngineListener.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/BreakpointsEngineListener.java +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/BreakpointsEngineListener.java @@ -91,9 +91,8 @@ implements PropertyChangeListener, Debug public BreakpointsEngineListener (ContextProvider lookupProvider) { debugger = (JPDADebuggerImpl) lookupProvider.lookupFirst (null, JPDADebugger.class); - engineContext = (SourcePath) lookupProvider. - lookupFirst (null, SourcePath.class); - session = (Session) lookupProvider.lookupFirst(null, Session.class); + engineContext = lookupProvider.lookupFirst(null, SourcePath.class); + session = lookupProvider.lookupFirst(null, Session.class); debugger.addPropertyChangeListener ( JPDADebugger.PROP_STATE, this diff --git a/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java b/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java --- a/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java +++ b/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java @@ -273,6 +273,7 @@ public class ExpressionStepTest extends } private static EditorContext getContext () { + // XXX lookupFirst? List l = DebuggerManager.getDebuggerManager ().lookup (null, EditorContext.class); EditorContext context = (EditorContext) l.get (0); diff --git a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/ContextProviderWrapper.java b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/ContextProviderWrapper.java --- a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/ContextProviderWrapper.java +++ b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/ContextProviderWrapper.java @@ -73,14 +73,12 @@ public class ContextProviderWrapper { this.contextProvider = contextProvider; } - @SuppressWarnings("unchecked") - private static List debugLookup(String folder, Class clazz) { - return (List) DebuggerManager.getDebuggerManager().lookup(folder, clazz); + private static List debugLookup(String folder, Class clazz) { + return DebuggerManager.getDebuggerManager().lookup(folder, clazz); } - @SuppressWarnings("unchecked") static T lookupFirst(final ContextProvider cp, Class clazz) { - return (T) cp.lookupFirst(null, clazz); + return cp.lookupFirst(null, clazz); } public void fireModelChanges() { @@ -95,7 +93,7 @@ public class ContextProviderWrapper { public static SessionsTableModelFilter getSessionsModel() { if (sessionsModel == null) { - List tableModels = ContextProviderWrapper.debugLookup("SessionsView", TableModelFilter.class); + List tableModels = ContextProviderWrapper.debugLookup("SessionsView", TableModelFilter.class); for (TableModelFilter model : tableModels) { if (model instanceof SessionsTableModelFilter) { sessionsModel = (SessionsTableModelFilter) model; @@ -108,7 +106,7 @@ public class ContextProviderWrapper { public static BreakpointModel getBreakpointModel() { if (breakpointModel == null) { - List tableModels = ContextProviderWrapper.debugLookup("BreakpointsView", TableModel.class); + List tableModels = ContextProviderWrapper.debugLookup("BreakpointsView", TableModel.class); for (TableModel model : tableModels) { if (model instanceof BreakpointModel) { breakpointModel = (BreakpointModel) model; diff --git a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/RubyDebugger.java b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/RubyDebugger.java --- a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/RubyDebugger.java +++ b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/RubyDebugger.java @@ -226,7 +226,7 @@ public final class RubyDebugger implemen DebuggerEngine[] es = dm.startDebugging(di); RubyDebuggerActionProvider provider = - (RubyDebuggerActionProvider) es[0].lookupFirst(null, RubyDebuggerActionProvider.class); + es[0].lookupFirst(null, RubyDebuggerActionProvider.class); assert provider != null; proxy.addRubyDebugEventListener(provider); } diff --git a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/Util.java b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/Util.java --- a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/Util.java +++ b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/Util.java @@ -128,7 +128,7 @@ public final class Util { public static RubySession getCurrentSession() { DebuggerEngine currentEngine = DebuggerManager.getDebuggerManager().getCurrentEngine(); return (currentEngine == null) ? null : - (RubySession) currentEngine.lookupFirst(null, RubySession.class); + currentEngine.lookupFirst(null, RubySession.class); } static boolean offerToInstallFastDebugger(final RubyPlatform platform) { diff --git a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/model/SessionsTableModelFilter.java b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/model/SessionsTableModelFilter.java --- a/ruby.debugger/src/org/netbeans/modules/ruby/debugger/model/SessionsTableModelFilter.java +++ b/ruby.debugger/src/org/netbeans/modules/ruby/debugger/model/SessionsTableModelFilter.java @@ -100,7 +100,7 @@ public final class SessionsTableModelFil if (e == null) { return getMessage("MSG_Session.State.Starting"); } - RubySession session = (RubySession) e.lookupFirst (null, RubySession.class); + RubySession session = e.lookupFirst(null, RubySession.class); String state; switch (session.getState()) { case RUNNING: diff --git a/spi.debugger.ui/nbproject/project.properties b/spi.debugger.ui/nbproject/project.properties --- a/spi.debugger.ui/nbproject/project.properties +++ b/spi.debugger.ui/nbproject/project.properties @@ -38,4 +38,6 @@ # made subject to such option by the copyright holder. is.autoload=true +javac.compilerargs=-Xlint -Xlint:-serial +javac.source=1.5 javadoc.arch=${basedir}/arch.xml diff --git a/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/actions/AddBreakpointPanel.java b/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/actions/AddBreakpointPanel.java --- a/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/actions/AddBreakpointPanel.java +++ b/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/actions/AddBreakpointPanel.java @@ -93,7 +93,7 @@ public class AddBreakpointPanel extends private javax.swing.JPanel pEvent; /** HelpCtx of the selected breakpoint type's customizer */ private HelpCtx helpCtx; - private List breakpointTypes; + private List breakpointTypes; // init .................................................................... @@ -102,10 +102,8 @@ public class AddBreakpointPanel extends public AddBreakpointPanel () { breakpointTypes = DebuggerManager.getDebuggerManager ().lookup (null, BreakpointType.class); - int i, k = breakpointTypes.size (); String def = null; - for (i = 0; i < k; i++) { - BreakpointType bt = (BreakpointType) breakpointTypes.get (i); + for (BreakpointType bt : breakpointTypes) { String dn = bt.getCategoryDisplayName (); if (!cathegories.contains (dn)) { cathegories.add (dn); @@ -239,9 +237,8 @@ public class AddBreakpointPanel extends doNotRefresh = true; cbEvents.removeAllItems (); types = new ArrayList (); - int i, k = breakpointTypes.size (), defIndex = 0; - for (i = 0; i < k; i++) { - BreakpointType bt = (BreakpointType) breakpointTypes.get (i); + int defIndex = 0; + for (BreakpointType bt : breakpointTypes) { if (!bt.getCategoryDisplayName ().equals (c)) continue; cbEvents.addItem (bt.getTypeDisplayName ()); diff --git a/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/ViewModelListener.java b/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/ViewModelListener.java --- a/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/ViewModelListener.java +++ b/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/ViewModelListener.java @@ -157,12 +157,17 @@ public class ViewModelListener extends D updateModel (); } - private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { - List es = e.lookup (viewType, service); - List ms = dm.lookup(viewType, service); - ms.removeAll(es); - es.addAll(ms); - return es; + // XXX copy-paste programming! + private List joinLookups(DebuggerEngine e, DebuggerManager dm, Class service) { + List es = e.lookup (viewType, service); + List ms = dm.lookup(viewType, service); + List joined = new ArrayList(es); + for (T t : ms) { + if (!es.contains(t)) { + joined.add(t); + } + } + return joined; } private synchronized void updateModel () { diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/LaunchDebuggerTest.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/LaunchDebuggerTest.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/LaunchDebuggerTest.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/LaunchDebuggerTest.java @@ -65,8 +65,13 @@ public class LaunchDebuggerTest extends TestDebuggerManagerListener dml = new TestDebuggerManagerListener(); dm.addDebuggerListener(dml); - TestLazyDebuggerManagerListener ldml = (TestLazyDebuggerManagerListener) - dm.lookupFirst (null, LazyDebuggerManagerListener.class); + TestLazyDebuggerManagerListener ldml = null; + for (LazyDebuggerManagerListener _ldml : dm.lookup(null, LazyDebuggerManagerListener.class)) { + if (_ldml instanceof TestLazyDebuggerManagerListener) { + ldml = (TestLazyDebuggerManagerListener) _ldml; + break; + } + } assertNotNull("Lazy debugger manager listener not loaded", ldml); Map args = new HashMap(); @@ -82,7 +87,7 @@ public class LaunchDebuggerTest extends testStartEvents(ldml, engines); DebuggerEngine debugger = engines[0]; - DebuggerInfo dic = (DebuggerInfo) debugger.lookupFirst(null, DebuggerInfo.class); + DebuggerInfo dic = debugger.lookupFirst(null, DebuggerInfo.class); assertSame("Wrong debugger info in engine lookup", dic, di); assertTrue("Engine did not start", tdi.hasInfo(ActionsManager.ACTION_START)); diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestEngineProvider.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestEngineProvider.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestEngineProvider.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestEngineProvider.java @@ -58,7 +58,7 @@ public class TestEngineProvider extends private Session session; public TestEngineProvider (ContextProvider s) { - session = (Session) s.lookupFirst(null, Session.class); + session = s.lookupFirst(null, Session.class); } public String [] getLanguages () { diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestSessionProvider.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestSessionProvider.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestSessionProvider.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/TestSessionProvider.java @@ -56,8 +56,8 @@ public class TestSessionProvider extends private TestDICookie cookie; public TestSessionProvider (ContextProvider info) { - this.info = (DebuggerInfo) info.lookupFirst(null, DebuggerInfo.class); - cookie = (TestDICookie) info.lookupFirst(null, TestDICookie.class); + this.info = info.lookupFirst(null, DebuggerInfo.class); + cookie = info.lookupFirst(null, TestDICookie.class); }; public String getSessionName () { diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/KillActionProvider.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/KillActionProvider.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/KillActionProvider.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/KillActionProvider.java @@ -65,8 +65,7 @@ public class KillActionProvider extends public KillActionProvider (ContextProvider lookupProvider) { this.lookupProvider = lookupProvider; - debugger = (TestDebugger) lookupProvider.lookupFirst - (null, TestDebugger.class); + debugger = lookupProvider.lookupFirst(null, TestDebugger.class); } public boolean isEnabled(Object action) { @@ -82,9 +81,8 @@ public class KillActionProvider extends public void doAction (Object action) { debugger.finish(); - DebuggerInfo di = (DebuggerInfo) lookupProvider.lookupFirst - (null, DebuggerInfo.class); - TestDICookie tic = (TestDICookie) di.lookupFirst(null, TestDICookie.class); + DebuggerInfo di = lookupProvider.lookupFirst(null, DebuggerInfo.class); + TestDICookie tic = di.lookupFirst(null, TestDICookie.class); tic.addInfo(ActionsManager.ACTION_KILL); } } diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/StartActionProvider.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/StartActionProvider.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/StartActionProvider.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/StartActionProvider.java @@ -64,8 +64,7 @@ public class StartActionProvider extends public StartActionProvider (ContextProvider lookupProvider) { - debuggerImpl = (TestDebugger) lookupProvider.lookupFirst - (null, TestDebugger.class); + debuggerImpl = lookupProvider.lookupFirst(null, TestDebugger.class); this.lookupProvider = lookupProvider; } @@ -75,8 +74,7 @@ public class StartActionProvider extends public void doAction (Object action) { if (debuggerImpl == null) return; - final TestDICookie cookie = (TestDICookie) lookupProvider.lookupFirst - (null, TestDICookie.class); + final TestDICookie cookie = lookupProvider.lookupFirst(null, TestDICookie.class); cookie.addInfo(ActionsManager.ACTION_START); } diff --git a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/TestDebuggerActionsProvider.java b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/TestDebuggerActionsProvider.java --- a/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/TestDebuggerActionsProvider.java +++ b/spi.debugger.ui/test/unit/src/org/netbeans/api/debugger/test/actions/TestDebuggerActionsProvider.java @@ -62,7 +62,7 @@ public class TestDebuggerActionsProvider private Set supportedActions; public TestDebuggerActionsProvider(ContextProvider lookupProvider) { - debuggerImpl = (TestDebugger) lookupProvider.lookupFirst(null, TestDebugger.class); + debuggerImpl = lookupProvider.lookupFirst(null, TestDebugger.class); this.lookupProvider = lookupProvider; supportedActions = new HashSet(); supportedActions.add(ActionsManager.ACTION_CONTINUE); @@ -86,7 +86,7 @@ public class TestDebuggerActionsProvider public void doAction (Object action) { if (debuggerImpl == null) return; - final TestDICookie cookie = (TestDICookie) lookupProvider.lookupFirst(null, TestDICookie.class); + final TestDICookie cookie = lookupProvider.lookupFirst(null, TestDICookie.class); cookie.addInfo(action); }