Skip to content

Commit 86ab2b1

Browse files
committed
Resolving more deprecations and warnings
1 parent a5ade04 commit 86ab2b1

25 files changed

+163
-165
lines changed

ReleaseNotes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ This is a minor release.
2020
* The following methods in `net.sourceforge.pmd.eclipse.ui.actions.RuleSetUtil` are deprecated:
2121
* `setExcludePatterns(RuleSet ruleSet, Collection<String> excludePatterns)`
2222
* `setIncludePatterns(RuleSet ruleSet, Collection<String> includePatterns)`
23+
* `addExcludePatterns(RuleSet ruleSet, Collection<String> activeExclusionPatterns, Collection<String> buildPathExcludePatterns)`
24+
* `addIncludePatterns(RuleSet ruleSet, Collection<String> activeInclusionPatterns, Collection<String> buildPathIncludePatterns)`
25+
* `addExcludePatterns(RuleSet rs, Collection<String> excludePatterns)`
26+
* `addIncludePatterns(RuleSet rs, Collection<String> includePatterns)`
2327
* These methods are not supposed to be public API and will be removed eventually.
2428
* The property `net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants.MAX_VIOLATIONS_DESCRIPTOR`
2529
is deprecated and will be removed.

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/properties/impl/ProjectPropertiesImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.List;
1414
import java.util.Set;
1515

16+
import org.apache.commons.lang3.StringUtils;
1617
import org.eclipse.core.resources.IFile;
1718
import org.eclipse.core.resources.IProject;
1819
import org.eclipse.core.resources.IResource;
@@ -38,8 +39,8 @@
3839
import net.sourceforge.pmd.eclipse.runtime.writer.IRuleSetWriter;
3940
import net.sourceforge.pmd.eclipse.runtime.writer.WriterException;
4041
import net.sourceforge.pmd.eclipse.ui.actions.RuleSetUtil;
42+
import net.sourceforge.pmd.eclipse.ui.actions.internal.InternalRuleSetUtil;
4143
import net.sourceforge.pmd.eclipse.util.IOUtil;
42-
import net.sourceforge.pmd.util.StringUtil;
4344

4445
/**
4546
* Implementation of a project properties information structure
@@ -214,7 +215,7 @@ public void setRuleSetStoredInProject(final boolean ruleSetStoredInProject) thro
214215
* @see net.sourceforge.pmd.eclipse.runtime.properties.IProjectProperties#getRuleSetFile()
215216
*/
216217
public String getRuleSetFile() {
217-
return StringUtil.isEmpty(ruleSetFile) ? PROJECT_RULESET_FILE : ruleSetFile;
218+
return StringUtils.isBlank(ruleSetFile) ? PROJECT_RULESET_FILE : ruleSetFile;
218219
}
219220

220221
/**
@@ -378,8 +379,8 @@ public void createDefaultRuleSetFile() throws PropertiesException {
378379
RuleSetUtil.DEFAULT_RULESET_DESCRIPTION);
379380
for (RuleSet rs : projectRuleSets.getAllRuleSets()) {
380381
ruleSet = RuleSetUtil.addRules(ruleSet, rs.getRules());
381-
ruleSet = RuleSetUtil.addIncludePatterns(ruleSet, rs.getIncludePatterns());
382-
ruleSet = RuleSetUtil.addExcludePatterns(ruleSet, rs.getExcludePatterns());
382+
ruleSet = InternalRuleSetUtil.addFileInclusions(ruleSet, rs.getFileInclusions());
383+
ruleSet = InternalRuleSetUtil.addFileExclusions(ruleSet, rs.getFileExclusions());
383384
}
384385
writer.write(baos, ruleSet);
385386

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/actions/RuleSetUtil.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public static RuleSet removeRule(RuleSet ruleSet, Rule removedRule) {
6464
return retainOnly(ruleSet, wantedRules);
6565
}
6666

67+
@Deprecated
6768
public static RuleSet addExcludePatterns(RuleSet ruleSet, Collection<String> activeExclusionPatterns,
6869
Collection<String> buildPathExcludePatterns) {
6970
Set<String> newExcludePatterns = new HashSet<String>(InternalRuleSetUtil.convert(ruleSet.getFileExclusions()));
@@ -76,6 +77,7 @@ public static RuleSet addExcludePatterns(RuleSet ruleSet, Collection<String> act
7677
newExcludePatterns, newIncludePatterns, ruleSet.getRules());
7778
}
7879

80+
@Deprecated
7981
public static RuleSet addIncludePatterns(RuleSet ruleSet, Collection<String> activeInclusionPatterns,
8082
Collection<String> buildPathIncludePatterns) {
8183
Set<String> newExcludePatterns = new HashSet<String>(InternalRuleSetUtil.convert(ruleSet.getFileExclusions()));
@@ -156,10 +158,12 @@ public static RuleSet setFileName(RuleSet ruleSet, String fileName) {
156158
InternalRuleSetUtil.convert(ruleSet.getFileInclusions()), ruleSet.getRules());
157159
}
158160

161+
@Deprecated
159162
public static RuleSet addExcludePatterns(RuleSet rs, Collection<String> excludePatterns) {
160163
return addExcludePatterns(rs, excludePatterns, new HashSet<String>());
161164
}
162165

166+
@Deprecated
163167
public static RuleSet addIncludePatterns(RuleSet rs, Collection<String> includePatterns) {
164168
return addIncludePatterns(rs, includePatterns, new HashSet<String>());
165169
}

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/actions/internal/InternalRuleSetUtil.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import java.util.Collection;
99
import java.util.HashSet;
10+
import java.util.Set;
1011
import java.util.regex.Pattern;
1112

1213
import net.sourceforge.pmd.RuleSet;
@@ -29,6 +30,42 @@ public static RuleSet setFileInclusions(RuleSet ruleSet, Collection<Pattern> inc
2930
InternalRuleSetUtil.convert(includePatterns), ruleSet.getRules());
3031
}
3132

33+
public static RuleSet addFileExclusions(RuleSet rs, Collection<Pattern> excludePatterns) {
34+
return addExcludePatterns(rs, excludePatterns, new HashSet<Pattern>());
35+
}
36+
37+
public static RuleSet addFileInclusions(RuleSet rs, Collection<Pattern> includePatterns) {
38+
return addIncludePatterns(rs, includePatterns, new HashSet<Pattern>());
39+
}
40+
41+
public static RuleSet addExcludePatterns(RuleSet ruleSet, Collection<Pattern> activeExclusionPatterns,
42+
Collection<Pattern> buildPathExcludePatterns) {
43+
Set<Pattern> newExcludePatterns = new HashSet<Pattern>(ruleSet.getFileExclusions());
44+
newExcludePatterns.addAll(activeExclusionPatterns);
45+
newExcludePatterns.addAll(buildPathExcludePatterns);
46+
Set<Pattern> newIncludePatterns = new HashSet<Pattern>(ruleSet.getFileInclusions());
47+
48+
RuleSetFactory factory = RulesetsFactoryUtils.defaultFactory();
49+
return factory.createNewRuleSet(ruleSet.getName(), ruleSet.getDescription(), ruleSet.getFileName(),
50+
convert(newExcludePatterns),
51+
convert(newIncludePatterns),
52+
ruleSet.getRules());
53+
}
54+
55+
public static RuleSet addIncludePatterns(RuleSet ruleSet, Collection<Pattern> activeInclusionPatterns,
56+
Collection<Pattern> buildPathIncludePatterns) {
57+
Set<Pattern> newExcludePatterns = new HashSet<Pattern>(ruleSet.getFileExclusions());
58+
Set<Pattern> newIncludePatterns = new HashSet<Pattern>(ruleSet.getFileInclusions());
59+
newIncludePatterns.addAll(activeInclusionPatterns);
60+
newIncludePatterns.addAll(buildPathIncludePatterns);
61+
62+
RuleSetFactory factory = RulesetsFactoryUtils.defaultFactory();
63+
return factory.createNewRuleSet(ruleSet.getName(), ruleSet.getDescription(), ruleSet.getFileName(),
64+
convert(newExcludePatterns),
65+
convert(newIncludePatterns),
66+
ruleSet.getRules());
67+
}
68+
3269
public static Collection<String> convert(Collection<Pattern> patterns) {
3370
Collection<String> result = new HashSet<String>();
3471
for (Pattern p : patterns) {

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/dialogs/NewPropertyDialog.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
import net.sourceforge.pmd.eclipse.ui.preferences.editors.MethodEditorFactory;
3838
import net.sourceforge.pmd.eclipse.ui.preferences.editors.SWTUtil;
3939
import net.sourceforge.pmd.eclipse.util.Util;
40+
import net.sourceforge.pmd.lang.rule.RuleReference;
4041
import net.sourceforge.pmd.lang.rule.XPathRule;
4142
import net.sourceforge.pmd.properties.PropertyDescriptor;
4243
import net.sourceforge.pmd.properties.PropertySource;
43-
import net.sourceforge.pmd.util.StringUtil;
4444

4545
/**
4646
* Implements a dialog for adding or editing a rule property. As the user
@@ -191,8 +191,7 @@ public void handleEvent(Event event) {
191191
}
192192

193193
private boolean isValidNewLabel(String labelCandidate) {
194-
195-
return !StringUtil.isEmpty(labelCandidate);
194+
return StringUtils.isNotBlank(labelCandidate);
196195
}
197196

198197
private boolean isPreExistingLabel(String labelCandidate) {
@@ -278,12 +277,27 @@ private boolean ruleHasPropertyName(String name) {
278277
return propertySource.getPropertyDescriptor(name) != null;
279278
}
280279

280+
private static XPathRule toXPathRule(PropertySource propertySource) {
281+
PropertySource rule = propertySource;
282+
if (propertySource instanceof RuleReference) {
283+
rule = ((RuleReference) propertySource).getRule();
284+
}
285+
if (rule instanceof XPathRule) {
286+
return (XPathRule) rule;
287+
}
288+
return null;
289+
}
290+
281291
/**
282292
* Pick the first name in the xpath source the rule doesn't know about
283293
*/
284294
private void setPreferredName() {
295+
String xpath = "";
296+
XPathRule rule = toXPathRule(propertySource);
297+
if (rule != null) {
298+
xpath = rule.getXPathExpression().trim();
299+
}
285300

286-
String xpath = propertySource.getProperty(XPathRule.XPATH_DESCRIPTOR).trim();
287301
List<int[]> positions = Util.referencedNamePositionsIn(xpath, '$');
288302
List<String> names = Util.fragmentsWithin(xpath, positions);
289303

@@ -312,15 +326,16 @@ private void cleanFactoryStuff() {
312326
}
313327
}
314328

315-
private void factory(EditorFactory<?> theFactory) {
329+
private <T> void factory(EditorFactory<T> theFactory) {
316330

317331
factory = theFactory;
318-
// dummy values that will be replaced
319-
descriptor = factory.createDescriptor("??", "??", null);
320-
labelField.setText(descriptor.description());
332+
// dummy values (??) that will be replaced
333+
PropertyDescriptor<T> theDescriptor = theFactory.createDescriptor("??", "??", null);
334+
descriptor = theDescriptor;
335+
labelField.setText(theDescriptor.description());
321336
cleanFactoryStuff();
322337

323-
factoryControls = factory.createOtherControlsOn(dlgArea, (PropertyDescriptor) descriptor, propertySource, changeListener, this);
338+
factoryControls = theFactory.createOtherControlsOn(dlgArea, theDescriptor, propertySource, changeListener, this);
324339

325340
dlgArea.getShell().layout();
326341
dlgArea.pack();

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/editors/StyleExtractor.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@
99
import java.util.LinkedList;
1010
import java.util.List;
1111

12+
import org.apache.commons.lang3.StringUtils;
1213
import org.eclipse.swt.SWT;
1314
import org.eclipse.swt.custom.StyleRange;
1415
import org.eclipse.swt.graphics.Color;
1516
import org.eclipse.swt.widgets.Display;
1617

17-
import net.sourceforge.pmd.util.StringUtil;
18-
1918
/**
2019
*
2120
* @author Brian Remedios
@@ -27,7 +26,6 @@ public class StyleExtractor {
2726

2827
private static final Color COMMENT_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
2928
private static final Color REFERENCED_VAR_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
30-
private static final Color UNREFERENCED_VAR_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW);
3129
private static final Color COMMENT_BACKGROUND = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE);
3230
private static final Color PUNCTUATION_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
3331
private static final Color KEYWORD_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_MAGENTA);
@@ -115,7 +113,7 @@ private int getBeginsInsideComment(int start, int length) {
115113
}
116114

117115
private boolean isDefinedVariable(String text) {
118-
return StringUtil.isNotEmpty(text);
116+
return StringUtils.isNotBlank(text);
119117
}
120118

121119
private boolean atMultiLineCommentStart(String text, int position) {

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/filters/FilterPreferencesPage.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import java.util.HashSet;
1111
import java.util.List;
1212
import java.util.Set;
13+
import java.util.regex.Pattern;
14+
import java.util.regex.PatternSyntaxException;
1315

1416
import org.eclipse.jface.preference.PreferencePage;
1517
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -38,10 +40,11 @@
3840
import org.eclipse.swt.widgets.Text;
3941

4042
import net.sourceforge.pmd.RuleSet;
43+
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
4144
import net.sourceforge.pmd.eclipse.runtime.preferences.IPreferencesManager;
4245
import net.sourceforge.pmd.eclipse.ui.BasicTableLabelProvider;
4346
import net.sourceforge.pmd.eclipse.ui.PMDUiConstants;
44-
import net.sourceforge.pmd.eclipse.ui.actions.RuleSetUtil;
47+
import net.sourceforge.pmd.eclipse.ui.actions.internal.InternalRuleSetUtil;
4548
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
4649
import net.sourceforge.pmd.eclipse.ui.preferences.br.AbstractPMDPreferencePage;
4750
import net.sourceforge.pmd.eclipse.ui.preferences.br.BasicTableManager;
@@ -144,11 +147,11 @@ private FilterHolder[] currentFilters() {
144147

145148
RuleSet ruleSet = plugin.getPreferencesManager().getRuleSet();
146149

147-
for (String pattern : ruleSet.getExcludePatterns()) {
148-
holders.add(new FilterHolder(pattern, true, false, false));
150+
for (Pattern pattern : ruleSet.getFileExclusions()) {
151+
holders.add(new FilterHolder(pattern.pattern(), true, false, false));
149152
}
150-
for (String pattern : ruleSet.getIncludePatterns()) {
151-
holders.add(new FilterHolder(pattern, true, false, true));
153+
for (Pattern pattern : ruleSet.getFileInclusions()) {
154+
holders.add(new FilterHolder(pattern.pattern(), true, false, true));
152155
}
153156
return holders.toArray(new FilterHolder[holders.size()]);
154157
}
@@ -160,14 +163,19 @@ private void enableEditor(boolean flag) {
160163
}
161164
}
162165

163-
private List<String> tableFilters(boolean isInclude) {
166+
private List<Pattern> tableFilters(boolean isInclude) {
164167

165-
List<String> filters = new ArrayList<String>();
168+
List<Pattern> filters = new ArrayList<Pattern>();
166169

167170
for (TableItem ti : tableViewer.getTable().getItems()) {
168171
FilterHolder fh = (FilterHolder) ti.getData();
169172
if (fh.isInclude == isInclude) {
170-
filters.add(fh.pattern);
173+
try {
174+
Pattern pattern = Pattern.compile(fh.pattern);
175+
filters.add(pattern);
176+
} catch (PatternSyntaxException e) {
177+
PMDPlugin.getDefault().showError("Invalid Pattern: " + fh.pattern, e);
178+
}
171179
}
172180
}
173181

@@ -608,8 +616,8 @@ public boolean performOk() {
608616

609617
IPreferencesManager ipMgr = plugin.getPreferencesManager();
610618
RuleSet ruleSet = ipMgr.getRuleSet();
611-
ruleSet = RuleSetUtil.setExcludePatterns(ruleSet, tableFilters(false));
612-
ruleSet = RuleSetUtil.setIncludePatterns(ruleSet, tableFilters(true));
619+
ruleSet = InternalRuleSetUtil.setFileExclusions(ruleSet, tableFilters(false));
620+
ruleSet = InternalRuleSetUtil.setFileInclusions(ruleSet, tableFilters(true));
613621
ipMgr.setRuleSet(ruleSet);
614622

615623
Set<FilterHolder> filters = currentCheckedFilters();

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/DataflowMethodRecord.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.ArrayList;
88
import java.util.List;
99

10+
import org.apache.commons.lang3.StringUtils;
1011
import org.eclipse.core.resources.IMarker;
1112
import org.eclipse.core.resources.IResource;
1213
import org.eclipse.core.runtime.CoreException;
@@ -18,7 +19,6 @@
1819
import net.sourceforge.pmd.eclipse.ui.PMDUiConstants;
1920
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
2021
import net.sourceforge.pmd.lang.ast.Node;
21-
import net.sourceforge.pmd.util.StringUtil;
2222

2323
/**
2424
* This class holds information for use with the dataflow view. It contains a
@@ -168,7 +168,7 @@ private boolean markerIsValid(IMarker marker) {
168168

169169
// if it is a String, it has to be the Variable
170170
// or Message, which shouldn't be empty
171-
if (values[k] instanceof String && StringUtil.isEmpty((String) values[k])) {
171+
if (values[k] instanceof String && StringUtils.isBlank((String) values[k])) {
172172
isValid = false;
173173
} else if (values[k] instanceof Number && ((Number) values[k]).intValue() == 0) {
174174
// else it is one of the Lines (Line, Line2)

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/FileRecord.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@ public void calculateLinesOfCode() {
285285
public static int linesOfCodeIn(final String source, boolean ignoreSingleBrackets) {
286286

287287
int loc = 0;
288-
int ignoredLines = 0;
289288
final int firstCurly = source.indexOf('{');
290289
if (firstCurly != -1) {
291290
final String body = source.substring(firstCurly + 1, source.length() - 1).trim();
@@ -303,7 +302,6 @@ public static int linesOfCodeIn(final String source, boolean ignoreSingleBracket
303302

304303
if (ignoreSingleBrackets) {
305304
if ("{".equals(trimmed) || "}".equals(trimmed)) {
306-
ignoredLines++;
307305
continue;
308306
}
309307
}
@@ -313,8 +311,6 @@ public static int linesOfCodeIn(final String source, boolean ignoreSingleBracket
313311
}
314312
}
315313
}
316-
// System.out.println("ignored lines: " + ignoredLines);
317-
318314
return loc;
319315
}
320316

0 commit comments

Comments
 (0)