You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2011/02/25 20:07:11 UTC

svn commit: r1074671 - in /maven/indexer/trunk: indexer-artifact/src/main/java/org/apache/maven/index/artifact/ indexer-artifact/src/test/ indexer-artifact/src/test/java/ indexer-artifact/src/test/java/org/ indexer-artifact/src/test/java/org/sonatype/ ...

Author: cstamas
Date: Fri Feb 25 19:07:10 2011
New Revision: 1074671

URL: http://svn.apache.org/viewvc?rev=1074671&view=rev
Log:
Cleanup in indexer-artifact module:

o GavCalculator UTs moved to their place (they left in wrong place since the time these two modules were actually one)
o Fixed GAV constructor, and needless IllegalArtifactCoordinate exception, the passed in version already "tells" is this snap or not
o Fixed inconsistency wrt GavCalculator, contract changed! Before, it was returning null in both cases, "valid file but not artifact" (ie. metadata), and "invalid path". Now, the contract is: if GAV is returned, the path is correct and obeys layout. Null means it obeys layout but is not artifact (is metadata or such), and exception means "this is broken path from layout aspect".
o Removed some kludge remains from Nexus times not used in nexus either anymore

Added:
    maven/indexer/trunk/indexer-artifact/src/test/
    maven/indexer/trunk/indexer-artifact/src/test/java/
    maven/indexer/trunk/indexer-artifact/src/test/java/org/
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java   (contents, props changed)
      - copied, changed from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java   (contents, props changed)
      - copied, changed from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java
    maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java   (contents, props changed)
      - copied, changed from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java
Removed:
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/AbstractGavCalculator.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultNexusEnforcer.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/NexusEnforcer.java
    maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java
    maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java
    maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java
Modified:
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/ArtifactPackagingMapper.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/Gav.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/GavCalculator.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/IllegalArtifactCoordinateException.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1ArtifactRecognizer.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1GavCalculator.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2ArtifactRecognizer.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
    maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/VersionUtils.java
    maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/ArtifactInfo.java
    maven/indexer/trunk/indexer-core/src/test/java/org/apache/maven/index/updater/AbstractIndexUpdaterTest.java

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/ArtifactPackagingMapper.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/ArtifactPackagingMapper.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/ArtifactPackagingMapper.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/ArtifactPackagingMapper.java Fri Feb 25 19:07:10 2011
@@ -29,7 +29,18 @@ import java.io.File;
  */
 public interface ArtifactPackagingMapper
 {
+    /**
+     * Returns the extension belonging to given packaging, like "jar" for "jar", "jar" for "ear", etc.
+     * 
+     * @param packaging
+     * @return
+     */
     String getExtensionForPackaging( String packaging );
 
+    /**
+     * Sets the file to source the user provided mappings from, and resets the mappings, forcing it to reload the file.
+     * 
+     * @param file
+     */
     void setPropertiesFile( File file );
 }

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java Fri Feb 25 19:07:10 2011
@@ -75,7 +75,7 @@ public class DefaultArtifactPackagingMap
         this.packaging2extensionMapping = null;
     }
 
-    public Map<String, String> getPackaging2extensionMapping()
+    public synchronized Map<String, String> getPackaging2extensionMapping()
     {
         if ( packaging2extensionMapping == null )
         {

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/Gav.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/Gav.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/Gav.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/Gav.java Fri Feb 25 19:07:10 2011
@@ -20,7 +20,10 @@
 package org.apache.maven.index.artifact;
 
 /**
- * A value class representing unique artifact coordinates
+ * An immutable value class representing unique artifact coordinates.
+ * 
+ * @author cstamas
+ * @author jvanzyl
  */
 public class Gav
 {
@@ -57,48 +60,47 @@ public class Gav
         }
     }
 
-    private String groupId;
+    private final String groupId;
 
-    private String artifactId;
+    private final String artifactId;
 
-    private String version;
+    private final String version;
 
-    private String baseVersion;
+    private final String baseVersion;
 
-    private String classifier;
+    private final String classifier;
 
-    private String extension;
+    private final String extension;
 
-    private Integer snapshotBuildNumber;
+    private final Integer snapshotBuildNumber;
 
-    private Long snapshotTimeStamp;
+    private final Long snapshotTimeStamp;
 
-    private String name;
+    private final String name;
 
-    private boolean snapshot;
+    private final boolean snapshot;
 
-    private boolean hash;
+    private final boolean hash;
 
-    private HashType hashType;
+    private final HashType hashType;
 
-    private boolean signature;
+    private final boolean signature;
 
-    private SignatureType signatureType;
+    private final SignatureType signatureType;
 
     public Gav( String groupId, String artifactId, String version )
-        throws IllegalArtifactCoordinateException
     {
-        this( groupId, artifactId, version, null, null, null, null, null, false, false, null, false, null );
+        this( groupId, artifactId, version, null, null, null, null, null, false, null, false, null );
     }
 
     public Gav( String groupId, String artifactId, String version, String classifier, String extension,
-                Integer snapshotBuildNumber, Long snapshotTimeStamp, String name, boolean snapshot, boolean hash,
-                HashType hashType, boolean signature, SignatureType signatureType )
-        throws IllegalArtifactCoordinateException
+                Integer snapshotBuildNumber, Long snapshotTimeStamp, String name, boolean hash, HashType hashType,
+                boolean signature, SignatureType signatureType )
     {
         this.groupId = groupId;
         this.artifactId = artifactId;
         this.version = version;
+        this.snapshot = VersionUtils.isSnapshot( version );
 
         if ( !snapshot )
         {
@@ -106,12 +108,6 @@ public class Gav
         }
         else
         {
-            if ( !VersionUtils.isSnapshot( version ) )
-            {
-                throw new IllegalArtifactCoordinateException( "GAV marked as snapshot but the supplied version '"
-                    + version + "' is not!" );
-            }
-
             if ( version.contains( "SNAPSHOT" ) )
             {
                 // this is not a timestamped version
@@ -123,28 +119,28 @@ public class Gav
                 // we have XXXXXX-YYYYMMDD.HHMMSS-B
                 // but XXXXXX may contain "-" too!
 
-                if ( new DefaultNexusEnforcer().isStrict() )
-                {
-                    this.baseVersion = version.substring( 0, version.lastIndexOf( '-' ) );
-                    this.baseVersion = baseVersion.substring( 0, baseVersion.lastIndexOf( '-' ) ) + "-SNAPSHOT";
-                }
+                // if ( new DefaultNexusEnforcer().isStrict() )
+                // {
+                // this.baseVersion = version.substring( 0, version.lastIndexOf( '-' ) );
+                // this.baseVersion = baseVersion.substring( 0, baseVersion.lastIndexOf( '-' ) ) + "-SNAPSHOT";
+                // }
                 // also there may be no XXXXXX (i.e. when version is strictly named SNAPSHOT
                 // BUT this is not the proper scheme, we will simply loosen up here if requested
+                // else
+                // {
+                // trim the part of 'YYYYMMDD.HHMMSS-BN
+                String tempBaseVersion = version.substring( 0, version.lastIndexOf( '-' ) );
+                tempBaseVersion = tempBaseVersion.substring( 0, tempBaseVersion.length() - 15 );
+
+                if ( tempBaseVersion.length() > 0 )
+                {
+                    this.baseVersion = tempBaseVersion + "SNAPSHOT";
+                }
                 else
                 {
-                    // trim the part of 'YYYYMMDD.HHMMSS-BN
-                    String tempBaseVersion = version.substring( 0, version.lastIndexOf( '-' ) );
-                    tempBaseVersion = tempBaseVersion.substring( 0, tempBaseVersion.length() - 15 );
-
-                    if ( tempBaseVersion.length() > 0 )
-                    {
-                        this.baseVersion = tempBaseVersion + "SNAPSHOT";
-                    }
-                    else
-                    {
-                        this.baseVersion = "SNAPSHOT";
-                    }
+                    this.baseVersion = "SNAPSHOT";
                 }
+                // }
             }
         }
 
@@ -153,7 +149,6 @@ public class Gav
         this.snapshotBuildNumber = snapshotBuildNumber;
         this.snapshotTimeStamp = snapshotTimeStamp;
         this.name = name;
-        this.snapshot = snapshot;
         this.hash = hash;
         this.hashType = hashType;
         this.signature = signature;
@@ -425,5 +420,4 @@ public class Gav
 
         return true;
     }
-
 }

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/GavCalculator.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/GavCalculator.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/GavCalculator.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/GavCalculator.java Fri Feb 25 19:07:10 2011
@@ -28,12 +28,23 @@ package org.apache.maven.index.artifact;
 public interface GavCalculator
 {
     /**
-     * @param path
-     * @return a Gav based on the path
-     * @throws IllegalArtifactCoordinateException if the path is illegal
+     * Calculates GAV from provided repository path. The path has to be absolute. If path represents a proper artifact
+     * path (conforming to given layout), GAV is returned. If path represents some file that is not an artifact, but is
+     * part of the repository layout (like maven-metadata.xml), it returns null. In any other case, it throws
+     * IllegalArtifactCoordinateException.
+     * 
+     * @param path the repository path
+     * @return Gav parsed from the path
+     * @throws IllegalArtifactCoordinateException if the path is illegal from layout's aspect
      */
     Gav pathToGav( String path )
         throws IllegalArtifactCoordinateException;
 
+    /**
+     * Reassebles the repository path from the supplied GAV. It will be an absolute path.
+     * 
+     * @param gav
+     * @return the path calculated from GAV, obeying current layout.
+     */
     String gavToPath( Gav gav );
 }

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/IllegalArtifactCoordinateException.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/IllegalArtifactCoordinateException.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/IllegalArtifactCoordinateException.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/IllegalArtifactCoordinateException.java Fri Feb 25 19:07:10 2011
@@ -20,7 +20,8 @@
 package org.apache.maven.index.artifact;
 
 /**
- * Thrown if was provided an illegal artifact coordinate
+ * Thrown if provided parameters are illegal from layout's aspect, does not follow the convention, or impose wrong
+ * combination of values.
  * 
  * @author juven
  */

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1ArtifactRecognizer.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1ArtifactRecognizer.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1ArtifactRecognizer.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1ArtifactRecognizer.java Fri Feb 25 19:07:10 2011
@@ -41,14 +41,6 @@ public class M1ArtifactRecognizer
     }
 
     /**
-     * Is this item M1 snapshot?
-     */
-    public static boolean isSnapshot( String path )
-    {
-        return path.indexOf( "SNAPSHOT" ) != -1;
-    }
-
-    /**
      * Is this item M1 metadata? There is no such!
      */
     public static boolean isMetadata( String path )

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1GavCalculator.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1GavCalculator.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1GavCalculator.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M1GavCalculator.java Fri Feb 25 19:07:10 2011
@@ -32,7 +32,7 @@ import org.codehaus.plexus.component.ann
  */
 @Component( role = GavCalculator.class, hint = "maven1" )
 public class M1GavCalculator
-    extends AbstractGavCalculator
+    implements GavCalculator
 {
 
     private static final Pattern pat1 = Pattern.compile( "^([^0-9]+)-([0-9].+)\\.([^0-9]+)(\\.md5|\\.sha1){0,1}$" );
@@ -79,8 +79,6 @@ public class M1GavCalculator
                 classifier = "client";
             }
 
-            boolean snapshot = s.contains( "SNAPSHOT" );
-
             boolean checksum = false;
             Gav.HashType checksumType = null;
             if ( s.endsWith( ".md5" ) )
@@ -113,7 +111,7 @@ public class M1GavCalculator
                     version = version.substring( 0, version.length() - ( classifier.length() + 1 ) );
                 }
 
-                return new Gav( g, a, version, classifier, ext, null, null, n, snapshot, checksum, checksumType, false,
+                return new Gav( g, a, version, classifier, ext, null, null, n, checksum, checksumType, false,
                     null );
             }
             else
@@ -128,7 +126,7 @@ public class M1GavCalculator
                         version = version.substring( 0, version.length() - ( classifier.length() + 1 ) );
                     }
 
-                    return new Gav( g, a, version, classifier, ext, null, null, n, snapshot, checksum, checksumType,
+                    return new Gav( g, a, version, classifier, ext, null, null, n, checksum, checksumType,
                         false, null );
                 }
                 else

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2ArtifactRecognizer.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2ArtifactRecognizer.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2ArtifactRecognizer.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2ArtifactRecognizer.java Fri Feb 25 19:07:10 2011
@@ -24,6 +24,8 @@ package org.apache.maven.index.artifact;
  */
 public class M2ArtifactRecognizer
 {
+    private static final M2GavCalculator gavCalculator = new M2GavCalculator();
+
     /**
      * Is this item M2 Checksum?
      */
@@ -41,11 +43,23 @@ public class M2ArtifactRecognizer
     }
 
     /**
-     * Is this item M2 snapshot?
+     * Is this item M2 Snapshot?
+     * 
+     * @param path
+     * @return
      */
     public static boolean isSnapshot( String path )
     {
-        return path.indexOf( "SNAPSHOT" ) != -1;
+        try
+        {
+            Gav gav = gavCalculator.pathToGav( path );
+
+            return gav != null && gav.isSnapshot();
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            return false;
+        }
     }
 
     /**
@@ -61,5 +75,4 @@ public class M2ArtifactRecognizer
     {
         return path.endsWith( ".asc" );
     }
-
 }

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java Fri Feb 25 19:07:10 2011
@@ -32,7 +32,7 @@ import org.codehaus.plexus.component.ann
  */
 @Component( role = GavCalculator.class, hint = "maven2" )
 public class M2GavCalculator
-    extends AbstractGavCalculator
+    implements GavCalculator
 {
     public Gav pathToGav( String str )
         throws IllegalArtifactCoordinateException
@@ -45,21 +45,24 @@ public class M2GavCalculator
 
             if ( vEndPos == -1 )
             {
-                return null;
+                throw new IllegalArtifactCoordinateException( "The path \"" + str
+                    + "\" does not represents an artifact!" );
             }
 
             int aEndPos = s.lastIndexOf( '/', vEndPos - 1 );
 
             if ( aEndPos == -1 )
             {
-                return null;
+                throw new IllegalArtifactCoordinateException( "The path \"" + str
+                    + "\" does not represents an artifact!" );
             }
 
             int gEndPos = s.lastIndexOf( '/', aEndPos - 1 );
 
             if ( gEndPos == -1 )
             {
-                return null;
+                throw new IllegalArtifactCoordinateException( "The path \"" + str
+                    + "\" does not represents an artifact!" );
             }
 
             String groupId = s.substring( 0, gEndPos ).replace( '/', '.' );
@@ -111,11 +114,13 @@ public class M2GavCalculator
         }
         catch ( NumberFormatException e )
         {
-            return null;
+            throw new IllegalArtifactCoordinateException( "The path \"" + str + "\" does not represents a snapshot artifact!",
+                e );
         }
         catch ( StringIndexOutOfBoundsException e )
         {
-            return null;
+            throw new IllegalArtifactCoordinateException( "The path \"" + str + "\" does not represents an artifact!",
+                e );
         }
     }
 
@@ -127,7 +132,8 @@ public class M2GavCalculator
         if ( !fileName.startsWith( artifactId + "-" + version + "." )
             && !fileName.startsWith( artifactId + "-" + version + "-" ) )
         {
-            return null;
+            throw new IllegalArtifactCoordinateException( "The path \"" + s
+                + "\" does not represents an artifact (filename does not match artifactId-version)!" );
         }
 
         int nTailPos = vEndPos + artifactId.length() + version.length() + 2;
@@ -139,15 +145,16 @@ public class M2GavCalculator
         if ( nExtPos == -1 )
         {
             // NX-563: not allowing extensionless paths to be interpreted as artifact
-            return null;
+            throw new IllegalArtifactCoordinateException( "The path \"" + s
+                + "\" does not represents an artifact (does not have extension)!" );
         }
 
         String ext = tail.substring( nExtPos + 1 );
 
         String classifier = tail.charAt( 0 ) == '-' ? tail.substring( 1, nExtPos ) : null;
 
-        return new Gav( groupId, artifactId, version, classifier, ext, null, null, fileName, false, /* release */
-        checksum, checksumType, signature, signatureType );
+        return new Gav( groupId, artifactId, version, classifier, ext, null, null, fileName, checksum, checksumType,
+            signature, signatureType );
     }
 
     private Gav getSnapshotGav( String s, int vEndPos, String groupId, String artifactId, String version,
@@ -179,7 +186,8 @@ public class M2GavCalculator
             if ( nExtPos == -1 )
             {
                 // NX-563: not allowing extensionless paths to be interpreted as artifact
-                return null;
+                throw new IllegalArtifactCoordinateException( "The path \"" + s
+                    + "\" does not represents an artifact (does not have extension)!" );
             }
 
             ext = tail.substring( nExtPos + 1 );
@@ -211,16 +219,7 @@ public class M2GavCalculator
             String snapshotBuildNumber = sb.toString();
             snapshotBuildNo = Integer.parseInt( bnr.toString() );
 
-            int n;
-
-            if ( getEnforcer().isStrict() )
-            {
-                n = version.length() - 9;
-            }
-            else
-            {
-                n = version.length() > 9 ? version.length() - 9 + 1 : 0;
-            }
+            int n = version.length() > 9 ? version.length() - 9 + 1 : 0;
 
             String tail = s.substring( vEndPos + artifactId.length() + n + snapshotBuildNumber.length() + 2 );
 
@@ -229,7 +228,8 @@ public class M2GavCalculator
             if ( nExtPos == -1 )
             {
                 // NX-563: not allowing extensionless paths to be interpreted as artifact
-                return null;
+                throw new IllegalArtifactCoordinateException( "The path \"" + s
+                    + "\" does not represents an artifact (does not have extension)!" );
             }
 
             ext = tail.substring( nExtPos + 1 );
@@ -240,7 +240,6 @@ public class M2GavCalculator
         }
 
         return new Gav( groupId, artifactId, version, classifier, ext, snapshotBuildNo, snapshotTimestamp, fileName,
-            true, /* snapshot */
             checksum, checksumType, signature, signatureType );
     }
 

Modified: maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/VersionUtils.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/VersionUtils.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/VersionUtils.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/main/java/org/apache/maven/index/artifact/VersionUtils.java Fri Feb 25 19:07:10 2011
@@ -22,38 +22,20 @@ package org.apache.maven.index.artifact;
 import java.util.regex.Pattern;
 
 /**
- * Utility methods for working with artifact version strings
+ * Utility methods for working with artifact version strings.
  */
 public class VersionUtils
 {
-    public static String SNAPSHOT_VERSION = "SNAPSHOT";
+    private static String SNAPSHOT_VERSION = "SNAPSHOT";
 
-    private static NexusEnforcer enforcer = new DefaultNexusEnforcer();
-
-    // Note that there is an 'OR' to support 2 different patterns.
-    // i.e. the proper way 1.0-20080707.124343
-    // i.e. the newly supported way 20080707.124343 (no base version, i.e. 1.0)
     private static final Pattern VERSION_FILE_PATTERN =
         Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$|^([0-9]{8}.[0-9]{6})-([0-9]+)$|^(.*)([0-9]{8}.[0-9]{6})-([0-9]+)$" );
 
-    private static final Pattern STRICT_VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
-
-    public static boolean isSnapshot( String baseVersion )
+    public static boolean isSnapshot( String version )
     {
-        if ( enforcer.isStrict() )
-        {
-            synchronized ( STRICT_VERSION_FILE_PATTERN )
-            {
-                return STRICT_VERSION_FILE_PATTERN.matcher( baseVersion ).matches()
-                    || baseVersion.endsWith( SNAPSHOT_VERSION );
-            }
-        }
-        else
+        synchronized ( VERSION_FILE_PATTERN )
         {
-            synchronized ( VERSION_FILE_PATTERN )
-            {
-                return VERSION_FILE_PATTERN.matcher( baseVersion ).matches() || baseVersion.endsWith( SNAPSHOT_VERSION );
-            }
+            return VERSION_FILE_PATTERN.matcher( version ).matches() || version.endsWith( SNAPSHOT_VERSION );
         }
     }
 }

Copied: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java (from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java)
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java?p2=maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java&p1=maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java&r1=1074665&r2=1074671&rev=1074671&view=diff
==============================================================================
    (empty)

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M1GavCalculatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java (from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java)
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java?p2=maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java&p1=maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java&r1=1074665&r2=1074671&rev=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java Fri Feb 25 19:07:10 2011
@@ -21,20 +21,17 @@ package org.sonatype.nexus.artifact;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 
-import org.apache.maven.index.artifact.DefaultNexusEnforcer;
+import junit.framework.TestCase;
+
 import org.apache.maven.index.artifact.Gav;
+import org.apache.maven.index.artifact.IllegalArtifactCoordinateException;
 import org.apache.maven.index.artifact.M2GavCalculator;
-import org.apache.maven.index.artifact.NexusEnforcer;
-
-import junit.framework.TestCase;
 
 public class M2GavCalculatorTest
     extends TestCase
 {
     private M2GavCalculator gavCalculator;
 
-    private NexusEnforcer enforcer;
-
     private SimpleDateFormat formatter = new SimpleDateFormat( "yyyyMMdd.HHmmss" );
 
     @Override
@@ -44,8 +41,6 @@ public class M2GavCalculatorTest
         super.setUp();
 
         gavCalculator = new M2GavCalculator();
-
-        enforcer = new DefaultNexusEnforcer();
     }
 
     protected Long parseTimestamp( String timeStamp )
@@ -538,114 +533,201 @@ public class M2GavCalculatorTest
         assertEquals( "/org/sonatype/nexus/nexus-webapp/1.4.0/nexus-webapp-1.4.0-bundle.tar.gz", path );
 
         gav = gavCalculator.pathToGav( "/foo/artifact/SNAPSHOT/artifact-SNAPSHOT.jar" );
+        assertEquals( "foo", gav.getGroupId() );
+        assertEquals( "artifact", gav.getArtifactId() );
+        assertEquals( "SNAPSHOT", gav.getVersion() );
+        assertEquals( "SNAPSHOT", gav.getBaseVersion() );
+        assertEquals( null, gav.getClassifier() );
+        assertEquals( "jar", gav.getExtension() );
+        assertEquals( null, gav.getSnapshotBuildNumber() );
+        assertEquals( null, gav.getSnapshotTimeStamp() );
+        assertEquals( "artifact-SNAPSHOT.jar", gav.getName() );
+        assertEquals( true, gav.isSnapshot() );
+        assertEquals( false, gav.isHash() );
+        assertEquals( null, gav.getHashType() );
+
+        path = gavCalculator.gavToPath( gav );
+        assertEquals( "/foo/artifact/SNAPSHOT/artifact-SNAPSHOT.jar", path );
+
+        gav = gavCalculator.pathToGav( "/foo/artifact/SNAPSHOT/artifact-20080623.175436-1.jar" );
+        assertEquals( "foo", gav.getGroupId() );
+        assertEquals( "artifact", gav.getArtifactId() );
+        assertEquals( "20080623.175436-1", gav.getVersion() );
+        assertEquals( "SNAPSHOT", gav.getBaseVersion() );
+        assertEquals( null, gav.getClassifier() );
+        assertEquals( "jar", gav.getExtension() );
+        assertEquals( Integer.valueOf( 1 ), gav.getSnapshotBuildNumber() );
+        assertEquals( parseTimestamp( "20080623.175436" ), gav.getSnapshotTimeStamp() );
+        assertEquals( "artifact-20080623.175436-1.jar", gav.getName() );
+        assertEquals( true, gav.isSnapshot() );
+        assertEquals( false, gav.isHash() );
+        assertEquals( null, gav.getHashType() );
+
+        path = gavCalculator.gavToPath( gav );
+        assertEquals( "/foo/artifact/SNAPSHOT/artifact-20080623.175436-1.jar", path );
+    }
 
-        if ( enforcer.isStrict() )
+    public void testNegGav()
+        throws Exception
+    {
+        Gav gav;
+        String path;
+
+        // NEXUS-4132
+        try
         {
-            assertEquals( "foo", gav.getGroupId() );
-            assertEquals( "artifact", gav.getArtifactId() );
-            assertEquals( "SNAPSHOT", gav.getVersion() );
-            assertEquals( "SNAPSHOT", gav.getBaseVersion() );
-            assertEquals( null, gav.getClassifier() );
-            assertEquals( "jar", gav.getExtension() );
+            gav =
+                gavCalculator.pathToGav( "/com/electrabel/connection-register-ear/1.2-SNAPSHOT/connection-register-ear-1.2-20101214.143755.ear" );
+            assertEquals( "org.sonatype.nexus", gav.getGroupId() );
+            assertEquals( "nexus-webapp", gav.getArtifactId() );
+            assertEquals( "1.4.0", gav.getVersion() );
+            assertEquals( "1.4.0", gav.getBaseVersion() );
+            assertEquals( "bundle", gav.getClassifier() );
+            assertEquals( "tar.gz", gav.getExtension() );
             assertEquals( null, gav.getSnapshotBuildNumber() );
             assertEquals( null, gav.getSnapshotTimeStamp() );
-            assertEquals( "artifact-SNAPSHOT.jar", gav.getName() );
+            assertEquals( "nexus-webapp-1.4.0-bundle.tar.gz", gav.getName() );
             assertEquals( false, gav.isSnapshot() );
             assertEquals( false, gav.isHash() );
             assertEquals( null, gav.getHashType() );
+            assertEquals( false, gav.isSignature() );
 
             path = gavCalculator.gavToPath( gav );
-            assertEquals( "/foo/artifact/SNAPSHOT/artifact-SNAPSHOT.jar", path );
+            assertEquals(
+                "/com/electrabel/connection-register-ear/1.2-SNAPSHOT/connection-register-ear-1.2-20101214.143755.ear",
+                path );
+
+            fail( "Should fail, since the filename lacks the -BBB build number, hence, is not valid snapshot" );
         }
-        else
+        catch ( IllegalArtifactCoordinateException e )
         {
-            assertEquals( "foo", gav.getGroupId() );
-            assertEquals( "artifact", gav.getArtifactId() );
-            assertEquals( "SNAPSHOT", gav.getVersion() );
-            assertEquals( "SNAPSHOT", gav.getBaseVersion() );
-            assertEquals( null, gav.getClassifier() );
-            assertEquals( "jar", gav.getExtension() );
-            assertEquals( null, gav.getSnapshotBuildNumber() );
-            assertEquals( null, gav.getSnapshotTimeStamp() );
-            assertEquals( "artifact-SNAPSHOT.jar", gav.getName() );
-            assertEquals( true, gav.isSnapshot() );
-            assertEquals( false, gav.isHash() );
-            assertEquals( null, gav.getHashType() );
-
-            path = gavCalculator.gavToPath( gav );
-            assertEquals( "/foo/artifact/SNAPSHOT/artifact-SNAPSHOT.jar", path );
+            // good, expected since the filename lacks the -BBB build number, hence, is not valid snapshot
         }
+        // NEXUS-4132 END
 
-        gav = gavCalculator.pathToGav( "/foo/artifact/SNAPSHOT/artifact-20080623.175436-1.jar" );
-        if ( enforcer.isStrict() )
+    }
+
+    public void testGavExtreme()
+        throws Exception
+    {
+        Gav gav;
+
+        try
         {
+            gav = gavCalculator.pathToGav( "/" );
             assertEquals( null, gav );
+            fail( "This is not an artifact!" );
         }
-        else
+        catch ( IllegalArtifactCoordinateException e )
         {
-            assertEquals( "foo", gav.getGroupId() );
-            assertEquals( "artifact", gav.getArtifactId() );
-            assertEquals( "20080623.175436-1", gav.getVersion() );
-            assertEquals( "SNAPSHOT", gav.getBaseVersion() );
-            assertEquals( null, gav.getClassifier() );
-            assertEquals( "jar", gav.getExtension() );
-            assertEquals( Integer.valueOf( 1 ), gav.getSnapshotBuildNumber() );
-            assertEquals( parseTimestamp( "20080623.175436" ), gav.getSnapshotTimeStamp() );
-            assertEquals( "artifact-20080623.175436-1.jar", gav.getName() );
-            assertEquals( true, gav.isSnapshot() );
-            assertEquals( false, gav.isHash() );
-            assertEquals( null, gav.getHashType() );
+            // good
+        }
 
-            path = gavCalculator.gavToPath( gav );
-            assertEquals( "/foo/artifact/SNAPSHOT/artifact-20080623.175436-1.jar", path );
+        try
+        {
+            gav = gavCalculator.pathToGav( "/some/stupid/path" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
         }
-    }
 
-    public void testGavExtreme()
-        throws Exception
-    {
-        Gav gav = gavCalculator.pathToGav( "/" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "/some/stupid/path/more/in/it" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
-        gav = gavCalculator.pathToGav( "/some/stupid/path" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "/something/that/looks/" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
-        gav = gavCalculator.pathToGav( "/some/stupid/path/more/in/it" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "/something/that/looks/like-an-artifact.blah" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
-        gav = gavCalculator.pathToGav( "/something/that/looks/" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "/something/that/looks/like-an-artifact.pom" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
-        gav = gavCalculator.pathToGav( "/something/that/looks/like-an-artifact.blah" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "org/apache/maven/scm/maven-scm" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
-        gav = gavCalculator.pathToGav( "/something/that/looks/like-an-artifact.pom" );
-        assertEquals( null, gav );
+        try
+        {
+            gav = gavCalculator.pathToGav( "org/apache/geronimo/javamail/geronimo-javamail_1.4_mail" );
+            assertEquals( null, gav );
+            fail( "This is not an artifact!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
 
+        // this is metadata, will return null
         gav = gavCalculator.pathToGav( "/something/that/looks/maven-metadata.xml" );
         assertEquals( null, gav );
 
+        // this is metadata, will return null
         gav = gavCalculator.pathToGav( "/something/that/looks/like-SNAPSHOT/maven-metadata.xml" );
         assertEquals( null, gav );
 
+        // this is metadata, will return null
         gav = gavCalculator.pathToGav( "/org/codehaus/plexus/plexus-container-default/maven-metadata.xml" );
         assertEquals( null, gav );
-
-        gav = gavCalculator.pathToGav( "org/apache/maven/scm/maven-scm" );
-        assertEquals( null, gav );
-
-        gav = gavCalculator.pathToGav( "org/apache/geronimo/javamail/geronimo-javamail_1.4_mail" );
-        assertEquals( null, gav );
     }
 
     public void testIssueNexus57()
         throws Exception
     {
-        Gav gav;
         // broken path, baseVersion and version mismatch (2.0-SNAPSHOT vs 2.0-alpha-1...)
-        gav =
-            gavCalculator.pathToGav( "/org/apache/maven/plugins/maven-dependency-plugin/2.0-SNAPSHOT/maven-dependency-plugin-2.0-alpha-1-20070109.165112-13.jar" );
-        assertEquals( null, gav );
+        try
+        {
+            Gav gav =
+                gavCalculator.pathToGav( "/org/apache/maven/plugins/maven-dependency-plugin/2.0-SNAPSHOT/maven-dependency-plugin-2.0-alpha-1-20070109.165112-13.jar" );
+
+            fail( "We expect IllegalArtifactCoordinateException since baseVersion and version mismatch in path!" );
+        }
+        catch ( IllegalArtifactCoordinateException e )
+        {
+            // good
+        }
     }
 
     public void testGavExtensionAndClassifier()

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/M2GavCalculatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java (from r1074665, maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java)
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java?p2=maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java&p1=maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java&r1=1074665&r2=1074671&rev=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java (original)
+++ maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java Fri Feb 25 19:07:10 2011
@@ -37,11 +37,11 @@ public class MavenArtifactRecognizerTest
     public void testIsSnapshot1()
     {
         // NEXUS-3148
-        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0SNAPSHOT/xsdSNAPSHOT.jar" ) );
+        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0SNAPSHOT/aid-1.0SNAPSHOT.jar" ) );
 
-        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/xsd-SNAPSHOT.jar" ) );
-        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/xsd-SNAPSHOT.pom" ) );
-        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/a/b/c/xsd-1.2.3-.pom" ) );
+        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/aid-1.0-SNAPSHOT.jar" ) );
+        assertEquals( true, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/aid-1.0-SNAPSHOT.pom" ) );
+        assertEquals( false, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/aid-1.2.3-.pom" ) );
         assertEquals( false, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0/xsd-SNAPsHOT.jar" ) );
         assertEquals( false, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0/xsd-SNAPHOT.pom" ) );
         assertEquals( false, M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0/a/b/c/xsd-1.2.3NAPSHOT.pom" ) );
@@ -52,10 +52,10 @@ public class MavenArtifactRecognizerTest
     {
         assertEquals(
             true,
-            M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0-SNAPSHOT/appassembler-maven-plugin-1.0-20060714.142547-1.pom" ) );
+            M2ArtifactRecognizer.isSnapshot( "/org/somewhere/appassembler-maven-plugin/1.0-SNAPSHOT/appassembler-maven-plugin-1.0-20060714.142547-1.pom" ) );
         assertEquals(
             false,
-            M2ArtifactRecognizer.isSnapshot( "/org/somewhere/aid/1.0/appassembler-maven-plugin-1.0-20060714.142547-1.pom" ) );
+            M2ArtifactRecognizer.isSnapshot( "/org/somewhere/appassembler-maven-plugin/1.0/appassembler-maven-plugin-1.0-20060714.142547-1.pom" ) );
     }
 
     public void testIsMetadata()

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/indexer/trunk/indexer-artifact/src/test/java/org/sonatype/nexus/artifact/MavenArtifactRecognizerTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/ArtifactInfo.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/ArtifactInfo.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/ArtifactInfo.java (original)
+++ maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/ArtifactInfo.java Fri Feb 25 19:07:10 2011
@@ -285,7 +285,6 @@ public class ArtifactInfo
         return new Gav( groupId, artifactId, version, classifier, fextension, null, // snapshotBuildNumber
             null, // snapshotTimeStamp
             fname, // name
-            VersionUtils.isSnapshot( version ), // isSnapshot
             false, // hash
             null, // hashType
             false, // signature

Modified: maven/indexer/trunk/indexer-core/src/test/java/org/apache/maven/index/updater/AbstractIndexUpdaterTest.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-core/src/test/java/org/apache/maven/index/updater/AbstractIndexUpdaterTest.java?rev=1074671&r1=1074670&r2=1074671&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/test/java/org/apache/maven/index/updater/AbstractIndexUpdaterTest.java (original)
+++ maven/indexer/trunk/indexer-core/src/test/java/org/apache/maven/index/updater/AbstractIndexUpdaterTest.java Fri Feb 25 19:07:10 2011
@@ -112,7 +112,7 @@ public abstract class AbstractIndexUpdat
         File metadata = null;
         ArtifactInfo artifactInfo = new ArtifactInfo( repositoryId, groupId, artifactId, version, classifier );
         Gav gav =
-            new Gav( groupId, artifactId, version, classifier, "jar", null, null, artifact.getName(), false, false,
+            new Gav( groupId, artifactId, version, classifier, "jar", null, null, artifact.getName(), false,
                 null, false, null );
         return new ArtifactContext( pomFile, artifact, metadata, artifactInfo, gav );
     }