Skip to content

Commit 13d7fa3

Browse files
committed
Merge branch 'master' of https://github.com/dkulp/pmd-eclipse-plugin into dkulp-master
2 parents 4f8d153 + 37b5bbd commit 13d7fa3

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/plugin/FileChangeReviewer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil;
88
import net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd;
99

10+
import org.apache.log4j.Logger;
1011
import org.eclipse.core.resources.IFile;
1112
import org.eclipse.core.resources.IResource;
1213
import org.eclipse.core.resources.IResourceChangeEvent;
@@ -110,6 +111,7 @@ private void changed(Set<ResourceChange> itemsChanged, IResourceDelta delta, IPr
110111
if (monitor.isCanceled()) return;
111112
changed(itemsChanged, grandkidDelta, monitor);
112113
}
114+
break;
113115
case IResourceDelta.ADDED :
114116
// if (rsc instanceof IProject) {
115117
// removed(itemsChanged, (IProject)rsc, delta.getFlags());
@@ -121,6 +123,7 @@ private void changed(Set<ResourceChange> itemsChanged, IResourceDelta delta, IPr
121123
if (monitor.isCanceled()) return;
122124
changed(itemsChanged, grandkidDelta, monitor);
123125
}
126+
break;
124127
case IResourceDelta.CHANGED :
125128
// if (rsc instanceof IProject) {
126129
// changed(itemsChanged, (IProject)rsc, delta.getFlags());
@@ -131,7 +134,8 @@ private void changed(Set<ResourceChange> itemsChanged, IResourceDelta delta, IPr
131134
for (IResourceDelta grandkidDelta : delta.getAffectedChildren()) {
132135
if (monitor.isCanceled()) return;
133136
changed(itemsChanged, grandkidDelta, monitor);
134-
}
137+
}
138+
break;
135139
default :
136140
for (IResourceDelta grandkidDelta : delta.getAffectedChildren()) {
137141
if (monitor.isCanceled()) return;

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/ReviewCodeCmd.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ public class ReviewCodeCmd extends AbstractDefaultCommand {
102102
private int fileCount;
103103
private long pmdDuration;
104104
private String onErrorIssue = null;
105+
106+
private IProjectProperties propertyCache = null;
105107

106108
private static final long serialVersionUID = 1L;
107109

@@ -353,11 +355,17 @@ private void processResources() throws CommandException {
353355
}
354356
}
355357
}
358+
359+
private IProjectProperties getProjectProperties(IProject project) throws PropertiesException, CommandException {
360+
if (propertyCache == null || !propertyCache.getProject().getName().equals(project.getName())) {
361+
propertyCache = PMDPlugin.getDefault().loadProjectProperties(project);
362+
}
363+
return propertyCache;
364+
}
356365

357366
private RuleSet rulesetFrom(IResource resource) throws PropertiesException, CommandException {
358-
359367
IProject project = resource.getProject();
360-
IProjectProperties properties = PMDPlugin.getDefault().loadProjectProperties(project);
368+
IProjectProperties properties = getProjectProperties(project);
361369

362370
return filteredRuleSet(properties); //properties.getProjectRuleSet();
363371
}
@@ -369,7 +377,10 @@ private void processResource(IResource resource) throws CommandException {
369377
try {
370378

371379
final IProject project = resource.getProject();
372-
final IProjectProperties properties = PMDPlugin.getDefault().loadProjectProperties(project);
380+
final IProjectProperties properties = getProjectProperties(project);
381+
if (!properties.isPmdEnabled()) {
382+
return;
383+
}
373384

374385
final RuleSet ruleSet = rulesetFrom(resource); //properties.getProjectRuleSet();
375386

@@ -490,7 +501,7 @@ private RuleSet rulesetFromResourceDelta() throws PropertiesException, CommandEx
490501

491502
IResource resource = resourceDelta.getResource();
492503
final IProject project = resource.getProject();
493-
final IProjectProperties properties = PMDPlugin.getDefault().loadProjectProperties(project);
504+
final IProjectProperties properties = getProjectProperties(project);
494505

495506
return filteredRuleSet(properties); //properties.getProjectRuleSet();
496507
}
@@ -502,7 +513,7 @@ private void processResourceDelta() throws CommandException {
502513
try {
503514
IResource resource = resourceDelta.getResource();
504515
final IProject project = resource.getProject();
505-
final IProjectProperties properties = PMDPlugin.getDefault().loadProjectProperties(project);
516+
final IProjectProperties properties = getProjectProperties(project);
506517

507518
RuleSet ruleSet = rulesetFromResourceDelta(); //properties.getProjectRuleSet();
508519

@@ -655,4 +666,4 @@ public boolean visit(IResourceDelta delta) {
655666
}
656667
}
657668

658-
}
669+
}

0 commit comments

Comments
 (0)