This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch ARCHETYPE-560 in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
commit 41ed55d25d4db8e4af553c2bb3e30872049b49a7 Author: rfscholte <rfscho...@apache.org> AuthorDate: Sat Mar 16 11:09:42 2019 +0100 [ARCHETYPE-560] Require Java 7 --- .../archetype/ArchetypeGenerationRequest.java | 3 + .../maven/archetype/DefaultArchetypeManager.java | 26 +-- .../common/DefaultArchetypeArtifactManager.java | 191 +++++---------------- .../common/DefaultArchetypeFilesResolver.java | 14 ++ .../maven/archetype/common/DefaultPomManager.java | 108 ++++-------- .../maven/archetype/common/MavenJDOMWriter.java | 1 + .../archetype/common/util/FileCharsetDetector.java | 13 +- .../apache/maven/archetype/common/util/Format.java | 7 +- .../archetype/common/util/NamespaceStack.java | 5 +- .../maven/archetype/common/util/XMLOutputter.java | 2 + .../archetype/creator/FilesetArchetypeCreator.java | 98 ++--------- .../archetype/downloader/DefaultDownloader.java | 2 + .../generator/DefaultArchetypeGenerator.java | 2 + .../DefaultFilesetArchetypeGenerator.java | 37 +--- .../maven/archetype/old/DefaultOldArchetype.java | 148 +++++----------- .../DefaultRepositoryCrawler.java | 15 +- .../source/CatalogArchetypeDataSource.java | 18 +- .../source/InternalCatalogArchetypeDataSource.java | 1 + .../source/LocalCatalogArchetypeDataSource.java | 2 + .../source/RemoteCatalogArchetypeDataSource.java | 1 + .../generator/DefaultArchetypeGeneratorTest.java | 53 ++---- .../apache/maven/archetype/old/ArchetypeTest.java | 1 + .../archetype/old/descriptor/ArchetypeXsdTest.java | 10 +- .../LocalCatalogArchetypeDataSourceTest.java | 9 +- .../RemoteCatalogArchetypeDataSourceTest.java | 12 +- .../archetype/test/ArchetypeGenerationTest.java | 2 +- .../creator/DefaultArchetypeCreatorIT.java | 6 +- .../archetype/test/ArchetyperRoundtripIT.java | 20 ++- .../test/ArchetyperRoundtripWithProxyIT.java | 10 +- .../archetype/test/RoundtripMultiModuleIT.java | 26 +-- .../apache/maven/archetype/proxy/ProxyServlet.java | 12 +- .../maven/archetype/proxy/RepositoryServlet.java | 13 +- .../archetype/repository/RepositoryServlet.java | 11 +- .../maven/archetype/mojos/CrawlRepositoryMojo.java | 1 + .../mojos/CreateArchetypeFromProjectMojo.java | 1 + .../mojos/CreateProjectFromArchetypeMojo.java | 1 + .../maven/archetype/mojos/IntegrationTestMojo.java | 64 +++---- .../org/apache/maven/archetype/mojos/JarMojo.java | 1 + .../archetype/mojos/UpdateLocalCatalogMojo.java | 1 + .../maven/archetype/ui/ArchetypePrompter.java | 6 + .../archetype/ui/DefaultArchetypeFactory.java | 5 + .../DefaultArchetypeCreationConfigurator.java | 18 +- .../creation/DefaultArchetypeCreationQueryer.java | 11 ++ .../DefaultArchetypeGenerationConfigurator.java | 11 +- .../DefaultArchetypeGenerationQueryer.java | 2 + .../DefaultArchetypeSelectionQueryer.java | 3 + .../ui/generation/DefaultArchetypeSelector.java | 1 + ...efaultArchetypeGenerationConfigurator2Test.java | 1 + ...DefaultArchetypeGenerationConfiguratorTest.java | 1 + .../DefaultArchetypeGenerationQueryerTest.java | 3 + .../DefaultArchetypeSelectionQueryerTest.java | 3 + .../generation/DefaultArchetypeSelectorTest.java | 3 + 52 files changed, 364 insertions(+), 652 deletions(-) diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java index c3858cf..03e060f 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java @@ -70,6 +70,7 @@ public class ArchetypeGenerationRequest * * @deprecated see ARCHETYPE-439 */ + @Deprecated private String archetypeRepository; // Archetype configuration @@ -180,6 +181,7 @@ public class ArchetypeGenerationRequest * @return the URL of the archetype repository * @deprecated see ARCHETYPE-439 */ + @Deprecated public String getArchetypeRepository() { return archetypeRepository; @@ -191,6 +193,7 @@ public class ArchetypeGenerationRequest * @return this request * @deprecated see ARCHETYPE-439 */ + @Deprecated public ArchetypeGenerationRequest setArchetypeRepository( String archetypeRepository ) { this.archetypeRepository = archetypeRepository; diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java index 5ad3e78..f58c233 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java @@ -57,6 +57,7 @@ public class DefaultArchetypeManager @Requirement( role = ArchetypeDataSource.class ) private Map<String, ArchetypeDataSource> archetypeSources; + @Override public ArchetypeCreationResult createArchetypeFromProject( ArchetypeCreationRequest request ) { ArchetypeCreationResult result = new ArchetypeCreationResult(); @@ -66,6 +67,7 @@ public class DefaultArchetypeManager return result; } + @Override public ArchetypeGenerationResult generateProjectFromArchetype( ArchetypeGenerationRequest request ) { ArchetypeGenerationResult result = new ArchetypeGenerationResult(); @@ -75,6 +77,7 @@ public class DefaultArchetypeManager return result; } + @Override public File archiveArchetype( File archetypeDirectory, File outputDirectory, String finalName ) throws DependencyResolutionRequiredException, IOException { @@ -93,20 +96,12 @@ public class DefaultArchetypeManager archive.getParentFile().mkdirs(); } - ZipOutputStream zos = null; - try + try ( ZipOutputStream zos = new ZipOutputStream( new FileOutputStream( archive ) ) ) { - zos = new ZipOutputStream( new FileOutputStream( archive ) ); - zos.setLevel( 9 ); zipper( zos, sourceDirectory.getAbsolutePath().length(), sourceDirectory ); } - finally - { - IOUtil.close( zos ); - } - } private void zipper( ZipOutputStream zos, int offset, File currentSourceDirectory ) @@ -146,17 +141,10 @@ public class DefaultArchetypeManager zos.putNextEntry( e ); - FileInputStream is = null; - try + try ( FileInputStream is = new FileInputStream( files[i] ) ) { - is = new FileInputStream( files[i] ); - IOUtil.copy( is, zos ); } - finally - { - IOUtil.close( is ); - } zos.flush(); @@ -165,6 +153,7 @@ public class DefaultArchetypeManager } } + @Override public ArchetypeCatalog getInternalCatalog() { try @@ -179,6 +168,7 @@ public class DefaultArchetypeManager } } + @Override public ArchetypeCatalog getLocalCatalog( ProjectBuildingRequest buildingRequest ) { try @@ -193,6 +183,7 @@ public class DefaultArchetypeManager } } + @Override public ArchetypeCatalog getRemoteCatalog( ProjectBuildingRequest buildingRequest ) { try @@ -207,6 +198,7 @@ public class DefaultArchetypeManager } } + @Override public void updateLocalCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype ) { try diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java index 3ba4435..9cbdbc6 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java @@ -33,7 +33,6 @@ import org.apache.maven.project.ProjectBuildingRequest; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -52,7 +51,6 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.zip.ZipEntry; -import java.util.zip.ZipException; import java.util.zip.ZipFile; @Component( role = ArchetypeArtifactManager.class ) @@ -68,6 +66,7 @@ public class DefaultArchetypeArtifactManager private Map<String, File> archetypeCache = new TreeMap<String, File>(); + @Override public File getArchetypeFile( final String groupId, final String artifactId, final String version, ArtifactRepository archetypeRepository, final ArtifactRepository localRepository, final List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest ) @@ -97,6 +96,7 @@ public class DefaultArchetypeArtifactManager } } + @Override public ClassLoader getArchetypeJarLoader( File archetypeFile ) throws UnknownArchetype { @@ -114,19 +114,19 @@ public class DefaultArchetypeArtifactManager } } + @Override public Model getArchetypePom( File jar ) throws XmlPullParserException, UnknownArchetype, IOException { - ZipFile zipFile = null; - try + + try ( ZipFile zipFile = getArchetypeZipFile( jar ) ) { String pomFileName = null; - zipFile = getArchetypeZipFile( jar ); Enumeration<? extends ZipEntry> enumeration = zipFile.entries(); while ( enumeration.hasMoreElements() ) { - ZipEntry el = (ZipEntry) enumeration.nextElement(); + ZipEntry el = enumeration.nextElement(); String entry = el.getName(); if ( entry.startsWith( "META-INF" ) && entry.endsWith( "pom.xml" ) ) @@ -148,12 +148,9 @@ public class DefaultArchetypeArtifactManager } return pomManager.readPom( zipFile.getInputStream( pom ) ); } - finally - { - closeZipFile( zipFile ); - } } + @Override public ZipFile getArchetypeZipFile( File archetypeFile ) throws UnknownArchetype { @@ -161,46 +158,29 @@ public class DefaultArchetypeArtifactManager { return new ZipFile( archetypeFile ); } - catch ( ZipException e ) - { - throw new UnknownArchetype( e ); - } catch ( IOException e ) { throw new UnknownArchetype( e ); } } + @Override public boolean isFileSetArchetype( File archetypeFile ) { - ZipFile zipFile = null; - try + getLogger().debug( "checking fileset archetype status on " + archetypeFile ); + + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) { - getLogger().debug( "checking fileset archetype status on " + archetypeFile ); - - zipFile = getArchetypeZipFile( archetypeFile ); - return isFileSetArchetype( zipFile ); } - catch ( IOException e ) - { - getLogger().debug( e.toString() ); - return false; - } - catch ( UnknownArchetype e ) + catch ( IOException | UnknownArchetype e ) { getLogger().debug( e.toString() ); return false; } - finally - { - if ( zipFile != null ) - { - closeZipFile( zipFile ); - } - } } + @Override public boolean isFileSetArchetype( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest ) @@ -219,36 +199,23 @@ public class DefaultArchetypeArtifactManager } } + @Override public boolean isOldArchetype( File archetypeFile ) { - ZipFile zipFile = null; - try - { - getLogger().debug( "checking old archetype status on " + archetypeFile ); - - zipFile = getArchetypeZipFile( archetypeFile ); + getLogger().debug( "checking old archetype status on " + archetypeFile ); + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) + { return isOldArchetype( zipFile ); } - catch ( IOException e ) + catch ( IOException | UnknownArchetype e ) { getLogger().debug( e.toString() ); return false; } - catch ( UnknownArchetype e ) - { - getLogger().debug( e.toString() ); - return false; - } - finally - { - if ( zipFile != null ) - { - closeZipFile( zipFile ); - } - } } + @Override public boolean isOldArchetype( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest ) @@ -267,6 +234,7 @@ public class DefaultArchetypeArtifactManager } } + @Override public boolean exists( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion, ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, ProjectBuildingRequest buildingRequest ) @@ -300,12 +268,11 @@ public class DefaultArchetypeArtifactManager } } + @Override public String getPostGenerationScript( File archetypeFile ) throws UnknownArchetype { - ZipFile zipFile = null; - try + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) { - zipFile = getArchetypeZipFile( archetypeFile ); Reader reader = getDescriptorReader( zipFile, Constants.ARCHETYPE_POST_GENERATION_SCRIPT ); return reader == null ? null : IOUtils.toString( reader ); } @@ -313,36 +280,23 @@ public class DefaultArchetypeArtifactManager { throw new UnknownArchetype( e ); } - finally - { - closeZipFile( zipFile ); - } } + @Override public ArchetypeDescriptor getFileSetArchetypeDescriptor( File archetypeFile ) throws UnknownArchetype { - ZipFile zipFile = null; - try + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) { - zipFile = getArchetypeZipFile( archetypeFile ); - return loadFileSetArchetypeDescriptor( zipFile ); } - catch ( XmlPullParserException e ) + catch ( XmlPullParserException | IOException e ) { throw new UnknownArchetype( e ); } - catch ( IOException e ) - { - throw new UnknownArchetype( e ); - } - finally - { - closeZipFile( zipFile ); - } } + @Override public org.apache.maven.archetype.metadata.ArchetypeDescriptor getFileSetArchetypeDescriptor( String groupId, String artifactId, String version, @@ -358,21 +312,19 @@ public class DefaultArchetypeArtifactManager return getFileSetArchetypeDescriptor( archetypeFile ); } + @Override public List<String> getFilesetArchetypeResources( File archetypeFile ) throws UnknownArchetype { getLogger().debug( "getFilesetArchetypeResources( \"" + archetypeFile.getAbsolutePath() + "\" )" ); - List<String> archetypeResources = new ArrayList<String>(); + List<String> archetypeResources = new ArrayList<>(); - ZipFile zipFile = null; - try + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) { - zipFile = getArchetypeZipFile( archetypeFile ); - Enumeration<? extends ZipEntry> enumeration = zipFile.entries(); while ( enumeration.hasMoreElements() ) { - ZipEntry entry = (ZipEntry) enumeration.nextElement(); + ZipEntry entry = enumeration.nextElement(); if ( entry.getName().startsWith( Constants.ARCHETYPE_RESOURCES ) ) { @@ -389,36 +341,27 @@ public class DefaultArchetypeArtifactManager } return archetypeResources; } - finally + catch ( IOException e ) { - closeZipFile( zipFile ); + throw new UnknownArchetype( e ); } } + @Override public org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor( File archetypeFile ) throws UnknownArchetype { - ZipFile zipFile = null; - try + try ( ZipFile zipFile = getArchetypeZipFile( archetypeFile ) ) { - zipFile = getArchetypeZipFile( archetypeFile ); - return loadOldArchetypeDescriptor( zipFile ); } - catch ( XmlPullParserException e ) - { - throw new UnknownArchetype( e ); - } - catch ( IOException e ) + catch ( XmlPullParserException | IOException e ) { throw new UnknownArchetype( e ); } - finally - { - closeZipFile( zipFile ); - } } + @Override public org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor( String groupId, String artifactId, String version, @@ -460,43 +403,27 @@ public class DefaultArchetypeArtifactManager private boolean isFileSetArchetype( ZipFile zipFile ) throws IOException { - Reader reader = null; - try + try ( Reader reader = getArchetypeDescriptorReader( zipFile ); ) { - reader = getArchetypeDescriptorReader( zipFile ); - return ( reader != null ); } - finally - { - IOUtil.close( reader ); - } } private boolean isOldArchetype( ZipFile zipFile ) throws IOException { - Reader reader = null; - try + try ( Reader reader = getOldArchetypeDescriptorReader( zipFile ) ) { - reader = getOldArchetypeDescriptorReader( zipFile ); - return ( reader != null ); } - finally - { - IOUtil.close( reader ); - } } private org.apache.maven.archetype.metadata.ArchetypeDescriptor loadFileSetArchetypeDescriptor( ZipFile zipFile ) throws IOException, XmlPullParserException { - Reader reader = null; - try + + try ( Reader reader = getArchetypeDescriptorReader( zipFile ) ) { - reader = getArchetypeDescriptorReader( zipFile ); - if ( reader == null ) { return null; @@ -505,28 +432,17 @@ public class DefaultArchetypeArtifactManager ArchetypeDescriptorXpp3Reader archetypeReader = new ArchetypeDescriptorXpp3Reader(); return archetypeReader.read( reader, false ); } - catch ( IOException e ) - { - throw e; - } - catch ( XmlPullParserException e ) + catch ( IOException | XmlPullParserException e ) { throw e; } - finally - { - IOUtil.close( reader ); - } } private org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor loadOldArchetypeDescriptor( ZipFile zipFile ) throws IOException, XmlPullParserException { - Reader reader = null; - try + try ( Reader reader = getOldArchetypeDescriptorReader( zipFile ) ) { - reader = getOldArchetypeDescriptorReader( zipFile ); - if ( reader == null ) { return null; @@ -535,18 +451,10 @@ public class DefaultArchetypeArtifactManager ArchetypeDescriptorBuilder builder = new ArchetypeDescriptorBuilder(); return builder.build( reader ); } - catch ( IOException ex ) + catch ( IOException | XmlPullParserException ex ) { throw ex; } - catch ( XmlPullParserException ex ) - { - throw ex; - } - finally - { - IOUtil.close( reader ); - } } private Reader getArchetypeDescriptorReader( ZipFile zipFile ) @@ -595,7 +503,7 @@ public class DefaultArchetypeArtifactManager Enumeration<? extends ZipEntry> enu = zipFile.entries(); while ( enu.hasMoreElements() ) { - ZipEntry entryfound = (ZipEntry) enu.nextElement(); + ZipEntry entryfound = enu.nextElement(); getLogger().debug( " - " + entryfound.getName() ); if ( searchString.equals( entryfound.getName() ) ) @@ -607,15 +515,4 @@ public class DefaultArchetypeArtifactManager return null; } - private void closeZipFile( ZipFile zipFile ) - { - try - { - zipFile.close(); - } - catch ( Exception e ) - { - getLogger().error( "Failed to close " + zipFile.getName() + " zipFile." ); - } - } } diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java index d84f9dd..8843d67 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java @@ -40,6 +40,7 @@ public class DefaultArchetypeFilesResolver extends AbstractLogEnabled implements ArchetypeFilesResolver { + @Override public List<String> getFilesWithExtension( List<String> files, String extension ) { ListScanner scanner = new ListScanner(); @@ -51,6 +52,7 @@ public class DefaultArchetypeFilesResolver return scanner.scan( files ); } + @Override public List<String> getFilteredFiles( List<String> files, String filtered ) { ListScanner scanner = new ListScanner(); @@ -65,6 +67,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> filterFiles( String moduleOffset, FileSet fileSet, List<String> archetypeResources ) { ListScanner scanner = new ListScanner(); @@ -77,6 +80,7 @@ public class DefaultArchetypeFilesResolver return scanner.scan( archetypeResources ); } + @Override public List<String> findOtherResources( int level, List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -100,6 +104,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findOtherResources( int level, List<String> files, List<String> sourcesFiles, String languages ) { ListScanner scanner = new ListScanner(); @@ -130,6 +135,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findOtherSources( int level, List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -157,6 +163,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findResourcesMainFiles( List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -171,6 +178,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findResourcesTestFiles( List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -185,6 +193,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findSiteFiles( List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -199,6 +208,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findSourcesMainFiles( List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -212,6 +222,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> findSourcesTestFiles( List<String> files, String languages ) { ListScanner scanner = new ListScanner(); @@ -225,6 +236,7 @@ public class DefaultArchetypeFilesResolver return result; } + @Override public List<String> getPackagedFiles( List<String> files, String packageName ) { List<String> packagedFiles = new ArrayList<String>(); @@ -239,6 +251,7 @@ public class DefaultArchetypeFilesResolver return packagedFiles; } + @Override public String resolvePackage( File basedir, List<String> languages ) throws IOException { @@ -249,6 +262,7 @@ public class DefaultArchetypeFilesResolver return resolvePackage( files ); } + @Override public List<String> getUnpackagedFiles( List<String> files, String packageName ) { List<String> unpackagedFiles = new ArrayList<String>(); diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java index 262a38e..e4380cc 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java @@ -36,7 +36,6 @@ import org.apache.maven.model.Plugin; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -72,18 +71,16 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager { + @Override public void addModule( File pom, String artifactId ) throws IOException, XmlPullParserException, DocumentException, InvalidPackaging { boolean found = false; StringWriter writer = new StringWriter(); - Reader fileReader = null; - - try + + try ( Reader fileReader = ReaderFactory.newXmlReader( pom ) ) { - fileReader = ReaderFactory.newXmlReader( pom ); - SAXReader reader = new SAXReader(); Document document = reader.read( fileReader ); Element project = document.getRootElement(); @@ -150,12 +147,9 @@ public class DefaultPomManager FileUtils.fileWrite( pom.getAbsolutePath(), writer.toString() ); } // end if } - finally - { - IOUtil.close( fileReader ); - } } + @Override public void addParent( File pom, File parentPom ) throws IOException, XmlPullParserException { @@ -185,6 +179,7 @@ public class DefaultPomManager writePom( generatedModel, pom, pom ); } + @Override public void mergePoms( File pom, File temporaryPom ) throws IOException, XmlPullParserException { @@ -262,64 +257,43 @@ public class DefaultPomManager writePom( model, pom, pom ); } + @Override public Model readPom( final File pomFile ) throws IOException, XmlPullParserException { - Model model; - Reader pomReader = null; - try + try ( Reader pomReader = ReaderFactory.newXmlReader( pomFile ) ) { - pomReader = ReaderFactory.newXmlReader( pomFile ); - MavenXpp3Reader reader = new MavenXpp3Reader(); - model = reader.read( pomReader ); + return reader.read( pomReader ); } - finally - { - IOUtil.close( pomReader ); - } - return model; } + @Override public Model readPom( InputStream pomStream ) throws IOException, XmlPullParserException { - Reader pomReader = ReaderFactory.newXmlReader( pomStream ); - - MavenXpp3Reader reader = new MavenXpp3Reader(); + try ( Reader pomReader = ReaderFactory.newXmlReader( pomStream ) ) + { + MavenXpp3Reader reader = new MavenXpp3Reader(); - return reader.read( pomReader ); + return reader.read( pomReader ); + } } + @Override public void writePom( final Model model, final File pomFile, final File initialPomFile ) throws IOException { - InputStream inputStream = null; - Writer outputStreamWriter = null; - String fileEncoding = StringUtils.isEmpty( model.getModelEncoding() ) ? "UTF-8" : model.getModelEncoding(); - try + org.jdom.Document doc; + try ( InputStream inputStream = new FileInputStream( initialPomFile ) ) { - inputStream = new FileInputStream( initialPomFile ); - SAXBuilder builder = new SAXBuilder(); - org.jdom.Document doc = builder.build( inputStream ); - inputStream.close(); - inputStream = null; - - // The cdata parts of the pom are not preserved from initial to target - MavenJDOMWriter writer = new MavenJDOMWriter(); - - outputStreamWriter = - new OutputStreamWriter( new FileOutputStream( pomFile ), fileEncoding ); - - final String ls = System.getProperty( "line.separator" ); - Format form = Format.getRawFormat().setEncoding( fileEncoding ).setLineSeparator( ls ); - writer.write( model, doc, outputStreamWriter, form ); + doc = builder.build( inputStream ); } catch ( JDOMException exc ) { @@ -328,29 +302,25 @@ public class DefaultPomManager ioe.initCause( exc ); throw ioe; } + + try ( Writer outputStreamWriter = new OutputStreamWriter( new FileOutputStream( pomFile ), fileEncoding ) ) + { + // The cdata parts of the pom are not preserved from initial to target + MavenJDOMWriter writer = new MavenJDOMWriter(); + + final String ls = System.lineSeparator(); + Format form = Format.getRawFormat().setEncoding( fileEncoding ).setLineSeparator( ls ); + writer.write( model, doc, outputStreamWriter, form ); + } catch ( FileNotFoundException e ) { getLogger().debug( "Creating pom file " + pomFile ); - Writer pomWriter = null; - - try + try ( Writer pomWriter = new OutputStreamWriter( new FileOutputStream( pomFile ), fileEncoding ) ) { - pomWriter = - new OutputStreamWriter( new FileOutputStream( pomFile ), fileEncoding ); - MavenXpp3Writer writer = new MavenXpp3Writer(); writer.write( pomWriter, model ); } - finally - { - IOUtil.close( pomWriter ); - } - } - finally - { - IOUtil.close( inputStream ); - IOUtil.close( outputStreamWriter ); } } @@ -380,11 +350,9 @@ public class DefaultPomManager private void mergeProfiles( Model model, Model generatedModel ) { - @SuppressWarnings( "unchecked" ) List<Profile> generatedProfiles = generatedModel.getProfiles(); if ( generatedProfiles != null && generatedProfiles.size() > 0 ) { - @SuppressWarnings( "unchecked" ) List<Profile> modelProfiles = model.getProfiles(); Map<String, Profile> modelProfileIdMap = new HashMap<String, Profile>(); if ( modelProfiles == null ) @@ -411,8 +379,8 @@ public class DefaultPomManager else { getLogger().warn( "Try to merge profiles with id " + generatedProfileId ); - mergeModelBase( (Profile) modelProfileIdMap.get( generatedProfileId ), generatedProfile ); - mergeProfileBuild( (Profile) modelProfileIdMap.get( generatedProfileId ), generatedProfile ); + mergeModelBase( modelProfileIdMap.get( generatedProfileId ), generatedProfile ); + mergeProfileBuild( modelProfileIdMap.get( generatedProfileId ), generatedProfile ); } } } @@ -434,17 +402,15 @@ public class DefaultPomManager private void mergeModelBase( ModelBase model, ModelBase generatedModel ) { // ModelBase can be a Model or a Profile... - - @SuppressWarnings( "unchecked" ) Map<String, Dependency> dependenciesByIds = createDependencyMap( model.getDependencies() ); - @SuppressWarnings( "unchecked" ) + Map<String, Dependency> generatedDependenciesByIds = createDependencyMap( generatedModel.getDependencies() ); for ( String generatedDependencyId : generatedDependenciesByIds.keySet() ) { if ( !dependenciesByIds.containsKey( generatedDependencyId ) ) { - model.addDependency( (Dependency) generatedDependenciesByIds.get( generatedDependencyId ) ); + model.addDependency( generatedDependenciesByIds.get( generatedDependencyId ) ); } else { @@ -467,9 +433,8 @@ public class DefaultPomManager model.setReporting( new Reporting() ); } - @SuppressWarnings( "unchecked" ) Map<String, ReportPlugin> reportPluginsByIds = model.getReporting().getReportPluginsAsMap(); - @SuppressWarnings( "unchecked" ) + Map<String, ReportPlugin> generatedReportPluginsByIds = generatedModel.getReporting().getReportPluginsAsMap(); @@ -489,9 +454,8 @@ public class DefaultPomManager private void mergeBuildPlugins( BuildBase modelBuild, BuildBase generatedModelBuild ) { - @SuppressWarnings( "unchecked" ) Map<String, Plugin> pluginsByIds = modelBuild.getPluginsAsMap(); - @SuppressWarnings( "unchecked" ) + List<Plugin> generatedPlugins = generatedModelBuild.getPlugins(); for ( Plugin generatedPlugin : generatedPlugins ) @@ -505,7 +469,7 @@ public class DefaultPomManager else { getLogger().info( "Try to merge plugin configuration of plugins with id: " + generatedPluginsId ); - Plugin modelPlugin = (Plugin) pluginsByIds.get( generatedPluginsId ); + Plugin modelPlugin = pluginsByIds.get( generatedPluginsId ); modelPlugin.setConfiguration( Xpp3DomUtils.mergeXpp3Dom( (Xpp3Dom) generatedPlugin.getConfiguration(), (Xpp3Dom) modelPlugin.getConfiguration() ) ); diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java index 2fe0bf2..1ddbdfc 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java @@ -130,6 +130,7 @@ public class MavenJDOMWriter * @param document * @deprecated */ + @Deprecated public void write( Model project, Document document, OutputStream stream ) throws java.io.IOException { diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/FileCharsetDetector.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/FileCharsetDetector.java index ab2e39a..8dfc043 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/FileCharsetDetector.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/FileCharsetDetector.java @@ -48,6 +48,7 @@ public class FileCharsetDetector det.Init( new nsICharsetDetectionObserver() { + @Override @SuppressWarnings( "checkstyle:methodname" ) public void Notify( String charset ) { @@ -56,11 +57,9 @@ public class FileCharsetDetector } } ); - FileInputStream fileInputStream = new FileInputStream( detectedFile ); - BufferedInputStream imp = new BufferedInputStream( fileInputStream ); - try + try ( FileInputStream fileInputStream = new FileInputStream( detectedFile ); + BufferedInputStream imp = new BufferedInputStream( fileInputStream ) ) { - byte[] buf = new byte[1024]; int len; boolean done = false; @@ -98,11 +97,6 @@ public class FileCharsetDetector charset = "ASCII"; } } - finally - { - imp.close(); - fileInputStream.close(); - } } @@ -114,6 +108,7 @@ public class FileCharsetDetector det.Init( new nsICharsetDetectionObserver() { + @Override @SuppressWarnings( "checkstyle:methodname" ) public void Notify( String charset ) { diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java index af75a09..18dce66 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/Format.java @@ -438,6 +438,7 @@ public class Format return encoding; } + @Override protected Object clone() { Format format = null; @@ -503,6 +504,7 @@ public class Format } } + @Override public boolean shouldEscape( char ch ) { if ( bits == 16 ) @@ -511,11 +513,11 @@ public class Format } if ( bits == 8 ) { - return ( (int) ch > 255 ); + return ( ch > 255 ); } if ( bits == 7 ) { - return ( (int) ch > 127 ); + return ( ch > 127 ); } else { @@ -639,6 +641,7 @@ public class Format this.name = name; } + @Override public String toString() { return name; diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java index 142cbac..c0e02f8 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java @@ -106,7 +106,7 @@ class NamespaceStack */ public String pop() { - String prefix = (String) prefixes.pop(); + String prefix = prefixes.pop(); uris.pop(); return prefix; @@ -136,7 +136,7 @@ class NamespaceStack { return null; } - String uri = (String) uris.elementAt( index ); + String uri = uris.elementAt( index ); return uri; } @@ -145,6 +145,7 @@ class NamespaceStack * most recently added <code>{@link Namespace}</code> to * the "oldest," all to <code>System.out</code>. */ + @Override public String toString() { StringBuffer buf = new StringBuffer(); diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java index ff25994..fc7b79b 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java @@ -1708,6 +1708,7 @@ public class XMLOutputter } /** Returns a copy of this XMLOutputter. */ + @Override public Object clone() { // Implementation notes: Since all state of an XMLOutputter is @@ -1735,6 +1736,7 @@ public class XMLOutputter * * @return a string listing the settings for this XMLOutputter instance */ + @Override public String toString() { StringBuffer buffer = new StringBuffer(); diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java index 747d73e..86ffc22 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java @@ -101,6 +101,7 @@ public class FilesetArchetypeCreator @Requirement private Invoker invoker; + @Override public void createArchetype( ArchetypeCreationRequest request, ArchetypeCreationResult result ) { MavenProject project = request.getProject(); @@ -243,21 +244,15 @@ public class FilesetArchetypeCreator pomReversedProperties, preserveCData, keepParent ); getLogger().debug( "Created Archetype " + archetypeDescriptor.getName() + " template pom(s)" ); - Writer out = null; - try + + try ( Writer out = WriterFactory.newXmlWriter( archetypeDescriptorFile ) ) { - out = WriterFactory.newXmlWriter( archetypeDescriptorFile ); - ArchetypeDescriptorXpp3Writer writer = new ArchetypeDescriptorXpp3Writer(); writer.write( out, archetypeDescriptor ); getLogger().debug( "Archetype " + archetypeDescriptor.getName() + " descriptor written" ); } - finally - { - IOUtil.close( out ); - } createArchetypeBasicIt( archetypeDescriptor, outputDirectory ); @@ -332,13 +327,9 @@ public class FilesetArchetypeCreator File basicItDirectory = new File( generatedSourcesDirectory, basic ); basicItDirectory.mkdirs(); - InputStream in = null; - OutputStream out = null; - - try + try ( InputStream in = FilesetArchetypeCreator.class.getResourceAsStream( "archetype.properties" ); + OutputStream out = new FileOutputStream( new File( basicItDirectory, "archetype.properties" ) ) ) { - in = FilesetArchetypeCreator.class.getResourceAsStream( "archetype.properties" ); - Properties archetypeProperties = new Properties(); archetypeProperties.load( in ); @@ -347,14 +338,9 @@ public class FilesetArchetypeCreator archetypeProperties.put( req.getKey(), req.getDefaultValue() ); } - out = new FileOutputStream( new File( basicItDirectory, "archetype.properties" ) ); archetypeProperties.store( out, null ); } - finally - { - IOUtil.close( in ); - IOUtil.close( out ); - } + copyResource( "goal.txt", new File( basicItDirectory, "goal.txt" ) ); getLogger().debug( "Added basic integration test" ); @@ -475,21 +461,11 @@ public class FilesetArchetypeCreator private void copyResource( String name, File destination ) throws IOException { - InputStream in = null; - OutputStream out = null; - - try + try ( InputStream in = FilesetArchetypeCreator.class.getResourceAsStream( name ); + OutputStream out = new FileOutputStream( destination ) ) { - in = FilesetArchetypeCreator.class.getResourceAsStream( name ); - out = new FileOutputStream( destination ); - IOUtil.copy( in, out ); } - finally - { - IOUtil.close( in ); - IOUtil.close( out ); - } } private void addRequiredProperties( ArchetypeDescriptor archetypeDescriptor, Properties properties ) @@ -835,9 +811,9 @@ public class FilesetArchetypeCreator { DirectoryScanner scanner = new DirectoryScanner(); scanner.setBasedir( basedir ); - scanner.setIncludes( (String[]) concatenateToList( fileSet.getIncludes(), fileSet.getDirectory() ).toArray( + scanner.setIncludes( concatenateToList( fileSet.getIncludes(), fileSet.getDirectory() ).toArray( new String[fileSet.getIncludes().size()] ) ); - scanner.setExcludes( (String[]) addLists( fileSet.getExcludes(), excludePatterns ).toArray( + scanner.setExcludes( addLists( fileSet.getExcludes(), excludePatterns ).toArray( new String[fileSet.getExcludes().size()] ) ); scanner.addDefaultExcludes(); getLogger().debug( "Using fileset " + fileSet ); @@ -874,27 +850,17 @@ public class FilesetArchetypeCreator FileUtils.copyFile( initialPomFile, inputFile ); - Reader in = null; - Writer out = null; - try + try ( Reader in = ReaderFactory.newXmlReader( inputFile ); + Writer out = WriterFactory.newXmlWriter( outputFile ) ) { - in = ReaderFactory.newXmlReader( inputFile ); - String initialcontent = IOUtil.toString( in ); String content = getReversedContent( initialcontent, pomReversedProperties ); outputFile.getParentFile().mkdirs(); - out = WriterFactory.newXmlWriter( outputFile ); - IOUtil.copy( content, out ); } - finally - { - IOUtil.close( in ); - IOUtil.close( out ); - } inputFile.delete(); } @@ -919,10 +885,8 @@ public class FilesetArchetypeCreator pomManager.writePom( pom, outputFile, initialPomFile ); } - Reader in = null; - try + try ( Reader in = ReaderFactory.newXmlReader( initialPomFile ) ) { - in = ReaderFactory.newXmlReader( initialPomFile ); String initialcontent = IOUtil.toString( in ); Iterator<?> properties = pomReversedProperties.keySet().iterator(); @@ -938,10 +902,6 @@ public class FilesetArchetypeCreator } } } - finally - { - IOUtil.close( in ); - } } private FileSet createFileSet( final List<String> excludes, final boolean packaged, final boolean filtered, @@ -1103,27 +1063,17 @@ public class FilesetArchetypeCreator FileUtils.copyFile( initialPomFile, inputFile ); - Reader in = null; - Writer out = null; - try + try ( Reader in = ReaderFactory.newXmlReader( inputFile ); + Writer out = WriterFactory.newXmlWriter( outputFile ) ) { - in = ReaderFactory.newXmlReader( inputFile ); - String initialcontent = IOUtil.toString( in ); String content = getReversedContent( initialcontent, pomReversedProperties ); outputFile.getParentFile().mkdirs(); - out = WriterFactory.newXmlWriter( outputFile ); - IOUtil.copy( content, out ); } - finally - { - IOUtil.close( in ); - IOUtil.close( out ); - } inputFile.delete(); } @@ -1171,10 +1121,8 @@ public class FilesetArchetypeCreator pomManager.writePom( pom, outputFile, initialPomFile ); } - Reader in = null; - try + try ( Reader in = ReaderFactory.newXmlReader( initialPomFile ) ) { - in = ReaderFactory.newXmlReader( initialPomFile ); String initialcontent = IOUtil.toString( in ); for ( Iterator<?> properties = pomReversedProperties.keySet().iterator(); properties.hasNext(); ) @@ -1189,10 +1137,6 @@ public class FilesetArchetypeCreator } } } - finally - { - IOUtil.close( in ); - } } private Set<String> getExtensions( List<String> files ) @@ -1791,18 +1735,14 @@ public class FilesetArchetypeCreator public String getArchetypeVersion() { - InputStream is = null; - // This should actually come from the pom.properties at testing but it's not generated and put into the JAR, it // happens as part of the JAR plugin which is crap as it makes testing inconsistent. String version = "version"; - try + try ( InputStream is = getClass().getClassLoader().getResourceAsStream( MAVEN_PROPERTIES ) ) { Properties properties = new Properties(); - is = getClass().getClassLoader().getResourceAsStream( MAVEN_PROPERTIES ); - if ( is != null ) { properties.load( is ); @@ -1821,9 +1761,5 @@ public class FilesetArchetypeCreator { return version; } - finally - { - IOUtil.close( is ); - } } } diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java index 8cb6e5e..66e0ea5 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java @@ -42,6 +42,7 @@ public class DefaultDownloader @Requirement private ArtifactResolver artifactResolver; + @Override public File download( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, ProjectBuildingRequest buildingRequest ) @@ -96,6 +97,7 @@ public class DefaultDownloader return artifact.getFile(); } + @Override public File downloadOld( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, ProjectBuildingRequest buildingRequest ) diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java index fba7e5e..3d47d45 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java @@ -141,6 +141,7 @@ public class DefaultArchetypeGenerator oldArchetype.createArchetype( request, archetypeFile ); } + @Override public void generateArchetype( ArchetypeGenerationRequest request, File archetypeFile, ArchetypeGenerationResult result ) { @@ -166,6 +167,7 @@ public class DefaultArchetypeGenerator } } + @Override public void generateArchetype( ArchetypeGenerationRequest request, ArchetypeGenerationResult result ) { try diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java index 2a5851c..2e8d203 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java @@ -93,6 +93,7 @@ public class DefaultFilesetArchetypeGenerator */ private static final Pattern TOKEN_PATTERN = Pattern.compile( "__((?:[^_]+_)*[^_]+)__" ); + @Override public void generateArchetype( ArchetypeGenerationRequest request, File archetypeFile ) throws UnknownArchetype, ArchetypeNotConfigured, ProjectDirectoryExists, PomFileExists, OutputFileExists, ArchetypeGenerationFailure @@ -299,22 +300,12 @@ public class DefaultFilesetArchetypeGenerator } else { - InputStream inputStream = null; - OutputStream out = null; - try - { - inputStream = archetypeZipFile.getInputStream( input ); - - outFile.getParentFile().mkdirs(); - - out = new FileOutputStream( outFile ); + outFile.getParentFile().mkdirs(); - IOUtil.copy( inputStream, out ); - } - finally + try ( InputStream inputStream = archetypeZipFile.getInputStream( input ); + OutputStream out = new FileOutputStream( outFile ) ) { - IOUtil.close( inputStream ); - IOUtil.close( out ); + IOUtil.copy( inputStream, out ); } } @@ -488,8 +479,7 @@ public class DefaultFilesetArchetypeGenerator private String evaluateExpression( Context context, String key, String value ) { - StringWriter stringWriter = new StringWriter(); - try + try ( StringWriter stringWriter = new StringWriter() ) { Velocity.evaluate( context, stringWriter, key, value ); return stringWriter.toString(); @@ -498,11 +488,6 @@ public class DefaultFilesetArchetypeGenerator { return value; } - finally - { - IOUtil.close( stringWriter ); - } - } private void processArchetypeTemplates( AbstractArchetypeDescriptor archetypeDescriptor, @@ -730,16 +715,12 @@ public class DefaultFilesetArchetypeGenerator getLogger().debug( "Merging into " + outFile ); - Writer writer = null; - - try + try ( Writer writer = new OutputStreamWriter( new FileOutputStream( outFile ), encoding ) ) { StringWriter stringWriter = new StringWriter(); velocity.getEngine().mergeTemplate( templateFileName, encoding, context, stringWriter ); - writer = new OutputStreamWriter( new FileOutputStream( outFile ), encoding ); - writer.write( StringUtils.unifyLineSeparators( stringWriter.toString() ) ); writer.flush(); @@ -748,10 +729,6 @@ public class DefaultFilesetArchetypeGenerator { throw new ArchetypeGenerationFailure( "Error merging velocity templates: " + e.getMessage(), e ); } - finally - { - IOUtil.close( writer ); - } return true; } diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java index 5dca83e..bfc207b 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java @@ -62,6 +62,7 @@ import java.io.OutputStreamWriter; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.util.HashMap; @@ -103,6 +104,7 @@ public class DefaultOldArchetype // artifactId = maven-foo-archetype // version = latest + @Override public void createArchetype( ArchetypeGenerationRequest request, ArtifactRepository archetypeRepository ) throws UnknownArchetype, ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException @@ -121,6 +123,7 @@ public class DefaultOldArchetype createArchetype( request, archetypeFile ); } + @Override public void createArchetype( ArchetypeGenerationRequest request, File archetypeFile ) throws ArchetypeDescriptorException, ArchetypeTemplateProcessingException { @@ -170,42 +173,25 @@ public class DefaultOldArchetype URLClassLoader archetypeJarLoader; - InputStream is = null; - + URL[] urls; try { - URL[] urls = new URL[1]; - - urls[0] = archetypeFile.toURL(); - - archetypeJarLoader = new URLClassLoader( urls ); - - is = getStream( ARCHETYPE_DESCRIPTOR, archetypeJarLoader ); - - if ( is == null ) - { - is = getStream( ARCHETYPE_OLD_DESCRIPTOR, archetypeJarLoader ); - } - - if ( is == null ) - { - throw new ArchetypeDescriptorException( "The " + ARCHETYPE_DESCRIPTOR - + " descriptor cannot be found." ); - } - - descriptor = builder.build( new XmlStreamReader( is ) ); + urls = new URL[] {archetypeFile.toURL() }; } - catch ( IOException e ) + catch ( MalformedURLException e ) { - throw new ArchetypeDescriptorException( "Error reading the " + ARCHETYPE_DESCRIPTOR + " descriptor.", e ); + throw new ArchetypeDescriptorException( e.getMessage() ); } - catch ( XmlPullParserException e ) + + archetypeJarLoader = new URLClassLoader( urls ); + + try ( InputStream is = getDescriptorInputStream( archetypeJarLoader ) ) { - throw new ArchetypeDescriptorException( "Error reading the " + ARCHETYPE_DESCRIPTOR + " descriptor.", e ); + descriptor = builder.build( new XmlStreamReader( is ) ); } - finally + catch ( IOException | XmlPullParserException e ) { - IOUtil.close( is ); + throw new ArchetypeDescriptorException( "Error reading the " + ARCHETYPE_DESCRIPTOR + " descriptor.", e ); } // ---------------------------------------------------------------------- @@ -298,11 +284,8 @@ public class DefaultOldArchetype { if ( parentPomFile.exists() ) { - Reader fileReader = null; - - try + try ( Reader fileReader = ReaderFactory.newXmlReader( parentPomFile ) ) { - fileReader = ReaderFactory.newXmlReader( parentPomFile ); MavenXpp3Reader reader = new MavenXpp3Reader(); parentModel = reader.read( fileReader ); if ( !"pom".equals( parentModel.getPackaging() ) ) @@ -311,19 +294,10 @@ public class DefaultOldArchetype "Unable to add module to the current project as it is not of packaging type 'pom'" ); } } - catch ( IOException e ) + catch ( IOException | XmlPullParserException e ) { throw new ArchetypeTemplateProcessingException( "Unable to read parent POM", e ); } - catch ( XmlPullParserException e ) - { - throw new ArchetypeTemplateProcessingException( "Unable to read parent POM", e ); - } - finally - { - IOUtil.close( fileReader ); - } - parentModel.getModules().add( artifactId ); } } @@ -360,43 +334,28 @@ public class DefaultOldArchetype IOUtil.close( fileWriter ); } */ - Reader fileReader = null; + boolean added; StringWriter w = new StringWriter(); - try + try ( Reader fileReader = ReaderFactory.newXmlReader( parentPomFile ) ) { - fileReader = ReaderFactory.newXmlReader( parentPomFile ); added = addModuleToParentPom( artifactId, fileReader, w ); } - catch ( IOException e ) - { - throw new ArchetypeTemplateProcessingException( "Unable to rewrite parent POM", e ); - } - catch ( DocumentException e ) + catch ( IOException | DocumentException e ) { throw new ArchetypeTemplateProcessingException( "Unable to rewrite parent POM", e ); } - finally - { - IOUtil.close( fileReader ); - } if ( added ) { - Writer out = null; - try + try ( Writer out = WriterFactory.newXmlWriter( parentPomFile ) ) { - out = WriterFactory.newXmlWriter( parentPomFile ); IOUtil.copy( w.toString(), out ); } catch ( IOException e ) { throw new ArchetypeTemplateProcessingException( "Unable to rewrite parent POM", e ); } - finally - { - IOUtil.close( out ); - } } } @@ -410,6 +369,24 @@ public class DefaultOldArchetype } + private InputStream getDescriptorInputStream( ClassLoader archetypeJarLoader ) throws ArchetypeDescriptorException + { + InputStream is = getStream( ARCHETYPE_DESCRIPTOR, archetypeJarLoader ); + + if ( is == null ) + { + is = getStream( ARCHETYPE_OLD_DESCRIPTOR, archetypeJarLoader ); + } + + if ( is == null ) + { + throw new ArchetypeDescriptorException( "The " + ARCHETYPE_DESCRIPTOR + + " descriptor cannot be found." ); + } + + return is; + } + static boolean addModuleToParentPom( String artifactId, Reader fileReader, Writer fileWriter ) throws DocumentException, IOException, ArchetypeTemplateProcessingException { @@ -490,27 +467,17 @@ public class DefaultOldArchetype // --------------------------------------------------------------------- Model generatedModel; - Reader pomReader = null; - try + + try ( Reader pomReader = ReaderFactory.newXmlReader( pomFile ) ) { - pomReader = ReaderFactory.newXmlReader( pomFile ); - MavenXpp3Reader reader = new MavenXpp3Reader(); generatedModel = reader.read( pomReader ); } - catch ( IOException e ) + catch ( IOException | XmlPullParserException e ) { throw new ArchetypeTemplateProcessingException( "Error reading POM", e ); } - catch ( XmlPullParserException e ) - { - throw new ArchetypeTemplateProcessingException( "Error reading POM", e ); - } - finally - { - IOUtil.close( pomReader ); - } if ( parentModel != null ) { @@ -528,11 +495,8 @@ public class DefaultOldArchetype } generatedModel.setParent( parent ); - Writer pomWriter = null; - try + try ( Writer pomWriter = WriterFactory.newXmlWriter( pomFile ) ) { - pomWriter = WriterFactory.newXmlWriter( pomFile ); - MavenXpp3Writer writer = new MavenXpp3Writer(); writer.write( pomWriter, generatedModel ); } @@ -540,10 +504,6 @@ public class DefaultOldArchetype { throw new ArchetypeTemplateProcessingException( "Error rewriting POM", e ); } - finally - { - IOUtil.close( pomWriter ); - } } // XXX: Following POM processing block may be a candidate for @@ -841,8 +801,7 @@ public class DefaultOldArchetype if ( descriptor.isFiltered() ) { - Writer writer = null; - try + try ( Writer writer = new OutputStreamWriter( new FileOutputStream( f ), descriptor.getEncoding() ) ) { StringWriter stringWriter = new StringWriter(); @@ -850,8 +809,6 @@ public class DefaultOldArchetype velocity.getEngine().mergeTemplate( template, descriptor.getEncoding(), context, stringWriter ); - writer = new OutputStreamWriter( new FileOutputStream( f ), descriptor.getEncoding() ); - writer.write( StringUtils.unifyLineSeparators( stringWriter.toString() ) ); writer.flush(); @@ -860,33 +817,18 @@ public class DefaultOldArchetype { throw new ArchetypeTemplateProcessingException( "Error merging velocity templates", e ); } - finally - { - IOUtil.close( writer ); - } } else { - InputStream is = getStream( ARCHETYPE_RESOURCES + "/" + template, null ); - - OutputStream fos = null; - - try + try ( InputStream is = getStream( ARCHETYPE_RESOURCES + "/" + template, null ); + OutputStream fos = new FileOutputStream( f ) ) { - fos = new FileOutputStream( f ); - IOUtil.copy( is, fos ); } catch ( Exception e ) { throw new ArchetypeTemplateProcessingException( "Error copying file", e ); } - finally - { - IOUtil.close( fos ); - - IOUtil.close( is ); - } } } diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java b/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java index 77a87e0..1fd3f97 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java @@ -31,7 +31,6 @@ import org.apache.maven.model.Model; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.WriterFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -53,6 +52,7 @@ public class DefaultRepositoryCrawler @Requirement private ArchetypeArtifactManager archetypeArtifactManager; + @Override public ArchetypeCatalog crawl( File repository ) { if ( !repository.isDirectory() ) @@ -149,14 +149,13 @@ public class DefaultRepositoryCrawler return catalog; } + @Override public boolean writeCatalog( ArchetypeCatalog archetypeCatalog, File archetypeCatalogFile ) { - Writer fileWriter = null; - try - { - ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); + ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - fileWriter = WriterFactory.newXmlWriter( archetypeCatalogFile ); + try ( Writer fileWriter = WriterFactory.newXmlWriter( archetypeCatalogFile ) ) + { catalogWriter.write( fileWriter, archetypeCatalog ); return true; } @@ -165,9 +164,5 @@ public class DefaultRepositoryCrawler getLogger().warn( "Catalog can not be writen to " + archetypeCatalogFile, ex ); return false; } - finally - { - IOUtil.close( fileWriter ); - } } } diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java index 27a49a7..7d75751 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java @@ -29,7 +29,6 @@ import org.apache.maven.archetype.catalog.ArchetypeCatalog; import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Reader; import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.WriterFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -45,11 +44,8 @@ public abstract class CatalogArchetypeDataSource protected void writeLocalCatalog( ArchetypeCatalog catalog, File catalogFile ) throws ArchetypeDataSourceException { - Writer writer = null; - try + try ( Writer writer = WriterFactory.newXmlWriter( catalogFile ) ) { - writer = WriterFactory.newXmlWriter( catalogFile ); - ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); catalogWriter.write( writer, catalog ); @@ -58,20 +54,16 @@ public abstract class CatalogArchetypeDataSource { throw new ArchetypeDataSourceException( "Error writing archetype catalog.", e ); } - finally - { - IOUtil.close( writer ); - } } protected ArchetypeCatalog readCatalog( Reader reader ) throws ArchetypeDataSourceException { - try + try ( Reader catReader = reader ) { ArchetypeCatalogXpp3Reader catalogReader = new ArchetypeCatalogXpp3Reader(); - return catalogReader.read( reader ); + return catalogReader.read( catReader ); } catch ( IOException e ) { @@ -81,9 +73,5 @@ public abstract class CatalogArchetypeDataSource { throw new ArchetypeDataSourceException( "Error parsing archetype catalog.", e ); } - finally - { - IOUtil.close( reader ); - } } } \ No newline at end of file diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java index f7f617d..32f7973 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java @@ -37,6 +37,7 @@ public class InternalCatalogArchetypeDataSource extends CatalogArchetypeDataSource { + @Override public ArchetypeCatalog getArchetypeCatalog( ProjectBuildingRequest buildingRequest ) throws ArchetypeDataSourceException { diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java index 5cbddf6..0b50371 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java @@ -40,6 +40,7 @@ public class LocalCatalogArchetypeDataSource @Requirement private RepositoryManager repositoryManager; + @Override public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype ) throws ArchetypeDataSourceException { @@ -100,6 +101,7 @@ public class LocalCatalogArchetypeDataSource writeLocalCatalog( catalog, catalogFile ); } + @Override public ArchetypeCatalog getArchetypeCatalog( ProjectBuildingRequest buildingRequest ) throws ArchetypeDataSourceException { diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java index c88dae9..6616eba 100644 --- a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java +++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java @@ -138,6 +138,7 @@ public class RemoteCatalogArchetypeDataSource extends CatalogArchetypeDataSource } } + @Override public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype ) throws ArchetypeDataSourceException { diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java index 191c449..ecfba5c 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java @@ -19,15 +19,20 @@ package org.apache.maven.archetype.generator; * under the License. */ +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.Reader; +import java.util.Properties; + import org.apache.maven.archetype.ArchetypeGenerationRequest; import org.apache.maven.archetype.ArchetypeGenerationResult; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.repository.DefaultArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; -import org.apache.maven.model.Dependency; import org.apache.maven.model.Model; -import org.apache.maven.model.Plugin; -import org.apache.maven.model.ReportPlugin; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.plugin.testing.AbstractMojoTestCase; import org.apache.maven.project.DefaultProjectBuildingRequest; @@ -39,14 +44,6 @@ import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.util.Properties; - public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase { @@ -239,11 +236,11 @@ public class DefaultArchetypeGeneratorTest assertEquals( "1.0-SNAPSHOT", model.getVersion() ); assertTrue( model.getModules().isEmpty() ); assertFalse( model.getDependencies().isEmpty() ); - assertEquals( "1.0", ( (Dependency) model.getDependencies().get( 0 ) ).getVersion() ); + assertEquals( "1.0", model.getDependencies().get( 0 ).getVersion() ); assertFalse( model.getBuild().getPlugins().isEmpty() ); - assertEquals( "1.0", ( (Plugin) model.getBuild().getPlugins().get( 0 ) ).getVersion() ); + assertEquals( "1.0", model.getBuild().getPlugins().get( 0 ).getVersion() ); assertFalse( model.getReporting().getPlugins().isEmpty() ); - assertEquals( "1.0", ( (ReportPlugin) model.getReporting().getPlugins().get( 0 ) ).getVersion() ); + assertEquals( "1.0", model.getReporting().getPlugins().get( 0 ).getVersion() ); } public void testGenerateArchetypePartialOnParent() @@ -516,6 +513,7 @@ public class DefaultArchetypeGeneratorTest } + @Override protected void tearDown() throws Exception { @@ -524,6 +522,7 @@ public class DefaultArchetypeGeneratorTest outputDirectory = null; } + @Override protected void setUp() throws Exception { @@ -640,16 +639,11 @@ public class DefaultArchetypeGeneratorTest throws IOException, FileNotFoundException { Properties properties = new Properties(); - InputStream in = new FileInputStream( propertyFile ); - try + try ( InputStream in = new FileInputStream( propertyFile ) ) { properties.load( in ); return properties; } - finally - { - IOUtil.close( in ); - } } private Properties loadProperties( final String template ) @@ -675,32 +669,15 @@ public class DefaultArchetypeGeneratorTest return new File( outputDirectory, "/pom.xml.sample" ); } - private File getPropertiesFile() - { - return new File( outputDirectory, "/archetype.properties" ); - } - - private File getPropertiesSampleFile() - { - return new File( outputDirectory, "/archetype.properties.sample" ); - } - private Model readPom( final File pomFile ) throws IOException, XmlPullParserException { - Reader pomReader = null; - try + try ( Reader pomReader = ReaderFactory.newXmlReader( pomFile ) ) { - pomReader = ReaderFactory.newXmlReader( pomFile ); - MavenXpp3Reader reader = new MavenXpp3Reader(); return reader.read( pomReader ); } - finally - { - IOUtil.close( pomReader ); - } } private static class Archetype diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java index fd4cfdd..391cccb 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java @@ -356,6 +356,7 @@ public class ArchetypeTest } } + @Override protected void setUp() throws Exception { diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java index c307f56..0e258f9 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java @@ -26,7 +26,6 @@ import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.util.IOUtil; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; @@ -51,26 +50,23 @@ public class ArchetypeXsdTest "http://www.w3.org/2001/XMLSchema" ); saxParser.setProperty( "http://java.sun.com/xml/jaxp/properties/schemaSource", archetypeXsd ); - InputStream in = getClass().getResourceAsStream( "sample-archetype.xml" ); - try + try ( InputStream in = getClass().getResourceAsStream( "sample-archetype.xml" ); ) { saxParser.parse( new InputSource( in ), new Handler() ); } - finally - { - IOUtil.close( in ); - } } private static class Handler extends DefaultHandler { + @Override public void warning ( SAXParseException e ) throws SAXException { throw e; } + @Override public void error ( SAXParseException e ) throws SAXException { diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java index 406c076..219ba29 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java @@ -21,7 +21,6 @@ import java.io.File; import java.io.FileWriter; import java.io.Writer; -import org.apache.commons.io.IOUtils; import org.apache.maven.archetype.ArchetypeManager; import org.apache.maven.archetype.catalog.Archetype; import org.apache.maven.archetype.catalog.ArchetypeCatalog; @@ -35,6 +34,7 @@ import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; public class LocalCatalogArchetypeDataSourceTest extends PlexusTestCase { + @Override protected void setUp() throws Exception { @@ -53,9 +53,10 @@ public class LocalCatalogArchetypeDataSourceTest extends PlexusTestCase File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" ); ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - Writer writer = new FileWriter( catalogFile ); - catalogWriter.write( writer, catalog ); - IOUtils.closeQuietly( writer ); + try ( Writer writer = new FileWriter( catalogFile ) ) + { + catalogWriter.write( writer, catalog ); + } } public void testLocalCatalog() diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java index 95201fc..300da23 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java @@ -17,11 +17,10 @@ package org.apache.maven.archetype.source; * under the License. */ -import java.io.File; import java.io.FileWriter; +import java.io.File; import java.io.Writer; -import org.apache.commons.io.IOUtils; import org.apache.maven.archetype.ArchetypeManager; import org.apache.maven.archetype.catalog.Archetype; import org.apache.maven.archetype.catalog.ArchetypeCatalog; @@ -42,6 +41,7 @@ public class RemoteCatalogArchetypeDataSourceTest extends AbstractMojoTestCase int port; + @Override protected void setUp() throws Exception { @@ -77,11 +77,13 @@ public class RemoteCatalogArchetypeDataSourceTest extends AbstractMojoTestCase File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" ); ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - Writer writer = new FileWriter( catalogFile ); - catalogWriter.write( writer, catalog ); - IOUtils.closeQuietly( writer ); + try ( Writer writer = new FileWriter( catalogFile ) ) + { + catalogWriter.write( writer, catalog ); + } } + @Override protected void tearDown() throws Exception { diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java index 3d7f0b1..e610dfa 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java @@ -66,7 +66,7 @@ public class ArchetypeGenerationTest // Here I am just grabbing a OldArchetype but in a UI you would take the OldArchetype objects and present // them to the user. - Archetype selection = (Archetype) catalog.getArchetypes().get( catalog.getArchetypes().size() - 1 ); + Archetype selection = catalog.getArchetypes().get( catalog.getArchetypes().size() - 1 ); System.err.println( "Selected OldArchetype = " + selection ); // Now you will present a dialog, or whatever, and grab the following values. diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java index 5009392..4ad9d2c 100644 --- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java +++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java @@ -21,23 +21,19 @@ package org.apache.maven.archetype.creator; import org.apache.maven.archetype.ArchetypeCreationRequest; import org.apache.maven.archetype.ArchetypeCreationResult; -import org.apache.maven.archetype.ArchetypeManager; import org.apache.maven.archetype.common.Constants; import org.apache.maven.artifact.repository.DefaultArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; import org.apache.maven.plugin.testing.AbstractMojoTestCase; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.project.ProjectBuildingResult; //import org.apache.maven.project.MavenProjectBuildingResult; import org.apache.maven.repository.internal.MavenRepositorySystemSession; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.PropertyUtils; import org.codehaus.plexus.util.StringUtils; -import org.junit.Ignore; import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; import java.io.File; @@ -448,12 +444,14 @@ public class DefaultArchetypeCreatorIT assertExists( getTemplateFile( project, "src/main/webapp/resources/__artifactId__/a.gif" ) ); } + @Override protected void tearDown() throws Exception { super.tearDown(); } + @Override protected void setUp() throws Exception { diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java index e46afaf..23f6523 100644 --- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java +++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java @@ -1,10 +1,5 @@ package org.apache.maven.archetype.test; -import java.io.File; -import java.io.FileWriter; -import java.io.Writer; -import java.util.Properties; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -24,7 +19,11 @@ import java.util.Properties; * under the License. */ -import org.apache.commons.io.IOUtils; +import java.io.File; +import java.io.FileWriter; +import java.io.Writer; +import java.util.Properties; + import org.apache.maven.archetype.ArchetypeCreationRequest; import org.apache.maven.archetype.ArchetypeCreationResult; import org.apache.maven.archetype.ArchetypeGenerationRequest; @@ -171,9 +170,10 @@ public class ArchetyperRoundtripIT catalog.addArchetype( generatedArchetype ); ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - Writer writer = new FileWriter( catalogFile ); - catalogWriter.write( writer, catalog ); - IOUtils.closeQuietly( writer ); + try ( Writer writer = new FileWriter( catalogFile ) ) + { + catalogWriter.write( writer, catalog ); + } // (6) create a project form the archetype we just created String outputDirectory = new File( getBasedir(), @@ -226,6 +226,7 @@ public class ArchetyperRoundtripIT int port; + @Override public void setUp() throws Exception { @@ -248,6 +249,7 @@ public class ArchetyperRoundtripIT } + @Override public void tearDown() throws Exception { diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyIT.java index 73ee616..33d9d1b 100644 --- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyIT.java +++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyIT.java @@ -26,7 +26,6 @@ import java.util.Properties; * under the License. */ -import org.apache.commons.io.IOUtils; import org.apache.maven.archetype.ArchetypeCreationRequest; import org.apache.maven.archetype.ArchetypeCreationResult; import org.apache.maven.archetype.ArchetypeGenerationRequest; @@ -182,9 +181,10 @@ public class ArchetyperRoundtripWithProxyIT catalog.addArchetype( generatedArchetype ); ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - Writer writer = new FileWriter( catalogFile ); - catalogWriter.write( writer, catalog ); - IOUtils.closeQuietly( writer ); + try ( Writer writer = new FileWriter( catalogFile ) ) + { + catalogWriter.write( writer, catalog ); + } // (6) create a project form the archetype we just created String outputDirectory = new File( getBasedir(), @@ -212,6 +212,7 @@ public class ArchetyperRoundtripWithProxyIT } + @Override public void setUp() throws Exception { @@ -245,6 +246,7 @@ public class ArchetyperRoundtripWithProxyIT } + @Override public void tearDown() throws Exception { diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleIT.java index d777518..8b5e416 100644 --- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleIT.java +++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/RoundtripMultiModuleIT.java @@ -1,13 +1,5 @@ package org.apache.maven.archetype.test; -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.OutputStream; -import java.io.Writer; -import java.util.Iterator; -import java.util.Properties; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -27,7 +19,14 @@ import java.util.Properties; * under the License. */ -import org.apache.commons.io.IOUtils; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.OutputStream; +import java.io.Writer; +import java.util.Iterator; +import java.util.Properties; + import org.apache.maven.archetype.ArchetypeCreationRequest; import org.apache.maven.archetype.ArchetypeCreationResult; import org.apache.maven.archetype.ArchetypeGenerationRequest; @@ -184,9 +183,10 @@ public class RoundtripMultiModuleIT catalog.addArchetype( generatedArchetype ); ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer(); - Writer writer = new FileWriter( catalogFile ); - catalogWriter.write( writer, catalog ); - IOUtils.closeQuietly( writer ); + try ( Writer writer = new FileWriter( catalogFile ) ) + { + catalogWriter.write( writer, catalog ); + } // (6) create a project form the archetype we just created String outputDirectory = new File( getBasedir(), @@ -233,6 +233,7 @@ public class RoundtripMultiModuleIT int port; + @Override public void setUp() throws Exception { @@ -256,6 +257,7 @@ public class RoundtripMultiModuleIT } + @Override public void tearDown() throws Exception { diff --git a/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/ProxyServlet.java b/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/ProxyServlet.java index 8388221..f50c3e9 100644 --- a/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/ProxyServlet.java +++ b/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/ProxyServlet.java @@ -72,6 +72,7 @@ public class ProxyServlet /* (non-Javadoc) * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ + @Override public void init( ServletConfig config ) throws ServletException { @@ -82,6 +83,7 @@ public class ProxyServlet /* (non-Javadoc) * @see javax.servlet.Servlet#getServletConfig() */ + @Override public ServletConfig getServletConfig() { return config; @@ -90,6 +92,7 @@ public class ProxyServlet /* (non-Javadoc) * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ + @Override @SuppressWarnings( "checkstyle:methodlength" ) public void service( ServletRequest req, ServletResponse res ) throws ServletException, @@ -312,6 +315,7 @@ public class ProxyServlet /* (non-Javadoc) * @see javax.servlet.Servlet#getServletInfo() */ + @Override public String getServletInfo() { return "Proxy Servlet"; @@ -320,6 +324,7 @@ public class ProxyServlet /* (non-Javadoc) * @see javax.servlet.Servlet#destroy() */ + @Override public void destroy() { } @@ -334,8 +339,7 @@ public class ProxyServlet throws ServletException, IOException { response.setContentType( "text/html;charset=UTF-8" ); - PrintWriter out = response.getWriter(); - try + try ( PrintWriter out = response.getWriter() ) { /* TODO output your page here out.println("<html>"); @@ -348,9 +352,5 @@ public class ProxyServlet out.println("</html>"); */ } - finally - { - out.close(); - } } } diff --git a/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java b/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java index a612d63..747bdd0 100644 --- a/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java +++ b/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java @@ -53,6 +53,7 @@ public class RepositoryServlet * (non-Javadoc) * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ + @Override public void init( ServletConfig config ) throws ServletException { @@ -64,6 +65,7 @@ public class RepositoryServlet * (non-Javadoc) * @see javax.servlet.Servlet#getServletConfig() */ + @Override public ServletConfig getServletConfig() { return config; @@ -73,6 +75,7 @@ public class RepositoryServlet * (non-Javadoc) * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ + @Override public void service( ServletRequest req, ServletResponse res ) throws ServletException { @@ -217,6 +220,7 @@ public class RepositoryServlet * (non-Javadoc) * @see javax.servlet.Servlet#getServletInfo() */ + @Override public String getServletInfo() { return "Repository Servlet"; @@ -226,6 +230,7 @@ public class RepositoryServlet * (non-Javadoc) * @see javax.servlet.Servlet#destroy() */ + @Override public void destroy() { } @@ -240,8 +245,7 @@ public class RepositoryServlet throws ServletException, IOException { response.setContentType( "text/html;charset=UTF-8" ); - PrintWriter out = response.getWriter(); - try + try ( PrintWriter out = response.getWriter() ) { /* * TODO output your page here out.println("<html>"); out.println("<head>"); @@ -250,12 +254,9 @@ public class RepositoryServlet * out.println("</body>"); out.println("</html>"); */ } - finally - { - out.close(); - } } + @Override public String getServletName() { return "Repository Servlet"; diff --git a/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java b/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java index 79c9f4f..a8c742c 100644 --- a/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java +++ b/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java @@ -58,15 +58,14 @@ public class RepositoryServlet return new File( filePath ); } + @Override public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException { log( "Getting file" ); - InputStream is = null; - try + + try ( InputStream is = new FileInputStream( getFile( request ) ) ) { - is = new FileInputStream( getFile( request ) ); - IO.copy( is, response.getOutputStream() ); response.setStatus( HttpServletResponse.SC_OK ); log( "File sent" ); @@ -81,9 +80,5 @@ public class RepositoryServlet response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR ); log( "Cannot send file", iOException ); } - finally - { - IO.close( is ); - } } } \ No newline at end of file diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java index 958c0cd..0ce77d5 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java @@ -54,6 +54,7 @@ public class CrawlRepositoryMojo @Parameter( property = "repository", defaultValue = "${settings.localRepository}" ) private File repository; + @Override public void execute() throws MojoExecutionException, MojoFailureException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java index e3e6cf0..2b0f21a 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java @@ -228,6 +228,7 @@ public class CreateArchetypeFromProjectMojo // @Parameter( defaultValue = "${session.settings}", readonly = true, required = true ) // private File settingsXml; + @Override public void execute() throws MojoExecutionException, MojoFailureException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java index a00911f..14007c8 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java @@ -163,6 +163,7 @@ public class CreateProjectFromArchetypeMojo @Parameter( property = "filter" ) private String filter; + @Override public void execute() throws MojoExecutionException, MojoFailureException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java index 32e9815..4d5e2ab 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java @@ -22,7 +22,6 @@ package org.apache.maven.archetype.mojos; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; @@ -278,6 +277,7 @@ public class IntegrationTestMojo @Parameter private Map<String, String> properties = new HashMap<String, String>(); + @Override public void execute() throws MojoExecutionException, MojoFailureException { @@ -432,13 +432,10 @@ public class IntegrationTestMojo } getLog().debug( "Comparing files with EOL style ignored." ); - BufferedReader referenceFileReader = null; - BufferedReader actualFileReader = null; - try + + try ( BufferedReader referenceFileReader = new BufferedReader( new FileReader( referenceFile ) ); + BufferedReader actualFileReader = new BufferedReader( new FileReader( actualFile ) ) ) { - referenceFileReader = new BufferedReader( new FileReader( referenceFile ) ); - actualFileReader = new BufferedReader( new FileReader( actualFile ) ); - String refLine = null; String actualLine = null; @@ -455,29 +452,17 @@ public class IntegrationTestMojo return true; } - finally - { - IOUtil.close( referenceFileReader ); - IOUtil.close( actualFileReader ); - } } private Properties loadProperties( final File propertiesFile ) - throws IOException, FileNotFoundException + throws IOException { Properties properties = new Properties(); - InputStream in = null; - try + try ( InputStream in = new FileInputStream( propertiesFile ) ) { - in = new FileInputStream( propertiesFile ); - properties.load( in ); } - finally - { - IOUtil.close( in ); - } return properties; } @@ -819,32 +804,23 @@ public class IntegrationTestMojo { String xml; - Reader reader = null; - try + // interpolation with token @...@ + Map<String, Object> composite = getInterpolationValueSource(); + + try ( Reader xmlStreamReader = ReaderFactory.newXmlReader( originalFile ); + Reader reader = new InterpolationFilterReader( xmlStreamReader, composite, "@", "@" ) ) { - // interpolation with token @...@ - Map<String, Object> composite = getInterpolationValueSource(); - reader = ReaderFactory.newXmlReader( originalFile ); - reader = new InterpolationFilterReader( reader, composite, "@", "@" ); xml = IOUtil.toString( reader ); } - finally - { - IOUtil.close( reader ); - } - Writer writer = null; - try + + try ( Writer writer = WriterFactory.newXmlWriter( interpolatedFile ) ) { interpolatedFile.getParentFile().mkdirs(); - writer = WriterFactory.newXmlWriter( interpolatedFile ); + writer.write( xml ); writer.flush(); } - finally - { - IOUtil.close( writer ); - } } catch ( IOException e ) { @@ -889,6 +865,7 @@ public class IntegrationTestMojo * * @see java.util.Map#clear() */ + @Override public void clear() { // nothing here @@ -899,6 +876,7 @@ public class IntegrationTestMojo * * @see java.util.Map#containsKey(java.lang.Object) */ + @Override public boolean containsKey( Object key ) { if ( !( key instanceof String ) ) @@ -931,6 +909,7 @@ public class IntegrationTestMojo * * @see java.util.Map#containsValue(java.lang.Object) */ + @Override public boolean containsValue( Object value ) { throw new UnsupportedOperationException(); @@ -941,6 +920,7 @@ public class IntegrationTestMojo * * @see java.util.Map#entrySet() */ + @Override public Set<Entry<String, Object>> entrySet() { throw new UnsupportedOperationException(); @@ -951,6 +931,7 @@ public class IntegrationTestMojo * * @see java.util.Map#get(java.lang.Object) */ + @Override public Object get( Object key ) { if ( !( key instanceof String ) ) @@ -986,6 +967,7 @@ public class IntegrationTestMojo * * @see java.util.Map#isEmpty() */ + @Override public boolean isEmpty() { return this.mavenProject == null && this.mavenProject.getProperties().isEmpty() @@ -997,6 +979,7 @@ public class IntegrationTestMojo * * @see java.util.Map#keySet() */ + @Override public Set<String> keySet() { throw new UnsupportedOperationException(); @@ -1007,6 +990,7 @@ public class IntegrationTestMojo * * @see java.util.Map#put(java.lang.Object, java.lang.Object) */ + @Override public Object put( String key, Object value ) { throw new UnsupportedOperationException(); @@ -1017,6 +1001,7 @@ public class IntegrationTestMojo * * @see java.util.Map#putAll(java.util.Map) */ + @Override public void putAll( Map<? extends String, ? extends Object> t ) { throw new UnsupportedOperationException(); @@ -1027,6 +1012,7 @@ public class IntegrationTestMojo * * @see java.util.Map#remove(java.lang.Object) */ + @Override public Object remove( Object key ) { throw new UnsupportedOperationException(); @@ -1037,6 +1023,7 @@ public class IntegrationTestMojo * * @see java.util.Map#size() */ + @Override public int size() { throw new UnsupportedOperationException(); @@ -1047,6 +1034,7 @@ public class IntegrationTestMojo * * @see java.util.Map#values() */ + @Override public Collection<Object> values() { throw new UnsupportedOperationException(); diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java index 82429ae..c40e93a 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java @@ -82,6 +82,7 @@ public class JarMojo @Component private ArchetypeArtifactManager archetypeArtifactManager; + @Override public void execute() throws MojoExecutionException, MojoFailureException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java index 014f108..767d30d 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java @@ -52,6 +52,7 @@ public class UpdateLocalCatalogMojo @Parameter( defaultValue = "${project}", readonly = true, required = true ) private MavenProject project; + @Override public void execute() throws MojoExecutionException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypePrompter.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypePrompter.java index 368453c..b014fb6 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypePrompter.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypePrompter.java @@ -44,6 +44,7 @@ public class ArchetypePrompter @Requirement private InputHandler inputHandler; + @Override public String prompt( String message ) throws PrompterException { @@ -52,6 +53,7 @@ public class ArchetypePrompter return readLine(); } + @Override public String prompt( String message, String defaultReply ) throws PrompterException { @@ -67,6 +69,7 @@ public class ArchetypePrompter return line; } + @Override @SuppressWarnings( { "rawtypes", "unchecked" } ) public String prompt( String message, List possibleValues, String defaultReply ) throws PrompterException @@ -103,6 +106,7 @@ public class ArchetypePrompter return line; } + @Override @SuppressWarnings( "rawtypes" ) public String prompt( String message, List possibleValues ) throws PrompterException @@ -110,6 +114,7 @@ public class ArchetypePrompter return prompt( message, possibleValues, null ); } + @Override public String promptForPassword( String message ) throws PrompterException { @@ -163,6 +168,7 @@ public class ArchetypePrompter } } + @Override public void showMessage( String message ) throws PrompterException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java index 98f6bb9..4d5629b 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java @@ -33,6 +33,7 @@ public class DefaultArchetypeFactory extends AbstractLogEnabled implements ArchetypeFactory { + @Override public ArchetypeDefinition createArchetypeDefinition( Properties properties ) { ArchetypeDefinition definition = new ArchetypeDefinition(); @@ -78,6 +79,7 @@ public class DefaultArchetypeFactory getLogger().debug( "Setting property " + key + "=" + configuration.getProperty( key ) ); } + @Override @SuppressWarnings( "checkstyle:linelength" ) public ArchetypeConfiguration createArchetypeConfiguration( org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor archetypeDescriptor, Properties properties ) @@ -109,6 +111,7 @@ public class DefaultArchetypeFactory } } + @Override @SuppressWarnings( "checkstyle:linelength" ) public ArchetypeConfiguration createArchetypeConfiguration( org.apache.maven.archetype.metadata.ArchetypeDescriptor archetypeDescriptor, Properties properties ) @@ -204,6 +207,7 @@ public class DefaultArchetypeFactory } } + @Override public ArchetypeConfiguration createArchetypeConfiguration( MavenProject project, ArchetypeDefinition archetypeDefinition, Properties properties ) @@ -265,6 +269,7 @@ public class DefaultArchetypeFactory return configuration; } + @Override public void updateArchetypeConfiguration( ArchetypeConfiguration archetypeConfiguration, ArchetypeDefinition archetypeDefinition ) { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java index 9926b7e..745e7a5 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java @@ -43,7 +43,6 @@ import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.components.interactivity.PrompterException; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; @Component( role = ArchetypeCreationConfigurator.class, hint = "default" ) @@ -60,6 +59,7 @@ public class DefaultArchetypeCreationConfigurator @Requirement private ArchetypeFilesResolver archetypeFilesResolver; + @Override public Properties configureArchetypeCreation( MavenProject project, Boolean interactiveMode, Properties commandLineProperties, File propertyFile, List<String> languages ) @@ -279,18 +279,12 @@ public class DefaultArchetypeCreationConfigurator { getLogger().debug( "Reading property file " + propertyFile ); - InputStream is = new FileInputStream( propertyFile ); - - try + try ( InputStream is = new FileInputStream( propertyFile ) ) { properties.load( is ); getLogger().debug( "Read " + properties.size() + " properties" ); } - finally - { - IOUtil.close( is ); - } } public void writeProperties( Properties properties, File propertyFile ) @@ -315,18 +309,12 @@ public class DefaultArchetypeCreationConfigurator storedProperties.setProperty( propertyKey, properties.getProperty( propertyKey ) ); } - OutputStream os = new FileOutputStream( propertyFile ); - - try + try ( OutputStream os = new FileOutputStream( propertyFile ) ) { storedProperties.store( os, "" ); getLogger().debug( "Stored " + storedProperties.size() + " properties" ); } - finally - { - IOUtil.close( os ); - } } private Properties initialiseArchetypeProperties( Properties commandLineProperties, File propertyFile ) diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java index e765fbb..3bdcfc0 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java @@ -37,30 +37,35 @@ public class DefaultArchetypeCreationQueryer @Requirement private Prompter prompter; + @Override public String getArchetypeArtifactId( String defaultValue ) throws PrompterException { return getValue( Constants.ARCHETYPE_ARTIFACT_ID, defaultValue ); } + @Override public String getArchetypeGroupId( String defaultValue ) throws PrompterException { return getValue( Constants.ARCHETYPE_GROUP_ID, defaultValue ); } + @Override public String getArchetypeVersion( String defaultValue ) throws PrompterException { return getValue( Constants.ARCHETYPE_VERSION, defaultValue ); } + @Override public String getArtifactId( String defaultValue ) throws PrompterException { return getValue( Constants.ARTIFACT_ID, defaultValue ); } + @Override public boolean askAddAnotherProperty() throws PrompterException { @@ -71,6 +76,7 @@ public class DefaultArchetypeCreationQueryer return "Y".equalsIgnoreCase( answer ); } + @Override public String askNewPropertyKey() throws PrompterException { @@ -81,12 +87,14 @@ public class DefaultArchetypeCreationQueryer return answer; } + @Override public String askReplacementValue( String propertyKey, String defaultValue ) throws PrompterException { return getValue( propertyKey, defaultValue ); } + @Override public boolean confirmConfiguration( ArchetypeConfiguration archetypeConfiguration ) throws PrompterException { @@ -108,18 +116,21 @@ public class DefaultArchetypeCreationQueryer return "Y".equalsIgnoreCase( answer ); } + @Override public String getGroupId( String defaultValue ) throws PrompterException { return getValue( Constants.GROUP_ID, defaultValue ); } + @Override public String getPackage( String defaultValue ) throws PrompterException { return getValue( Constants.PACKAGE, defaultValue ); } + @Override public String getVersion( String defaultValue ) throws PrompterException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java index 7abd59f..2de9bb1 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java @@ -41,7 +41,6 @@ import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.components.interactivity.PrompterException; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import java.io.IOException; @@ -81,6 +80,7 @@ public class DefaultArchetypeGenerationConfigurator this.archetypeArtifactManager = archetypeArtifactManager; } + @Override public void configureArchetype( ArchetypeGenerationRequest request, Boolean interactiveMode, Properties executionProperties ) throws ArchetypeNotDefined, UnknownArchetype, ArchetypeNotConfigured, IOException, PrompterException, @@ -340,8 +340,8 @@ public class DefaultArchetypeGenerationConfigurator private String evaluateProperty( Context context, String property, String value ) { - StringWriter stringWriter = new StringWriter(); - try + + try ( StringWriter stringWriter = new StringWriter() ) { Velocity.evaluate( context, stringWriter, property, value ); return stringWriter.toString(); @@ -350,10 +350,6 @@ public class DefaultArchetypeGenerationConfigurator { return value; } - finally - { - IOUtil.close( stringWriter ); - } } @@ -382,6 +378,7 @@ public class DefaultArchetypeGenerationConfigurator this.archetypeConfiguration = archetypeConfiguration; } + @Override public int compare( String left, String right ) { String leftDefault = archetypeConfiguration.getDefaultValue( left ); diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryer.java index 5b8f5ae..ddc57dc 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryer.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryer.java @@ -36,6 +36,7 @@ public class DefaultArchetypeGenerationQueryer @Requirement private Prompter prompter; + @Override public boolean confirmConfiguration( ArchetypeConfiguration archetypeConfiguration ) throws PrompterException { @@ -51,6 +52,7 @@ public class DefaultArchetypeGenerationQueryer return "Y".equalsIgnoreCase( answer ); } + @Override public String getPropertyValue( String requiredProperty, String defaultValue, Pattern validationRegex ) throws PrompterException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java index 90e33cf..d4c8b42 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java @@ -48,6 +48,7 @@ public class DefaultArchetypeSelectionQueryer @Requirement( hint = "archetype" ) private Prompter prompter; + @Override public boolean confirmSelection( ArchetypeDefinition archetypeDefinition ) throws PrompterException { @@ -60,12 +61,14 @@ public class DefaultArchetypeSelectionQueryer return "Y".equalsIgnoreCase( answer ); } + @Override public Archetype selectArchetype( Map<String, List<Archetype>> catalogs ) throws PrompterException { return selectArchetype( catalogs, null ); } + @Override public Archetype selectArchetype( Map<String, List<Archetype>> catalogs, ArchetypeDefinition defaultDefinition ) throws PrompterException { diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java index c4ac66c..a6e35eb 100644 --- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java +++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java @@ -57,6 +57,7 @@ public class DefaultArchetypeSelector @Requirement private ArchetypeManager archetypeManager; + @Override public void selectArchetype( ArchetypeGenerationRequest request, Boolean interactiveMode, String catalogs ) throws ArchetypeNotDefined, UnknownArchetype, UnknownGroup, IOException, PrompterException, ArchetypeSelectionFailure diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java index d9fe47b..14e64a4 100644 --- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java +++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java @@ -37,6 +37,7 @@ public class DefaultArchetypeGenerationConfigurator2Test { private DefaultArchetypeGenerationConfigurator configurator; + @Override public void setUp() throws Exception { diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java index 5abbd0c..57bd985 100644 --- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java +++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java @@ -44,6 +44,7 @@ public class DefaultArchetypeGenerationConfiguratorTest { private DefaultArchetypeGenerationConfigurator configurator; + @Override public void setUp() throws Exception { diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java index 13adad9..19f358e 100644 --- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java +++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java @@ -34,6 +34,7 @@ public class DefaultArchetypeGenerationQueryerTest private DefaultArchetypeGenerationQueryer queryer; + @Override public void setUp() throws Exception { @@ -68,11 +69,13 @@ public class DefaultArchetypeGenerationQueryerTest { return new AbstractMatcher() { + @Override protected boolean argumentMatches( Object o, Object o1 ) { return true; } + @Override protected String argumentToString( Object o ) { return "..."; diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java index afab277..2856b06 100644 --- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java +++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java @@ -38,6 +38,7 @@ public class DefaultArchetypeSelectionQueryerTest { private DefaultArchetypeSelectionQueryer queryer; + @Override public void setUp() throws Exception { @@ -211,11 +212,13 @@ public class DefaultArchetypeSelectionQueryerTest return value; } + @Override protected boolean argumentMatches( Object o, Object o1 ) { return isPromptString( o1 ) || super.argumentMatches( o, o1 ); } + @Override protected String argumentToString( Object o ) { return isPromptString( o ) ? "..." : super.argumentToString( o ); diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectorTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectorTest.java index 0ae96c7..98cf0e2 100644 --- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectorTest.java +++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectorTest.java @@ -42,6 +42,7 @@ public class DefaultArchetypeSelectorTest { private DefaultArchetypeSelector selector; + @Override public void setUp() throws Exception { @@ -199,6 +200,7 @@ public class DefaultArchetypeSelectorTest { return new AbstractMatcher() { + @Override protected boolean argumentMatches( Object o, Object o1 ) { return !( o instanceof ArchetypeDefinition ) || @@ -248,6 +250,7 @@ public class DefaultArchetypeSelectorTest return true; } + @Override protected String argumentToString( Object o ) { return o instanceof Map ? "..." : toString( (ArchetypeDefinition) o );