]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1345] MRM-1345 update use of Nexus indexer
authorJevica Arianne B. Zurbano <jzurbano@apache.org>
Tue, 27 Apr 2010 10:29:58 +0000 (10:29 +0000)
committerJevica Arianne B. Zurbano <jzurbano@apache.org>
Tue, 27 Apr 2010 10:29:58 +0000 (10:29 +0000)
* applied patch
* moved the constant in a new class

Submitted by: Gwen Harold Autencio
updated dependency versions:
* nexus-indexer 2.0.5
* plexus-utils 1.5.5

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@938402 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-artifact-converter/src/test/java/org/apache/maven/archiva/converter/artifact/LegacyToDefaultConverterTest.java
archiva-modules/archiva-base/archiva-common/pom.xml
archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/ArchivaNexusIndexerUtil.java [new file with mode: 0644]
archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java
archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArtifactIndexingTask.java
archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
pom.xml

index 8ce2f2c8a7d896c890d5cf0b0aafecc67ea1877f..31e1e1a1c3a000669e4bb7b10bbe14c520135f0a 100644 (file)
@@ -933,7 +933,7 @@ public class LegacyToDefaultConverterTest
 
     private static String normalizeString( String path )
     {
-        return path.trim().replaceAll( "\r\n", "\n" ).replace( '\r', '\n' ).replaceAll( "<\\?xml .+\\?>", "" );
+        return path.trim().replaceAll( "\r\n", "\n" ).replace( '\r', '\n' ).replaceAll( "<\\?xml .+\\?>", "" ).replaceAll("^\\s+", "");
     }
 
     private void checkSuccess( ArtifactConverter converter )
index 995be9b2f6ce17bdbeb8c9560abae20e8d52ba26..45d0dacf33e5142db7c490fee26e7815527de19f 100644 (file)
       <version>1.6.1</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.sonatype.nexus</groupId>
+      <artifactId>nexus-indexer</artifactId>
+    </dependency>
   </dependencies>
   <build>
     <plugins>
diff --git a/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/ArchivaNexusIndexerUtil.java b/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/ArchivaNexusIndexerUtil.java
new file mode 100644 (file)
index 0000000..ebac811
--- /dev/null
@@ -0,0 +1,41 @@
+package org.apache.maven.archiva.common.utils;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.Arrays;
+import java.util.List;
+
+import org.sonatype.nexus.index.context.IndexCreator;
+import org.sonatype.nexus.index.creator.JarFileContentsIndexCreator;
+import org.sonatype.nexus.index.creator.MavenPluginArtifactInfoIndexCreator;
+import org.sonatype.nexus.index.creator.MinimalArtifactInfoIndexCreator;
+
+/**
+ * ArchivaNexusIndexerUtil 
+ *
+ */
+public class ArchivaNexusIndexerUtil
+{
+    public static final List<? extends IndexCreator> FULL_INDEX = Arrays.<IndexCreator>asList(
+                                                                  new MinimalArtifactInfoIndexCreator(),
+                                                                  new JarFileContentsIndexCreator(),
+                                                                  new MavenPluginArtifactInfoIndexCreator() );
+    
+}
index 3c8f5a577cbc51b7390ef86dae653c6515970c86..9ea86474c106d40aeccdc809765c2435c1b8878a 100644 (file)
@@ -28,6 +28,7 @@ import java.util.Set;
 import org.apache.archiva.indexer.util.SearchUtil;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.BooleanClause.Occur;
+import org.apache.maven.archiva.common.utils.ArchivaNexusIndexerUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -216,7 +217,7 @@ public class NexusRepositorySearch
                     
                     IndexingContext context =
                         indexer.addIndexingContext( repoConfig.getId(), repoConfig.getId(), new File( repoConfig.getLocation() ),
-                                                    indexDirectory, null, null, NexusIndexer.FULL_INDEX );
+                                                    indexDirectory, null, null, ArchivaNexusIndexerUtil.FULL_INDEX );
                     context.setSearchable( repoConfig.isScanned() );
                 }
                 else
index b79a116e798313d5e61b53d7f0eeaa3fa8168fab..b31c6149173f210315ba9111bc26926d6dcde5ef 100644 (file)
@@ -25,11 +25,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.maven.archiva.common.utils.ArchivaNexusIndexerUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
 import org.easymock.MockControl;
+import org.sonatype.nexus.artifact.IllegalArtifactCoordinateException;
 import org.sonatype.nexus.index.ArtifactContext;
 import org.sonatype.nexus.index.ArtifactContextProducer;
 import org.sonatype.nexus.index.NexusIndexer;
@@ -85,7 +87,7 @@ public class NexusRepositorySearchTest
     }
 
     private void createIndexForQuickSearch()
-        throws IOException, UnsupportedExistingLuceneIndexException
+        throws IOException, UnsupportedExistingLuceneIndexException, IllegalArtifactCoordinateException
     {
         List<File> files = new ArrayList<File>();
         files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
@@ -126,11 +128,11 @@ public class NexusRepositorySearchTest
     }
 
     private void createIndex( String repository, List<File> filesToBeIndexed )
-        throws IOException, UnsupportedExistingLuceneIndexException
+        throws IOException, UnsupportedExistingLuceneIndexException, IllegalArtifactCoordinateException
     {
         context = new DefaultIndexingContext( repository, repository, new File( getBasedir(), "/target/test-classes/" +
                     repository ), new File( getBasedir(), "/target/test-classes/" + repository + "/.indexer" ), null, null,
-                    NexusIndexer.FULL_INDEX, false );
+                    ArchivaNexusIndexerUtil.FULL_INDEX, false );
             //indexer.addIndexingContext( repository, repository, new File( getBasedir(), "/target/test-classes/" +
             //    repository ), new File( getBasedir(), "/target/test-classes/" + repository + "/.indexer" ), null, null,
             //                            NexusIndexer.FULL_INDEX );
index 04ab728e967a888c1d10ececd9ae75974d42b8b4..831c86e6c359d2ac2f10d06007fa5573d9151165 100644 (file)
@@ -32,6 +32,7 @@ import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
 import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.sonatype.nexus.artifact.IllegalArtifactCoordinateException;
 import org.sonatype.nexus.index.ArtifactContext;
 import org.sonatype.nexus.index.ArtifactContextProducer;
 import org.sonatype.nexus.index.ArtifactInfo;
@@ -170,6 +171,11 @@ public class ArchivaIndexingTaskExecutor
                     throw new TaskExecutionException( "Error occurred while executing indexing task '" + indexingTask
                         + "'", e );
                 }
+                catch ( IllegalArtifactCoordinateException e )
+                {
+                    log.error( "Error occurred while getting artifact context: " + e.getMessage() );
+                    throw new TaskExecutionException( "Error occurred while getting artifact context.", e );
+                }
             }
         }
     }
index 79207e7319adbbd5652da6684141ef1769a97ce3..9b600334dd2dee85d77e95ff4b837c723af5573d 100644 (file)
@@ -22,9 +22,9 @@ package org.apache.archiva.scheduler.indexing;
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.maven.archiva.common.utils.ArchivaNexusIndexerUtil;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.codehaus.plexus.taskqueue.Task;
-import org.sonatype.nexus.index.NexusIndexer;
 import org.sonatype.nexus.index.context.DefaultIndexingContext;
 import org.sonatype.nexus.index.context.IndexingContext;
 import org.sonatype.nexus.index.context.UnsupportedExistingLuceneIndexException;
@@ -139,7 +139,7 @@ public class ArtifactIndexingTask
 
         IndexingContext context =
             new DefaultIndexingContext( repository.getId(), repository.getId(), managedRepository, indexDirectory,
-                                        null, null, NexusIndexer.FULL_INDEX, false );
+                                        null, null, ArchivaNexusIndexerUtil.FULL_INDEX, false );
         context.setSearchable( repository.isScanned() );
         return context;
     }
index bdc934c5df34ee11e63c8b5df59c7e2aeb9c97bd..077299c3909125994eb92b5157506edb02d120b2 100644 (file)
@@ -35,6 +35,7 @@ import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.TopDocs;
+import org.apache.maven.archiva.common.utils.ArchivaNexusIndexerUtil;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
@@ -134,7 +135,7 @@ public class ArchivaIndexingTaskExecutorTest
             indexer.addIndexingContext( repositoryConfig.getId(), repositoryConfig.getId(),
                                         new File( repositoryConfig.getLocation() ),
                                         new File( repositoryConfig.getLocation(), ".indexer" ), null, null,
-                                        NexusIndexer.FULL_INDEX );
+                                        ArchivaNexusIndexerUtil.FULL_INDEX );
         context.setSearchable( true );
 
         FlatSearchRequest request = new FlatSearchRequest( q );
@@ -270,7 +271,7 @@ public class ArchivaIndexingTaskExecutorTest
         IndexingContext context =
             indexer.addIndexingContext( repositoryConfig.getId(), repositoryConfig.getId(),
                                         new File( repositoryConfig.getLocation() ), destDir, null, null,
-                                        NexusIndexer.FULL_INDEX );
+                                        ArchivaNexusIndexerUtil.FULL_INDEX );
         context.setSearchable( true );
 
         FlatSearchRequest request = new FlatSearchRequest( q );
diff --git a/pom.xml b/pom.xml
index bb7f443fa0c37401a41c2439048c554756c533b0..363b1a491eb8d8c0a2b6217b2b5e2f4f1481cd28 100644 (file)
--- a/pom.xml
+++ b/pom.xml
       <dependency>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-indexer</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.5</version>
         <exclusions>
           <exclusion>
             <groupId>org.codehaus.plexus</groupId>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-utils</artifactId>
-        <version>1.4.5</version>
+        <version>1.5.5</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus.cache</groupId>