From 157b62d719f0c607bc9340741cebfe0524c1d128 Mon Sep 17 00:00:00 2001 From: David Craine Date: Thu, 8 Aug 2002 20:15:04 +0000 Subject: [PATCH] git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@661 51baf565-9d33-0410-a72c-fc3788e3496d --- pmd-jbuilder/lib/PMDOpenTool.jar | Bin 96492 -> 104252 bytes pmd-jbuilder/src/images/cpd.gif | Bin 0 -> 305 bytes .../sourceforge/pmd/jbuilder/CPDDialog.java | 96 ++++++++++++++++++ .../sourceforge/pmd/jbuilder/PMDOpenTool.java | 59 +++++++++++ 4 files changed, 155 insertions(+) create mode 100644 pmd-jbuilder/src/images/cpd.gif create mode 100644 pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/CPDDialog.java diff --git a/pmd-jbuilder/lib/PMDOpenTool.jar b/pmd-jbuilder/lib/PMDOpenTool.jar index a53ed567cc7abd6780ee7d8b3d294cc4c53cd08d..0078bfec74541c0858f5126bb88daf16804dc966 100644 GIT binary patch delta 12706 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 Z<(su|Gr^?D$TYq`xE2Lm8!KPA{{^m@wJHDr diff --git a/pmd-jbuilder/src/images/cpd.gif b/pmd-jbuilder/src/images/cpd.gif new file mode 100644 index 0000000000000000000000000000000000000000..5efb7c8b443d1ab043f21cee0f883f7cf6626521 GIT binary patch literal 305 zcmZvXF-QVo97q2_nN-LrQYR6YVU!@D)X;5ll#z&~G&vP+=Mo&W96`ZN;g*YVQ{;Hi z@@*Yl2p_auEq&ub(^1QfR}lQty~o?$^bU`zyXtw0()13(m^elhBa9G)5CQzL0z3d0 za5)%<<6_8QJLo&;4Pn_Z`!IUwTIiT)8>n@mb)dFUX`xtytU*>GRXooV5W+HrW$@VN zk?%&X1LlOx4xN5H);0sn2&`^sXrZPBEtS{uzM6E4B#3;O{3LOiT#1-O|B?Tho*`1G zG>Ma^y#(`KH&%ZO3kUaa<-tj5v0fd0?%XPw`lbGI_OSN+alKz?Y$is{C!Gzx?)0nE h?eF==i*hQRZp>zK*{RM=CVSk>Ew9XNtt-jw(jVCYky8Kw literal 0 HcmV?d00001 diff --git a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/CPDDialog.java b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/CPDDialog.java new file mode 100644 index 0000000000..5e19f37137 --- /dev/null +++ b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/CPDDialog.java @@ -0,0 +1,96 @@ +package net.sourceforge.pmd.jbuilder; + +import java.awt.*; +import javax.swing.*; +import com.borland.jbcl.layout.*; +import javax.swing.plaf.ProgressBarUI; +import java.io.File; +import net.sourceforge.pmd.cpd.CPDListener; +import net.sourceforge.pmd.cpd.CPD; + +public class CPDDialog extends JFrame implements CPDListener { + private CPD cpd; + int progress = 0; + boolean firstUpdate = true; + boolean firstToken = true; + boolean firstFile = true; + boolean firstExpansion = true; + private static final int PROG_MAX = 100; + private VerticalFlowLayout verticalFlowLayout1 = new VerticalFlowLayout(); + private JLabel jLabel1 = new JLabel(); + private JProgressBar jProgressBar1 = new JProgressBar(); + + public CPDDialog(CPD cpd) { + super("CPD Status Monitor"); + this.cpd = cpd; + cpd.setListener(this); + try { + jbInit(); + } + catch(Exception e) { + e.printStackTrace(); + } + } + + public void update(String msg) { + if (firstUpdate) { + firstUpdate = false; + jLabel1.setText("Updating..."); + jProgressBar1.setString(msg); + } + jProgressBar1.setValue(progress++ % PROG_MAX); + } + + public void addedFile(int fileCount, File file) { + if (firstFile) { + firstFile = false; + jLabel1.setText("Adding Files..."); + jProgressBar1.setString(file.getName()); + } + jProgressBar1.setValue(progress++ % PROG_MAX); + } + + + public void addingTokens(int tokenSetCount, int doneSoFar, String tokenSrcID) { + if (firstToken) { + firstToken = false; + jLabel1.setText("Adding Tokens..."); + jProgressBar1.setMaximum(tokenSetCount); + progress = 0; + } + jProgressBar1.setValue(progress++); + } + + public void expandingTile(String tileImage) { + if (firstExpansion) { + firstExpansion = false; + jLabel1.setText("Expanding Tokens..."); + jProgressBar1.setMaximum(PROG_MAX); + progress = 0; + } + jProgressBar1.setValue(progress++ % PROG_MAX); + } + + public void close() { + this.dispose(); + } + + public CPDDialog() { + try { + jbInit(); + } + catch(Exception e) { + e.printStackTrace(); + } + } + private void jbInit() throws Exception { + jLabel1.setHorizontalAlignment(SwingConstants.CENTER); + jLabel1.setText("CPD Status"); + this.getContentPane().setLayout(verticalFlowLayout1); + this.getContentPane().add(jLabel1, null); + this.getContentPane().add(jProgressBar1, null); + this.setSize(400,400); + this.setVisible(true) ; + this.show(); + } +} \ No newline at end of file diff --git a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java index 1000606444..a5c590b70d 100644 --- a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java +++ b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java @@ -27,11 +27,18 @@ import com.borland.primetime.properties.*; import com.borland.primetime.viewer.*; import net.sourceforge.pmd.*; import java.awt.event.ActionEvent; +import net.sourceforge.pmd.cpd.CPD; +import net.sourceforge.pmd.cpd.Results; +import net.sourceforge.pmd.cpd.Tile; +import net.sourceforge.pmd.cpd.CPDNullListener; +import net.sourceforge.pmd.cpd.CPDListener; +import javax.swing.ProgressMonitor; public class PMDOpenTool { static MessageCategory msgCat = new MessageCategory("PMD Results"); + static MessageCategory cpdCat = new MessageCategory("CPD Results"); public static ActionGroup GROUP_PMD = new ActionGroup("PMD", 'p', true); static Font fileNameMsgFont = new Font("Dialog", Font.BOLD, 12); static Font stdMsgFont = new Font("Dialog", Font.PLAIN, 12); @@ -59,6 +66,7 @@ public class PMDOpenTool { JBuilderMenu.GROUP_Tools.add(GROUP_PMD); JBuilderToolBar.GROUP_RunBar.add(B_ACTION_PMDCheck); JBuilderToolBar.GROUP_RunBar.add(B_ACTION_PMDProjectCheck); + JBuilderToolBar.GROUP_RunBar.add(B_ACTION_CPDProjectCheck); registerWithContentManager(); registerWithProjectView(); @@ -218,6 +226,19 @@ public class PMDOpenTool { } }; + //create the project menu action for running a PMD check against all the java files within the active project + public static BrowserAction B_ACTION_CPDProjectCheck = new BrowserAction ("CPD Check Project", 'P', "Run CPD on all the java files in the project", + new ImageIcon(PMDOpenTool.class.getClassLoader().getSystemResource("images/cpd.gif"))) { + public void actionPerformed(Browser browser) { + Runnable r = new Runnable() { + public void run() { + pmdCPD(); + } + }; + Thread t = new Thread(r); + t.start(); + } + }; static void checkCode(String srcCode, JavaFileNode node, RuleSet rules) { try { @@ -304,6 +325,44 @@ public class PMDOpenTool { } } + private static void pmdCPD() { + try { + Browser.getActiveBrowser().getMessageView().clearMessages(cpdCat); //clear the message window + CPD cpd = new CPD(); + cpd.setMinimumTileSize(25); + Node[] nodes = Browser.getActiveBrowser().getActiveProject().getDisplayChildren(); + CPDDialog cpdd = new CPDDialog(cpd); + for (int i=0; i