Skip to content

Commit 5b61925

Browse files
committed
Merge pull request #162 from adangel:fix-deprecations
Fix deprecations #162
2 parents 2b9d967 + 9a65cac commit 5b61925

File tree

30 files changed

+365
-261
lines changed

30 files changed

+365
-261
lines changed

ReleaseNotes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ This is a minor release.
1515

1616
### Fixed Issues
1717

18+
* [#162](https://github.com/pmd/pmd-eclipse-plugin/pull/162): Fix deprecations
19+
1820
### API Changes
1921

2022
### External Contributions

net.sourceforge.pmd.eclipse.p2updatesite/category.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<site>
3-
<feature id="net.sourceforge.pmd.eclipse" version="4.35.0.qualifier">
3+
<feature id="net.sourceforge.pmd.eclipse" version="0.0.0">
44
<category name="pmdForEclipse"/>
55
</feature>
66
<category-def name="pmdForEclipse" label="PMD for Eclipse">

net.sourceforge.pmd.eclipse.p2updatesite/src/main/resources/category.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<site>
3-
<feature id="net.sourceforge.pmd.eclipse" version="${unqualifiedVersion}.qualifier">
3+
<feature id="net.sourceforge.pmd.eclipse" version="0.0.0">
44
<category name="pmdForEclipse"/>
55
</feature>
66
<category-def name="pmdForEclipse" label="PMD for Eclipse">

net.sourceforge.pmd.eclipse.plugin.test/src/main/java/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleUIUtilTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import net.sourceforge.pmd.Rule;
1212
import net.sourceforge.pmd.eclipse.ui.IndexedString;
1313
import net.sourceforge.pmd.lang.rule.XPathRule;
14+
import net.sourceforge.pmd.lang.rule.xpath.XPathVersion;
1415

1516
public class RuleUIUtilTest {
1617

@@ -19,7 +20,7 @@ public class RuleUIUtilTest {
1920
*/
2021
@Test
2122
public void testTndexedPropertyStringFromRule() {
22-
Rule rule = new XPathRule();
23+
Rule rule = new XPathRule(XPathVersion.XPATH_2_0, "");
2324
IndexedString s = RuleUIUtil.indexedPropertyStringFrom(rule);
2425
assertNotNull(s);
2526
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3+
*/
4+
5+
package net.sourceforge.pmd.eclipse.util.internal;
6+
7+
import org.junit.Assert;
8+
import org.junit.Test;
9+
10+
public class StringUtilTest {
11+
12+
@Test
13+
public void testMaxCommonLeadingWhitespaceForAll() {
14+
Assert.assertEquals(4, StringUtil.maxCommonLeadingWhitespaceForAll(new String[] { " a", " b" }));
15+
Assert.assertEquals(0, StringUtil.maxCommonLeadingWhitespaceForAll(new String[] { " a", "b" }));
16+
Assert.assertEquals(4, StringUtil.maxCommonLeadingWhitespaceForAll(new String[] { " a", " b" }));
17+
}
18+
19+
@Test
20+
public void testTrimStartOn() {
21+
Assert.assertArrayEquals(new String[] { "a", "b" },
22+
StringUtil.trimStartOn(new String[] { " a", " b" }, 4));
23+
Assert.assertArrayEquals(new String[] { "a", " b" },
24+
StringUtil.trimStartOn(new String[] { " a", " b" }, 2));
25+
Assert.assertArrayEquals(new String[] { " a", " b" },
26+
StringUtil.trimStartOn(new String[] { " a", " b" }, 0));
27+
}
28+
}

net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,11 @@ Export-Package: ch.qos.logback.classic;x-friends:="net.sourceforge.pmd.eclipse.p
158158
net.sourceforge.pmd.eclipse.ui.model,
159159
org.eclipse.jface.viewers,
160160
org.eclipse.swt.widgets",
161+
net.sourceforge.pmd.eclipse.util.internal;x-friends:="net.sourceforge.pmd.eclipse.plugin.test",
161162
net.sourceforge.pmd.lang,
162163
net.sourceforge.pmd.lang.java.rule,
163164
net.sourceforge.pmd.lang.rule,
165+
net.sourceforge.pmd.lang.rule.xpath,
164166
net.sourceforge.pmd.properties,
165167
net.sourceforge.pmd.properties.builders,
166168
net.sourceforge.pmd.renderers,

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/PMDRuntimeConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package net.sourceforge.pmd.eclipse.runtime;
66

77
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
8-
import net.sourceforge.pmd.properties.IntegerProperty;
98

109
/**
1110
* This interface groups all plugin constants
@@ -36,7 +35,8 @@ public final class PMDRuntimeConstants {
3635
* which was 1000 violations.
3736
*/
3837
@Deprecated
39-
public static final IntegerProperty MAX_VIOLATIONS_DESCRIPTOR = new IntegerProperty("maxviolations",
38+
public static final net.sourceforge.pmd.properties.IntegerProperty MAX_VIOLATIONS_DESCRIPTOR =
39+
new net.sourceforge.pmd.properties.IntegerProperty("maxviolations",
4040
"Max allowable violations", 1, Integer.MAX_VALUE - 1, 1000, 0f);
4141

4242
public static final String ID_PERSPECTIVE = "net.sourceforge.pmd.eclipse.ui.views.pmdPerspective";

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/builder/PMDBuilder.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ private void buildIncremental(IProject project, IProgressMonitor monitor) {
9898
if (resourceDelta != null && resourceDelta.getAffectedChildren().length != 0) {
9999
ReviewCodeCmd cmd = new ReviewCodeCmd();
100100
cmd.setResourceDelta(resourceDelta);
101-
cmd.setTaskMarker(false);
102101
cmd.setMonitor(monitor);
103102
// a builder is always asynchronous;
104103
// execute a command synchronously
@@ -118,7 +117,6 @@ private void buildIncremental(IProject project, IProgressMonitor monitor) {
118117
private void processProjectFiles(IProject project, IProgressMonitor monitor) {
119118
ReviewCodeCmd cmd = new ReviewCodeCmd();
120119
cmd.addResource(project);
121-
cmd.setTaskMarker(false);
122120
cmd.setMonitor(monitor);
123121
// a builder is always asynchronous; execute a command synchronously whatever its processor
124122
cmd.performExecute();

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java

Lines changed: 22 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
import java.io.Reader;
1212
import java.util.ArrayList;
1313
import java.util.Arrays;
14-
import java.util.Collections;
1514
import java.util.HashSet;
1615
import java.util.List;
1716
import java.util.Locale;
1817
import java.util.Map;
1918
import java.util.Set;
2019
import java.util.Stack;
2120

21+
import org.apache.commons.io.IOUtils;
2222
import org.apache.commons.lang3.StringUtils;
2323
import org.eclipse.core.resources.IFile;
2424
import org.eclipse.core.resources.IMarker;
@@ -30,15 +30,13 @@
3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
3232

33-
import net.sourceforge.pmd.PMD;
3433
import net.sourceforge.pmd.PMDConfiguration;
35-
import net.sourceforge.pmd.PMDException;
34+
import net.sourceforge.pmd.PmdAnalysis;
3635
import net.sourceforge.pmd.Report;
3736
import net.sourceforge.pmd.Report.ConfigurationError;
3837
import net.sourceforge.pmd.Report.ProcessingError;
3938
import net.sourceforge.pmd.Rule;
4039
import net.sourceforge.pmd.RuleSet;
41-
import net.sourceforge.pmd.RuleSets;
4240
import net.sourceforge.pmd.RuleViolation;
4341
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
4442
import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants;
@@ -49,9 +47,6 @@
4947
import net.sourceforge.pmd.lang.LanguageVersion;
5048
import net.sourceforge.pmd.lang.LanguageVersionDiscoverer;
5149
import net.sourceforge.pmd.lang.java.JavaLanguageModule;
52-
import net.sourceforge.pmd.renderers.Renderer;
53-
import net.sourceforge.pmd.util.datasource.DataSource;
54-
import net.sourceforge.pmd.util.datasource.ReaderDataSource;
5550

5651
/**
5752
* Factor some useful features for visitors
@@ -167,27 +162,12 @@ public void worked(final int work) {
167162
}
168163
}
169164

170-
// /**
171-
// * @return Returns the pmdEngine.
172-
// */
173-
// public PMDEngine getPmdEngine() {
174-
// return pmdEngine;
175-
// }
176-
//
177-
// /**
178-
// * @param pmdEngine
179-
// * The pmdEngine to set.
180-
// */
181-
// public void setPmdEngine(final PMDEngine pmdEngine) {
182-
// this.pmdEngine = pmdEngine;
183-
// }
184-
185165
/**
186166
* @return Returns all the ruleSets.
187167
* @deprecated Use {@link #getRuleSetList()}
188168
*/
189169
@Deprecated
190-
public RuleSets getRuleSets() {
170+
public net.sourceforge.pmd.RuleSets getRuleSets() {
191171
return InternalRuleSetUtil.toRuleSets(this.ruleSets);
192172
}
193173

@@ -217,7 +197,7 @@ public void setRuleSet(RuleSet ruleSet) {
217197
* @deprecated Use {@link #setRuleSetList(List)}
218198
*/
219199
@Deprecated
220-
public void setRuleSets(final RuleSets ruleSets) {
200+
public void setRuleSets(final net.sourceforge.pmd.RuleSets ruleSets) {
221201
setRuleSetList(Arrays.asList(ruleSets.getAllRuleSets()));
222202
}
223203

@@ -316,24 +296,24 @@ protected final void reviewResource(IResource resource) {
316296

317297
long start = System.currentTimeMillis();
318298

299+
// need to disable multi threading, as the ruleset is
300+
// not recreated and shared between threads...
301+
// but as we anyway have only one file to process, it won't hurt
302+
// here.
303+
configuration().setThreads(0);
304+
319305
Report collectingReport = null;
320306

321307
try (Reader input = new InputStreamReader(file.getContents(), file.getCharset());
322-
DataSource dataSource = new ReaderDataSource(input, file.getRawLocation().toFile().getPath());) {
323-
324-
// getPmdEngine().processFile(input, getRuleSet(), context);
325-
// getPmdEngine().processFile(sourceCodeFile, getRuleSet(),
326-
// context);
327-
328-
329-
// need to disable multi threading, as the ruleset is
330-
// not recreated and shared between threads...
331-
// but as we anyway have only one file to process, it won't hurt
332-
// here.
333-
configuration().setThreads(0);
308+
PmdAnalysis pmdAnalysis = PmdAnalysis.create(configuration());) {
309+
310+
String sourceContents = IOUtils.toString(input);
311+
pmdAnalysis.files().addSourceFile(sourceContents, sourceCodeFile.getAbsolutePath());
312+
313+
pmdAnalysis.addRuleSets(getRuleSetList());
314+
334315
LOG.debug("PMD running on file {}", file.getName());
335-
collectingReport = PMD.processFiles(configuration(), ruleSets, Arrays.asList(dataSource),
336-
Collections.<Renderer>emptyList());
316+
collectingReport = pmdAnalysis.performAnalysisAndCollectReport();
337317
LOG.debug("PMD run finished.");
338318
}
339319

@@ -356,7 +336,7 @@ protected final void reviewResource(IResource resource) {
356336
.append("\n");
357337
}
358338
PMDPlugin.getDefault().logWarn(message.toString());
359-
throw new PMDException(message.toString());
339+
throw new RuntimeException(message.toString());
360340
}
361341

362342
updateMarkers(file, collectingReport.getViolations());
@@ -370,17 +350,16 @@ protected final void reviewResource(IResource resource) {
370350
} catch (CoreException e) {
371351
// TODO: complete message
372352
LOG.error("Core exception visiting " + file.getName(), e);
373-
} catch (PMDException e) {
374-
// TODO: complete message
375-
LOG.error("PMD exception visiting " + file.getName(), e);
376353
} catch (IOException e) {
377354
// TODO: complete message
378355
LOG.error("IO exception visiting " + file.getName(), e);
379356
} catch (PropertiesException e) {
380357
// TODO: complete message
381-
LOG.error("Properties exception visiting " + file.getName(), e);
358+
LOG.error("Properties exception visiting {}", file.getName(), e);
382359
} catch (IllegalArgumentException e) {
383360
LOG.error("Illegal argument: {}", e.toString(), e);
361+
} catch (RuntimeException e) {
362+
LOG.error("Runtime exception visiting {}", file.getName(), e);
384363
}
385364

386365
}

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/DetectCutAndPasteCmd.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import net.sourceforge.pmd.cpd.Language;
3131
import net.sourceforge.pmd.cpd.LanguageFactory;
3232
import net.sourceforge.pmd.cpd.Match;
33-
import net.sourceforge.pmd.cpd.Renderer;
3433
import net.sourceforge.pmd.cpd.renderer.CPDRenderer;
3534
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
3635
import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants;
@@ -146,29 +145,25 @@ public void setMinTileSize(final int tilesize) {
146145
* @deprecated Use {@link #setCPDRenderer(CPDRenderer)} instead.
147146
*/
148147
@Deprecated
149-
public void setRenderer(final Renderer renderer) {
150-
if (renderer != null) {
148+
public void setRenderer(final net.sourceforge.pmd.cpd.Renderer theRenderer) {
149+
if (theRenderer != null) {
151150
this.setCPDRenderer(new CPDRenderer() {
152151
@Override
153152
public void render(Iterator<Match> matches, Writer writer) throws IOException {
154-
writer.write(renderer.render(matches));
153+
writer.write(theRenderer.render(matches));
155154
}
156155
});
157156
} else {
158157
this.setCPDRenderer(null);
159158
}
160159
}
161160

162-
public void setCPDRenderer(CPDRenderer renderer) {
163-
this.renderer = renderer;
161+
public void setCPDRenderer(CPDRenderer theRenderer) {
162+
this.renderer = theRenderer;
164163
}
165164

166-
/**
167-
* @param reportName
168-
* The reportName to set.
169-
*/
170-
public void setReportName(final String reportName) {
171-
this.reportName = reportName;
165+
public void setReportName(final String theReportName) {
166+
this.reportName = theReportName;
172167
}
173168

174169
/**

0 commit comments

Comments
 (0)