/** * @param breakpoint * @return */ private String getJavaStratumLineBreakpointText(IJavaStratumLineBreakpoint breakpoint) throws CoreException { IMember member= BreakpointUtils.getMember(breakpoint); String sourceName = breakpoint.getSourceName(); if (sourceName == null) { sourceName = ""; //$NON-NLS-1$ IMarker marker = breakpoint.getMarker(); if (marker != null) { IResource resource = marker.getResource(); if (resource.getType() == IResource.FILE) { sourceName = resource.getName(); } } } StringBuffer label= new StringBuffer(sourceName); appendLineNumber(breakpoint, label); appendHitCount(breakpoint, label); appendSuspendPolicy(breakpoint,label); appendThreadFilter(breakpoint, label); if (member != null) { label.append(" - "); //$NON-NLS-1$ label.append(getJavaLabelProvider().getText(member)); } return label.toString(); }
protected IJavaStratumLineBreakpoint findExistingBreakpoint(IResource res, URI uri, final int line) throws CoreException { IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager(); IBreakpoint[] breakpoints = manager.getBreakpoints(); if (uri == null) { for (IBreakpoint breakpoint : breakpoints) { IMarker marker = breakpoint.getMarker(); if (breakpoint instanceof IJavaStratumLineBreakpoint && marker.getResource().equals(res)) { final IJavaStratumLineBreakpoint stratumBreakpoint = (IJavaStratumLineBreakpoint) breakpoint; if (stratumBreakpoint.getLineNumber() == line) { return stratumBreakpoint; } } } } else { String uriStirng = uri.toString(); for (IBreakpoint breakpoint : breakpoints) { IMarker marker = breakpoint.getMarker(); if (breakpoint instanceof IJavaStratumLineBreakpoint && marker.getResource().equals(res) && uriStirng.equals(marker.getAttribute(JarFileMarkerAnnotationModel.MARKER_URI))) { final IJavaStratumLineBreakpoint stratumBreakpoint = (IJavaStratumLineBreakpoint) breakpoint; if (stratumBreakpoint.getLineNumber() == line) { return stratumBreakpoint; } } } } return null; }
IJavaStratumLineBreakpoint stratumBreakpoint = (IJavaStratumLineBreakpoint) adaptableObject; try { String stratum = stratumBreakpoint.getStratum(); if (stratum == null) { String sourceName = stratumBreakpoint.getSourceName(); if (sourceName != null) { int index = sourceName.lastIndexOf('.');
public void resourceChanged(IResourceChangeEvent event) { if (!marker.exists()) ws.removeResourceChangeListener(this); IResourceDelta delta = event.getDelta(); if (delta == null) return; final IResourceDelta findMember = event.getDelta().findMember(marker.getResource().getFullPath()); if (findMember == null) return; IResource res = findMember.getResource(); if (res == null || !res.exists()) return; if (event.getType() == IResourceChangeEvent.PRE_DELETE) { ws.removeResourceChangeListener(this); } else if (event.getType() == IResourceChangeEvent.POST_CHANGE && (findMember.getFlags() & IResourceDelta.CONTENT) != 0) { String classNamePattern = getClassNamePattern(event.getResource()); try { breakpoint.getMarker().setAttribute("org.eclipse.jdt.debug.pattern", classNamePattern); } catch (CoreException e) { log.info(e.getMessage(), e); } } } };
label.append(((IJavaStratumLineBreakpoint) breakpoint).getSourceName()); } catch (CoreException e) { JDIDebugUIPlugin.log(e);