You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jo...@apache.org on 2006/11/20 20:25:31 UTC
svn commit: r477297 - in /maven/sandbox/maven-shared-jar/src:
main/java/org/apache/maven/shared/jar/
main/java/org/apache/maven/shared/jar/classes/
main/java/org/apache/maven/shared/jar/identification/
main/java/org/apache/maven/shared/jar/identificati...
Author: joakime
Date: Mon Nov 20 11:25:30 2006
New Revision: 477297
URL: http://svn.apache.org/viewvc?view=rev&rev=477297
Log:
Refactoring away from 'taxon' to 'identification' to avoid confusion on Jason's jar taxonomy efforts.
Added:
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzer.java
- copied, changed from r477222, 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/JarAnalyzerFactory.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/EmptyRepositoryHashSearch.java
- copied, changed from r477222, maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/EmptyRepositoryHashSearch.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java (with props)
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/RepositoryHashSearch.java
- copied, changed from r477222, maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/RepositoryHashSearch.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/
- copied from r477222, maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/util/
maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarIdentificationAnalyzerTest.java
- copied, changed from r477222, maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java
Removed:
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/AbstractJarTaxonExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/EmptyRepositoryHashSearch.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/JarTaxon.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/JarTaxonExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/RepositoryHashSearch.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/exposers/
maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java
Modified:
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarEntryComparator.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarException.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClasses.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java
maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java
maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/AbstractJarTestCase.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/exposers/EmbeddedMavenModelExposerTest.java
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,65 @@
+package org.apache.maven.shared.jar;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+
+import java.io.File;
+
+/**
+ * DefaultJarAnalyzerFactory
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ * @plexus.component role="org.apache.maven.shared.jar.JarAnalyzerFactory"
+ * role-hint="default"
+ */
+public class DefaultJarAnalyzerFactory
+ extends AbstractLogEnabled
+ implements JarAnalyzerFactory, Contextualizable
+{
+ private PlexusContainer container;
+
+ public JarAnalyzer getJarAnalyzer( File file )
+ throws JarException
+ {
+ try
+ {
+ JarAnalyzer jaranalyzer = (JarAnalyzer) container.lookup( JarAnalyzer.ROLE );
+ jaranalyzer.setFile( file );
+ return jaranalyzer;
+ }
+ catch ( ComponentLookupException e )
+ {
+ String emsg = "Unable to load Jar Analyzer for file " + file.getAbsolutePath();
+ getLogger().warn( emsg, e );
+ throw new JarException( emsg );
+ }
+ }
+
+ public void contextualize( Context context )
+ throws ContextException
+ {
+ container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ }
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/DefaultJarAnalyzerFactory.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzer.java (from r477222, 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/JarAnalyzer.java?view=diff&rev=477297&p1=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/Jar.java&r1=477222&p2=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzer.java&r2=477297
==============================================================================
--- 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/JarAnalyzer.java Mon Nov 20 11:25:30 2006
@@ -17,7 +17,9 @@
*/
import org.apache.maven.shared.jar.classes.JarClasses;
-import org.apache.maven.shared.jar.taxon.JarTaxon;
+import org.apache.maven.shared.jar.classes.JarClassesAnalyzer;
+import org.apache.maven.shared.jar.identification.JarIdentification;
+import org.apache.maven.shared.jar.identification.JarIdentificationAnalysis;
import org.codehaus.plexus.digest.Digester;
import org.codehaus.plexus.digest.DigesterException;
import org.codehaus.plexus.digest.StreamingDigester;
@@ -40,14 +42,16 @@
import java.util.regex.Pattern;
/**
- * A Jar Toolbox for working with Jar Files.
+ * A JarAnalyzer Toolbox for working with Jar Files.
+ *
+ * Use the {@link JarAnalyzerFactory#getJarAnalyzer(File)} to obtain a valid JarAnalyzer object.
*
- * @plexus.component role="org.apache.maven.shared.jar.Jar" instantiation-strategy="per-lookup"
+ * @plexus.component role="org.apache.maven.shared.jar.JarAnalyzer" instantiation-strategy="per-lookup"
*/
-public class Jar
+public class JarAnalyzer
extends AbstractLogEnabled
{
- public static final String ROLE = Jar.class.getName();
+ public static final String ROLE = JarAnalyzer.class.getName();
private List entries;
@@ -57,22 +61,21 @@
private JarClasses classes;
- private JarTaxon taxon;
+ private JarIdentification identification;
private boolean isSealed;
/**
- * @plexus.requirement role-hint="classes"
+ * @plexus.requirement
*/
- private JarAnalyzer classesAnalyzer;
+ private JarClassesAnalyzer classesAnalyzer;
/**
- * @plexus.requirement role-hint="taxon"
+ * @plexus.requirement
*/
- private JarAnalyzer taxonAnalyzer;
-
- public void setFile( File file )
- throws JarException
+ private JarIdentificationAnalysis taxonAnalyzer;
+
+ protected void setFile( File file ) throws JarException
{
if ( file == null )
{
@@ -83,7 +86,7 @@
}
/**
- * Compute the HashCode for this Jar File.
+ * Compute the HashCode for this JarAnalyzer File.
*
* @return the hashcode, or null if not able to be computed.
*/
@@ -101,7 +104,7 @@
}
/**
- * Compute the HashCode for the Bytecode within this Jar File.
+ * Compute the HashCode for the Bytecode within this JarAnalyzer File.
* <p/>
* Useful to see thru a recompile, recompression, or timestamp change.
*
@@ -251,7 +254,7 @@
public String toString()
{
- return "<Jar:" + jarfile.getName() + ">";
+ return "<JarAnalyzer:" + jarfile.getName() + ">";
}
public boolean isSealed()
@@ -279,19 +282,19 @@
this.classes = classes;
}
- public JarTaxon getTaxon()
+ public JarIdentification getIdentification()
{
- if ( taxon == null )
+ if ( identification == null )
{
taxonAnalyzer.analyze( this );
}
- return taxon;
+ return identification;
}
- public void setTaxon( JarTaxon taxon )
+ public void setIdentification( JarIdentification taxon )
{
- this.taxon = taxon;
+ this.identification = taxon;
}
public List getEntries()
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,32 @@
+package org.apache.maven.shared.jar;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+
+/**
+ * JarAnalyzerFactory
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface JarAnalyzerFactory
+{
+ public static final String ROLE = JarAnalyzer.class.getName();
+
+ public JarAnalyzer getJarAnalyzer(File file) throws JarException;
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarAnalyzerFactory.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarEntryComparator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarEntryComparator.java?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarEntryComparator.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarEntryComparator.java Mon Nov 20 11:25:30 2006
@@ -1,11 +1,30 @@
-/**
- *
- */
package org.apache.maven.shared.jar;
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import java.util.Comparator;
import java.util.jar.JarEntry;
+/**
+ * JarEntryComparator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
class JarEntryComparator
implements Comparator
{
@@ -16,10 +35,12 @@
{
return 0;
}
+
if ( !( o2 instanceof JarEntry ) )
{
return 0;
}
+
JarEntry j1 = (JarEntry) o1;
JarEntry j2 = (JarEntry) o2;
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarException.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarException.java?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarException.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/JarException.java Mon Nov 20 11:25:30 2006
@@ -17,7 +17,7 @@
*/
/**
- * Exceptions that occur during Jar utility methods.
+ * Exceptions that occur during JarAnalyzer utility methods.
*/
public class JarException
extends Exception
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClasses.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClasses.java?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClasses.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClasses.java Mon Nov 20 11:25:30 2006
@@ -22,7 +22,7 @@
import java.util.List;
/**
- * Facts about the classes within a Jar File.
+ * Facts about the classes within a JarAnalyzer File.
*/
public class JarClasses
{
@@ -31,6 +31,8 @@
private List packages;
private List classNames;
+
+ private List methodNames;
private boolean isDebugPresent;
@@ -132,5 +134,15 @@
public void setJdkRevision( String jdkRevision )
{
this.jdkRevision = jdkRevision;
+ }
+
+ public List getMethodNames()
+ {
+ return methodNames;
+ }
+
+ public void setMethodNames( List methodNames )
+ {
+ this.methodNames = methodNames;
}
}
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzer.java?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzer.java Mon Nov 20 11:25:30 2006
@@ -22,7 +22,6 @@
import org.apache.bcel.classfile.JavaClass;
import org.apache.bcel.classfile.LineNumberTable;
import org.apache.bcel.classfile.Method;
-import org.apache.maven.shared.jar.Jar;
import org.apache.maven.shared.jar.JarAnalyzer;
import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -32,18 +31,17 @@
import java.util.jar.JarEntry;
/**
- * Jar Classes Analyzer
+ * JarAnalyzer Classes Analyzer
*
* @plexus.component role="org.apache.maven.shared.jar.JarAnalyzer" role-hint="classes"
*/
public class JarClassesAnalyzer
extends AbstractLogEnabled
- implements JarAnalyzer
{
/**
* Analyze and populate the <code>jar.information.classes</code> object.
*/
- public void analyze( Jar jar )
+ public void analyze( JarAnalyzer jar )
{
try
{
@@ -71,7 +69,7 @@
}
catch ( ClassFormatException e )
{
- getLogger().warn( "Unable to process class " + classname + " in Jar File " + jar.getFile(), e );
+ getLogger().warn( "Unable to process class " + classname + " in JarAnalyzer File " + jar.getFile(), e );
continue;
}
@@ -139,7 +137,7 @@
}
catch ( IOException e )
{
- getLogger().warn( "Unable to process Jar File " + jar.getFile(), e );
+ getLogger().warn( "Unable to process JarAnalyzer File " + jar.getFile(), e );
}
}
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,151 @@
+package org.apache.maven.shared.jar.identification;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.shared.jar.JarAnalyzer;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Abstract JarAnalyzer Taxon Exposer.
+ */
+public abstract class AbstractJarIdentificationExposer
+ extends AbstractLogEnabled
+ implements JarIdentificationExposer
+{
+ private JarAnalyzer jar;
+
+ private List groupIds = null;
+
+ private List artifactIds = null;
+
+ private List versions = null;
+
+ private List names = null;
+
+ private List vendors = null;
+
+ public void initialize()
+ {
+ jar = null;
+ groupIds = null;
+ artifactIds = null;
+ versions = null;
+ names = null;
+ vendors = null;
+ }
+
+ public JarAnalyzer getJar()
+ {
+ return jar;
+ }
+
+ public void setJar( JarAnalyzer jar )
+ {
+ this.jar = jar;
+ }
+
+ private List addUnique( List list, String id )
+ {
+ if ( id == null )
+ {
+ return list;
+ }
+
+ if ( list == null )
+ {
+ list = new ArrayList();
+ }
+
+ if ( !list.contains( id ) )
+ {
+ list.add( id );
+ }
+
+ return list;
+ }
+
+ protected void addGroupId( String id )
+ {
+ this.groupIds = addUnique( groupIds, id );
+ }
+
+ protected void addArtifactId( String id )
+ {
+ this.artifactIds = addUnique( artifactIds, id );
+ }
+
+ protected void addVersion( String id )
+ {
+ this.versions = addUnique( versions, id );
+ }
+
+ protected void addName( String id )
+ {
+ this.names = addUnique( names, id );
+ }
+
+ protected void addVendor( String id )
+ {
+ this.vendors = addUnique( vendors, id );
+ }
+
+ public List getGroupIds()
+ {
+ return groupIds;
+ }
+
+ public List getArtifactIds()
+ {
+ return artifactIds;
+ }
+
+ public List getVersions()
+ {
+ return versions;
+ }
+
+ public List getNames()
+ {
+ return names;
+ }
+
+ public List getVendors()
+ {
+ return vendors;
+ }
+
+ private Logger log;
+
+ protected Logger getLogger()
+ {
+ if ( log == null )
+ {
+ log = super.getLogger();
+ if ( log == null )
+ {
+ log = new ConsoleLogger( Logger.LEVEL_DEBUG, AbstractJarIdentificationExposer.class.getName() );
+ }
+ }
+
+ return log;
+ }
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/AbstractJarIdentificationExposer.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/EmptyRepositoryHashSearch.java (from r477222, maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/EmptyRepositoryHashSearch.java)
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/EmptyRepositoryHashSearch.java?view=diff&rev=477297&p1=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/EmptyRepositoryHashSearch.java&r1=477222&p2=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/EmptyRepositoryHashSearch.java&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/EmptyRepositoryHashSearch.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/EmptyRepositoryHashSearch.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon;
+package org.apache.maven.shared.jar.identification;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -25,7 +25,7 @@
* It is expected for the users of this library to provide an implementation
* of a RepositoryHashSearch against a real repository.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.RepositoryHashSearch"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.RepositoryHashSearch"
*/
public class EmptyRepositoryHashSearch
implements RepositoryHashSearch
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,191 @@
+package org.apache.maven.shared.jar.identification;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * JarAnalyzer Taxon, the set of Maven dependency information both found and potential.
+ */
+public class JarIdentification
+{
+ private boolean wellKnown = false;
+
+ private String groupId;
+
+ private String artifactId;
+
+ private String version;
+
+ private String name;
+
+ private String vendor;
+
+ private List potentials;
+
+ public JarIdentification()
+ {
+ potentials = new ArrayList();
+ }
+
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ public void setArtifactId( String artifactId )
+ {
+ this.artifactId = artifactId;
+ }
+
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ public void setGroupId( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public List getPotentials()
+ {
+ return potentials;
+ }
+
+ public void setPotentials( List potentials )
+ {
+ this.potentials = potentials;
+ }
+
+ public String getVendor()
+ {
+ return vendor;
+ }
+
+ public void setVendor( String vendor )
+ {
+ this.vendor = vendor;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+
+ public boolean isWellKnown()
+ {
+ return wellKnown;
+ }
+
+ public void setWellKnown( boolean wellKnown )
+ {
+ this.wellKnown = wellKnown;
+ }
+
+ public List getGroupIds()
+ {
+ List ret = new ArrayList();
+ Iterator it = potentials.iterator();
+ while ( it.hasNext() )
+ {
+ AbstractJarIdentificationExposer exposer = (AbstractJarIdentificationExposer) it.next();
+ if ( exposer.getGroupIds() != null )
+ {
+ ret.addAll( exposer.getGroupIds() );
+ }
+ }
+ return ret;
+ }
+
+ public List getArtifactIds()
+ {
+ List ret = new ArrayList();
+ Iterator it = potentials.iterator();
+ while ( it.hasNext() )
+ {
+ AbstractJarIdentificationExposer exposer = (AbstractJarIdentificationExposer) it.next();
+ if ( exposer.getArtifactIds() != null )
+ {
+ ret.addAll( exposer.getArtifactIds() );
+ }
+ }
+ return ret;
+ }
+
+ public List getVersions()
+ {
+ List ret = new ArrayList();
+ Iterator it = potentials.iterator();
+ while ( it.hasNext() )
+ {
+ AbstractJarIdentificationExposer exposer = (AbstractJarIdentificationExposer) it.next();
+ if ( exposer.getVersions() != null )
+ {
+ ret.addAll( exposer.getVersions() );
+ }
+ }
+ return ret;
+ }
+
+ public List getNames()
+ {
+ List ret = new ArrayList();
+ Iterator it = potentials.iterator();
+ while ( it.hasNext() )
+ {
+ AbstractJarIdentificationExposer exposer = (AbstractJarIdentificationExposer) it.next();
+ if ( exposer.getNames() != null )
+ {
+ ret.addAll( exposer.getNames() );
+ }
+ }
+ return ret;
+ }
+
+ public List getVendors()
+ {
+ List ret = new ArrayList();
+ Iterator it = potentials.iterator();
+ while ( it.hasNext() )
+ {
+ AbstractJarIdentificationExposer exposer = (AbstractJarIdentificationExposer) it.next();
+ if ( exposer.getVendors() != null )
+ {
+ ret.addAll( exposer.getVendors() );
+ }
+ }
+ return ret;
+ }
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentification.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,179 @@
+package org.apache.maven.shared.jar.identification;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.shared.jar.JarAnalyzer;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * JarAnalyzer Taxon Analyzer
+ *
+ * @plexus.component role="org.apache.maven.shared.jar.JarAnalyzer" role-hint="taxon"
+ */
+public class JarIdentificationAnalysis
+{
+ /**
+ * @plexus.requirement role="org.apache.maven.shared.jar.identification.JarIdentificationExposer"
+ */
+ private List exposers;
+
+ public void analyze( JarAnalyzer jar )
+ {
+ JarIdentification taxon = new JarIdentification();
+
+ for ( Iterator i = exposers.iterator(); i.hasNext(); )
+ {
+ JarIdentificationExposer exposer = (JarIdentificationExposer) i.next();
+ exposer.initialize();
+ exposer.setJar( jar );
+ addExposer( taxon, exposer );
+ }
+
+ normalize( taxon );
+
+ jar.setIdentification( taxon );
+ }
+
+ private void addExposer( JarIdentification taxon, JarIdentificationExposer exposer )
+ {
+ taxon.getPotentials().add( exposer );
+ exposer.expose();
+
+ if ( exposer.isAuthoritative() )
+ {
+ if ( StringUtils.isEmpty( taxon.getGroupId() ) && isNotEmpty( exposer.getGroupIds() ) )
+ {
+ taxon.setGroupId( (String) exposer.getGroupIds().get( 0 ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getArtifactId() ) && isNotEmpty( exposer.getArtifactIds() ) )
+ {
+ taxon.setArtifactId( (String) exposer.getArtifactIds().get( 0 ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getVersion() ) && isNotEmpty( exposer.getVersions() ) )
+ {
+ taxon.setVersion( (String) exposer.getVersions().get( 0 ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getName() ) && isNotEmpty( exposer.getNames() ) )
+ {
+ taxon.setName( (String) exposer.getNames().get( 0 ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getVendor() ) && isNotEmpty( exposer.getVendors() ) )
+ {
+ taxon.setVendor( (String) exposer.getVendors().get( 0 ) );
+ }
+ }
+ }
+
+ private void normalize( JarIdentification taxon )
+ {
+ if ( StringUtils.isEmpty( taxon.getGroupId() ) )
+ {
+ taxon.setGroupId( pickSmallest( taxon.getGroupIds() ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getArtifactId() ) )
+ {
+ taxon.setArtifactId( pickLargest( taxon.getArtifactIds() ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getVersion() ) )
+ {
+ taxon.setVersion( pickSmallest( taxon.getVersions() ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getName() ) )
+ {
+ taxon.setName( pickLargest( taxon.getNames() ) );
+ }
+
+ if ( StringUtils.isEmpty( taxon.getVendor() ) )
+ {
+ taxon.setVendor( pickLargest( taxon.getVendors() ) );
+ }
+ }
+
+ private String pickSmallest( List list )
+ {
+ if ( isEmpty( list ) )
+ {
+ return null;
+ }
+
+ int size = Integer.MAX_VALUE;
+ String smallest = null;
+ Iterator it = list.iterator();
+ while ( it.hasNext() )
+ {
+ String val = (String) it.next();
+
+ if ( StringUtils.isNotEmpty( val ) )
+ {
+ if ( val.length() < size )
+ {
+ smallest = val;
+ size = val.length();
+ }
+ }
+ }
+
+ return smallest;
+ }
+
+ private String pickLargest( List list )
+ {
+ if ( isEmpty( list ) )
+ {
+ return null;
+ }
+
+ int size = Integer.MIN_VALUE;
+ String largest = null;
+ Iterator it = list.iterator();
+ while ( it.hasNext() )
+ {
+ String val = (String) it.next();
+ if ( StringUtils.isNotEmpty( val ) )
+ {
+ if ( val.length() > size )
+ {
+ largest = val;
+ size = val.length();
+ }
+ }
+ }
+
+ return largest;
+ }
+
+ private boolean isEmpty( Collection coll )
+ {
+ return ( ( coll == null ) || coll.isEmpty() );
+ }
+
+ private boolean isNotEmpty( Collection coll )
+ {
+ return ( ( coll != null ) && !coll.isEmpty() );
+ }
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java?view=auto&rev=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java (added)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java Mon Nov 20 11:25:30 2006
@@ -0,0 +1,50 @@
+package org.apache.maven.shared.jar.identification;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.shared.jar.JarAnalyzer;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public interface JarIdentificationExposer
+{
+ static final String ROLE = JarIdentificationExposer.class.getName();
+
+ void setJar( JarAnalyzer jar );
+
+ void initialize();
+
+ void expose();
+
+ boolean isAuthoritative();
+
+ String getExposerName();
+
+ List getGroupIds();
+
+ List getArtifactIds();
+
+ List getVersions();
+
+ List getNames();
+
+ List getVendors();
+}
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationExposer.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/RepositoryHashSearch.java (from r477222, maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/RepositoryHashSearch.java)
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/RepositoryHashSearch.java?view=diff&rev=477297&p1=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/RepositoryHashSearch.java&r1=477222&p2=maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/RepositoryHashSearch.java&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/taxon/RepositoryHashSearch.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/RepositoryHashSearch.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon;
+package org.apache.maven.shared.jar.identification;
/*
* Copyright 2001-2006 The Apache Software Foundation.
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -19,7 +19,7 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.Organization;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.IOException;
@@ -30,12 +30,12 @@
/**
- * Jar Taxon Exposer for the Embedded Maven Model.
+ * JarAnalyzer Taxon Exposer for the Embedded Maven Model.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="embeddedMavenModel"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="embeddedMavenModel"
*/
public class EmbeddedMavenModelExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public void expose()
{
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import org.codehaus.plexus.util.FileUtils;
import java.util.regex.Matcher;
@@ -24,12 +24,12 @@
/**
- * Jar Taxon Exposer based on Filename patterns.
+ * JarAnalyzer Taxon Exposer based on Filename patterns.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="filename"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="filename"
*/
public class FilenameExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public String getExposerName()
{
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -16,29 +16,29 @@
* 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.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.classes.JarClassesAnalyzer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import java.util.Iterator;
/**
- * Jar Taxon Exposer for the information from JarClasses.
+ * JarAnalyzer Taxon Exposer for the information from JarClasses.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="jarClasses"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="jarClasses"
*/
public class JarClassesExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
/**
* @plexus.requirement role-hint="classes"
*/
- private JarAnalyzer analyzer;
+ private JarClassesAnalyzer analyzer;
public String getExposerName()
{
- return "Jar Classes";
+ return "JarAnalyzer Classes";
}
public boolean isAuthoritative()
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import java.util.Iterator;
import java.util.Map;
@@ -25,12 +25,12 @@
/**
- * Jar Taxon Exposer for the Manifest.mf contents.
+ * JarAnalyzer Taxon Exposer for the Manifest.mf contents.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="manifest"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="manifest"
*/
public class ManifestExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public String getExposerName()
{
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -17,8 +17,8 @@
*/
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
-import org.apache.maven.shared.jar.taxon.RepositoryHashSearch;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
+import org.apache.maven.shared.jar.identification.RepositoryHashSearch;
import org.codehaus.plexus.digest.Digester;
import org.codehaus.plexus.digest.StreamingDigester;
@@ -27,12 +27,12 @@
import java.util.List;
/**
- * Jar Taxon Exposer for the hashcode hits within a repository.
+ * JarAnalyzer Taxon Exposer for the hashcode hits within a repository.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="repositorySearch"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="repositorySearch"
*/
public class RepositorySearchExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
/**
* @plexus.requirement role-hint="sha1"
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import java.util.Collections;
import java.util.Iterator;
@@ -24,12 +24,12 @@
/**
- * Jar Taxon Exposer - Static Main Class Output
+ * JarAnalyzer Taxon Exposer - Static Main Class Output
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="staticMainOutput"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="staticMainOutput"
*/
public class StaticMainOutputExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public String getExposerName()
{
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import org.codehaus.plexus.util.StringUtils;
import java.io.BufferedReader;
@@ -30,12 +30,12 @@
/**
- * Jar Taxon Exposer based on Text File contents.
+ * JarAnalyzer Taxon Exposer based on Text File contents.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="textFile"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="textFile"
*/
public class TextFileExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public String getExposerName()
{
Modified: maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java?view=diff&rev=477297&r1=477222&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java (original)
+++ maven/sandbox/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java Mon Nov 20 11:25:30 2006
@@ -1,4 +1,4 @@
-package org.apache.maven.shared.jar.taxon.exposers;
+package org.apache.maven.shared.jar.identification.exposers;
/*
* Copyright 2001-2006 The Apache Software Foundation.
@@ -18,7 +18,7 @@
import org.apache.commons.collections.Bag;
import org.apache.commons.collections.bag.HashBag;
-import org.apache.maven.shared.jar.taxon.AbstractJarTaxonExposer;
+import org.apache.maven.shared.jar.identification.AbstractJarIdentificationExposer;
import org.codehaus.plexus.util.StringUtils;
import java.text.SimpleDateFormat;
@@ -29,12 +29,12 @@
/**
- * Jar Taxon Exposer - using Majority Timestamp of classes.
+ * JarAnalyzer Taxon Exposer - using Majority Timestamp of classes.
*
- * @plexus.component role="org.apache.maven.shared.jar.taxon.JarTaxonExposer" role-hint="timestamp"
+ * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="timestamp"
*/
public class TimestampExposer
- extends AbstractJarTaxonExposer
+ extends AbstractJarIdentificationExposer
{
public String getExposerName()
{
Modified: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/AbstractJarTestCase.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/AbstractJarTestCase.java?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/AbstractJarTestCase.java (original)
+++ maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/AbstractJarTestCase.java Mon Nov 20 11:25:30 2006
@@ -28,7 +28,7 @@
import java.util.regex.Pattern;
/**
- * Abstract Jar TestCase
+ * Abstract JarAnalyzer TestCase
*/
public class AbstractJarTestCase
extends PlexusTestCase
@@ -53,6 +53,11 @@
public File getTestLocalRepoDirectory()
{
return new File( testdir, "localrepo" );
+ }
+
+ public JarAnalyzerFactory getJarAnalyzerFactory() throws Exception
+ {
+ return (JarAnalyzerFactory) lookup( JarAnalyzerFactory.ROLE, "default" );
}
public void assertContains( String msg, Object expected, Collection coll )
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?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- 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 Mon Nov 20 11:25:30 2006
@@ -19,38 +19,38 @@
import java.io.File;
/**
- * Jar Test Case
+ * JarAnalyzer Test Case
*/
public class JarTest
extends AbstractJarTestCase
{
- private Jar getJar( String filename )
+ private JarAnalyzer getJar( String filename )
throws JarException
{
try
{
File jarfile = new File( getSampleJarsDirectory(), filename );
- Jar jar = (Jar) lookup( Jar.ROLE );
+ JarAnalyzer jar = (JarAnalyzer) lookup( JarAnalyzer.ROLE );
jar.setFile( jarfile );
return jar;
}
catch ( Exception e )
{
- throw new JarException( "Can't load the Jar component", e );
+ throw new JarException( "Can't load the JarAnalyzer component", e );
}
}
public void testSealed()
throws JarException
{
- Jar evil = getJar( "evil-sealed-regex-1.0.jar" );
+ JarAnalyzer evil = getJar( "evil-sealed-regex-1.0.jar" );
assertTrue( evil.isSealed() );
}
public void testNotSealed()
throws JarException
{
- Jar codec = getJar( "codec.jar" );
+ JarAnalyzer codec = getJar( "codec.jar" );
assertFalse( codec.isSealed() );
}
}
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?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- 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 Mon Nov 20 11:25:30 2006
@@ -17,13 +17,13 @@
*/
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;
/**
- * Jar Classes Test Case
+ * JarAnalyzer Classes Test Case
*/
public class JarClassesAnalyzerTest
extends AbstractJarTestCase
@@ -34,8 +34,7 @@
File jarfile = new File( getSampleJarsDirectory(), filename );
try
{
- Jar jar = (Jar) lookup( Jar.ROLE );
- jar.setFile( jarfile );
+ JarAnalyzer jar = getJarAnalyzerFactory().getJarAnalyzer( jarfile );
JarClasses jclass = jar.getClasses();
assertNotNull( "JarClasses", jclass );
Copied: maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarIdentificationAnalyzerTest.java (from r477222, 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/JarIdentificationAnalyzerTest.java?view=diff&rev=477297&p1=maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarTaxonAnalyzerTest.java&r1=477222&p2=maven/sandbox/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/taxon/JarIdentificationAnalyzerTest.java&r2=477297
==============================================================================
--- 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/JarIdentificationAnalyzerTest.java Mon Nov 20 11:25:30 2006
@@ -17,28 +17,28 @@
*/
import org.apache.maven.shared.jar.AbstractJarTestCase;
-import org.apache.maven.shared.jar.Jar;
+import org.apache.maven.shared.jar.JarAnalyzer;
+import org.apache.maven.shared.jar.identification.JarIdentification;
import java.io.File;
/**
- * Jar Taxon Analyzer Test Case
+ * JarAnalyzer Taxon Analyzer Test Case
*/
-public class JarTaxonAnalyzerTest
+public class JarIdentificationAnalyzerTest
extends AbstractJarTestCase
{
- private JarTaxon getJarTaxon( String filename )
- throws Exception
+ private JarIdentification getJarTaxon( String filename ) throws Exception
{
- Jar jar;
+ JarAnalyzer jar;
File jarfile = new File( getSampleJarsDirectory(), filename );
- jar = (Jar) lookup( Jar.ROLE );
- jar.setFile( jarfile );
+
+ jar = getJarAnalyzerFactory().getJarAnalyzer( jarfile );
- JarTaxon taxon = jar.getTaxon();
- assertNotNull( "JarTaxon", taxon );
+ JarIdentification taxon = jar.getIdentification();
+ assertNotNull( "JarIdentification", taxon );
return taxon;
}
@@ -46,7 +46,7 @@
public void testTaxonAnalyzerWithJXR()
throws Exception
{
- JarTaxon taxon = getJarTaxon( "jxr.jar" );
+ JarIdentification taxon = getJarTaxon( "jxr.jar" );
assertTrue( "taxon.potentials > 0", ( taxon.getPotentials().size() > 0 ) );
@@ -58,12 +58,12 @@
}
/**
- * Tests Jar with No embedded pom, and no useful manifest.mf information.
+ * Tests JarAnalyzer with No embedded pom, and no useful manifest.mf information.
*/
public void testTaxonAnalyzerWithCODEC()
throws Exception
{
- JarTaxon taxon = getJarTaxon( "codec.jar" );
+ JarIdentification taxon = getJarTaxon( "codec.jar" );
assertTrue( "taxon.potentials > 0", ( taxon.getPotentials().size() > 0 ) );
@@ -78,7 +78,7 @@
public void testTaxonAnalyzerWithANT()
throws Exception
{
- JarTaxon taxon = getJarTaxon( "ant.jar" );
+ JarIdentification taxon = getJarTaxon( "ant.jar" );
assertTrue( "taxon.potentials > 0", ( taxon.getPotentials().size() > 0 ) );
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?view=diff&rev=477297&r1=477296&r2=477297
==============================================================================
--- 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 Mon Nov 20 11:25:30 2006
@@ -17,7 +17,8 @@
*/
import org.apache.maven.shared.jar.AbstractJarTestCase;
-import org.apache.maven.shared.jar.Jar;
+import org.apache.maven.shared.jar.JarAnalyzer;
+import org.apache.maven.shared.jar.identification.exposers.EmbeddedMavenModelExposer;
import java.io.File;
@@ -32,8 +33,7 @@
throws Exception
{
File jxrfile = new File( getSampleJarsDirectory(), "jxr.jar" );
- Jar jxrjar = (Jar) lookup( Jar.ROLE );
- jxrjar.setFile( jxrfile );
+ JarAnalyzer jxrjar = getJarAnalyzerFactory().getJarAnalyzer( jxrfile );
EmbeddedMavenModelExposer exposer = new EmbeddedMavenModelExposer();
exposer.setJar( jxrjar );
@@ -55,8 +55,7 @@
throws Exception
{
File antfile = new File( getSampleJarsDirectory(), "ant.jar" );
- Jar antjar = (Jar) lookup( Jar.ROLE );
- antjar.setFile( antfile );
+ JarAnalyzer antjar = getJarAnalyzerFactory().getJarAnalyzer( antfile );
EmbeddedMavenModelExposer exposer = new EmbeddedMavenModelExposer();
exposer.setJar( antjar );