Require Java 7 at runtime Refactor to use diamond and try-with-resources
diff --git a/pom.xml b/pom.xml
index 93736bd..69bc02f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,6 +92,7 @@
<doxiaVersion>1.9-SNAPSHOT</doxiaVersion>
<doxiaSitetoolsVersion>1.8.1</doxiaSitetoolsVersion>
<mavenVersion>2.2.1</mavenVersion>
+ <javaVersion>7</javaVersion>
</properties>
<dependencyManagement>
diff --git a/src/main/java/org/apache/maven/plugins/pdf/DocumentDescriptorReader.java b/src/main/java/org/apache/maven/plugins/pdf/DocumentDescriptorReader.java
index e8c56c8..7b72355 100644
--- a/src/main/java/org/apache/maven/plugins/pdf/DocumentDescriptorReader.java
+++ b/src/main/java/org/apache/maven/plugins/pdf/DocumentDescriptorReader.java
@@ -114,7 +114,6 @@
}
}
- Reader reader = null;
try
{
// System properties
@@ -149,21 +148,19 @@
final DateBean bean = new DateBean();
interpolator.addValueSource( new ObjectBasedValueSource( bean ) );
- reader = ReaderFactory.newXmlReader( docDescriptor );
-
- final String interpolatedDoc = interpolator.interpolate( IOUtil.toString( reader ) );
-
- reader.close();
- reader = null;
-
- if ( log != null && log.isDebugEnabled() )
+ try ( Reader reader = ReaderFactory.newXmlReader( docDescriptor ) )
{
- log.debug( "Interpolated document descriptor ("
- + docDescriptor.getAbsolutePath() + ")\n" + interpolatedDoc );
- }
+ final String interpolatedDoc = interpolator.interpolate( IOUtil.toString( reader ) );
- // No Strict
- return new DocumentXpp3Reader().read( new StringReader( interpolatedDoc ), false );
+ if ( log != null && log.isDebugEnabled() )
+ {
+ log.debug( "Interpolated document descriptor ("
+ + docDescriptor.getAbsolutePath() + ")\n" + interpolatedDoc );
+ }
+
+ // No Strict
+ return new DocumentXpp3Reader().read( new StringReader( interpolatedDoc ), false );
+ }
}
catch ( InterpolationException e )
{
@@ -171,9 +168,5 @@
io.initCause( e );
throw io;
}
- finally
- {
- IOUtil.close( reader );
- }
}
}
diff --git a/src/main/java/org/apache/maven/plugins/pdf/DocumentModelBuilder.java b/src/main/java/org/apache/maven/plugins/pdf/DocumentModelBuilder.java
index d910fee..025a597 100644
--- a/src/main/java/org/apache/maven/plugins/pdf/DocumentModelBuilder.java
+++ b/src/main/java/org/apache/maven/plugins/pdf/DocumentModelBuilder.java
@@ -35,7 +35,6 @@
import org.apache.maven.doxia.site.decoration.MenuItem;
import org.apache.maven.model.Developer;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
import org.apache.commons.io.input.XmlStreamReader;
@@ -219,7 +218,7 @@
return null;
}
- final List<DocumentAuthor> ret = new ArrayList<DocumentAuthor>( 4 );
+ final List<DocumentAuthor> ret = new ArrayList<>( 4 );
for ( Object o : project.getDevelopers() )
{
@@ -305,21 +304,16 @@
}
String encoding = project.getModel().getModelEncoding();
+
// Workaround for MNG-4289
- XmlStreamReader reader = null;
- try
+ try ( XmlStreamReader reader = new XmlStreamReader( project.getFile() ) )
{
- reader = new XmlStreamReader( project.getFile() );
encoding = reader.getEncoding();
}
catch ( IOException e )
{
// nop
}
- finally
- {
- IOUtil.close( reader );
- }
if ( StringUtils.isEmpty( encoding ) )
{
diff --git a/src/main/java/org/apache/maven/plugins/pdf/PdfAggregateMojo.java b/src/main/java/org/apache/maven/plugins/pdf/PdfAggregateMojo.java
index cf18033..691c8a4 100644
--- a/src/main/java/org/apache/maven/plugins/pdf/PdfAggregateMojo.java
+++ b/src/main/java/org/apache/maven/plugins/pdf/PdfAggregateMojo.java
@@ -86,7 +86,6 @@
}
protected void prepareTempSiteDirectory( final File tmpSiteDir )
- throws IOException
{
tmpSiteDir.mkdirs();
}
@@ -202,7 +201,7 @@
catch ( IOException e )
{
getLog().error( "Error while reading table of contents of module " + project.getArtifactId(), e );
- return Collections.<String, Object>emptyMap();
+ return Collections.emptyMap();
}
}
@@ -224,7 +223,7 @@
private String getStagedId( MavenProject p )
{
- Deque<String> projectPath = new ArrayDeque<String>();
+ Deque<String> projectPath = new ArrayDeque<>();
projectPath.addFirst( p.getArtifactId() );
while ( p.getParent() != null )
{
diff --git a/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java b/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
index 86bd35c..142c777 100644
--- a/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
+++ b/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
@@ -812,16 +812,10 @@
if ( descriptorFile.exists() )
{
- XmlStreamReader reader = null;
- try
+ try ( XmlStreamReader reader = new XmlStreamReader( descriptorFile ) )
{
- reader = new XmlStreamReader( descriptorFile );
-
String siteDescriptorContent = IOUtil.toString( reader );
- reader.close();
- reader = null;
-
siteDescriptorContent =
siteTool.getInterpolatedSiteDescriptorContent( new HashMap<String, String>( 2 ), project,
siteDescriptorContent );
@@ -840,10 +834,6 @@
{
throw new MojoExecutionException( "Error when interpoling site descriptor", e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
this.defaultDecorationModel = decoration;
@@ -938,13 +928,9 @@
final File doc = FileUtils.createTempFile( "pdf", ".xml", outputDir );
final DocumentXpp3Writer xpp3 = new DocumentXpp3Writer();
- Writer w = null;
- try
+ try ( Writer writer = WriterFactory.newXmlWriter( doc ) )
{
- w = WriterFactory.newXmlWriter( doc );
- xpp3.write( w, docModel );
- w.close();
- w = null;
+ xpp3.write( writer, docModel );
getLog().debug( "Generated a default document model: " + doc.getAbsolutePath() );
}
catch ( IOException e )
@@ -952,10 +938,6 @@
getLog().error( "Failed to write document model: " + e.getMessage() );
getLog().debug( e );
}
- finally
- {
- IOUtil.close( w );
- }
}
}
@@ -1174,7 +1156,7 @@
{
if ( this.generatedMavenReports == null )
{
- this.generatedMavenReports = new HashMap<Locale, List<MavenReport>>( 2 );
+ this.generatedMavenReports = new HashMap<>( 2 );
}
if ( this.generatedMavenReports.get( locale ) == null )
@@ -1216,9 +1198,9 @@
documentTOCItem.setName( i18n.getString( "pdf-plugin", locale, "toc.project-info.item" ) );
documentTOCItem.setRef( "project-info" ); // see #generateMavenReports(Locale)
- List<String> addedRef = new ArrayList<String>( 4 );
+ List<String> addedRef = new ArrayList<>( 4 );
- List<DocumentTOCItem> items = new ArrayList<DocumentTOCItem>( 4 );
+ List<DocumentTOCItem> items = new ArrayList<>( 4 );
// append generated report defined as MavenReport
for ( final MavenReport report : getGeneratedMavenReports( locale ) )
@@ -1311,15 +1293,9 @@
final IndexEntry entry = new IndexEntry( "index" );
final IndexingSink titleSink = new IndexingSink( entry );
- Reader reader = null;
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( f ) )
{
- reader = ReaderFactory.newXmlReader( f );
-
doxia.parse( reader, f.getParentFile().getName(), titleSink );
-
- reader.close();
- reader = null;
}
catch ( ParseException e )
{
@@ -1333,10 +1309,6 @@
getLog().debug( e );
return null;
}
- finally
- {
- IOUtil.close( reader );
- }
return titleSink.getTitle();
}
@@ -1353,15 +1325,9 @@
private boolean isValidGeneratedReportXdoc( String fullGoal, File generatedReport, String localReportName )
{
SinkAdapter sinkAdapter = new SinkAdapter();
- Reader reader = null;
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( generatedReport ) )
{
- reader = ReaderFactory.newXmlReader( generatedReport );
-
doxia.parse( reader, "xdoc", sinkAdapter );
-
- reader.close();
- reader = null;
}
catch ( ParseException e )
{
@@ -1403,10 +1369,6 @@
return false;
}
- finally
- {
- IOUtil.close( reader );
- }
return true;
}
@@ -1494,24 +1456,15 @@
// if this ever changes, we will have to revisit this code.
final Properties properties = new Properties();
- InputStream in = null;
- try
+ try ( InputStream in = MavenProject.class.getClassLoader().getResourceAsStream(
+ "META-INF/maven/org.apache.maven/maven-core/pom.properties" ) )
{
- in = MavenProject.class.getClassLoader().getResourceAsStream( "META-INF/maven/org.apache.maven/maven-core/"
- + "pom.properties" );
-
properties.load( in );
- in.close();
- in = null;
}
catch ( IOException ioe )
{
return "";
}
- finally
- {
- IOUtil.close( in );
- }
return properties.getProperty( "version" ).trim();
}
@@ -1539,19 +1492,10 @@
return;
}
- Writer writer = null;
- try
+ try ( Writer writer = WriterFactory.newXmlWriter( toFile ) )
{
- writer = WriterFactory.newXmlWriter( toFile );
// see PdfSink#table()
writer.write( StringUtils.replace( content, "<table><table", "<table" ) );
-
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
}
diff --git a/src/main/java/org/apache/maven/plugins/pdf/TocFileHelper.java b/src/main/java/org/apache/maven/plugins/pdf/TocFileHelper.java
index c42b29f..c005b91 100644
--- a/src/main/java/org/apache/maven/plugins/pdf/TocFileHelper.java
+++ b/src/main/java/org/apache/maven/plugins/pdf/TocFileHelper.java
@@ -28,7 +28,6 @@
import org.apache.maven.doxia.document.DocumentTOC;
import org.apache.maven.doxia.document.DocumentTOCItem;
-import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.WriterFactory;
import org.kopitubruk.util.json.IndentPadding;
@@ -55,33 +54,19 @@
jsonConfig.addReflectClass( DocumentTOC.class );
jsonConfig.addReflectClass( DocumentTOCItem.class );
- Writer writer = null;
- try
+ try ( Writer writer = WriterFactory.newWriter( getTocFile( workingDirectory ), "UTF-8" ) )
{
- writer = WriterFactory.newWriter( getTocFile( workingDirectory ), "UTF-8" );
JSONUtil.toJSON( toc, jsonConfig, writer );
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
}
static Map<String, Object> loadToc( File workingDirectory )
throws IOException
{
- Reader reader = null;
- try
+ try ( Reader reader = ReaderFactory.newReader( getTocFile( workingDirectory ), "UTF-8" ) )
{
- reader = ReaderFactory.newReader( getTocFile( workingDirectory ), "UTF-8" );
return (Map) JSONParser.parseJSON( reader );
}
- finally
- {
- IOUtil.close( reader );
- }
}
private static File getTocFile( File workingDirectory )
diff --git a/src/test/java/org/apache/maven/plugins/pdf/DocumentModelBuilderTest.java b/src/test/java/org/apache/maven/plugins/pdf/DocumentModelBuilderTest.java
index e2829e9..84ba98c 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/DocumentModelBuilderTest.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/DocumentModelBuilderTest.java
@@ -118,19 +118,9 @@
private DecorationModel getDecorationModelFromFile( File descriptorFile )
throws IOException, XmlPullParserException
{
- Reader reader = null;
-
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( descriptorFile ) )
{
- reader = ReaderFactory.newXmlReader( descriptorFile );
- final DecorationModel decorationModel = new DecorationXpp3Reader().read( reader );
- reader.close();
- reader = null;
- return decorationModel;
- }
- finally
- {
- IOUtil.close( reader );
+ return new DecorationXpp3Reader().read( reader );
}
}
diff --git a/src/test/java/org/apache/maven/plugins/pdf/PdfMojoTest.java b/src/test/java/org/apache/maven/plugins/pdf/PdfMojoTest.java
index 28ff7ec..6d45d81 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/PdfMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/PdfMojoTest.java
@@ -79,19 +79,12 @@
assertTrue( "FO: Fo file not created!", foFile.exists() );
assertTrue( "FO: Fo file has no content!", foFile.length() > 0 );
- Reader reader = null;
String foContent;
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( foFile ) )
{
- reader = ReaderFactory.newXmlReader( foFile );
foContent = IOUtil.toString( reader );
- reader.close();
- reader = null;
}
- finally
- {
- IOUtil.close( reader );
- }
+
// ${pom.name}
assertTrue( foContent.indexOf( "Test filtering" ) > 0 );
assertTrue( foContent.indexOf( "1.0-SNAPSHOT" ) > 0 );
@@ -129,7 +122,6 @@
}
protected void executePdfMojo( String pom, String pdfFilename )
- throws Exception
{
// MPDF-78: test desactivated because injection of PlexusContainer fails
return;
diff --git a/src/test/java/org/apache/maven/plugins/pdf/stubs/DefaultMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pdf/stubs/DefaultMavenProjectStub.java
index 48f3e70..240dfb3 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/stubs/DefaultMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/stubs/DefaultMavenProjectStub.java
@@ -42,23 +42,16 @@
public DefaultMavenProjectStub()
{
MavenXpp3Reader pomReader = new MavenXpp3Reader();
- Reader reader = null;
- try
+
+ try ( Reader reader = ReaderFactory.newXmlReader( getFile() ) )
{
- reader = ReaderFactory.newXmlReader( getFile() );
final Model model = pomReader.read( reader );
setModel( model );
- reader.close();
- reader = null;
}
catch ( Exception e )
{
throw new RuntimeException( e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
/** {@inheritDoc} */
diff --git a/src/test/java/org/apache/maven/plugins/pdf/stubs/FilteringMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pdf/stubs/FilteringMavenProjectStub.java
index 68c2b3b..93a587f 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/stubs/FilteringMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/stubs/FilteringMavenProjectStub.java
@@ -43,23 +43,15 @@
public FilteringMavenProjectStub()
{
MavenXpp3Reader pomReader = new MavenXpp3Reader();
- Reader reader = null;
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( getFile() ) )
{
- reader = ReaderFactory.newXmlReader( getFile() );
final Model model = pomReader.read( reader );
setModel( model );
- reader.close();
- reader = null;
}
catch ( Exception e )
{
throw new RuntimeException( e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
/** {@inheritDoc} */
diff --git a/src/test/java/org/apache/maven/plugins/pdf/stubs/ITextMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pdf/stubs/ITextMavenProjectStub.java
index 7d81d5a..0b2e5bf 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/stubs/ITextMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/stubs/ITextMavenProjectStub.java
@@ -42,23 +42,16 @@
public ITextMavenProjectStub()
{
MavenXpp3Reader pomReader = new MavenXpp3Reader();
- Reader reader = null;
- try
+
+ try ( Reader reader = ReaderFactory.newXmlReader( getFile() ) )
{
- reader = ReaderFactory.newXmlReader( getFile() );
final Model model = pomReader.read( reader );
setModel( model );
- reader.close();
- reader = null;
}
catch ( Exception e )
{
throw new RuntimeException( e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
/** {@inheritDoc} */
diff --git a/src/test/java/org/apache/maven/plugins/pdf/stubs/ModelBuilderMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/pdf/stubs/ModelBuilderMavenProjectStub.java
index 2369900..b74cf35 100644
--- a/src/test/java/org/apache/maven/plugins/pdf/stubs/ModelBuilderMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/pdf/stubs/ModelBuilderMavenProjectStub.java
@@ -41,17 +41,11 @@
*/
public ModelBuilderMavenProjectStub()
{
- XmlStreamReader reader = null;
- try
+ try ( XmlStreamReader reader = new XmlStreamReader( getFile() ) )
{
- reader = new XmlStreamReader( getFile() );
-
final Model model = new MavenXpp3Reader().read( reader );
setModel( model );
- reader.close();
- reader = null;
-
setGroupId( model.getGroupId() );
setArtifactId( model.getArtifactId() );
setVersion( model.getVersion() );
@@ -64,10 +58,6 @@
{
throw new RuntimeException( e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
/** {@inheritDoc} */