API consolidation for org.eclipse.objectteams.otdt.debug
- redefine the line between API and non-API
- add javadoc to API
- removed some unused stuff
Also:
- implemented clearing the TeamView when a launch terminates
- removed redundant sort mode "activation order"
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/IOOTBreakPoints.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/IOOTBreakPoints.java
deleted file mode 100644
index 629adcc..0000000
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/IOOTBreakPoints.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * This file is part of "Object Teams Development Tooling"-Software
- * 
- * Copyright 2006, 2010 Fraunhofer Gesellschaft, Munich, Germany,
- * for its Fraunhofer Institute for Computer Architecture and Software
- * Technology (FIRST), Berlin, Germany and Technical University Berlin,
- * Germany.
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id$
- * 
- * Please visit http://www.eclipse.org/objectteams for updates and contact.
- * 
- * Contributors:
- * Fraunhofer FIRST - Initial API and implementation
- * Technical University Berlin - Initial API and implementation
- **********************************************************************/
-package org.eclipse.objectteams.otdt.debug.core.breakpoints;
-
-/** 
- *  Do not edit: This interface is auto-generated from org/objectteams/Team.java 
- *  using scripts/genIOOTBreakPoints.sh
- *
- *  Purpose: make specific line numbers of Team.java available for the debugger.
- */
-public interface IOOTBreakPoints 
-{
-  int LINE_TeamConstructor = 62;
-  int LINE_ConfinedGetTeam = 93;
-  int LINE_ActivateMethod = 164;
-  int LINE_DeactivateMethod = 195;
-  int LINE_ImplicitActivateMethod = 242;
-  int LINE_ImplicitDeactivateMethod = 277;
-  int LINE_FinalizeMethod = 486;
-}
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OOTBreakpoints.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OOTBreakpoints.java
deleted file mode 100644
index 586d3a3..0000000
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OOTBreakpoints.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/**********************************************************************
- * This file is part of "Object Teams Development Tooling"-Software
- * 
- * Copyright 2004, 2006 Fraunhofer Gesellschaft, Munich, Germany,
- * for its Fraunhofer Institute for Computer Architecture and Software
- * Technology (FIRST), Berlin, Germany and Technical University Berlin,
- * Germany.
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OOTBreakpoints.java 23427 2010-02-03 22:23:59Z stephan $
- * 
- * Please visit http://www.eclipse.org/objectteams for updates and contact.
- * 
- * Contributors:
- * Fraunhofer FIRST - Initial API and implementation
- * Technical University Berlin - Initial API and implementation
- **********************************************************************/
-package org.eclipse.objectteams.otdt.debug.core.breakpoints;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.objectteams.otdt.debug.OTDebugPlugin;
-
-import static org.eclipse.objectteams.otdt.debug.core.breakpoints.IOOTBreakPoints.*;
-
-/**
- * @author ike
- *
- * This class provides methods to create OOT-specific (org.objectteams.Team) breakpoints
- *
- * $Id: OOTBreakpoints.java 23427 2010-02-03 22:23:59Z stephan $
- */
-@SuppressWarnings("nls")
-public class OOTBreakpoints
-{
-	public static final String FIELD_THIS = "this";
-	public static final String LOCAL_THREAD_ACT_DEACT = "thread";
-	public static final String LOCAL_THREAD_IMPLICIT_ACT_DEACT = "currentThread";
-	public static final String FIELD_ALL_THREADS = "ALL_THREADS";
-	
-	public static final String ATTR_OT_BREAKPOINT = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint";
-	public static final String ATTR_OT_BREAKPOINT_CTOR     = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.Constructor";
-	public static final String ATTR_OT_BREAKPOINT_FINALIZE = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.FinalizeMethod";
-	public static final String ATTR_OT_BREAKPOINT_ACT   = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.ActivateMethod";
-	public static final String ATTR_OT_BREAKPOINT_DEACT = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.DeactivateMethod";
-	public static final String ATTR_OT_BREAKPOINT_IMPLICIT_ACT   = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.ImplicitActivateMethod";
-	public static final String ATTR_OT_BREAKPOINT_IMPLICIT_DEACT = OTDebugPlugin.PLUGIN_ID + ".TeamBreakpoint.ImplicitDeactivateMethod";
-
-	
-	//associated with "public Team() {}"
-    public static int getTeamConstructorLineNumber()
-    {
-        return LINE_TeamConstructor;
-    }
-
-    //associated with "doRegistration();"
-    public static int getActivateMethodLineNumber()
-    {
-        return LINE_ActivateMethod;
-    }
-    
-    //associated with "_OT$lazyGlobalActiveFlag = false;"
-    public static int getDeactivateMethodLineNumber()
-    {
-        return LINE_DeactivateMethod;
-    }
-    
-    //associated with "implicitActivationsPerThread.set(Integer.valueOf(implActCount + 1 ));"
-    public static int getImplicitActivateMethodLineNumber()
-    {
-        return LINE_ImplicitActivateMethod;
-    }
-
-    //implicitActivationsPerThread.set(Integer.valueOf(implActCount - 1));
-    public static int getImplicitDeactivateMethodLineNumber()
-    {
-        return LINE_ImplicitDeactivateMethod;
-    }
-    
-    // implicit "return;"
-    public static int getFinalizeMethodLineNumber() {
-		return LINE_FinalizeMethod;
-	}
-
-    public static Map<String, Boolean> getBreakpointAttributes()
-    {
-        Map<String, Boolean> attrs = new HashMap<String, Boolean>();
-        attrs.put(OOTBreakpoints.ATTR_OT_BREAKPOINT, Boolean.TRUE);
-        return attrs;
-    }
-
-    public static IBreakpoint createOOTConstructorBreakpoint(IType oot) 
-    		throws CoreException
-    {
-		Map<String, Boolean> constructorAttributes = getBreakpointAttributes();
-		constructorAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_CTOR, Boolean.TRUE);
-         return createOOTBreakpoint(oot, getTeamConstructorLineNumber(), constructorAttributes);
-    }
-    
-    public static IBreakpoint createOOTFinalizeBreakpoint(IType oot)
-    		throws CoreException
-    {
-    	Map<String, Boolean> finalizeMethodAttributes = getBreakpointAttributes();
-    	finalizeMethodAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_FINALIZE, Boolean.TRUE);
-    	return createOOTMethodBreakpoint(oot, getFinalizeMethodLineNumber(), finalizeMethodAttributes);    	
-    }
-        
-    public static IBreakpoint createOOTActivateBreakpoint(IType oot)throws CoreException
-    {
-		Map<String, Boolean> activateMethodAttributes = getBreakpointAttributes();
-		activateMethodAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_ACT, Boolean.TRUE);
-    	return createOOTBreakpoint(oot, getActivateMethodLineNumber(), activateMethodAttributes);
-    }
-
-    public static IBreakpoint createOOTDeactivateBreakpoint(IType oot) throws CoreException
-	{
-		Map<String, Boolean> deactivateMethodAttributes = getBreakpointAttributes();
-		deactivateMethodAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_DEACT, Boolean.TRUE);
-		return createOOTBreakpoint(oot, getDeactivateMethodLineNumber(), deactivateMethodAttributes);
-	}
-    
-    public static IBreakpoint createOOTImplicitActivateBreakpoint(IType oot)throws CoreException
-    {
-		Map<String, Boolean> implicitActivateMethodAttributes = getBreakpointAttributes();
-		implicitActivateMethodAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_IMPLICIT_ACT, Boolean.TRUE);
-    	return createOOTBreakpoint(oot, getImplicitActivateMethodLineNumber(), implicitActivateMethodAttributes);
-    }
-
-    public static IBreakpoint createOOTImplicitDeactivateBreakpoint(IType oot)throws CoreException
-    {
-		Map<String, Boolean> implicitDeactivateMethodAttributes = getBreakpointAttributes();
-		implicitDeactivateMethodAttributes.put(OOTBreakpoints.ATTR_OT_BREAKPOINT_IMPLICIT_DEACT, Boolean.TRUE);
-    	return createOOTBreakpoint(oot, getImplicitDeactivateMethodLineNumber(), implicitDeactivateMethodAttributes);
-    }
-	public static IBreakpoint createOOTBreakpoint(IType oot, int linenumber, Map attributes) 
-			throws CoreException
-	{
-		IResource teamResource = oot.getJavaProject().getResource();
-		IJavaBreakpoint breakpoint = JDIDebugModel.createLineBreakpoint(
-				teamResource,
-				oot.getFullyQualifiedName(),
-				linenumber,
-				-1, -1, 0,
-				false /*register*/,
-				attributes);
-		breakpoint.setPersisted(false);
-		
-		return breakpoint;
-	}
-    
-	public static IBreakpoint createOOTMethodBreakpoint(IType oot, int linenumber, Map attributes)
-			throws CoreException
-	{
-		IResource teamResource = oot.getJavaProject().getResource();
-		IJavaBreakpoint breakpoint = JDIDebugModel.createMethodBreakpoint(
-				teamResource, 
-				oot.getFullyQualifiedName(), 
-				"finalize", 
-				"()V",
-				true /*entry*/, false /*exit*/, false /*native*/,
-				linenumber, 
-				-1, -1, 0, 
-				false /*register*/, 
-				attributes);
-		breakpoint.setPersisted(false);
-		return breakpoint;
-	}
-	
-	public static final boolean isOOTBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT) != null;
-    }
-
-    public static final boolean isOOTConstructorBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_CTOR) != null;
-    }
-    
-    public static final boolean isOOTFinalizeBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-    	return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_FINALIZE) != null;
-    }
-    
-    public static final boolean isOOTActiveMethodBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_ACT) != null;
-    }
-    
-    public static final boolean isOOTDeactiveMethodBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_DEACT) != null;
-    }
-    
-    public static final boolean isOOTImplicitActiveMethodBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_IMPLICIT_ACT) != null;
-    }
-    
-    public static final boolean isOOTImplicitDeactiveMethodBreakpoint(IBreakpoint breakpoint) throws CoreException
-    {
-        return breakpoint.getMarker().getAttribute(OOTBreakpoints.ATTR_OT_BREAKPOINT_IMPLICIT_DEACT) != null;
-    }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OTJavaWatchpoint.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OTJavaWatchpoint.java
deleted file mode 100644
index 0d5fc51..0000000
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/core/breakpoints/OTJavaWatchpoint.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**********************************************************************
- * This file is part of "Object Teams Development Tooling"-Software
- * 
- * Copyright 2004, 2006 Fraunhofer Gesellschaft, Munich, Germany,
- * for its Fraunhofer Institute for Computer Architecture and Software
- * Technology (FIRST), Berlin, Germany and Technical University Berlin,
- * Germany.
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJavaWatchpoint.java 23427 2010-02-03 22:23:59Z stephan $
- * 
- * Please visit http://www.eclipse.org/objectteams for updates and contact.
- * 
- * Contributors:
- * Fraunhofer FIRST - Initial API and implementation
- * Technical University Berlin - Initial API and implementation
- **********************************************************************/
-package org.eclipse.objectteams.otdt.debug.core.breakpoints;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.core.breakpoints.JavaWatchpoint;
-import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.Value;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-
-/**
- * FIXME(SH): THIS CLASS IS NOT USED.
- * 
- * @author ike
- * 
- * This class is for dealing with the Modification Watchpoint and getting the modified value.
- * 
- * $Id: OTJavaWatchpoint.java 23427 2010-02-03 22:23:59Z stephan $
- */
-public class OTJavaWatchpoint extends JavaWatchpoint
-{
-    private Hashtable _threadToObjectRefTable;
-// unused    private String _searchField;
-    
-    public OTJavaWatchpoint(IResource resource, String typeName, String fieldName, int lineNumber, int charStart, int charEnd, int hitCount, boolean register, Map attributes, String searchString) throws DebugException
-    {
-        super(resource, typeName, fieldName, lineNumber, charStart, charEnd, hitCount, register, attributes);
-        
-        _threadToObjectRefTable = new Hashtable();
-// unused        _searchField = searchString;
-    }
-    
-    /** Overrides the JavaWatchpoint.handleBreakpointEvent() method to handle
-     *  the ModificationWatchpointEvent and to store the value, which
-     *  will be set.
-     */
-    @Override
-    public boolean handleBreakpointEvent(Event event, JDIThread thread, boolean suspendVote) 
-    {
-        if (event instanceof ModificationWatchpointEvent)
-        {
-            ModificationWatchpointEvent modEvent = (ModificationWatchpointEvent)event;
-            Value currentValue = modEvent.valueCurrent();
-            Value valueToBe = modEvent.valueToBe();
-            ObjectReference objectRef = modEvent.object();
-            
-            Hashtable objectRefs;
-            if (!_threadToObjectRefTable.containsKey(thread))
-            {
-                objectRefs = new Hashtable();
-            }
-            else
-            {
-                objectRefs = (Hashtable)_threadToObjectRefTable.get(thread);
-            }
-            
-            Value [] values;
-            if (!objectRefs.containsKey(objectRef))
-            {
-                values = new Value[2];
-                
-            }
-            else
-            {
-                values = (Value [])objectRefs.get(objectRef);
-            }
-            
-            values[0] = currentValue;
-            values[1] = valueToBe;
-            objectRefs.put(objectRef, values);
-            
-            _threadToObjectRefTable.put(thread, objectRefs);
-        }
-        return super.handleBreakpointEvent(event, thread, suspendVote);
-    }
-    
-    public Value getValueToBe(IJavaThread thread, IJavaVariable variable) throws DebugException
-    {
-        Value [] values = getValues(thread, variable);
-        
-        if (values != null && values.length >=2)
-            return values[1];
-        else
-            return null;
-    }
-    
-    public Value getCurrentValue(IJavaThread thread, IJavaVariable variable) throws DebugException
-    {
-        Value [] values = getValues(thread, variable);
-        
-        if (values != null && values.length >=2)
-            return values[0];
-        else
-            return null;
-    }
-    
-    private Value[] getValues(IJavaThread thread, IJavaVariable variable) throws DebugException
-    {
-        Hashtable objRefTable = (Hashtable) _threadToObjectRefTable.get(thread);
-        
-        for (Iterator iter = objRefTable.keySet().iterator(); iter.hasNext();)
-        {
-            Value objRef = (ObjectReference) iter.next();
-            JDIObjectValue value = (JDIObjectValue)variable.getValue();
-
-            if (value.getUnderlyingObject().equals(objRef))
-            {
-                return (Value [])objRefTable.get(objRef);
-            }
-        }
-        return null;
-    }
-}