[pmd-devel] pmd-netbeans/src/pmd RunPMDAction.java,1.31,1.32
A source code analyzer
Brought to you by:
adangel,
juansotuyo
From: Colin Wilson-S. <co...@us...> - 2005-06-07 14:14:02
|
Update of /cvsroot/pmd/pmd-netbeans/src/pmd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26994 Modified Files: RunPMDAction.java Log Message: Query the source level of the file being checked, and use a PMD constructed with the correct TargetJDKVersion. Index: RunPMDAction.java =================================================================== RCS file: /cvsroot/pmd/pmd-netbeans/src/pmd/RunPMDAction.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** RunPMDAction.java 21 Dec 2004 21:39:49 -0000 1.31 --- RunPMDAction.java 7 Jun 2005 14:13:49 -0000 1.32 *************** *** 27,30 **** --- 27,32 ---- package pmd; + import java.lang.String; + import java.io.BufferedReader; import java.io.IOException; *************** *** 45,50 **** --- 47,57 ---- import net.sourceforge.pmd.RuleSet; import net.sourceforge.pmd.RuleViolation; + import net.sourceforge.pmd.TargetJDKVersion; + import net.sourceforge.pmd.TargetJDK1_3; + import net.sourceforge.pmd.TargetJDK1_4; + import net.sourceforge.pmd.TargetJDK1_5; import org.netbeans.api.java.classpath.ClassPath; + import org.netbeans.api.java.queries.SourceLevelQuery; import org.openide.ErrorManager; import org.openide.awt.StatusDisplayer; *************** *** 166,171 **** */ public static List checkCookies( List dataobjects, RunPMDCallback callback ) throws IOException { RuleSet set = constructRuleSets(); ! PMD pmd = new PMD(); ArrayList list = new ArrayList( 100 ); callback.pmdStart( dataobjects.size() ); --- 173,182 ---- */ public static List checkCookies( List dataobjects, RunPMDCallback callback ) throws IOException { + SourceLevelQuery sourceLevelQuery = + (SourceLevelQuery) Lookup.getDefault().lookup(SourceLevelQuery.class); RuleSet set = constructRuleSets(); ! PMD pmd_1_3 = null; ! PMD pmd_1_4 = null; ! PMD pmd_1_5 = null; ArrayList list = new ArrayList( 100 ); callback.pmdStart( dataobjects.size() ); *************** *** 183,186 **** --- 194,221 ---- continue; } + + String sourceLevel = sourceLevelQuery.getSourceLevel(fobj); + + // choose the correct PMD to use according to the source level + PMD pmd = null; + if (sourceLevel != null) { + if (sourceLevel.equals("1.5")) { + if (pmd_1_5 == null) + pmd_1_5 = new PMD(new TargetJDK1_5()); + pmd = pmd_1_5; + } else if (sourceLevel.equals("1.3")) { + if (pmd_1_3 == null) + pmd_1_3 = new PMD(new TargetJDK1_3()); + pmd = pmd_1_3; + } + } + // default to JDK 1.4 if we don't know any better... + if (pmd == null) { + if (pmd_1_4 == null) + pmd_1_4 = new PMD(new TargetJDK1_4()); + pmd = pmd_1_4; + } + + Reader reader; try { |