Skip to content

Commit

Permalink
bug #973177 fixed
Browse files Browse the repository at this point in the history
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@2792 51baf565-9d33-0410-a72c-fc3788e3496d
  • Loading branch information
Andrey Lumyanski committed Jul 9, 2004
1 parent 4107534 commit c195365
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 5 deletions.
8 changes: 8 additions & 0 deletions pmd-gel/etc/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
July 09, 2004 - 0.7
Author: Andrey Lumyanski
Some bugs fixed (also #973177).

May 24, 2004 - 0.6:
Rewritten by Andrey Lumyanski
Now any ruleset can be selected. All messages show in Gel Messages Console

October 15, 2003 - 0.5:
Backed up essentially to 0.2 - the newer code was locking up.
Updated to pmd-1.2.2.
Expand Down
33 changes: 28 additions & 5 deletions pmd-gel/src/net/sourceforge/pmd/gel/PMDPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.StringTokenizer;

import javax.swing.ProgressMonitor;

Expand Down Expand Up @@ -79,14 +81,26 @@ public void perform(Gel gel) {
report = new Report();
report.addListener(this);
gel.clearMessages();
if (gel.getProject() == null && gel.getEditor() == null) {
gel.showMessage("There are no java files to analyse!");
return;
}
gel.addMessage("PMD started");

try {
RuleSetFactory rsf = new RuleSetFactory();
Iterator it = rsf.getRegisteredRuleSets();
Properties props = new Properties();
props.load(rsf.getClass().getResourceAsStream("/rulesets/rulesets.properties"));
String rulesetFilenames = props.getProperty("rulesets.filenames");
ArrayList listOfRuleSet = new ArrayList();
while (it.hasNext()) {
listOfRuleSet.add((RuleSet)it.next());
StringTokenizer st = new StringTokenizer(rulesetFilenames, ",");
RuleSet ruleSet = null;
String rsFileName = null;
while (st.hasMoreTokens()) {
rsFileName = st.nextToken();
ruleSet = rsf.createRuleSet(rsFileName);
ruleSet.setFileName(rsFileName);
listOfRuleSet.add(ruleSet);
}
arrayRuleSet = new RuleSet[listOfRuleSet.size()];
for (int i = 0; i < arrayRuleSet.length; ++i) {
Expand All @@ -103,7 +117,7 @@ public void perform(Gel gel) {
if (gel.getProject() != null) {
listOfFiles = new ArrayList();

it = gel.getProject().getSourcePaths().iterator();
Iterator it = gel.getProject().getSourcePaths().iterator();
FileFinder ff = new FileFinder();
FilenameFilter filter =
new JavaLanguage.JavaFileOrDirectoryFilter();
Expand All @@ -116,6 +130,15 @@ public void perform(Gel gel) {
listOfFiles.addAll(files);
}
}
if (listOfFiles.isEmpty()) {
if (gel.getEditor() != null) {
gel.addMessage("WARNING: There are no java files in project source paths. Try to analyse current data in editor.");
} else {
gel.addMessage("WARNING: There are no java files to analyse.");
gel.addMessage("PMD finished");
return;
}
}
} else {
String name = gel.getEditor().getFileName();

Expand Down Expand Up @@ -176,7 +199,7 @@ public void run() {
if (ruleSet.size() > 0) {
ctx.setReport(report);

if (gel.getProject() == null) {
if (gel.getProject() == null || listOfFiles.isEmpty()) {
String code = gel.getEditor().getContents();
String name = gel.getEditor().getFileName();

Expand Down

0 comments on commit c195365

Please sign in to comment.