From 2cbac431f62cc79ac7c8bc6665fa2474960a908a Mon Sep 17 00:00:00 2001 From: David Craine Date: Thu, 11 Jul 2002 21:50:11 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@308 51baf565-9d33-0410-a72c-fc3788e3496d --- pmd-jbuilder/PMDOpenTool.jpx | 11 +- pmd-jbuilder/PMDOpenTool.jpx.local | 25 ++- pmd-jbuilder/classes.opentools | 2 +- pmd-jbuilder/copyfile.bat | 2 + pmd-jbuilder/lib/PMDOpenTool.jar | Bin 14129 -> 29651 bytes .../sourceforge/pmd/jbuilder/PMDOpenTool.java | 61 ++++-- .../pmd/jbuilder/RuleSetPropertyGroup.java | 72 +++++++ .../pmd/jbuilder/RuleSetPropertyPage.java | 187 ++++++++++++++++++ 8 files changed, 339 insertions(+), 21 deletions(-) create mode 100755 pmd-jbuilder/copyfile.bat create mode 100644 pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/RuleSetPropertyGroup.java create mode 100644 pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/RuleSetPropertyPage.java diff --git a/pmd-jbuilder/PMDOpenTool.jpx b/pmd-jbuilder/PMDOpenTool.jpx index 60cc0157ed..1921b5ff8f 100644 --- a/pmd-jbuilder/PMDOpenTool.jpx +++ b/pmd-jbuilder/PMDOpenTool.jpx @@ -33,7 +33,7 @@ - + @@ -43,12 +43,19 @@ + + + + + + - + + diff --git a/pmd-jbuilder/PMDOpenTool.jpx.local b/pmd-jbuilder/PMDOpenTool.jpx.local index 81d9d610be..fdd60ddc74 100644 --- a/pmd-jbuilder/PMDOpenTool.jpx.local +++ b/pmd-jbuilder/PMDOpenTool.jpx.local @@ -25,9 +25,24 @@ debug.NoTracingClasses.6[0]=30 com.borland.jbuilder.runtime.*1 1 -1 debug.NoTracingClasses.7[0]=17 com.borland.sql.*1 1 -1 debug.NoTracingClasses.8[0]=9 com.sun.*1 1 -1 debug.NoTracingClasses.9[0]=6 java.*1 1 -1 -history.files.active[0]=C%|/JBuilder7/lib/ext/PMDOpenTool.jar -history.files.open.1[0]=C%|/JBuilder7/lib/ext/PMDOpenTool.jar -history.files.open.2[0]=src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java,F;0,0 +history.files.active[0]=src/net/sourceforge/pmd/jbuilder/RuleSetPropertyGroup.java +history.files.open.1[0]=src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java,F;136,1658 +history.files.open.2[0]=src/net/sourceforge/pmd/jbuilder/RuleSetPropertyGroup.java,F;13,593 +history.files.open.3[0]=src/net/sourceforge/pmd/jbuilder/RuleSetPropertyPage.java,F;0,754 +import.optimize.packageprefixgroupings.1[0]=java +import.optimize.packageprefixgroupings.2[0]= +import.optimize.packageprefixgroupings.3[0]=javax +import.optimize.packageprefixgroupings.4[0]= +import.optimize.packageprefixgroupings.5[0]=<*> sys.Author[0]=David Craine -sys.DefaultPackage[0]=pmdopentool -wizard.package.package_history.1[0]=pmdopentool +sys.DefaultPackage[0]=net.sourceforge.pmd.jbuilder +team.ActiveVCS[0]=CVS +team.CvsAccessMethod[0]=ext +team.CvsAutosaveEnabled[0]=1 +team.CvsModule[0]=pmd-jbuilder +team.CvsRepository[0]=/cvsroot/pmd +team.CvsServer[0]=cvs.pmd.sourceforge.net +team.CvsShowConsole[0]=0 +team.CvsUsername[0]=dcraine +wizard.package.package_history.1[0]=net.sourceforge.pmd.jbuilder +wizard.package.package_history.2[0]=pmdopentool diff --git a/pmd-jbuilder/classes.opentools b/pmd-jbuilder/classes.opentools index d627dcd65a..a3f50c747e 100644 --- a/pmd-jbuilder/classes.opentools +++ b/pmd-jbuilder/classes.opentools @@ -1 +1 @@ -OpenTools-UI: pmdopentool.PMDOpenTool +OpenTools-UI: net.sourceforge.pmd.jbuilder.PMDOpenTool diff --git a/pmd-jbuilder/copyfile.bat b/pmd-jbuilder/copyfile.bat new file mode 100755 index 0000000000..d49aedd105 --- /dev/null +++ b/pmd-jbuilder/copyfile.bat @@ -0,0 +1,2 @@ +copy lib\PMDOpenTOol.jar %1 +copy lib\pmd-0.3.jar %1 \ No newline at end of file diff --git a/pmd-jbuilder/lib/PMDOpenTool.jar b/pmd-jbuilder/lib/PMDOpenTool.jar index cd34a415edcc070d45999dbfc8539ab357b149cd..b64f956137191fed054cb84f7849c8b17dece4d8 100644 GIT binary patch literal 29651 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 delta 3071 zcmZ8jd303O8UMXWX5O2Zmt>f%lXWr)0Ww)8LkLOO!=^$^*n|kOm<$k1G9il!QUjs_ zieS9RzC~6+Fv-Xy5KG0j+S=B&i^aBo^mvZvc>0HJ&r$y=^mkvv65q_d-+lLe_q*Tr z`|kbX8>P27wPs#Kqz?00{B8c+A3VP4e330)WCfGD{G&@-n(Bisf#&vLu(7bFYF0JJ zi#d+gqxF%i_kY!!@m(Y!n@^mqcK2Ryh_t>36*ok_wLW10k+_N&Ttf;5k&SnekA88+ zn(GAjK9*bCw>}DxtpK8HqenQ>)KJ)Nx4ZViial`PRV1K`t6xVZ_9F)e#h1<%*2A#j zh$xSHz=Ko2&d zPi&6guIv`K;(ew@|DO2F^t=c_HlNfeFSH@yibbgq?&L`#GubBAB+oWE_g-GG?;kOM zY(t#lc8k{e(XDIO5kYIN=`^)kMU9RHSSY(iDi*6)V#gy`s$rQ&U<}Qrs35KhyCnI#p~{@m%Pd>!`(6fI?2YkhFJrfXSFlH9re}=WYcPCWDqb@n zuup+UeCGFL8I0wA0|#)>z#$wqa0EvU9K&%HCk&iKx9Cbw(cZu*gQ46nLg~d(XK>bF zEYB;*5;sz_G=l-XpkR#HmgJTxBc^4fPPmA-R9rG}8E+d5K#u~udriB$v7tHOHqeVc z10lI_FW!;guNZg(Vd02P)Kv5v7{FDrdSX%NUm4$7Ma}3lab5;cJ{C550t$*mdcJFw zkMB0V0jp5VK94yLXz*ja$*Z9R6PN>Xt`rkV<*1Bv3V-FOkdgr9b7r`m-);>cB8|AdhYh=3aiT+MqV%XorLfC8%I5*6%QkheI3zS&kPFC#LJIzbA@*#Af^tTTO3tu7xZvx9*yLi{d78 zYZX6W3Z`=FLVSX0EI1MT@;+vuk`An9cxPf3U2=eKosBtk@g??i@c>tTO;|sOhv>#1 z$uSS}*;`P>eJnI$8>!A6yrj%$ZDff`_~37qR~&$Bg%Z-fdmz23)4C=V&4i7P7Hrh1 z6j4)-HoHWPond=Y$5RqAW!R)*vnt_Y+{21a&9)IRI!0l;isyB@^aT|!>MUD3RP2

u6+(vx`=rp<<;;E+2c%vHRUFcASSoSE zj-xoH;kb?yI4Qesor!!(#c2&^bjJ0p)cTx?^BUgNa6xA}UQ|tND6loPt(z&TJ$`X9 zX>w?8(L6=GpEXZ>Tbw4Q6nkuz*0pq__|%^*iu@(QT3lwcwstfI+C)>aCsgN8QEZnD z7SFZfa`c?Mo?%o?N626}XQ&cbR}eNB?$H32V-M}yK z9z~iO2in_;I+{D$0`+yl`at2+O^rO04CdP}4g3nfRuI7{10SHqz=!yaf!`t|w9=et z)0&U)I|IMRA4GX+RwO>A1uIL}d8<*Q;u8a(;xh$SYF*)0@wtI7@J9oG!k<Hd%o*&%H3v*3sDBCY7eMDlmz)rXgZF{wkhLDiF)cwkcUGrwJmqJWVX} zB#VC*CMx61%3C=xQQR!cRK}VjKP+D_?31d*%}L#%i<2iS;_umW#5YqGibYfNJIk1C zUX;#NV3MgWY@iFK9rr5-xr6#Q922R5I zAyQrD%kT!%$Roc+55lPJNA$eB0mR%B9b>9rLGvo9o`HEW{%IR$vJ)0zCM6Z;=+s0!XdpHG)*bW8_&(=??NOA)keks<0HxI_Zxr zE~&+%G_{1~csYexDa^`6D_K$PtgWku-LZt+GI}oOxB=wN?}OKw?;St^|6vq{QS?(s z@1TI4+-sMq)lmFgScAtY#KvM(7sF#jp@IP(Bg_zyRq5@Nh7TQ<+4n7T@{p0n*yxgV zSZ}UsxEuB<)K@;~gYeZli~HdZVf-LUYMm1tHO|t0ObkJj+9{@AhteR2qE_%;lS896 z@SBBa*A^ChCYHr?ymVcO6e|x1#iBFQ%;)|)u!s##$dotJ5%=05zTv)A-g3LH$9aD$ zWaMS`{xv<~M$j#y({wSr#i>d0@|r1DwIo{VM#(#-=x&L3%lVO)%KK$}6>l=$9%dYQ ZsNK(~=8(}JZ?(xun+yzttWA(_{|82cUCjUh diff --git a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java index cfc22c5fbc..18c909f080 100644 --- a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java +++ b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/PMDOpenTool.java @@ -1,26 +1,26 @@ package net.sourceforge.pmd.jbuilder; +import java.awt.*; import java.io.*; import java.util.*; +import javax.swing.*; import javax.swing.text.*; import com.borland.jbuilder.*; import com.borland.jbuilder.node.*; import com.borland.primetime.*; +import com.borland.primetime.editor.*; import com.borland.primetime.ide.*; import com.borland.primetime.node.*; import com.borland.primetime.viewer.*; import net.sourceforge.pmd.*; import net.sourceforge.pmd.reports.*; -import com.borland.primetime.actions.DelegateHandler; -import com.borland.primetime.actions.DelegateAction; -import javax.swing.Action; -import com.borland.primetime.editor.LineMark; -import com.borland.primetime.editor.EditorPane; -import com.borland.primetime.editor.EditorManager; -import com.borland.primetime.editor.MasterStyleContext; -import java.awt.Color; +import com.borland.primetime.actions.ActionGroup; +import com.borland.primetime.properties.NodeProperty; +import com.borland.primetime.properties.GlobalProperty; +import com.borland.primetime.properties.PropertyManager; +import com.borland.primetime.properties.PropertyDialog; /** @@ -33,9 +33,9 @@ import java.awt.Color; */ public class PMDOpenTool { + static MessageCategory msgCat = new MessageCategory("PMD Results"); - - + public static ActionGroup GROUP_PMD = new ActionGroup("PMD", 'p', true); public PMDOpenTool() { int i; @@ -44,11 +44,15 @@ public class PMDOpenTool { public static void initOpenTool(byte majorVersion, byte minorVersion) { if (majorVersion == PrimeTime.CURRENT_MAJOR_VERSION) { - JBuilderMenu.GROUP_Tools.add(ACTION_PMDCheck); + GROUP_PMD.add(ACTION_PMDCheck); + GROUP_PMD.add(ACTION_PMDConfig); + JBuilderMenu.GROUP_Tools.add(GROUP_PMD); registerWithContentManager(); + PropertyManager.registerPropertyGroup(new RuleSetPropertyGroup()); } } + /** * Registers an "PMD Checker" action with the ContentManager (Tabs) * The action will not be visible if multiple nodes are selected @@ -66,6 +70,23 @@ public class PMDOpenTool { ContentManager.registerContextActionProvider(cap); } + + private static RuleSet constructRuleSets(RuleSetFactory ruleSetFactory, PMD pmd) { + RuleSet masterRuleSet = null; + for (int i = 0; iTitle: JBuilder OpenTool for PMD

+ *

Description: Provides an environemnt for using the PMD aplication from within JBuilder

+ *

Copyright: Copyright (c) 2002

+ *

Company: InfoEther

+ * @author David Craine + * @version 1.0 + */ + +public class RuleSetPropertyGroup implements PropertyGroup { + /** + BEGIN - RULE DEFINITION SECTION + To add new rule sets simply create a new rule set name constant, create GlobalProperty constant, + and add each to their respective arrays. + */ + + public static final String RULESETS="RuleSets"; + public static final String RULESET_BASIC = "basic"; + public static final String RULESET_DESIGN = "design"; + public static final String RULESET_UNUSEDCODE = "unusedcode"; + public static final String RULESET_COUGAAR = "cougaar"; + public static final String RULESET_TICBUILD = "ticbuild"; + + public static final Object RULESETS_TOPIC = new Object(); + public static final GlobalProperty PROPKEY_RULESET_DESIGN = new GlobalProperty(RULESETS, RULESET_DESIGN, "true"); + public static final GlobalProperty PROPKEY_RULESET_BASIC = new GlobalProperty(RULESETS, RULESET_BASIC, "true"); + public static final GlobalProperty PROPKEY_RULESET_UNUSEDCODE = new GlobalProperty(RULESETS, RULESET_UNUSEDCODE, "true"); + public static final GlobalProperty PROPKEY_RULESET_COUGAAR = new GlobalProperty(RULESETS, RULESET_COUGAAR, "true"); + public static final GlobalProperty PROPKEY_RULESET_TICBUILD = new GlobalProperty(RULESETS, RULESET_TICBUILD, "true"); + + //make sure that these two arrays are synchronized + public static final String[] RULESET_NAMES = { + RULESET_BASIC, + RULESET_DESIGN, + RULESET_UNUSEDCODE, + RULESET_COUGAAR, + RULESET_TICBUILD}; + public static final GlobalProperty[] PROPKEYS = { + PROPKEY_RULESET_BASIC, + PROPKEY_RULESET_DESIGN, + PROPKEY_RULESET_UNUSEDCODE, + PROPKEY_RULESET_COUGAAR, + PROPKEY_RULESET_TICBUILD}; + /** + * END - RULE DEFINITION SECTION + */ + + + public RuleSetPropertyGroup() { + } + public void initializeProperties() { + /**@todo Implement this com.borland.primetime.properties.PropertyGroup method*/ + throw new java.lang.UnsupportedOperationException("Method initializeProperties() not yet implemented."); + } + public PropertyPageFactory getPageFactory(Object topic) { + if (topic == RULESETS_TOPIC) { + return new PropertyPageFactory("PMD Properties", "Set PMD RuleSet Properties") { + public PropertyPage createPropertyPage() { + return new RuleSetPropertyPage(); + } + }; + } + return null; + } +} \ No newline at end of file diff --git a/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/RuleSetPropertyPage.java b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/RuleSetPropertyPage.java new file mode 100644 index 0000000000..00da9fee92 --- /dev/null +++ b/pmd-jbuilder/src/net/sourceforge/pmd/jbuilder/RuleSetPropertyPage.java @@ -0,0 +1,187 @@ +package net.sourceforge.pmd.jbuilder; + +import com.borland.primetime.properties.*; +import com.borland.primetime.help.HelpTopic; +import javax.swing.*; +import java.awt.*; +import java.util.HashMap; +import javax.swing.border.*; +import javax.swing.ListModel; +import javax.swing.DefaultListModel; +import java.awt.event.*; +import com.borland.primetime.ide.Browser; +import com.borland.primetime.ide.MessageCategory; +import java.util.Enumeration; + + +/** + *

Title: JBuilder OpenTool for PMD

+ *

Description: Provides an environemnt for using the PMD aplication from within JBuilder

+ *

Copyright: Copyright (c) 2002

+ *

Company: InfoEther

+ * @author David Craine + * @version 1.0 + */ + +public class RuleSetPropertyPage extends PropertyPage { + + //static MessageCategory cat = new MessageCategory("test"); + + private BorderLayout borderLayout1 = new BorderLayout(); + private JSplitPane jSplitPane1 = new JSplitPane(); + private Border border1; + private TitledBorder titledBorder1; + private Border border2; + private TitledBorder titledBorder2; + private DefaultListModel dlmAvailableRuleSets = new DefaultListModel(); + private DefaultListModel dlmSelectedRuleSets = new DefaultListModel(); + private JPanel jpAvailableRuleSets = new JPanel(); + private JScrollPane jspAvailableRuleSets = new JScrollPane(); + private JList jlistAvailableRuleSets = new JList(); + private JPanel jpSelectedRuleSets = new JPanel(); + private JList jlistSelectedRuleSets = new JList(); + private JScrollPane jspSelecedRuleSets = new JScrollPane(); + private BorderLayout borderLayout2 = new BorderLayout(); + private BorderLayout borderLayout3 = new BorderLayout(); + private JButton jbSelectRuleSets = new JButton(); + private JButton jbDeselectRuleSets = new JButton(); + private Border border3; + private Border border4; + + public RuleSetPropertyPage() { + try { + jbInit(); + } + catch (Exception ex) { + ex.printStackTrace(); + } + } + + + private void initRuleSplitPanes() { + //loop through the sets of rules and place them in the appropriate pane based upon setting + for (int i=0;i>>"); + jbSelectRuleSets.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + jbSelectRuleSets_actionPerformed(e); + } + }); + jbDeselectRuleSets.setText("<<<===Remove"); + jbDeselectRuleSets.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + jbDeselectRuleSets_actionPerformed(e); + } + }); + jpAvailableRuleSets.setBorder(titledBorder1); + jpSelectedRuleSets.setBorder(titledBorder2); + this.add(jSplitPane1, BorderLayout.CENTER); + jSplitPane1.add(jpAvailableRuleSets, JSplitPane.LEFT); + jSplitPane1.add(jpSelectedRuleSets, JSplitPane.RIGHT); + jpAvailableRuleSets.add(jspAvailableRuleSets, BorderLayout.CENTER); + jpSelectedRuleSets.add(jspSelecedRuleSets, BorderLayout.CENTER); + jspSelecedRuleSets.getViewport().add(jlistSelectedRuleSets, null); + jspAvailableRuleSets.getViewport().add(jlistAvailableRuleSets, null); + jpAvailableRuleSets.add(jbSelectRuleSets, BorderLayout.SOUTH); + jpSelectedRuleSets.add(jbDeselectRuleSets, BorderLayout.SOUTH); + + initRuleSplitPanes(); + jSplitPane1.setDividerLocation(200); + } + + public void writeProperties() { + //set the properties for the items items in the selected list to true + for (Enumeration e = dlmSelectedRuleSets.elements(); e.hasMoreElements(); ) { + ListEntry le = (ListEntry)e.nextElement(); + le.getProp().setValue("true"); + } + + //set the properties for the items items in the available list to false + for (Enumeration e = dlmAvailableRuleSets.elements(); e.hasMoreElements(); ) { + ListEntry le = (ListEntry)e.nextElement(); + le.getProp().setValue("false"); + } + + + } + public HelpTopic getHelpTopic() { + return null; + } + public void readProperties() { + } + + void jbSelectRuleSets_actionPerformed(ActionEvent e) { + //get the selected elements in the selected list and move to the available list + int [] selectedItems = jlistAvailableRuleSets.getSelectedIndices(); + if (selectedItems != null) { + for (int i=0; i