From 7c8c15431684f95803ade91db990679f61217b8d Mon Sep 17 00:00:00 2001 From: Brian Remedios Date: Thu, 2 Sep 2010 09:02:55 +0000 Subject: [PATCH] Decorator-related bugfixes git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7121 51baf565-9d33-0410-a72c-fc3788e3496d --- .../net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt | 2 +- .../net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java | 9 ++++----- .../eclipse/ui/preferences/GeneralPreferencesPage.java | 4 +++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt index 3cc7d157d2..f394b730d7 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt @@ -10,7 +10,7 @@ v4.0.0 - xxx 2010? . Allows users to group/edit rules by multiple criteria . New ability to enable/disable rules without removing them . larger editors for the various fields -. new rule creation wizard supports new non-Java languages +. support for non-Java languages . group editing of filter exclusion rules . highlighting of non-default property values . Color-tagged expressions in shown in rule table diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java index 8408ec39cd..563526db1f 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/plugin/PMDPlugin.java @@ -406,6 +406,9 @@ public class PMDPlugin extends AbstractUIPlugin { public void changedFiles(Collection changedFiles) { + RuleLabelDecorator rld = ruleLabelDecorator(); + if (rld == null) return; + Collection withParents = new HashSet(changedFiles.size() * 2); withParents.addAll(changedFiles); for (IFile file : changedFiles) { @@ -416,12 +419,8 @@ public class PMDPlugin extends AbstractUIPlugin { } } - changed( withParents ); + rld.changed( withParents ); } - - public void changed(Collection changedResources) { - ruleLabelDecorator().changed(changedResources); - } private void addFilesTo(IResource resource, Collection allKids) { diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java index 56026314ef..baefa14f7e 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/GeneralPreferencesPage.java @@ -11,6 +11,7 @@ import net.sourceforge.pmd.eclipse.plugin.PriorityDescriptor; import net.sourceforge.pmd.eclipse.plugin.UISettings; import net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil; import net.sourceforge.pmd.eclipse.runtime.preferences.IPreferences; +import net.sourceforge.pmd.eclipse.ui.RuleLabelDecorator; import net.sourceforge.pmd.eclipse.ui.Shape; import net.sourceforge.pmd.eclipse.ui.ShapePicker; import net.sourceforge.pmd.eclipse.ui.model.RootRecord; @@ -645,7 +646,8 @@ public class GeneralPreferencesPage extends PreferencePage implements IWorkbench UISettings.reloadPriorities(); // ensure that the decorator gets these new images... - PMDPlugin.getDefault().ruleLabelDecorator().reloadDecorators(); + RuleLabelDecorator decorator = PMDPlugin.getDefault().ruleLabelDecorator(); + if (decorator != null) decorator.reloadDecorators(); RootRecord root = new RootRecord(ResourcesPlugin.getWorkspace().getRoot()); Set files = MarkerUtil.allMarkedFiles(root);