Author: epunzalan
Date: Thu Dec 22 00:38:32 2005
New Revision: 358530

URL: http://svn.apache.org/viewcvs?rev=358530&view=rev
Log:
More unit tests

Modified:
    maven/repository-manager/trunk/maven-repository-indexer/pom.xml
    
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndexer.java
    
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexer.java
    
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java

Modified: maven/repository-manager/trunk/maven-repository-indexer/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/pom.xml?rev=358530&r1=358529&r2=358530&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/pom.xml (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/pom.xml Thu Dec 22 
00:38:32 2005
@@ -26,6 +26,11 @@
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
     <dependency>

Modified: 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndexer.java
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndexer.java?rev=358530&r1=358529&r2=358530&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndexer.java
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndexer.java
 Thu Dec 22 00:38:32 2005
@@ -17,6 +17,7 @@
  * limitations under the License.
  */
 
+import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
 
@@ -110,7 +111,7 @@
     {
         if ( indexWriter == null )
         {
-            indexWriter = new IndexWriter( indexPath, getAnalyzer(), true );
+            indexWriter = new IndexWriter( indexPath, getAnalyzer(), false );
         }
     }
 
@@ -131,26 +132,56 @@
     protected void validateIndex()
         throws RepositoryIndexerException
     {
-        indexOpen = true;
-        if ( true ) return;
-        try
+        File indexDir = new File( indexPath );
+        if ( indexDir.exists() )
         {
-            getIndexReader();
-            Collection fields = indexReader.getFieldNames();
-            String[] indexFields = getIndexFields();
-            for( int idx=0; idx<indexFields.length; idx++ )
+            if ( indexDir.isDirectory() )
             {
-                if ( !fields.contains( indexFields[ idx ] ) )
+                if ( indexDir.listFiles().length > 1 )
+                {
+                    try
+                    {
+                        getIndexReader();
+                        Collection fields = indexReader.getFieldNames();
+                        String[] indexFields = getIndexFields();
+                        for( int idx=0; idx<indexFields.length; idx++ )
+                        {
+                            if ( !fields.contains( indexFields[ idx ] ) )
+                            {
+                                throw new RepositoryIndexerException( "The 
Field " + indexFields[ idx ] + " does not exist in " +
+                                        "index path " + indexPath + "." );
+                            }
+                        }
+                    }
+                    catch ( IOException e )
+                    {
+                        throw new RepositoryIndexerException( e );
+                    }
+                }
+                else
                 {
-                    throw new RepositoryIndexerException( "The Field " + 
indexFields[ idx ] + " does not exist in " +
-                            "index path " + indexPath + "." );
+                    System.out.println( "Skipping validation of an empty index 
in: " + indexDir.getAbsolutePath() );
                 }
             }
-            indexOpen = true;
+            else
+            {
+                throw new RepositoryIndexerException( "Specified index path is 
not a directory: " + 
+                                                      
indexDir.getAbsolutePath() );
+            }
         }
-        catch ( IOException e )
+        else
         {
-            throw new RepositoryIndexerException( e );
+            try
+            {
+                indexWriter = new IndexWriter( indexPath, getAnalyzer(), true 
);
+                System.out.println( "New index directory created in: " + 
indexDir.getAbsolutePath() );
+            }
+            catch( Exception e )
+            {
+                throw new RepositoryIndexerException( e );
+            }
         }
+
+        indexOpen = true;
     }
 }

Modified: 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexer.java
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexer.java?rev=358530&r1=358529&r2=358530&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexer.java
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexer.java
 Thu Dec 22 00:38:32 2005
@@ -180,7 +180,6 @@
         for ( Enumeration entries = jar.entries(); entries.hasMoreElements(); )
         {
             ZipEntry entry = (ZipEntry) entries.nextElement();
-            System.out.println( entry.getName() );
             if ( addIfClassEntry( entry ) )
             {
                 addClassPackage( entry.getName() );

Modified: 
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java?rev=358530&r1=358529&r2=358530&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java
 Thu Dec 22 00:38:32 2005
@@ -67,6 +67,24 @@
         indexer.close();
     }
 
+    public void testIndexerExceptions()
+        throws Exception
+    {
+        //test closed index
+        try
+        {
+            indexer.close();
+            Artifact artifact = getArtifact( "test", "test-artifactId", "1.0" 
);
+            artifact.setFile( new File( repository.getBasedir(), 
repository.pathOf( artifact ) ) );
+            indexer.addArtifactIndex( artifact );
+            fail( "Must throw exception on closed index." );
+        }
+        catch( RepositoryIndexerException e )
+        {
+            //expected
+        }
+    }
+
     protected Artifact getArtifact( String groupId, String artifactId, String 
version )
     {
         return artifactFactory.createBuildArtifact( groupId, artifactId, 
version, "jar" );


Reply via email to