protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException { if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) { if (JavaElementContentProvider.isDisplayThreadGroups()) { return getElements(((IJavaDebugTarget)parent).getRootThreadGroups(), index, length); } } return super.getChildren(parent, index, length, context, monitor); }
protected int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException { if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) { if (JavaElementContentProvider.isDisplayThreadGroups()) { IJavaDebugTarget debugTarget = (IJavaDebugTarget)element; if (debugTarget.isDisconnected() || debugTarget.isTerminated()) { return 0; } return debugTarget.getRootThreadGroups().length; } } return super.getChildCount(element, context, monitor); }
List groups = new ArrayList(); try{ delta = delta.addNode(debugTarget, indexOf(launchChildren, debugTarget), IModelDelta.NO_CHANGE, debugTarget.getRootThreadGroups().length); IJavaThread javaThread = (IJavaThread) thread; IJavaThreadGroup threadGroup = javaThread.getThreadGroup(); index = indexOf(debugTarget.getRootThreadGroups(), group);