You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ev...@apache.org on 2006/08/11 14:51:35 UTC

svn commit: r430779 - in /maven/sandbox/maven-shared-jar/src: main/java/org/apache/maven/shared/jar/ main/java/org/apache/maven/shared/jar/taxon/exposers/ test/java/org/apache/maven/shared/jar/ test/java/org/apache/maven/shared/jar/classes/ test/java/o...

Author: evenisse
Date: Fri Aug 11 05:51:35 2006
New Revision: 430779

URL: http://svn.apache.org/viewvc?rev=430779&view=rev
Log:
o Convert Jar to a plexus component
o embedded Analyzers in getters of Jar

Modified:
    maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java
    maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/JarClassesExposer.java
    maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/JarTest.java
    maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java
    maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java
    maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/exposers/EmbeddedMavenModelExposerTest.java

Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java Fri Aug 11 05:51:35 2006
@@ -41,10 +41,14 @@
 
 /**
  * A Jar Toolbox for working with Jar Files.
+ *
+ * @plexus.component role="org.apache.maven.shared.jar.Jar"
  */
 public class Jar
     extends AbstractLogEnabled
 {
+    public static final String ROLE = Jar.class.getName();
+
     private List entries;
 
     private JarFile jarfile;
@@ -58,35 +62,24 @@
     private boolean isSealed;
 
     /**
-     * Create a Jar Tool.
-     *
-     * @param file
-     * @throws JarException
+     * @plexus.requirement role-hint="classes"
      */
-    public Jar( File file )
-        throws JarException
-    {
-        if ( file == null )
-        {
-            throw new JarException( "Null jar File." );
-        }
-
-        init( file );
-    }
+    private JarAnalyzer classesAnalyzer;
 
     /**
-     * @param filename
-     * @throws JarException
+     * @plexus.requirement role-hint="taxon"
      */
-    public Jar( String filename )
+    private JarAnalyzer taxonAnalyzer;
+
+    public void setFile( File file )
         throws JarException
     {
-        if ( StringUtils.isEmpty( filename ) )
+        if ( file == null )
         {
-            throw new JarException( "Empty jar filename." );
+            throw new JarException( "file is null." );
         }
 
-        init( new File( filename ) );
+        init( file );
     }
 
     /**
@@ -271,6 +264,11 @@
 
     public JarClasses getClasses()
     {
+        if ( classes == null )
+        {
+            classesAnalyzer.analyze( this );
+        }
+
         return classes;
     }
 
@@ -281,6 +279,11 @@
 
     public JarTaxon getTaxon()
     {
+        if ( taxon == null )
+        {
+            taxonAnalyzer.analyze( this );
+        }
+
         return taxon;
     }
 

Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/JarClassesExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/JarClassesExposer.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/JarClassesExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/JarClassesExposer.java Fri Aug 11 05:51:35 2006
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
+import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.classes.JarClasses;
-import org.apache.maven.shared.jar.classes.JarClassesAnalyzer;
 import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
 
 import java.util.Iterator;
@@ -31,6 +31,11 @@
 public class JarClassesExposer
     extends AbstractJarTaxonExposer
 {
+    /**
+     * @plexus.requirement role-hint="classes"
+     */
+    private JarAnalyzer analyzer;
+
     public String getExposerName()
     {
         return "Jar Classes";
@@ -47,7 +52,6 @@
 
         if ( jarclasses == null )
         {
-            JarClassesAnalyzer analyzer = new JarClassesAnalyzer();
             analyzer.analyze( getJar() );
             jarclasses = getJar().getClasses();
         }

Modified: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/JarTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/JarTest.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/JarTest.java (original)
+++ maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/JarTest.java Fri Aug 11 05:51:35 2006
@@ -27,8 +27,17 @@
     private Jar getJar( String filename )
         throws JarException
     {
-        File jarfile = new File( getSampleJarsDirectory(), filename );
-        return new Jar( jarfile );
+        try
+        {
+            File jarfile = new File( getSampleJarsDirectory(), filename );
+            Jar jar = (Jar) lookup( Jar.ROLE );
+            jar.setFile( jarfile );
+            return jar;
+        }
+        catch ( Exception e )
+        {
+            throw new JarException( "Can't load the Jar component", e );
+        }
     }
 
     public void testSealed()

Modified: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java (original)
+++ maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java Fri Aug 11 05:51:35 2006
@@ -18,7 +18,6 @@
 
 import org.apache.maven.shared.jar.AbstractJarTestCase;
 import org.apache.maven.shared.jar.Jar;
-import org.apache.maven.shared.jar.JarException;
 
 import java.io.File;
 
@@ -30,13 +29,11 @@
     extends AbstractJarTestCase
 {
     private JarClasses getJarClasses( String filename )
-        throws JarException
+        throws Exception
     {
         File jarfile = new File( getSampleJarsDirectory(), filename );
-        Jar jar = new Jar( jarfile );
-
-        JarClassesAnalyzer analyzer = new JarClassesAnalyzer();
-        analyzer.analyze( jar );
+        Jar jar = (Jar) lookup( Jar.ROLE );
+        jar.setFile( jarfile );
 
         JarClasses jclass = jar.getClasses();
         assertNotNull( "JarClasses", jclass );
@@ -45,7 +42,7 @@
     }
 
     public void testAnalyzeJXR()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "jxr.jar" );
 
@@ -63,7 +60,7 @@
     }
 
     public void testAnalyzeANT()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "ant.jar" );
 
@@ -80,7 +77,7 @@
     }
 
     public void testAnalyzeJarWithDebug()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.4-debug.jar" );
 
@@ -88,7 +85,7 @@
     }
 
     public void testAnalyzeJarWithoutDebug()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.4.jar" );
 
@@ -96,7 +93,7 @@
     }
 
     public void testAnalyzeJarVersion15()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.5.jar" );
 
@@ -104,7 +101,7 @@
     }
 
     public void testAnalyzeJarVersion14()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.4.jar" );
 
@@ -112,7 +109,7 @@
     }
 
     public void testAnalyzeJarVersion13()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.3.jar" );
 
@@ -120,7 +117,7 @@
     }
 
     public void testAnalyzeJarVersion12()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.2.jar" );
 
@@ -128,7 +125,7 @@
     }
 
     public void testAnalyzeJarVersion11()
-        throws JarException
+        throws Exception
     {
         JarClasses jclass = getJarClasses( "helloworld-1.1.jar" );
 

Modified: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java (original)
+++ maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java Fri Aug 11 05:51:35 2006
@@ -18,7 +18,6 @@
 
 import org.apache.maven.shared.jar.AbstractJarTestCase;
 import org.apache.maven.shared.jar.Jar;
-import org.apache.maven.shared.jar.JarAnalyzer;
 
 import java.io.File;
 
@@ -32,11 +31,11 @@
     private JarTaxon getJarTaxon( String filename )
         throws Exception
     {
-        File jarfile = new File( getSampleJarsDirectory(), filename );
-        Jar jar = new Jar( jarfile );
+        Jar jar;
 
-        JarAnalyzer analyzer = (JarAnalyzer) lookup( JarAnalyzer.ROLE, "taxon" );
-        analyzer.analyze( jar );
+        File jarfile = new File( getSampleJarsDirectory(), filename );
+        jar = (Jar) lookup( Jar.ROLE );
+        jar.setFile( jarfile );
 
         JarTaxon taxon = jar.getTaxon();
         assertNotNull( "JarTaxon", taxon );

Modified: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/exposers/EmbeddedMavenModelExposerTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/exposers/EmbeddedMavenModelExposerTest.java?rev=430779&r1=430778&r2=430779&view=diff
==============================================================================
--- maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/exposers/EmbeddedMavenModelExposerTest.java (original)
+++ maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/exposers/EmbeddedMavenModelExposerTest.java Fri Aug 11 05:51:35 2006
@@ -18,7 +18,6 @@
 
 import org.apache.maven.shared.jar.AbstractJarTestCase;
 import org.apache.maven.shared.jar.Jar;
-import org.apache.maven.shared.jar.JarException;
 
 import java.io.File;
 
@@ -30,10 +29,11 @@
     extends AbstractJarTestCase
 {
     public void testExposerWithJXR()
-        throws JarException
+        throws Exception
     {
         File jxrfile = new File( getSampleJarsDirectory(), "jxr.jar" );
-        Jar jxrjar = new Jar( jxrfile );
+        Jar jxrjar = (Jar) lookup( Jar.ROLE );
+        jxrjar.setFile( jxrfile );
 
         EmbeddedMavenModelExposer exposer = new EmbeddedMavenModelExposer();
         exposer.setJar( jxrjar );
@@ -52,10 +52,11 @@
     }
 
     public void testExposerWithANT()
-        throws JarException
+        throws Exception
     {
         File antfile = new File( getSampleJarsDirectory(), "ant.jar" );
-        Jar antjar = new Jar( antfile );
+        Jar antjar = (Jar) lookup( Jar.ROLE );
+        antjar.setFile( antfile );
 
         EmbeddedMavenModelExposer exposer = new EmbeddedMavenModelExposer();
         exposer.setJar( antjar );