Skip to content

Commit e22d11e

Browse files
committed
Use more try-with-resources
1 parent 7766776 commit e22d11e

File tree

3 files changed

+14
-29
lines changed

3 files changed

+14
-29
lines changed

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
3333
import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants;
3434
import net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil;
35-
import net.sourceforge.pmd.eclipse.util.IOUtil;
3635
import net.sourceforge.pmd.renderers.Renderer;
3736

3837
/**
@@ -87,18 +86,16 @@ public void registerRenderer(Renderer renderer, String reportFile) {
8786
private void render(Report report, IFolder folder, String reportName, Renderer renderer)
8887
throws IOException, CoreException {
8988

90-
StringWriter writer = new StringWriter();
9189
String reportString = null;
9290

93-
try {
91+
try (StringWriter writer = new StringWriter()) {
9492
renderer.setWriter(writer);
9593
renderer.start();
9694
renderer.renderFileReport(report);
9795
renderer.end();
96+
renderer.flush();
9897

9998
reportString = writer.toString();
100-
} finally {
101-
IOUtil.closeQuietly(writer);
10299
}
103100

104101
if (StringUtils.isBlank(reportString)) {

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

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
import net.sourceforge.pmd.PMD;
3333
import net.sourceforge.pmd.RuleSet;
34-
import net.sourceforge.pmd.RuleSets;
3534
import net.sourceforge.pmd.eclipse.core.internal.FileModificationUtil;
3635
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
3736
import net.sourceforge.pmd.eclipse.runtime.cmd.JavaProjectClassLoader;
@@ -42,7 +41,6 @@
4241
import net.sourceforge.pmd.eclipse.runtime.writer.WriterException;
4342
import net.sourceforge.pmd.eclipse.ui.actions.RuleSetUtil;
4443
import net.sourceforge.pmd.eclipse.ui.actions.internal.InternalRuleSetUtil;
45-
import net.sourceforge.pmd.eclipse.util.IOUtil;
4644

4745
/**
4846
* Implementation of a project properties information structure
@@ -146,7 +144,7 @@ public void setPmdEnabled(final boolean pmdEnabled) {
146144
*/
147145
@Deprecated
148146
@Override
149-
public RuleSets getProjectRuleSets() throws PropertiesException {
147+
public net.sourceforge.pmd.RuleSets getProjectRuleSets() throws PropertiesException {
150148
return InternalRuleSetUtil.toRuleSets(projectRuleSets);
151149
}
152150

@@ -170,7 +168,7 @@ public void setProjectRuleSet(RuleSet projectRuleSet) throws PropertiesException
170168
*/
171169
@Override
172170
@Deprecated
173-
public void setProjectRuleSets(final RuleSets newProjectRuleSets) throws PropertiesException {
171+
public void setProjectRuleSets(final net.sourceforge.pmd.RuleSets newProjectRuleSets) throws PropertiesException {
174172
setProjectRuleSetList(Arrays.asList(newProjectRuleSets.getAllRuleSets()));
175173
}
176174

@@ -357,11 +355,8 @@ private File getExistingFileOrNull(IFile file) {
357355
@Override
358356
public void createDefaultRuleSetFile() throws PropertiesException {
359357
LOG.info("Create a default rule set file for project " + this.project.getName());
360-
ByteArrayOutputStream baos = null;
361-
ByteArrayInputStream bais = null;
362-
try {
358+
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
363359
IRuleSetWriter writer = PMDPlugin.getDefault().getRuleSetWriter();
364-
baos = new ByteArrayOutputStream();
365360

366361
// create a single ruleset from all the rulesets
367362
// the ruleset writer is only capable of writing one ruleset
@@ -378,14 +373,12 @@ public void createDefaultRuleSetFile() throws PropertiesException {
378373
if (file.exists() && file.isAccessible()) {
379374
throw new PropertiesException("Project ruleset file already exists");
380375
} else {
381-
bais = new ByteArrayInputStream(baos.toByteArray());
382-
file.create(bais, true, null);
376+
try (ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray())) {
377+
file.create(bais, true, null);
378+
}
383379
}
384-
} catch (WriterException | CoreException e) {
380+
} catch (IOException | WriterException | CoreException e) {
385381
throw new PropertiesException("Error while creating default ruleset file for project " + this.project.getName(), e);
386-
} finally {
387-
IOUtil.closeQuietly(baos);
388-
IOUtil.closeQuietly(bais);
389382
}
390383
}
391384

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import net.sourceforge.pmd.eclipse.runtime.writer.IAstWriter;
3434
import net.sourceforge.pmd.eclipse.runtime.writer.WriterException;
3535
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
36-
import net.sourceforge.pmd.eclipse.util.IOUtil;
3736
import net.sourceforge.pmd.lang.Language;
3837
import net.sourceforge.pmd.lang.LanguageRegistry;
3938
import net.sourceforge.pmd.lang.LanguageVersionHandler;
@@ -78,14 +77,12 @@ public void run(IAction action) {
7877
*/
7978
private void generateAST(IFile file) {
8079
LOG.info("Generating AST for file " + file.getName());
81-
ByteArrayOutputStream byteArrayOutputStream = null;
82-
ByteArrayInputStream astInputStream = null;
83-
try (Reader reader = new InputStreamReader(file.getContents(), file.getCharset())) {
80+
try (Reader reader = new InputStreamReader(file.getContents(), file.getCharset());
81+
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();) {
8482
Language javaLanguage = LanguageRegistry.getLanguage(JavaLanguageModule.NAME);
8583
LanguageVersionHandler languageVersionHandler = javaLanguage.getDefaultVersion().getLanguageVersionHandler();
8684
Parser parser = languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions());
8785
ASTCompilationUnit compilationUnit = (ASTCompilationUnit) parser.parse(file.getName(), reader);
88-
byteArrayOutputStream = new ByteArrayOutputStream();
8986
IAstWriter astWriter = PMDPlugin.getDefault().getAstWriter();
9087
astWriter.write(byteArrayOutputStream, compilationUnit);
9188
byteArrayOutputStream.flush();
@@ -96,8 +93,9 @@ private void generateAST(IFile file) {
9693
if (astFile.exists()) {
9794
astFile.delete(false, null);
9895
}
99-
astInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
100-
astFile.create(astInputStream, false, null);
96+
try (ByteArrayInputStream astInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray())) {
97+
astFile.create(astInputStream, false, null);
98+
}
10199
}
102100

103101
} catch (CoreException e) {
@@ -106,9 +104,6 @@ private void generateAST(IFile file) {
106104
showErrorById(StringKeys.ERROR_PMD_EXCEPTION, e);
107105
} catch (IOException e) {
108106
showErrorById(StringKeys.ERROR_IO_EXCEPTION, e);
109-
} finally {
110-
IOUtil.closeQuietly(byteArrayOutputStream);
111-
IOUtil.closeQuietly(astInputStream);
112107
}
113108
}
114109

0 commit comments

Comments
 (0)