diff --git a/pmd-eclipse/.project b/pmd-eclipse/.project
index 80360c1d35..52aa74be89 100644
--- a/pmd-eclipse/.project
+++ b/pmd-eclipse/.project
@@ -3,7 +3,6 @@
pmd-eclipse
- pmd
diff --git a/pmd-eclipse/plugin.xml b/pmd-eclipse/plugin.xml
index 04d9c01173..b7556a9016 100644
--- a/pmd-eclipse/plugin.xml
+++ b/pmd-eclipse/plugin.xml
@@ -2,7 +2,7 @@
diff --git a/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDAction.java b/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDAction.java
index d2b2927dbf..c130c09557 100644
--- a/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDAction.java
+++ b/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDAction.java
@@ -30,7 +30,7 @@ public class PMDAction implements IWorkbenchWindowActionDelegate {
*/
public void run(IAction action) {
String[] rulesetFiles = PMDPlugin.getDefault().getRuleSetsPreference();
-
+
PMDVisitor visitor = null;
try {
visitor = new PMDVisitor(rulesetFiles);
diff --git a/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDCheckFileAction.java b/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDCheckFileAction.java
index 2a6b50e00f..6f27f3e8d8 100644
--- a/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDCheckFileAction.java
+++ b/pmd-eclipse/src/net/sourceforge/pmd/eclipse/actions/PMDCheckFileAction.java
@@ -1,8 +1,12 @@
package net.sourceforge.pmd.eclipse.actions;
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IFile;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
@@ -23,7 +27,7 @@ public class PMDCheckFileAction implements IObjectActionDelegate {
*/
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
this.targetPart = targetPart;
-
+
}
/**
@@ -32,21 +36,29 @@ public class PMDCheckFileAction implements IObjectActionDelegate {
public void run(IAction action) {
String[] rulesetFiles = PMDPlugin.getDefault().getRuleSetsPreference();
+ Shell shell = new Shell();
+
PMDVisitor visitor = null;
try {
visitor = new PMDVisitor(rulesetFiles);
+ Object sel = targetPart.getSite().getSelectionProvider().getSelection();
+ if (sel instanceof StructuredSelection) {
+ StructuredSelection ss = (StructuredSelection)sel;
+ for (Iterator iter = ss.iterator(); iter.hasNext(); ) {
+ Object obj = iter.next();
+ if (obj instanceof IFile) {
+ ((IFile)obj).accept(visitor);
+ }
+
+ }
+ }
- PMDPlugin.getWorkspace().getRoot().accept( visitor );
+ //PMDPlugin.getWorkspace().getRoot().accept( visitor );
} catch (Exception e) {
e.printStackTrace();
}
- Shell shell = new Shell();
- MessageDialog.openInformation(
- shell,
- "pmd-eclipse Plug-in",
- "PMD Check File was executed.");
}
/**