use of net.sourceforge.pmd.eclipse.ui.model.MarkerRecord in project pmd-eclipse-plugin by pmd.
the class ViolationOverview method deleteMarkers.
/**
* Deletes markers of an AbstractPMDRecord. This is performed after the
* action Clear PMD Markers of the contextmenu was called.
*
* @param element
* @throws CoreException
*/
public void deleteMarkers(AbstractPMDRecord element) throws CoreException {
if (element instanceof MarkerRecord) {
MarkerRecord record = (MarkerRecord) element;
IMarker[] markers = MarkerUtil.EMPTY_MARKERS;
switch(getShowType()) {
case SHOW_PACKAGES_FILES_MARKERS:
case SHOW_FILES_MARKERS:
// simply get the markers of the marker record
markers = record.findMarkers();
break;
case SHOW_MARKERS_FILES:
AbstractPMDRecord packRec = record.getParent().getParent();
markers = packRec.findMarkersByAttribute(PMDUiConstants.KEY_MARKERATT_RULENAME, record.getName());
break;
default:
}
deleteMarkers(markers);
} else if (element instanceof FileToMarkerRecord) {
FileToMarkerRecord record = (FileToMarkerRecord) element;
IMarker[] markers = record.findMarkers();
deleteMarkers(markers);
} else {
// simply delete markers from resource
MarkerUtil.deleteAllMarkersIn(element.getResource());
}
}
use of net.sourceforge.pmd.eclipse.ui.model.MarkerRecord in project pmd-eclipse-plugin by pmd.
the class MarkerUtil method allMarkedFiles.
public static Set<IFile> allMarkedFiles(RootRecord root) {
gatherRuleNames();
Set<IFile> files = new HashSet<IFile>();
for (AbstractPMDRecord projectRecord : root.getChildren()) {
for (AbstractPMDRecord packageRecord : projectRecord.getChildren()) {
for (AbstractPMDRecord fileRecord : packageRecord.getChildren()) {
((FileRecord) fileRecord).updateChildren();
for (AbstractPMDRecord mRecord : fileRecord.getChildren()) {
MarkerRecord markerRecord = (MarkerRecord) mRecord;
for (IMarker marker : markerRecord.findMarkers()) {
Rule rule = ruleFrom(marker);
if (rule == null) {
continue;
}
files.add((IFile) fileRecord.getResource());
break;
}
}
}
}
}
return files;
}
use of net.sourceforge.pmd.eclipse.ui.model.MarkerRecord in project pmd-eclipse-plugin by pmd.
the class ViolationOverviewContentProvider method getParent.
/**
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
*/
public Object getParent(Object element) {
Object parent = null;
AbstractPMDRecord record = (AbstractPMDRecord) element;
switch(violationView.getShowType()) {
case ViolationOverview.SHOW_FILES_MARKERS:
if (element instanceof FileRecord) {
parent = root;
} else {
parent = record.getParent();
}
break;
case ViolationOverview.SHOW_MARKERS_FILES:
if (element instanceof FileToMarkerRecord) {
parent = record.getParent();
} else if (element instanceof PackageRecord) {
parent = root;
} else if (element instanceof MarkerRecord) {
parent = record.getParent().getParent();
}
break;
case ViolationOverview.SHOW_PACKAGES_FILES_MARKERS:
if (element instanceof PackageRecord) {
parent = root;
} else {
parent = record.getParent();
}
break;
default:
}
return parent;
}
use of net.sourceforge.pmd.eclipse.ui.model.MarkerRecord in project pmd-eclipse-plugin by pmd.
the class ViolationOverviewDoubleClickListener method doubleClick.
/**
* @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
*/
public void doubleClick(DoubleClickEvent event) {
final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
final Object object = selection.getFirstElement();
if (object instanceof PackageRecord) {
doubleClickToPackageRecord((PackageRecord) object);
} else if (object instanceof FileRecord) {
doubleClickToFileRecord((FileRecord) object);
} else if (object instanceof MarkerRecord) {
doubleClickToMarkerRecord((MarkerRecord) object);
} else if (object instanceof FileToMarkerRecord) {
doubleClickToFileToMarkerRecord((FileToMarkerRecord) object);
}
}
use of net.sourceforge.pmd.eclipse.ui.model.MarkerRecord in project pmd-eclipse-plugin by pmd.
the class ViolationOverviewLabelProvider method getProjectName.
/**
* Return the project name.
*
* @param element
* @return
*/
private String getProjectName(Object element) {
String projectName = "";
AbstractPMDRecord projectRec = null;
if (element instanceof PackageRecord) {
projectRec = ((PackageRecord) element).getParent();
} else if (element instanceof FileRecord) {
projectRec = ((FileRecord) element).getParent().getParent();
} else if (element instanceof MarkerRecord) {
projectRec = ((MarkerRecord) element).getParent().getParent().getParent();
} else if (element instanceof FileToMarkerRecord) {
projectRec = ((FileToMarkerRecord) element).getParent().getParent().getParent().getParent();
}
if (projectRec != null) {
projectName = projectRec.getName();
}
return projectName;
}
Aggregations