Revision: 7137
http://pmd.svn.sourceforge.net/pmd/?rev=7137&view=rev
Author: hooperbloob
Date: 2010-09-15 08:43:46 +0000 (Wed, 15 Sep 2010)
Log Message:
-----------
Numerous bugfixes, improved XPath rule creation validation
Specified default 'user-specified' priority names
Renamed remaining MSGKEY-prefixed String keys
New reset-to-default-values in rule properties menu (single item for now)
New PMD Name column in marker prefs table & new column tooltips for same
Commented-out original PMD preferences view from main preference tree
Repositioned Language min/max & priority fields
Updated to latest PMD core
Modified Paths:
--------------
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/.classpath
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP1.png
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP2.png
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP3.png
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP4.png
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP5.png
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/lib/pmd-5.0.jar
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/messages.properties
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/plugin.xml
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/builder/MarkerUtil.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/IPreferences.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/impl/PreferenceUIStore.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/AbstractColumnDescriptor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/RuleLabelDecorator.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/ShapePicker.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/editors/BasicLineStyleListener.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/nls/StringKeys.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/RuleSetSelectionDialog.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/BUGs.txt
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/ImageColumnDescriptor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/PMDPreferencePage2.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleSelection.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleTableManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleUtil.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/UI_BUGs.txt
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/editors/AbstractEditorFactory.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/AbstractRulePanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/CreateRuleWizard.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/DescriptionPanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/ExamplePanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/FormArranger.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/PerRulePropertyPanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/RulePanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/RulePropertyManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/panelmanagers/XPathPanelManager.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/priority/PriorityColumnDescriptor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/priority/PriorityDescriptor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/priority/PriorityFieldAccessor.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/ChangeRecord.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/actions/DisableRuleAction.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/actions/PriorityFilterAction.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/actions/ShowRuleAction.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/cpd/CPDView.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/rules/RuleEditorView.java
Added Paths:
-----------
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/LabelProvider.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/ValueResetHandler.java
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/.classpath
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/.classpath 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/.classpath 2010-09-15 08:43:46 UTC (rev 7137)
@@ -12,6 +12,5 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="lib" path="lib/xercesImpl-2.6.2.jar"/>
- <classpathentry kind="con" path="org.eclipse.tptp.platform.instrumentation.ui.ContainerInitializer/Build to Manage Libraries"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF 2010-09-15 08:43:46 UTC (rev 7137)
@@ -14,8 +14,8 @@
org.eclipse.ui.editors;bundle-version="3.5.0",
org.eclipse.team.core;bundle-version="3.5.0",
org.eclipse.search,
- org.eclipse.help;bundle-version="3.5.0",
- org.eclipse.help.ui;bundle-version="3.5.0",
+ org.eclipse.help,
+ org.eclipse.help.ui,
org.eclipse.help.appserver;bundle-version="3.1.400"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP1.png
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP2.png
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP3.png
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP4.png
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/icons/markerP5.png
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/lib/pmd-5.0.jar
===================================================================
(Binary files differ)
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/messages.properties
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/messages.properties 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/messages.properties 2010-09-15 08:43:46 UTC (rev 7137)
@@ -188,11 +188,11 @@
view.column.project = Project
view.column.location = Line
-view.filter.priority.1 = Show priority 1 violations
-view.filter.priority.2 = Show priority 2 violations
-view.filter.priority.3 = Show priority 3 violations
-view.filter.priority.4 = Show priority 4 violations
-view.filter.priority.5 = Show priority 5 violations
+view.filter.priority.1 = Blocker
+view.filter.priority.2 = Critical
+view.filter.priority.3 = Urgent
+view.filter.priority.4 = Important
+view.filter.priority.5 = Warning
view.filter.project_prefix = Show Project
view.action.disable.rule = Disable rule
@@ -213,6 +213,7 @@
view.tooltip.review = Insert a comment where the violation occurs to mark it as reviewed.
view.tooltip.remove_violation = Remove the selected violation
view.tooltip.quickfix = Try to resolve this violation
+view.tooltip.filter.priority = Show %s violations
view.tooltip.filter.priority.1 = Show priority 1 violations (error high)
view.tooltip.filter.priority.2 = Show priority 2 violations (error)
view.tooltip.filter.priority.3 = Show priority 3 violations (warning high)
@@ -310,7 +311,7 @@
message.warning.xpath_mandatory = XPath is mandatory
message.warning.class_invalid = Invalid implementation class. The class must be in the plugin classpath and implement the Rule interface. See the related "how to use custom ruleset" in the online documentation.
-# Priority labels
+# Priority labels - not used in the modern UI CAN BE REMOVED WHENEVER
priority.error_high = Error high
priority.error = Error
priority.warning_high = Warning high
@@ -318,8 +319,14 @@
priority.information = Information
priority.column.name = Name
+priority.column.name.tooltip = User-specified name
+priority.column.name.pmd = PMD Name
+priority.column.name.pmd.tooltip = Original priority name as specified in PMD
priority.column.value = Value
+priority.column.value.tooltip = Relative value, 1 = highest
priority.column.size = Size
priority.column.shape = Shape
+priority.column.shape.tooltip = Decoration marker shape
priority.column.color = Color
+priority.column.color.tooltip = Decoration marker color
priority.column.description = Description
\ No newline at end of file
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/plugin.xml
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/plugin.xml 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/plugin.xml 2010-09-15 08:43:46 UTC (rev 7137)
@@ -180,13 +180,10 @@
class="net.sourceforge.pmd.eclipse.ui.preferences.br.PMDPreferencePage2"
id="net.sourceforge.pmd.eclipse.ui.preferences.pmdPreferencePage">
</page>
-
+<!--
<page name="PMD - Original" category="net.sourceforge.pmd.ui.preferences.generalPreferencesPage" class="net.sourceforge.pmd.eclipse.ui.preferences.PMDPreferencePage" id="net.sourceforge.pmd.ui.preferences.pmdPreferencePage">
</page>
-<!--
- <page name="PMD -v1" category="net.sourceforge.pmd.ui.preferences.generalPreferencesPage" class="net.sourceforge.pmd.eclipse.ui.preferences.br.PMDPreferencePage" id="net.sourceforge.pmd.ui.preferences.pmdPreferencePage">
- </page>
--->
+-->
<page
name="%preferences.cpd"
category="net.sourceforge.pmd.eclipse.ui.preferences.generalPreferencesPage"
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -401,6 +401,7 @@
public RuleLabelDecorator ruleLabelDecorator() {
IDecoratorManager mgr = getWorkbench().getDecoratorManager();
+ // TODO don't use a raw string...urgh
return (RuleLabelDecorator) mgr.getBaseLabelProvider("net.sourceforge.pmd.eclipse.plugin.RuleLabelDecorator");
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/builder/MarkerUtil.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/builder/MarkerUtil.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/builder/MarkerUtil.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -227,7 +227,11 @@
return priorityLevels;
}
-
+ public static Set<String> currentRuleNames() {
+ gatherRuleNames();
+ return rulesByName.keySet();
+ }
+
private static void gatherRuleNames() {
rulesByName = new HashMap<String, Rule>();
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -421,7 +421,7 @@
final String ruleName = tail.substring(0, tail.indexOf(':'));
pendingReviews.push(ruleName);
findLine = true;
- } else if (!comment && findLine && !StringUtil.isEmpty(line) && !line.startsWith("//")) {
+ } else if (!comment && findLine && StringUtil.isNotEmpty(line) && !line.startsWith("//")) {
findLine = false;
while (!pendingReviews.empty()) {
// @PMD:REVIEWED:AvoidInstantiatingObjectsInLoops:
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/IPreferences.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/IPreferences.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/IPreferences.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -68,11 +68,11 @@
Level LOG_LEVEL = Level.WARN;
String ACTIVE_RULES = "";
- PriorityDescriptor PD_1_DEFAULT = new PriorityDescriptor(RulePriority.HIGH, StringKeys.VIEW_FILTER_PRIORITY_1, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY_1, null, Shape.diamond, new RGB( 255,0,0), 13); // red
- PriorityDescriptor PD_2_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM_HIGH, StringKeys.VIEW_FILTER_PRIORITY_2, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY_2, null, Shape.square, new RGB( 0,255,255), 13); // yellow
- PriorityDescriptor PD_3_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM, StringKeys.VIEW_FILTER_PRIORITY_3, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY_3, null, Shape.circle, new RGB( 0,255,0), 13); // green
- PriorityDescriptor PD_4_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM_LOW, StringKeys.VIEW_FILTER_PRIORITY_4, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY_4, null, Shape.domeRight,new RGB( 255,0,255), 13); // purple
- PriorityDescriptor PD_5_DEFAULT = new PriorityDescriptor(RulePriority.LOW, StringKeys.VIEW_FILTER_PRIORITY_5, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY_5, null, Shape.plus, new RGB( 0,0,255), 13); // blue
+ PriorityDescriptor PD_1_DEFAULT = new PriorityDescriptor(RulePriority.HIGH, StringKeys.VIEW_FILTER_PRIORITY_1, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY, null, Shape.diamond, new RGB( 255,0,0), 13); // red
+ PriorityDescriptor PD_2_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM_HIGH, StringKeys.VIEW_FILTER_PRIORITY_2, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY, null, Shape.square, new RGB( 0,255,255), 13); // yellow
+ PriorityDescriptor PD_3_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM, StringKeys.VIEW_FILTER_PRIORITY_3, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY, null, Shape.circle, new RGB( 0,255,0), 13); // green
+ PriorityDescriptor PD_4_DEFAULT = new PriorityDescriptor(RulePriority.MEDIUM_LOW, StringKeys.VIEW_FILTER_PRIORITY_4, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY, null, Shape.domeRight,new RGB( 255,0,255), 13); // purple
+ PriorityDescriptor PD_5_DEFAULT = new PriorityDescriptor(RulePriority.LOW, StringKeys.VIEW_FILTER_PRIORITY_5, StringKeys.VIEW_TOOLTIP_FILTER_PRIORITY, null, Shape.plus, new RGB( 0,0,255), 13); // blue
boolean isActive(String rulename);
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/impl/PreferenceUIStore.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/impl/PreferenceUIStore.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/runtime/preferences/impl/PreferenceUIStore.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -44,10 +44,10 @@
public static final PreferenceUIStore instance = new PreferenceUIStore();
- private static String defaultHiddenColumnNames() {
+ private static String defaultHiddenColumnIds() {
Set<String> colNames = new HashSet<String>(defaultHiddenColumns.length);
for (RuleColumnDescriptor rcDesc : defaultHiddenColumns) {
- colNames.add(rcDesc.label());
+ colNames.add(rcDesc.id());
}
return SWTUtil.asString(colNames, stringSeparator);
}
@@ -75,7 +75,7 @@
private void createNewStore() {
preferenceStore.setValue(tableFraction, tableFractionDefault);
- preferenceStore.setValue(tableHiddenCols, defaultHiddenColumnNames());
+ preferenceStore.setValue(tableHiddenCols, defaultHiddenColumnIds());
preferenceStore.setValue(tableColumnSortUp, defaultSortUp);
preferenceStore.setValue(groupingColumn, "");
preferenceStore.setValue(selectedRuleNames, "");
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/AbstractColumnDescriptor.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/AbstractColumnDescriptor.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/AbstractColumnDescriptor.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -37,6 +37,12 @@
imagePath = theImagePath;
}
+ protected void setLabelIfImageMissing(TreeColumn column) {
+ if (imagePath == null) {
+ column.setText(label);
+ }
+ }
+
public String id() { return id; };
public String label() { return label; }
Added: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/LabelProvider.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/LabelProvider.java (rev 0)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/LabelProvider.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -0,0 +1,9 @@
+package net.sourceforge.pmd.eclipse.ui;
+/**
+ *
+ * @author Brian Remedios
+ */
+public interface LabelProvider {
+
+ String labelFor(Object item);
+}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/RuleLabelDecorator.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/RuleLabelDecorator.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/RuleLabelDecorator.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -9,7 +9,6 @@
import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants;
import net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil;
-import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -18,6 +17,10 @@
import org.eclipse.jface.viewers.ILightweightLabelDecorator;
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+/**
+ *
+ * @author Brian Remedios
+ */
public class RuleLabelDecorator implements ILightweightLabelDecorator {
private Collection<ILabelProviderListener> listeners;
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/ShapePicker.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/ShapePicker.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/ShapePicker.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -25,7 +25,6 @@
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.ISelectionListener;
/**
* Renders a set of coloured shapes mapped to known set of incoming items
@@ -34,13 +33,13 @@
*/
public class ShapePicker<T extends Object> extends Canvas implements ISelectionProvider {
- private T[] items;
- private int itemWidth;
- private int gap = 6;
- private T selectedItem;
- private T highlightItem;
- private Color selectedItemFillColor;
-
+ private T[] items;
+ private int itemWidth;
+ private int gap = 6;
+ private T selectedItem;
+ private T highlightItem;
+ private Color selectedItemFillColor;
+ private LabelProvider tooltipProvider;
private Map<T, ShapeDescriptor> shapeDescriptorsByItem;
// private Map<T, String> tooltipsByItem;
@@ -65,7 +64,7 @@
T newItem = itemAt(e.x, e.y);
if (newItem != highlightItem) {
highlightItem = newItem;
- setToolTipText(newItem == null ? "" : newItem.toString());
+ setToolTipText( tooltipFor(newItem) );
redraw();
}
}
@@ -103,6 +102,13 @@
return colorFor(rgb);
}
+ private String tooltipFor(T item) {
+ return item == null ? "" :
+ tooltipProvider == null ?
+ item.toString() :
+ tooltipProvider.labelFor(item);
+ }
+
private Color colorFor(RGB rgb) {
Color color = coloursByRGB.get(rgb);
@@ -208,6 +214,10 @@
selectionChanged();
}
+ public void tooltipProvider(LabelProvider provider) {
+ tooltipProvider = provider;
+ }
+
public ISelection getSelection() {
return new StructuredSelection(selectedItem);
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/editors/BasicLineStyleListener.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/editors/BasicLineStyleListener.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/editors/BasicLineStyleListener.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -113,7 +113,7 @@
}
private boolean isDefinedVariable(String text) {
- return !StringUtil.isEmpty(text);
+ return StringUtil.isNotEmpty(text);
}
private boolean atMultiLineCommentStart(String text, int position) {
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/nls/StringKeys.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/nls/StringKeys.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/nls/StringKeys.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -40,7 +40,7 @@
/**
* Convenient class to hold PMD Constants
* @author phherlin
- *
+ * @author bremedios
*/
public class StringKeys {
@@ -55,28 +55,28 @@
public static final String PROPERTY_BUTTON_INCLUDE_DERIVED_FILES = "property.button.include_derived_files";
public static final String PROPERTY_BUTTON_VIOLATIONS_AS_ERRORS = "property.button.violations_as_errors";
- public static final String MSGKEY_PREF_GENERAL_HEADER = "preference.pmd.header";
- public static final String MSGKEY_PREF_GENERAL_TITLE = "preference.pmd.title";
- public static final String MSGKEY_PREF_GENERAL_LABEL_ADDCOMMENT = "preference.pmd.label.addcomment";
- public static final String MSGKEY_PREF_GENERAL_LABEL_SAMPLE = "preference.pmd.label.sample";
- public static final String MSGKEY_PREF_GENERAL_TOOLTIP_ADDCOMMENT = "preference.pmd.tooltip.addcomment";
- public static final String MSGKEY_PREF_GENERAL_MESSAGE_INCORRECT_FORMAT ="preference.pmd.message.incorrect_format";
- public static final String MSGKEY_PREF_GENERAL_GROUP_REVIEW = "preference.pmd.group.review";
- public static final String MSGKEY_PREF_GENERAL_GROUP_PRIORITIES = "preference.pmd.group.priorities";
- public static final String MSGKEY_PREF_GENERAL_GROUP_GENERAL = "preference.pmd.group.general";
- public static final String MSGKEY_PREF_GENERAL_LABEL_SHOW_PERSPECTIVE = "preference.pmd.label.perspective_on_check";
- public static final String MSGKEY_PREF_GENERAL_LABEL_USE_DFA = "preference.pmd.label.use_dfa";
- public static final String MSGKEY_PREF_GENERAL_LABEL_USE_PROJECT_BUILD_PATH = "preference.pmd.label.use_project_build_path";
- public static final String MSGKEY_PREF_GENERAL_LABEL_MAX_VIOLATIONS_PFPR = "preference.pmd.label.max_violations_pfpr";
- public static final String MSGKEY_PREF_GENERAL_TOOLTIP_MAX_VIOLATIONS_PFPR = "preference.pmd.tooltip.max_violations_pfpr";
- public static final String MSGKEY_PREF_GENERAL_MESSAGE_INVALID_NUMERIC_VALUE ="preference.pmd.message.invalid_numeric_value";
- public static final String MSGKEY_PREF_GENERAL_REVIEW_PMD_STYLE = "preference.pmd.label.review_pmd_style";
- public static final String MSGKEY_PREF_GENERAL_GROUP_LOGGING = "preference.pmd.group.logging";
- public static final String MSGKEY_PREF_GENERAL_LABEL_LOG_FILE_NAME = "preference.pmd.label.log_file_name";
- public static final String MSGKEY_PREF_GENERAL_TOOLTIP_LOG_FILE_NAME = "preference.pmd.tooltip.log_file_name";
- public static final String MSGKEY_PREF_GENERAL_BUTTON_BROWSE = "preference.pmd.button.browse";
- public static final String MSGKEY_PREF_GENERAL_DIALOG_BROWSE = "preference.pmd.dialog.browse";
- public static final String MSGKEY_PREF_GENERAL_LABEL_LOG_LEVEL = "preference.pmd.label.log_level";
+ public static final String PREF_GENERAL_HEADER = "preference.pmd.header";
+ public static final String PREF_GENERAL_TITLE = "preference.pmd.title";
+ public static final String PREF_GENERAL_LABEL_ADDCOMMENT = "preference.pmd.label.addcomment";
+ public static final String PREF_GENERAL_LABEL_SAMPLE = "preference.pmd.label.sample";
+ public static final String PREF_GENERAL_TOOLTIP_ADDCOMMENT = "preference.pmd.tooltip.addcomment";
+ public static final String PREF_GENERAL_MESSAGE_INCORRECT_FORMAT ="preference.pmd.message.incorrect_format";
+ public static final String PREF_GENERAL_GROUP_REVIEW = "preference.pmd.group.review";
+ public static final String PREF_GENERAL_GROUP_PRIORITIES = "preference.pmd.group.priorities";
+ public static final String PREF_GENERAL_GROUP_GENERAL = "preference.pmd.group.general";
+ public static final String PREF_GENERAL_LABEL_SHOW_PERSPECTIVE = "preference.pmd.label.perspective_on_check";
+ public static final String PREF_GENERAL_LABEL_USE_DFA = "preference.pmd.label.use_dfa";
+ public static final String PREF_GENERAL_LABEL_USE_PROJECT_BUILD_PATH = "preference.pmd.label.use_project_build_path";
+ public static final String PREF_GENERAL_LABEL_MAX_VIOLATIONS_PFPR = "preference.pmd.label.max_violations_pfpr";
+ public static final String PREF_GENERAL_TOOLTIP_MAX_VIOLATIONS_PFPR = "preference.pmd.tooltip.max_violations_pfpr";
+ public static final String PREF_GENERAL_MESSAGE_INVALID_NUMERIC_VALUE ="preference.pmd.message.invalid_numeric_value";
+ public static final String PREF_GENERAL_REVIEW_PMD_STYLE = "preference.pmd.label.review_pmd_style";
+ public static final String PREF_GENERAL_GROUP_LOGGING = "preference.pmd.group.logging";
+ public static final String PREF_GENERAL_LABEL_LOG_FILE_NAME = "preference.pmd.label.log_file_name";
+ public static final String PREF_GENERAL_TOOLTIP_LOG_FILE_NAME = "preference.pmd.tooltip.log_file_name";
+ public static final String PREF_GENERAL_BUTTON_BROWSE = "preference.pmd.button.browse";
+ public static final String PREF_GENERAL_DIALOG_BROWSE = "preference.pmd.dialog.browse";
+ public static final String PREF_GENERAL_LABEL_LOG_LEVEL = "preference.pmd.label.log_level";
// TOOLTIP keys are not shown here...just append ".tooltip" to an existing key to see if you have one :)
public static final String PREF_RULESET_TITLE = "preference.ruleset.title";
@@ -202,6 +202,7 @@
public static final String VIEW_AST_DEFAULT_TEXT = "view.ast.default_text";
+ public static final String VIEW_FILTER_PRIORITY = "view.filter.priority";
public static final String VIEW_FILTER_PRIORITY_1 = "view.filter.priority.1";
public static final String VIEW_FILTER_PRIORITY_2 = "view.filter.priority.2";
public static final String VIEW_FILTER_PRIORITY_3 = "view.filter.priority.3";
@@ -211,6 +212,7 @@
public static final String VIEW_ACTION_CURRENT_PROJECT = "view.action.current_project";
+ public static final String VIEW_TOOLTIP_FILTER_PRIORITY = "view.tooltip.filter.priority";
public static final String VIEW_TOOLTIP_FILTER_PRIORITY_1 = "view.tooltip.filter.priority.1";
public static final String VIEW_TOOLTIP_FILTER_PRIORITY_2 = "view.tooltip.filter.priority.2";
public static final String VIEW_TOOLTIP_FILTER_PRIORITY_3 = "view.tooltip.filter.priority.3";
@@ -219,21 +221,21 @@
public static final String VIEW_TOOLTIP_PACKAGES_FILES = "view.tooltip.packages_files";
public static final String VIEW_TOOLTIP_COLLAPSE_ALL = "view.tooltip.collapse_all";
- public static final String MSGKEY_VIEW_COLUMN_MESSAGE = "view.column.message";
- public static final String MSGKEY_VIEW_COLUMN_RULE = "view.column.rule";
- public static final String MSGKEY_VIEW_COLUMN_CLASS = "view.column.class";
- public static final String MSGKEY_VIEW_COLUMN_PACKAGE = "view.column.package";
- public static final String MSGKEY_VIEW_COLUMN_PROJECT = "view.column.project";
- public static final String MSGKEY_VIEW_COLUMN_LOCATION = "view.column.location";
- public static final String MSGKEY_VIEW_TOOLTIP_PROJECT = "view.tooltip.project";
- public static final String MSGKEY_VIEW_TOOLTIP_FILE = "view.tooltip.file";
- public static final String MSGKEY_VIEW_TOOLTIP_DISABLE = "view.tooltip.disable";
- public static final String MSGKEY_VIEW_TOOLTIP_ERRORHIGH_FILTER = "view.tooltip.errorhigh_filter";
- public static final String MSGKEY_VIEW_TOOLTIP_ERROR_FILTER = "view.tooltip.error_filter";
- public static final String MSGKEY_VIEW_TOOLTIP_WARNINGHIGH_FILTER = "view.tooltip.warninghigh_filter";
- public static final String MSGKEY_VIEW_TOOLTIP_WARNING_FILTER = "view.tooltip.warning_filter";
- public static final String MSGKEY_VIEW_TOOLTIP_INFORMATION_FILTER = "view.tooltip.information_filter";
- public static final String MSGKEY_VIEW_TOOLTIP_SHOW_RULE = "view.tooltip.show_rule";
+ public static final String VIEW_COLUMN_MESSAGE = "view.column.message";
+ public static final String VIEW_COLUMN_RULE = "view.column.rule";
+ public static final String VIEW_COLUMN_CLASS = "view.column.class";
+ public static final String VIEW_COLUMN_PACKAGE = "view.column.package";
+ public static final String VIEW_COLUMN_PROJECT = "view.column.project";
+ public static final String VIEW_COLUMN_LOCATION = "view.column.location";
+ public static final String VIEW_TOOLTIP_PROJECT = "view.tooltip.project";
+ public static final String VIEW_TOOLTIP_FILE = "view.tooltip.file";
+ public static final String VIEW_TOOLTIP_DISABLE = "view.tooltip.disable";
+ public static final String VIEW_TOOLTIP_ERRORHIGH_FILTER = "view.tooltip.errorhigh_filter";
+ public static final String VIEW_TOOLTIP_ERROR_FILTER = "view.tooltip.error_filter";
+ public static final String VIEW_TOOLTIP_WARNINGHIGH_FILTER = "view.tooltip.warninghigh_filter";
+ public static final String VIEW_TOOLTIP_WARNING_FILTER = "view.tooltip.warning_filter";
+ public static final String VIEW_TOOLTIP_INFORMATION_FILTER = "view.tooltip.information_filter";
+ public static final String VIEW_TOOLTIP_SHOW_RULE = "view.tooltip.show_rule";
public static final String VIEW_TOOLTIP_REMOVE_VIOLATION = "view.tooltip.remove_violation";
public static final String VIEW_TOOLTIP_REFRESH = "view.tooltip.refresh_resource";
public static final String VIEW_TOOLTIP_REVIEW = "view.tooltip.review";
@@ -319,7 +321,8 @@
public static final String WARNING_MESSAGE_MANDATORY = "message.warning.message_mandatory";
public static final String WARNING_XPATH_MANDATORY = "message.warning.xpath_mandatory";
public static final String WARNING_CLASS_INVALID = "message.warning.class_invalid";
-
+
+ // these aren't used in the modern UI...can be removed
public static final String PRIORITY_ERROR_HIGH = "priority.error_high";
public static final String PRIORITY_ERROR = "priority.error";
public static final String PRIORITY_WARNING_HIGH = "priority.warning_high";
@@ -337,6 +340,7 @@
public static final String MSGKEY_MONITOR_COLLECTING_MARKERS = "monitor.collect_markers";
public static final String PRIORITY_COLUMN_NAME = "priority.column.name";
+ public static final String PRIORITY_COLUMN_PMD_NAME = "priority.column.name.pmd";
public static final String PRIORITY_COLUMN_VALUE = "priority.column.value";
public static final String PRIORITY_COLUMN_SIZE = "priority.column.size";
public static final String PRIORITY_COLUMN_SHAPE = "priority.column.shape";
@@ -344,7 +348,7 @@
public static final String PRIORITY_COLUMN_DESC = "priority.column.description";
/**
- * This class is not meant to be instanciated
+ * This class is not meant to be instantiated
*
*/
private StringKeys() {
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -141,7 +141,7 @@
// build the group
Group group = new Group(parent, SWT.SHADOW_IN);
- group.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_GENERAL));
+ group.setText(getMessage(StringKeys.PREF_GENERAL_GROUP_GENERAL));
group.setLayout(new GridLayout(1, false));
// build the children
@@ -202,7 +202,7 @@
private Group buildPriorityGroup(final Composite parent) {
Group group = new Group(parent, SWT.SHADOW_IN);
- group.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_PRIORITIES));
+ group.setText(getMessage(StringKeys.PREF_GENERAL_GROUP_PRIORITIES));
group.setLayout(new GridLayout(1, false));
createPreferenceLink(group,
@@ -354,15 +354,15 @@
// build the group
Group group = new Group(parent, SWT.SHADOW_IN);
- group.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_REVIEW));
+ group.setText(getMessage(StringKeys.PREF_GENERAL_GROUP_REVIEW));
group.setLayout(new GridLayout(1, false));
// build children
this.reviewPmdStyleBox = buildReviewPmdStyleBoxButton(group);
Label separator = new Label(group, SWT.SEPARATOR | SWT.SHADOW_IN | SWT.HORIZONTAL);
- buildLabel(group, StringKeys.MSGKEY_PREF_GENERAL_LABEL_ADDCOMMENT);
+ buildLabel(group, StringKeys.PREF_GENERAL_LABEL_ADDCOMMENT);
additionalCommentText = buildAdditionalCommentText(group);
- buildLabel(group, StringKeys.MSGKEY_PREF_GENERAL_LABEL_SAMPLE);
+ buildLabel(group, StringKeys.PREF_GENERAL_LABEL_SAMPLE);
sampleLabel = buildSampleLabel(group);
updateSampleLabel();
@@ -414,20 +414,20 @@
gridLayout.numColumns = 3;
Group loggingGroup = new Group(parent, SWT.NONE);
- loggingGroup.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_LOGGING));
+ loggingGroup.setText(getMessage(StringKeys.PREF_GENERAL_GROUP_LOGGING));
loggingGroup.setLayout(gridLayout);
Label logFileNameLabel = new Label(loggingGroup, SWT.NONE);
- logFileNameLabel.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_LABEL_LOG_FILE_NAME));
+ logFileNameLabel.setText(getMessage(StringKeys.PREF_GENERAL_LABEL_LOG_FILE_NAME));
logFileNameLabel.setLayoutData(gridData);
logFileNameText = new Text(loggingGroup, SWT.BORDER);
logFileNameText.setText(this.preferences.getLogFileName());
- logFileNameText.setToolTipText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_TOOLTIP_LOG_FILE_NAME));
+ logFileNameText.setToolTipText(getMessage(StringKeys.PREF_GENERAL_TOOLTIP_LOG_FILE_NAME));
logFileNameText.setLayoutData(gridData1);
browseButton = new Button(loggingGroup, SWT.NONE);
- browseButton.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_BUTTON_BROWSE));
+ browseButton.setText(getMessage(StringKeys.PREF_GENERAL_BUTTON_BROWSE));
browseButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent event) {
browseLogFile();
@@ -441,7 +441,7 @@
separator.setLayoutData(gridData11);
Label logLevelLabel = new Label(loggingGroup, SWT.NONE);
- logLevelLabel.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_LABEL_LOG_LEVEL));
+ logLevelLabel.setText(getMessage(StringKeys.PREF_GENERAL_LABEL_LOG_LEVEL));
logLevelValueLabel = new Label(loggingGroup, SWT.NONE);
logLevelValueLabel.setText("");
@@ -492,7 +492,7 @@
private Text buildAdditionalCommentText(Composite parent) {
Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
text.setText(this.preferences.getReviewAdditionalComment());
- text.setToolTipText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_TOOLTIP_ADDCOMMENT));
+ text.setToolTipText(getMessage(StringKeys.PREF_GENERAL_TOOLTIP_ADDCOMMENT));
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
@@ -523,7 +523,7 @@
*/
private Button buildShowPerspectiveBoxButton(Composite viewGroup) {
Button button = new Button(viewGroup, SWT.CHECK);
- button.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_LABEL_SHOW_PERSPECTIVE));
+ button.setText(getMessage(StringKeys.PREF_GENERAL_LABEL_SHOW_PERSPECTIVE));
button.setSelection(preferences.isPmdPerspectiveEnabled());
return button;
@@ -535,7 +535,7 @@
*/
private Button buildUseProjectBuildPathButton(Composite viewGroup) {
Button button = new Button(viewGroup, SWT.CHECK);
- button.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_LABEL_USE_PROJECT_BUILD_PATH));
+ button.setText(getMessage(StringKeys.PREF_GENERAL_LABEL_USE_PROJECT_BUILD_PATH));
button.setSelection(preferences.isProjectBuildPathEnabled());
return button;
}
@@ -551,13 +551,13 @@
Composite comp = new Composite(parent, 0);
comp.setLayout(new GridLayout(2, false));
- Label label = buildLabel(comp, StringKeys.MSGKEY_PREF_GENERAL_LABEL_MAX_VIOLATIONS_PFPR);
+ Label label = buildLabel(comp, StringKeys.PREF_GENERAL_LABEL_MAX_VIOLATIONS_PFPR);
label.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING, GridData.VERTICAL_ALIGN_CENTER, false, false, 1, 1));
final Spinner spinner = new Spinner(comp, SWT.SINGLE | SWT.BORDER);
spinner.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING, GridData.VERTICAL_ALIGN_CENTER, true, false, 1, 1));
spinner.setMinimum(preferences.getMaxViolationsPerFilePerRule());
- spinner.setToolTipText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_TOOLTIP_MAX_VIOLATIONS_PFPR));
+ spinner.setToolTipText(getMessage(StringKeys.PREF_GENERAL_TOOLTIP_MAX_VIOLATIONS_PFPR));
return spinner;
}
@@ -568,7 +568,7 @@
*/
private Button buildReviewPmdStyleBoxButton(final Composite parent) {
Button button = new Button(parent, SWT.CHECK);
- button.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_REVIEW_PMD_STYLE));
+ button.setText(getMessage(StringKeys.PREF_GENERAL_REVIEW_PMD_STYLE));
button.setSelection(this.preferences.isReviewPmdStyleEnabled());
return button;
@@ -623,11 +623,11 @@
String commentText = MessageFormat.format(pattern, new Object[] { System.getProperty("user.name", ""), new Date() });
sampleLabel.setText(commentText);
- setMessage(getMessage(StringKeys.MSGKEY_PREF_GENERAL_HEADER), NONE);
+ setMessage(getMessage(StringKeys.PREF_GENERAL_HEADER), NONE);
setValid(true);
} catch (IllegalArgumentException e) {
- setMessage(getMessage(StringKeys.MSGKEY_PREF_GENERAL_MESSAGE_INCORRECT_FORMAT), ERROR);
+ setMessage(getMessage(StringKeys.PREF_GENERAL_MESSAGE_INCORRECT_FORMAT), ERROR);
setValid(false);
}
}
@@ -646,7 +646,7 @@
*/
protected void browseLogFile() {
FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
- dialog.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_DIALOG_BROWSE));
+ dialog.setText(getMessage(StringKeys.PREF_GENERAL_DIALOG_BROWSE));
String fileName = dialog.open();
if (fileName != null) {
logFileNameText.setText(fileName);
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/RuleSetSelectionDialog.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/RuleSetSelectionDialog.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/RuleSetSelectionDialog.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -230,7 +230,7 @@
int selectionIndex = this.inputCombo.getSelectionIndex();
if (selectionIndex == -1) {
importedRuleSetName = inputCombo.getText();
- if (!StringUtil.isEmpty(importedRuleSetName)) {
+ if (StringUtil.isNotEmpty(importedRuleSetName)) {
try {
RuleSetFactory factory = new RuleSetFactory();
selectedRuleSet = factory.createRuleSets(importedRuleSetName).getAllRuleSets()[0];
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -1,5 +1,6 @@
package net.sourceforge.pmd.eclipse.ui.preferences.br;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -14,6 +15,7 @@
import net.sourceforge.pmd.eclipse.ui.ModifyListener;
import net.sourceforge.pmd.eclipse.ui.PMDUiConstants;
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
+import net.sourceforge.pmd.eclipse.ui.views.ChangeRecord;
import net.sourceforge.pmd.eclipse.util.ResourceManager;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
@@ -47,7 +49,7 @@
*
* @author Brian Remedios
*/
-public abstract class AbstractTreeTableManager {
+public abstract class AbstractTreeTableManager <T extends Object> {
protected ContainerCheckedTreeViewer treeViewer;
@@ -60,6 +62,8 @@
private Menu headerMenu;
private Menu tableMenu;
+ private ChangeRecord<T> changes;
+
protected final ColumnDescriptor[] availableColumns; // columns shown in the rule treetable in the desired order
private final Set<ColumnDescriptor> hiddenColumns = new HashSet<ColumnDescriptor>();
@@ -107,6 +111,19 @@
loadHiddenColumns();
}
+ protected void removed(Collection<T> items) {
+
+ if (changes == null) changes = new ChangeRecord<T>();
+ changes.removed(items);
+ updateCheckControls();
+ }
+
+ protected void added(T item) {
+ if (changes == null) changes = new ChangeRecord<T>();
+ changes.added(item);
+ updateCheckControls();
+ }
+
private void loadHiddenColumns() {
for (String columnId : PreferenceUIStore.instance.hiddenColumnIds() ) {
@@ -195,6 +212,10 @@
protected CheckboxTreeViewer treeViewer() { return treeViewer; }
+ public ChangeRecord<T> changes() {
+ return changes;
+ }
+
protected Button newImageButton(Composite parent, String imageId, String toolTipId) {
Button button = new Button(parent, SWT.PUSH | SWT.LEFT);
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/BUGs.txt
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/BUGs.txt 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/BUGs.txt 2010-09-15 08:43:46 UTC (rev 7137)
@@ -1,3 +1,7 @@
+Changes to the rule values or properties on the preferences scrn are made immediately,
+they should only be applied after the user hits the OK or Apply button. Need a set
+of rule references...
+
NewPropertyDialog
Need to add support for multi-value types
@@ -3,6 +7,4 @@
XPath Rule creation wizard
Should auto-capitalize 1st letter in rule name
-* Need to specify an initial priority value
-* Detect duplicate rule names
Can't add properties at the moment, the Add button doesn't show up
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/ImageColumnDescriptor.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/ImageColumnDescriptor.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/ImageColumnDescriptor.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -44,7 +44,7 @@
public static final RuleColumnDescriptor priority = new ImageColumnDescriptor("iPriority", StringKeys.PREF_RULESET_COLUMN_PRIORITY, SWT.LEFT, 50, RuleFieldAccessor.priority, false, PMDUiConstants.ICON_BUTTON_DIAMOND_WHITE, Util.uniqueItemsAsShapeFor(12, 12, SWT.LEFT, UISettings.shapesByPriority()));
public static final RuleColumnDescriptor filterViolationRegex = new ImageColumnDescriptor("iFvReg", StringKeys.PREF_RULESET_COLUMN_FILTERS_REGEX, SWT.LEFT, 25, RuleFieldAccessor.violationRegex, false, PMDUiConstants.ICON_FILTER_R, Util.textAsColorShapeFor(16, 16, RuleUIUtil.RegexFilterShape));
public static final RuleColumnDescriptor filterViolationXPath = new ImageColumnDescriptor("iFVXp", StringKeys.PREF_RULESET_COLUMN_FILTERS_XPATH, SWT.LEFT, 25, RuleFieldAccessor.violationXPath, false, PMDUiConstants.ICON_FILTER_X, Util.textAsColorShapeFor(16, 16, RuleUIUtil.XPathFilterShape));
- public static final RuleColumnDescriptor properties = new ImageColumnDescriptor("iProps", StringKeys.PREF_RULESET_COLUMN_PROPERTIES, SWT.LEFT, 40, propertiesAcc, false, PMDUiConstants.ICON_BUTTON_DIAMOND_WHITE, Util.styledTextBuilder(RuleUIUtil.ChangedPropertyFont));
+ public static final RuleColumnDescriptor properties = new ImageColumnDescriptor("iProps", StringKeys.PREF_RULESET_COLUMN_PROPERTIES, SWT.LEFT, 40, propertiesAcc, false, null, Util.styledTextBuilder(RuleUIUtil.ChangedPropertyFont));
public ImageColumnDescriptor(String theId, String labelKey, int theAlignment, int theWidth, RuleFieldAccessor theAccessor, boolean resizableFlag, String theImagePath, CellPainterBuilder thePainterBuilder) {
@@ -59,7 +59,7 @@
*/
public TreeColumn newTreeColumnFor(Tree parent, int columnIndex, final RuleSortListener sortListener, Map<Integer, List<Listener>> paintListeners) {
TreeColumn tc = buildTreeColumn(parent, sortListener);
-
+ setLabelIfImageMissing(tc);
if (painterBuilder != null) painterBuilder.addPainterFor(tc.getParent(), columnIndex, accessor(), paintListeners);
return tc;
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/PMDPreferencePage2.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/PMDPreferencePage2.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/PMDPreferencePage2.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -2,6 +2,7 @@
import java.lang.reflect.InvocationTargetException;
import java.util.List;
+import java.util.Map;
import net.sourceforge.pmd.PropertyDescriptor;
import net.sourceforge.pmd.Rule;
@@ -44,12 +45,12 @@
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Tree;
-public class PMDPreferencePage2 extends AbstractPMDPreferencePage implements RuleSelectionListener, ModifyListener, ValueChangeListener {
+public class PMDPreferencePage2 extends AbstractPMDPreferencePage implements RuleSelectionListener, ModifyListener, ValueChangeListener, ValueResetHandler {
private TabFolder tabFolder;
private RulePropertyManager[] rulePropertyManagers;
private RuleTableManager tableManager;
-
+
// columns shown in the rule treetable in the desired order
public static final RuleColumnDescriptor[] availableColumns = new RuleColumnDescriptor[] {
TextColumnDescriptor.name,
@@ -92,7 +93,7 @@
@Override
protected Control createContents(Composite parent) {
- tableManager = new RuleTableManager(availableColumns, PMDPlugin.getDefault().loadPreferences());
+ tableManager = new RuleTableManager(availableColumns, PMDPlugin.getDefault().loadPreferences(), this);
tableManager.modifyListener(this);
tableManager.selectionListener(this);
@@ -477,13 +478,9 @@
preferences.isActive(rule.getName(), true);
}
- System.out.println("Active rules: " + preferences.getActiveRuleNames());
+// System.out.println("Active rules: " + preferences.getActiveRuleNames());
}
- /**
- * Update the configured rule set
- * Update also all configured projects
- */
private void updateRuleSet() {
try {
ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(getShell());
@@ -497,4 +494,13 @@
}
}
+ public void resetValuesIn(RuleSelection rules) {
+
+ rules.useDefaultValues();
+ tableManager.refresh();
+ for (RulePropertyManager rpm : rulePropertyManagers) {
+ rpm.loadValues();
+ }
+ }
+
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -26,6 +26,7 @@
// NOTE: If you update these values then you also need to update
// the tooltip that references them: 'preference.ruleset.column.rule_type.tooltip'
+ String[] ruleTypeGeneric= new String[] { "-", "Generic" };
String[] ruleTypeXPath = new String[] { "X", "XPath" };
String[] ruleTypeDFlow = new String[] { "D", "Dataflow" };
String[] ruleTypeTypeRes= new String[] { "T", "Type resolving" };
@@ -118,6 +119,7 @@
if (rule.hasDescriptor(XPathRule.XPATH_DESCRIPTOR)) sb.append(ruleTypeXPath[0]);
if (rule.usesDFA()) sb.append(ruleTypeDFlow[0]);
if (rule.usesTypeResolution()) sb.append(ruleTypeTypeRes[0]);
+ if (sb.length() == 0) sb.append(ruleTypeGeneric[0]);
return sb.toString();
}
public String labelFor(Rule rule) {
@@ -126,6 +128,7 @@
// if (if (RuleUtil.isXPathRule(rule)) TODO
if (rule.usesDFA()) types.add(ruleTypeDFlow[1]);
if (rule.usesTypeResolution()) types.add(ruleTypeTypeRes[1]);
+ if (types.isEmpty()) types.add(ruleTypeGeneric[1]);
return Util.asString(types, ", ");
}
};
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleSelection.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleSelection.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleSelection.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -141,7 +141,7 @@
private static void useDefaultValues(Rule rule) {
for (Map.Entry<PropertyDescriptor<?>, Object> entry : Configuration.filteredPropertiesOf(rule).entrySet()) {
- //rule.useDefaultValueFor(entry.getKey());
+ rule.useDefaultValueFor(entry.getKey());
}
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleTableManager.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleTableManager.java 2010-09-14 08:35:21 UTC (rev 7136)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleTableManager.java 2010-09-15 08:43:46 UTC (rev 7137)
@@ -56,7 +56,7 @@
*
* @author Brian Remedios
*/
-public class RuleTableManager extends AbstractTreeTableManager implements RuleSortListener, ValueChangeListener {
+public class RuleTableManager extends AbstractTreeTableManager<Rule> implements RuleSortListener, ValueChangeListener {
private RuleSet ruleSet;
@@ -76,8 +76,9 @@
private Button addRuleButton;
private Button removeRuleButton;
- private RuleSelectionListener ruleSelectionListener;
-
+ private RuleSelectionListener ruleSelectionListener;
+ private ValueResetHandler resetHandler;
+
public static String ruleSetNameFrom(Rule rule) {
return ruleSetNameFrom( rule.getRuleSetName() );
}
@@ -90,10 +91,11 @@
return pos < 0 ? rulesetName : rulesetName.substring(0, pos-1);
}
- public RuleTableManager(RuleColumnDescriptor[] theColumns, IPreferences thePreferences) {
+ public RuleTableManager(RuleColumnDescriptor[] theColumns, IPreferences thePreferences, ValueResetHandler aResetHandler) {
super(thePreferences, theColumns);
checkedColumnAccessor = createCheckedItemAccessor();
+ resetHandler = aResetHandler;
}
protected boolean isQualifiedItem(Object item) {
@@ -206,8 +208,7 @@
// useDefaultsItem.setEnabled(false);
useDe...
[truncated message content] |