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."); } /**