http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java ---------------------------------------------------------------------- diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java index 1f07c52..044ed87 100644 --- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java +++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java @@ -25,10 +25,6 @@ import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin; import org.apache.archiva.common.plexusbridge.MavenIndexerUtils; import org.apache.archiva.common.plexusbridge.PlexusSisuBridge; import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner; -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.index.ArtifactInfo; import org.apache.maven.index.FlatSearchRequest; import org.apache.maven.index.FlatSearchResponse; @@ -37,6 +33,12 @@ import org.apache.maven.index.NexusIndexer; import org.apache.maven.index.context.IndexingContext; import org.apache.maven.index.expr.SourcedSearchExpression; import org.apache.maven.index.expr.StringSearchExpression; +import org.apache.maven.index.shaded.lucene.search.BooleanClause; +import org.apache.maven.index.shaded.lucene.search.BooleanQuery; +import org.apache.maven.index.shaded.lucene.search.IndexSearcher; +import org.apache.maven.index.shaded.lucene.search.TopDocs; +import org.apache.maven.index.updater.IndexUpdateRequest; +import org.assertj.core.api.Assertions; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -54,6 +56,7 @@ import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Set; +import java.util.zip.GZIPInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -70,10 +73,8 @@ public class ArchivaIndexingTaskExecutorTest private ManagedRepository repositoryConfig; - private NexusIndexer indexer; - @Inject - PlexusSisuBridge plexusSisuBridge; + private NexusIndexer indexer; @Inject MavenIndexerUtils mavenIndexerUtils; @@ -98,8 +99,6 @@ public class ArchivaIndexingTaskExecutorTest repositoryConfig.setSnapshots( false ); repositoryConfig.setReleases( true ); - indexer = plexusSisuBridge.lookup( NexusIndexer.class ); - managedRepositoryAdmin.createIndexContext( repositoryConfig ); } @@ -147,10 +146,10 @@ public class ArchivaIndexingTaskExecutorTest BooleanQuery q = new BooleanQuery(); q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); if ( !indexer.getIndexingContexts().containsKey( repositoryConfig.getId() ) ) { @@ -173,9 +172,9 @@ public class ArchivaIndexingTaskExecutorTest Set<ArtifactInfo> results = response.getResults(); ArtifactInfo artifactInfo = results.iterator().next(); - assertEquals( "org.apache.archiva", artifactInfo.groupId ); - assertEquals( "archiva-index-methods-jar-test", artifactInfo.artifactId ); - assertEquals( "test-repo", artifactInfo.repository ); + assertEquals( "org.apache.archiva", artifactInfo.getGroupId() ); + assertEquals( "archiva-index-methods-jar-test", artifactInfo.getArtifactId() ); + assertEquals( "test-repo", artifactInfo.getRepository() ); } @@ -195,10 +194,10 @@ public class ArchivaIndexingTaskExecutorTest BooleanQuery q = new BooleanQuery(); q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); IndexingContext ctx = indexer.getIndexingContexts().get( repositoryConfig.getId() ); @@ -231,7 +230,7 @@ public class ArchivaIndexingTaskExecutorTest BooleanQuery q = new BooleanQuery(); q.add( indexer.constructQuery( MAVEN.GROUP_ID, new SourcedSearchExpression( "org.apache.archiva" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); //q.add( // indexer.constructQuery( MAVEN.ARTIFACT_ID, new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ), // Occur.SHOULD ); @@ -258,9 +257,10 @@ public class ArchivaIndexingTaskExecutorTest q = new BooleanQuery(); q.add( indexer.constructQuery( MAVEN.GROUP_ID, new SourcedSearchExpression( "org.apache.archiva" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID, - new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ), Occur.SHOULD + new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ), + BooleanClause.Occur.SHOULD ); assertTrue( new File( repositoryConfig.getLocation(), ".indexer" ).exists() ); @@ -315,20 +315,26 @@ public class ArchivaIndexingTaskExecutorTest assertTrue( indexerDirectory.exists() ); // test packed index file creation - assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.zip" ).exists() ); - assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.properties" ).exists() ); - assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.gz" ).exists() ); + //no more zip + //Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.zip" )).exists(); + Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.properties" )).exists(); + Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.gz" )).exists(); // unpack .zip index File destDir = new File( repositoryConfig.getLocation(), ".indexer/tmp" ); unzipIndex( indexerDirectory.getPath(), destDir.getPath() ); + TrackingFetcher fetcher = new TrackingFetcher( remoteRepo ); + updateRequest = new IndexUpdateRequest( testContext, fetcher ); + updateRequest.setLocalIndexCacheDir( localCacheDir ); + updater.fetchAndUpdateIndex( updateRequest ); + BooleanQuery q = new BooleanQuery(); q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ), - Occur.SHOULD ); + BooleanClause.Occur.SHOULD ); FlatSearchRequest request = new FlatSearchRequest( q, getIndexingContext() ); FlatSearchResponse response = indexer.searchFlat( request ); @@ -336,42 +342,11 @@ public class ArchivaIndexingTaskExecutorTest Set<ArtifactInfo> results = response.getResults(); ArtifactInfo artifactInfo = results.iterator().next(); - assertEquals( "org.apache.archiva", artifactInfo.groupId ); - assertEquals( "archiva-index-methods-jar-test", artifactInfo.artifactId ); - assertEquals( "test-repo", artifactInfo.repository ); + assertEquals( "org.apache.archiva", artifactInfo.getGroupId() ); + assertEquals( "archiva-index-methods-jar-test", artifactInfo.getArtifactId() ); + assertEquals( "test-repo", artifactInfo.getRepository() ); assertEquals( 1, response.getTotalHits() ); } - private void unzipIndex( String indexDir, String destDir ) - throws IOException - { - final int buff = 2048; - - Files.createDirectories( Paths.get( destDir ) ); - - try (InputStream fin = Files.newInputStream( Paths.get( indexDir, "nexus-maven-repository-index.zip" ) )) - { - ZipInputStream in = new ZipInputStream( new BufferedInputStream( fin ) ); - ZipEntry entry; - - while ( ( entry = in.getNextEntry() ) != null ) - { - int count; - byte data[] = new byte[buff]; - try (OutputStream fout = Files.newOutputStream( Paths.get( destDir, entry.getName() ) )) - { - try (BufferedOutputStream out = new BufferedOutputStream( fout, buff )) - { - - while ( ( count = in.read( data, 0, buff ) ) != -1 ) - { - out.write( data, 0, count ); - } - } - } - } - - } - } }
http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java ---------------------------------------------------------------------- diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java index 7e95b4f..c74c495 100644 --- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java +++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java @@ -23,13 +23,13 @@ import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin; import org.apache.archiva.common.plexusbridge.PlexusSisuBridge; import org.apache.archiva.common.utils.FileUtil; import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; import org.apache.maven.index.FlatSearchRequest; import org.apache.maven.index.FlatSearchResponse; import org.apache.maven.index.MAVEN; import org.apache.maven.index.NexusIndexer; import org.apache.maven.index.expr.StringSearchExpression; +import org.apache.maven.index.shaded.lucene.search.BooleanClause; +import org.apache.maven.index.shaded.lucene.search.BooleanQuery; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -75,8 +75,6 @@ public class DownloadRemoteIndexTaskTest DefaultDownloadRemoteIndexScheduler downloadRemoteIndexScheduler; @Inject - PlexusSisuBridge plexusSisuBridge; - NexusIndexer nexusIndexer; @Before @@ -90,7 +88,6 @@ public class DownloadRemoteIndexTaskTest this.server.start(); this.port = serverConnector.getLocalPort(); log.info( "start server on port {}", this.port ); - nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.class ); } protected void createContext( Server server, File repositoryDirectory ) http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java ---------------------------------------------------------------------- diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java index f823042..1da71bc 100644 --- a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java @@ -53,8 +53,6 @@ public class ArchivaStartup private DefaultRepositoryArchivaTaskScheduler repositoryTaskScheduler; - private PlexusSisuBridge plexusSisuBridge; - private NexusIndexer nexusIndexer; @Override @@ -74,18 +72,10 @@ public class ArchivaStartup tqeIndexing = wac.getBean( "taskQueueExecutor#indexing", ThreadedTaskQueueExecutor.class ); - plexusSisuBridge = wac.getBean( PlexusSisuBridge.class ); + nexusIndexer = wac.getBean( NexusIndexer.class ); try { - nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.class ); - } - catch ( PlexusSisuBridgeException e ) - { - throw new RuntimeException( "Unable to get NexusIndexer: " + e.getMessage(), e ); - } - try - { securitySync.startup(); repositoryTaskScheduler.startup(); Banner.display( (String) archivaRuntimeProperties.get( "archiva.version" ) ); http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-web/archiva-webdav/pom.xml ---------------------------------------------------------------------- diff --git a/archiva-modules/archiva-web/archiva-webdav/pom.xml b/archiva-modules/archiva-web/archiva-webdav/pom.xml index 044b964..1a28879 100644 --- a/archiva-modules/archiva-web/archiva-webdav/pom.xml +++ b/archiva-modules/archiva-web/archiva-webdav/pom.xml @@ -103,6 +103,10 @@ <artifactId>spring-web</artifactId> </dependency> <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>jackrabbit-webdav</artifactId> + </dependency> + <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/maven2-repository/pom.xml ---------------------------------------------------------------------- diff --git a/archiva-modules/plugins/maven2-repository/pom.xml b/archiva-modules/plugins/maven2-repository/pom.xml index 4c97843..ab01552 100644 --- a/archiva-modules/plugins/maven2-repository/pom.xml +++ b/archiva-modules/plugins/maven2-repository/pom.xml @@ -277,7 +277,7 @@ <executions> <execution> <id>test-repository</id> - <phase>generate-test-resources</phase> + <phase>process-test-classes</phase> <goals> <goal>unpack-dependencies</goal> </goals> http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/pom.xml ---------------------------------------------------------------------- diff --git a/archiva-modules/plugins/metadata-store-jcr/pom.xml b/archiva-modules/plugins/metadata-store-jcr/pom.xml index 94eba17..fc6976c 100644 --- a/archiva-modules/plugins/metadata-store-jcr/pom.xml +++ b/archiva-modules/plugins/metadata-store-jcr/pom.xml @@ -28,9 +28,6 @@ <artifactId>metadata-store-jcr</artifactId> <packaging>bundle</packaging> <name>Archiva Core Plugins :: JCR Storage for Metadata</name> - <properties> - <jcr-oak.version>1.7.2</jcr-oak.version> - </properties> <dependencies> <dependency> <groupId>org.apache.archiva</groupId> @@ -65,12 +62,10 @@ <dependency> <groupId>org.apache.jackrabbit</groupId> <artifactId>oak-jcr</artifactId> - <version>${jcr-oak.version}</version> </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId> <artifactId>oak-segment-tar</artifactId> - <version>${jcr-oak.version}</version> </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId> @@ -124,6 +119,7 @@ <artifactId>xercesImpl</artifactId> <scope>test</scope> </dependency> + <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> @@ -169,6 +165,7 @@ <artifactId>lucene-analyzers-common</artifactId> <version>${lucene.version}</version> </dependency> + </dependencies> <build> <testResources> http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java ---------------------------------------------------------------------- diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java index 1c51dfc..ed86463 100644 --- a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java +++ b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java @@ -36,6 +36,8 @@ import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.jcr.Repository; import javax.jcr.RepositoryException; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; @@ -54,7 +56,6 @@ public class JcrRepositorySessionFactory private Map<String, MetadataFacetFactory> metadataFacetFactories; - @Inject private Repository repository; // Lazy evaluation to avoid problems with circular dependencies during initialization @@ -123,6 +124,11 @@ public class JcrRepositorySessionFactory JcrMetadataRepository metadataRepository = null; try { + RepositoryFactory factory = new RepositoryFactory(); + // FIXME this need to be configurable + Path directoryPath = Paths.get(System.getProperty( "appserver.base" ), "data/jcr"); + factory.setRepositoryPath( directoryPath ); + repository = factory.createRepository(); metadataRepository = new JcrMetadataRepository( metadataFacetFactories, repository ); JcrMetadataRepository.initialize( metadataRepository.getJcrSession() ); } http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml ---------------------------------------------------------------------- diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml b/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml index e3fa80b..c07cc52 100644 --- a/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml +++ b/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml @@ -19,8 +19,8 @@ --> <beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 48fbb9c..8d0e542 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,9 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile> <lucene.version>4.10.4</lucene.version> - <jackrabbit.version>2.14.1</jackrabbit.version> + + <jcr-oak.version>1.7.2</jcr-oak.version> + <jackrabbit.version>2.15.4</jackrabbit.version> <cxf.version>3.0.3</cxf.version> <derbyVersion>10.13.1.1</derbyVersion> @@ -286,6 +288,36 @@ <version>${project.version}</version> </dependency> <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>oak-jcr</artifactId> + <version>${jcr-oak.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>oak-segment-tar</artifactId> + <version>${jcr-oak.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>oak-lucene</artifactId> + <version>${jcr-oak.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-misc</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-facet</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>jackrabbit-webdav</artifactId> + <version>${jackrabbit.version}</version> + </dependency> + <dependency> <groupId>org.apache.maven.indexer</groupId> <artifactId>indexer-reader</artifactId> <version>${maven.indexer.version}</version>