Author: khmarbaise
Date: Sun Apr 10 17:27:20 2016
New Revision: 1738445

URL: http://svn.apache.org/viewvc?rev=1738445&view=rev
Log:
 o Refactored Code
   - introduced some handle methods to get shorter method length.
 o Removed System.out.println from test code

Modified:
    
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
    
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java

Modified: 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=1738445&r1=1738444&r2=1738445&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
 (original)
+++ 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
 Sun Apr 10 17:27:20 2016
@@ -275,32 +275,7 @@ public class MavenArchiver
                     {
                         List<ValueSource> valueSources = new 
ArrayList<ValueSource>();
 
-                        valueSources.add( new PrefixedObjectValueSource( 
ARTIFACT_EXPRESSION_PREFIXES, artifact,
-                                                                         true 
) );
-                        valueSources.add( new PrefixedObjectValueSource( 
ARTIFACT_EXPRESSION_PREFIXES,
-                                                                         
artifact.getArtifactHandler(), true ) );
-
-                        Properties extraExpressions = new Properties();
-                        // FIXME: This query method SHOULD NOT affect the 
internal
-                        // state of the artifact version, but it does.
-                        if ( !artifact.isSnapshot() )
-                        {
-                            extraExpressions.setProperty( "baseVersion", 
artifact.getVersion() );
-                        }
-
-                        extraExpressions.setProperty( "groupIdPath", 
artifact.getGroupId().replace( '.', '/' ) );
-                        if ( StringUtils.isNotEmpty( artifact.getClassifier() 
) )
-                        {
-                            extraExpressions.setProperty( "dashClassifier", 
"-" + artifact.getClassifier() );
-                            extraExpressions.setProperty( "dashClassifier?", 
"-" + artifact.getClassifier() );
-                        }
-                        else
-                        {
-                            extraExpressions.setProperty( "dashClassifier", "" 
);
-                            extraExpressions.setProperty( "dashClassifier?", 
"" );
-                        }
-                        valueSources.add( new PrefixedPropertiesValueSource( 
ARTIFACT_EXPRESSION_PREFIXES,
-                                                                             
extraExpressions, true ) );
+                        handleExtraExpression( artifact, valueSources );
 
                         for ( ValueSource vs : valueSources )
                         {
@@ -386,42 +361,12 @@ public class MavenArchiver
 
         if ( config.isAddDefaultSpecificationEntries() )
         {
-            addManifestAttribute( m, entries, "Specification-Title", 
project.getName() );
-
-            try
-            {
-                ArtifactVersion version = 
project.getArtifact().getSelectedVersion();
-                String specVersion = String.format( "%s.%s", 
version.getMajorVersion(), version.getMinorVersion() );
-                addManifestAttribute( m, entries, "Specification-Version", 
specVersion );
-            }
-            catch ( OverConstrainedVersionException e )
-            {
-                throw new ManifestException( "Failed to get selected artifact 
version to calculate"
-                    + " the specification version: " + e.getMessage() );
-            }
-
-            if ( project.getOrganization() != null )
-            {
-                addManifestAttribute( m, entries, "Specification-Vendor", 
project.getOrganization().getName() );
-            }
+            handleSpecificationEntries( project, entries, m );
         }
 
         if ( config.isAddDefaultImplementationEntries() )
         {
-            addManifestAttribute( m, entries, "Implementation-Title", 
project.getName() );
-            addManifestAttribute( m, entries, "Implementation-Version", 
project.getVersion() );
-            // MJAR-5
-            addManifestAttribute( m, entries, "Implementation-Vendor-Id", 
project.getGroupId() );
-
-            if ( project.getOrganization() != null )
-            {
-                addManifestAttribute( m, entries, "Implementation-Vendor", 
project.getOrganization().getName() );
-            }
-
-            if ( project.getUrl() != null )
-            {
-                addManifestAttribute( m, entries, "Implementation-URL", 
project.getUrl() );
-            }
+            handleImplementationEntries( project, entries, m );
         }
 
         String mainClass = config.getMainClass();
@@ -430,57 +375,134 @@ public class MavenArchiver
             addManifestAttribute( m, entries, "Main-Class", mainClass );
         }
 
-        // Added extensions
         if ( config.isAddExtensions() )
         {
-            // TODO: this is only for applets - should we distinguish them as 
a packaging?
-            StringBuilder extensionsList = new StringBuilder();
-            Set<Artifact> artifacts = (Set<Artifact>) project.getArtifacts();
+            handleExtensions( project, entries, m );
+        }
+
+        return m;
+    }
+
+    private void handleExtraExpression( Artifact artifact, List<ValueSource> 
valueSources )
+    {
+        valueSources.add( new PrefixedObjectValueSource( 
ARTIFACT_EXPRESSION_PREFIXES, artifact,
+                                                         true ) );
+        valueSources.add( new PrefixedObjectValueSource( 
ARTIFACT_EXPRESSION_PREFIXES,
+                                                         
artifact.getArtifactHandler(), true ) );
+
+        Properties extraExpressions = new Properties();
+        // FIXME: This query method SHOULD NOT affect the internal
+        // state of the artifact version, but it does.
+        if ( !artifact.isSnapshot() )
+        {
+            extraExpressions.setProperty( "baseVersion", artifact.getVersion() 
);
+        }
+
+        extraExpressions.setProperty( "groupIdPath", 
artifact.getGroupId().replace( '.', '/' ) );
+        if ( StringUtils.isNotEmpty( artifact.getClassifier() ) )
+        {
+            extraExpressions.setProperty( "dashClassifier", "-" + 
artifact.getClassifier() );
+            extraExpressions.setProperty( "dashClassifier?", "-" + 
artifact.getClassifier() );
+        }
+        else
+        {
+            extraExpressions.setProperty( "dashClassifier", "" );
+            extraExpressions.setProperty( "dashClassifier?", "" );
+        }
+        valueSources.add( new PrefixedPropertiesValueSource( 
ARTIFACT_EXPRESSION_PREFIXES,
+                                                             extraExpressions, 
true ) );
+    }
+
+    private void handleExtensions( MavenProject project, Map<String, String> 
entries, Manifest m )
+        throws ManifestException
+    {
+        // TODO: this is only for applets - should we distinguish them as a 
packaging?
+        StringBuilder extensionsList = new StringBuilder();
+        Set<Artifact> artifacts = (Set<Artifact>) project.getArtifacts();
 
-            for ( Artifact artifact : artifacts )
+        for ( Artifact artifact : artifacts )
+        {
+            if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
             {
-                if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+                if ( "jar".equals( artifact.getType() ) )
                 {
-                    if ( "jar".equals( artifact.getType() ) )
+                    if ( extensionsList.length() > 0 )
                     {
-                        if ( extensionsList.length() > 0 )
-                        {
-                            extensionsList.append( " " );
-                        }
-                        extensionsList.append( artifact.getArtifactId() );
+                        extensionsList.append( " " );
                     }
+                    extensionsList.append( artifact.getArtifactId() );
                 }
             }
+        }
 
-            if ( extensionsList.length() > 0 )
-            {
-                addManifestAttribute( m, entries, "Extension-List", 
extensionsList.toString() );
-            }
+        if ( extensionsList.length() > 0 )
+        {
+            addManifestAttribute( m, entries, "Extension-List", 
extensionsList.toString() );
+        }
 
-            for ( Object artifact1 : artifacts )
-            {
-                // TODO: the correct solution here would be to have an 
extension type, and to read
-                // the real extension values either from the artifact's 
manifest or some part of the POM
-                Artifact artifact = (Artifact) artifact1;
-                if ( "jar".equals( artifact.getType() ) )
-                {
-                    String artifactId = artifact.getArtifactId().replace( '.', 
'_' );
-                    String ename = artifactId + "-Extension-Name";
-                    addManifestAttribute( m, entries, ename, 
artifact.getArtifactId() );
-                    String iname = artifactId + "-Implementation-Version";
-                    addManifestAttribute( m, entries, iname, 
artifact.getVersion() );
+        for ( Object artifact1 : artifacts )
+        {
+            // TODO: the correct solution here would be to have an extension 
type, and to read
+            // the real extension values either from the artifact's manifest 
or some part of the POM
+            Artifact artifact = (Artifact) artifact1;
+            if ( "jar".equals( artifact.getType() ) )
+            {
+                String artifactId = artifact.getArtifactId().replace( '.', '_' 
);
+                String ename = artifactId + "-Extension-Name";
+                addManifestAttribute( m, entries, ename, 
artifact.getArtifactId() );
+                String iname = artifactId + "-Implementation-Version";
+                addManifestAttribute( m, entries, iname, artifact.getVersion() 
);
 
-                    if ( artifact.getRepository() != null )
-                    {
-                        iname = artifactId + "-Implementation-URL";
-                        String url = artifact.getRepository().getUrl() + "/" + 
artifact.toString();
-                        addManifestAttribute( m, entries, iname, url );
-                    }
+                if ( artifact.getRepository() != null )
+                {
+                    iname = artifactId + "-Implementation-URL";
+                    String url = artifact.getRepository().getUrl() + "/" + 
artifact.toString();
+                    addManifestAttribute( m, entries, iname, url );
                 }
             }
         }
+    }
+
+    private void handleImplementationEntries( MavenProject project, 
Map<String, String> entries, Manifest m )
+        throws ManifestException
+    {
+        addManifestAttribute( m, entries, "Implementation-Title", 
project.getName() );
+        addManifestAttribute( m, entries, "Implementation-Version", 
project.getVersion() );
+        // MJAR-5
+        addManifestAttribute( m, entries, "Implementation-Vendor-Id", 
project.getGroupId() );
+
+        if ( project.getOrganization() != null )
+        {
+            addManifestAttribute( m, entries, "Implementation-Vendor", 
project.getOrganization().getName() );
+        }
 
-        return m;
+        if ( project.getUrl() != null )
+        {
+            addManifestAttribute( m, entries, "Implementation-URL", 
project.getUrl() );
+        }
+    }
+
+    private void handleSpecificationEntries( MavenProject project, Map<String, 
String> entries, Manifest m )
+        throws ManifestException
+    {
+        addManifestAttribute( m, entries, "Specification-Title", 
project.getName() );
+
+        try
+        {
+            ArtifactVersion version = 
project.getArtifact().getSelectedVersion();
+            String specVersion = String.format( "%s.%s", 
version.getMajorVersion(), version.getMinorVersion() );
+            addManifestAttribute( m, entries, "Specification-Version", 
specVersion );
+        }
+        catch ( OverConstrainedVersionException e )
+        {
+            throw new ManifestException( "Failed to get selected artifact 
version to calculate"
+                + " the specification version: " + e.getMessage() );
+        }
+
+        if ( project.getOrganization() != null )
+        {
+            addManifestAttribute( m, entries, "Specification-Vendor", 
project.getOrganization().getName() );
+        }
     }
 
     private void addCustomEntries( Manifest m, Map<String, String> entries, 
ManifestConfiguration config )

Modified: 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java?rev=1738445&r1=1738444&r2=1738445&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
 (original)
+++ 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
 Sun Apr 10 17:27:20 2016
@@ -111,12 +111,6 @@ public class MavenArchiverTest
 
         assertNotNull( manifest.getMainAttributes() );
 
-        for ( Map.Entry<String, Attributes> entry : 
manifest.getEntries().entrySet() )
-        {
-            System.out.println( entry.getKey() + " " + 
entry.getValue().getValue( "Extension-List" ) );
-
-        }
-
         assertEquals( null, manifest.getMainAttributes().getValue( 
"Extension-List" ) );
 
         MockArtifact artifact1 = new MockArtifact();


Reply via email to