You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2017/11/01 14:40:55 UTC
[09/21] archiva git commit: Adapting consumers to new repository api
interfaces.
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RemoteRepositoryContentMock.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RemoteRepositoryContentMock.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RemoteRepositoryContentMock.java
new file mode 100644
index 0000000..238b0cf
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RemoteRepositoryContentMock.java
@@ -0,0 +1,78 @@
+package org.apache.archiva.repository.mock;
+
+/*
+ * 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 org.apache.archiva.model.ArtifactReference;
+import org.apache.archiva.model.RepositoryURL;
+import org.apache.archiva.repository.RemoteRepository;
+import org.apache.archiva.repository.RemoteRepositoryContent;
+import org.apache.archiva.repository.layout.LayoutException;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Martin Stockhammer <ma...@apache.org>
+ */
+@Service("remoteRepositoryContent#mock")
+public class RemoteRepositoryContentMock implements RemoteRepositoryContent
+{
+ RemoteRepository repository;
+
+ @Override
+ public String getId( )
+ {
+ return null;
+ }
+
+ @Override
+ public RemoteRepository getRepository( )
+ {
+ return null;
+ }
+
+ @Override
+ public RepositoryURL getURL( )
+ {
+ return null;
+ }
+
+ @Override
+ public void setRepository( RemoteRepository repo )
+ {
+ this.repository = repo;
+ }
+
+ @Override
+ public ArtifactReference toArtifactReference( String path ) throws LayoutException
+ {
+ return null;
+ }
+
+ @Override
+ public String toPath( ArtifactReference reference )
+ {
+ return null;
+ }
+
+ @Override
+ public RepositoryURL toURL( ArtifactReference reference )
+ {
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java
new file mode 100644
index 0000000..ad98c99
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java
@@ -0,0 +1,231 @@
+package org.apache.archiva.repository.mock;
+
+/*
+ * 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 org.apache.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
+import org.apache.archiva.repository.BasicManagedRepository;
+import org.apache.archiva.repository.BasicRemoteRepository;
+import org.apache.archiva.repository.EditableManagedRepository;
+import org.apache.archiva.repository.EditableRemoteRepository;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.PasswordCredentials;
+import org.apache.archiva.repository.ReleaseScheme;
+import org.apache.archiva.repository.RemoteRepository;
+import org.apache.archiva.repository.RepositoryCredentials;
+import org.apache.archiva.repository.RepositoryException;
+import org.apache.archiva.repository.RepositoryProvider;
+import org.apache.archiva.repository.RepositoryType;
+import org.apache.archiva.repository.features.ArtifactCleanupFeature;
+import org.apache.archiva.repository.features.IndexCreationFeature;
+import org.apache.archiva.repository.features.RemoteIndexFeature;
+import org.apache.archiva.repository.features.StagingRepositoryFeature;
+import org.springframework.stereotype.Service;
+
+import java.net.URI;
+import java.time.Duration;
+import java.time.Period;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Just a simple mock class for the repository provider
+ */
+@Service("mockRepositoryProvider")
+public class RepositoryProviderMock implements RepositoryProvider
+{
+
+ private static final Set<RepositoryType> TYPES = new HashSet<>( );
+
+ static
+ {
+ TYPES.add( RepositoryType.MAVEN );
+ TYPES.add( RepositoryType.NPM );
+ }
+
+ @Override
+ public Set<RepositoryType> provides( )
+ {
+ return TYPES;
+ }
+
+ @Override
+ public EditableManagedRepository createManagedInstance( String id, String name )
+ {
+ return new BasicManagedRepository( id, name );
+ }
+
+ @Override
+ public EditableRemoteRepository createRemoteInstance( String id, String name )
+ {
+ return new BasicRemoteRepository( id, name );
+ }
+
+ @Override
+ public ManagedRepository createManagedInstance( ManagedRepositoryConfiguration configuration ) throws RepositoryException
+ {
+ BasicManagedRepository managedRepository = new BasicManagedRepository( configuration.getId( ), configuration.getName( ) );
+ updateManagedInstance( managedRepository, configuration );
+ return managedRepository;
+ }
+
+
+ @Override
+ public void updateManagedInstance( EditableManagedRepository managedRepository, ManagedRepositoryConfiguration configuration ) throws RepositoryException
+ {
+ try
+ {
+ managedRepository.setName( managedRepository.getPrimaryLocale(), configuration.getName( ) );
+ managedRepository.setLocation( new URI( configuration.getLocation( )==null ?"" : configuration.getLocation() ) );
+ managedRepository.setBaseUri( new URI( "" ) );
+ managedRepository.setBlocksRedeployment( configuration.isBlockRedeployments( ) );
+ managedRepository.setDescription( managedRepository.getPrimaryLocale(), configuration.getDescription( ) );
+ managedRepository.setLayout( configuration.getLayout( ) );
+ managedRepository.setScanned( configuration.isScanned( ) );
+ managedRepository.setSchedulingDefinition( configuration.getRefreshCronExpression( ) );
+ if (configuration.isReleases()) {
+ managedRepository.addActiveReleaseScheme( ReleaseScheme.RELEASE );
+ }
+ if (configuration.isSnapshots()) {
+ managedRepository.addActiveReleaseScheme( ReleaseScheme.SNAPSHOT );
+ }
+ ArtifactCleanupFeature acf = managedRepository.getFeature( ArtifactCleanupFeature.class ).get( );
+ acf.setRetentionPeriod( Period.ofDays( configuration.getRetentionPeriod( ) ) );
+ acf.setDeleteReleasedSnapshots( configuration.isDeleteReleasedSnapshots( ) );
+ acf.setRetentionCount( configuration.getRetentionCount( ) );
+ IndexCreationFeature icf = managedRepository.getFeature( IndexCreationFeature.class ).get( );
+ icf.setIndexPath( new URI( configuration.getIndexDir( ) ) );
+ icf.setSkipPackedIndexCreation( configuration.isSkipPackedIndexCreation( ) );
+ StagingRepositoryFeature srf = managedRepository.getFeature( StagingRepositoryFeature.class ).get( );
+ srf.setStageRepoNeeded( configuration.isStageRepoNeeded( ) );
+ }
+ catch ( Exception e )
+ {
+ throw new RepositoryException( "Error", e );
+ }
+
+ }
+
+
+ @Override
+ public ManagedRepository createStagingInstance( ManagedRepositoryConfiguration configuration ) throws RepositoryException
+ {
+ String id = configuration.getId( ) + StagingRepositoryFeature.STAGING_REPO_POSTFIX;
+ BasicManagedRepository managedRepository = new BasicManagedRepository( id, configuration.getName( ) );
+ updateManagedInstance( managedRepository, configuration );
+ return managedRepository;
+ }
+
+ @Override
+ public RemoteRepository createRemoteInstance( RemoteRepositoryConfiguration configuration ) throws RepositoryException
+ {
+ BasicRemoteRepository remoteRepository = new BasicRemoteRepository( configuration.getId( ), configuration.getName( ) );
+ updateRemoteInstance( remoteRepository, configuration );
+ return remoteRepository;
+ }
+
+ @Override
+ public void updateRemoteInstance( EditableRemoteRepository remoteRepository, RemoteRepositoryConfiguration configuration ) throws RepositoryException
+ {
+ try
+ {
+ remoteRepository.setName( remoteRepository.getPrimaryLocale(), configuration.getName( ) );
+ remoteRepository.setBaseUri( new URI( "" ) );
+ remoteRepository.setDescription( remoteRepository.getPrimaryLocale(), configuration.getDescription( ) );
+ remoteRepository.setLayout( configuration.getLayout( ) );
+ remoteRepository.setSchedulingDefinition( configuration.getRefreshCronExpression( ) );
+ remoteRepository.setCheckPath( configuration.getCheckPath( ) );
+ remoteRepository.setExtraHeaders( configuration.getExtraHeaders( ) );
+ remoteRepository.setExtraParameters( configuration.getExtraParameters( ) );
+ remoteRepository.setTimeout( Duration.ofSeconds( configuration.getTimeout( ) ) );
+ char[] pwd = configuration.getPassword()==null ? "".toCharArray() : configuration.getPassword().toCharArray();
+ remoteRepository.setCredentials( new PasswordCredentials( configuration.getUsername( ), pwd ) );
+ remoteRepository.setLocation( new URI( configuration.getUrl( )==null ? "" : configuration.getUrl() ) );
+ RemoteIndexFeature rif = remoteRepository.getFeature( RemoteIndexFeature.class ).get( );
+ rif.setDownloadRemoteIndexOnStartup( configuration.isDownloadRemoteIndexOnStartup( ) );
+ rif.setDownloadRemoteIndex( configuration.isDownloadRemoteIndex( ) );
+ rif.setIndexUri( new URI( configuration.getIndexDir( ) ) );
+ rif.setDownloadTimeout( Duration.ofSeconds( configuration.getRemoteDownloadTimeout( ) ) );
+ rif.setProxyId( configuration.getRemoteDownloadNetworkProxyId( ) );
+ }
+ catch ( Exception e )
+ {
+ throw new RepositoryException( "Error", e );
+ }
+
+ }
+
+ @Override
+ public ManagedRepositoryConfiguration getManagedConfiguration( ManagedRepository managedRepository ) throws RepositoryException
+ {
+ ManagedRepositoryConfiguration configuration = new ManagedRepositoryConfiguration( );
+ configuration.setId( managedRepository.getId( ) );
+ configuration.setName(managedRepository.getName());
+ configuration.setLocation( managedRepository.getLocation( ) == null ? "" : managedRepository.getLocation().toString( ) );
+ configuration.setBlockRedeployments( managedRepository.blocksRedeployments( ) );
+ configuration.setDescription( managedRepository.getDescription( ) );
+ configuration.setScanned( managedRepository.isScanned( ) );
+ configuration.setRefreshCronExpression( managedRepository.getSchedulingDefinition( ) );
+ configuration.setReleases( managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.RELEASE) );
+ configuration.setSnapshots( managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT) );
+ configuration.setLayout( managedRepository.getLayout() );
+ ArtifactCleanupFeature acf = managedRepository.getFeature( ArtifactCleanupFeature.class ).get( );
+ configuration.setRetentionPeriod( acf.getRetentionPeriod( ).getDays( ) );
+ configuration.setDeleteReleasedSnapshots( acf.isDeleteReleasedSnapshots( ) );
+ configuration.setRetentionCount( acf.getRetentionCount( ) );
+ IndexCreationFeature icf = managedRepository.getFeature( IndexCreationFeature.class ).get( );
+ configuration.setSkipPackedIndexCreation( icf.isSkipPackedIndexCreation( ) );
+ configuration.setIndexDir( icf.getIndexPath( ) == null ? "" : icf.getIndexPath().toString( ) );
+ StagingRepositoryFeature srf = managedRepository.getFeature( StagingRepositoryFeature.class ).get( );
+ configuration.setStageRepoNeeded( srf.isStageRepoNeeded( ) );
+ return configuration;
+ }
+
+
+ @Override
+ public RemoteRepositoryConfiguration getRemoteConfiguration( RemoteRepository remoteRepository ) throws RepositoryException
+ {
+ RemoteRepositoryConfiguration configuration = new RemoteRepositoryConfiguration( );
+ configuration.setId( remoteRepository.getId( ) );
+ configuration.setName( remoteRepository.getName( ) );
+ configuration.setDescription( remoteRepository.getDescription( ) );
+ configuration.setLayout( remoteRepository.getLayout( ) );
+ configuration.setRefreshCronExpression( remoteRepository.getSchedulingDefinition( ) );
+ configuration.setCheckPath( remoteRepository.getCheckPath( ) );
+ configuration.setExtraHeaders( remoteRepository.getExtraHeaders( ) );
+ configuration.setExtraParameters( remoteRepository.getExtraParameters( ) );
+ configuration.setTimeout( (int) remoteRepository.getTimeout( ).getSeconds( ) );
+ RepositoryCredentials creds = remoteRepository.getLoginCredentials( );
+ if (creds!=null)
+ {
+ PasswordCredentials pwdCreds = (PasswordCredentials) creds;
+ configuration.setUsername( pwdCreds.getUsername( ) );
+ configuration.setPassword( new String( pwdCreds.getPassword( ) ) );
+ }
+ configuration.setUrl( remoteRepository.getLocation( ) == null ? "" : remoteRepository.getLocation().toString( ) );
+ RemoteIndexFeature rif = remoteRepository.getFeature( RemoteIndexFeature.class ).get( );
+ configuration.setDownloadRemoteIndex( rif.isDownloadRemoteIndex( ) );
+ configuration.setDownloadRemoteIndexOnStartup( rif.isDownloadRemoteIndexOnStartup( ) );
+ configuration.setIndexDir( rif.getIndexUri( )==null ? "" : rif.getIndexUri().toString( ) );
+ configuration.setRemoteDownloadNetworkProxyId( rif.getProxyId( ) );
+ return configuration;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context-cleanup-released-snapshots.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context-cleanup-released-snapshots.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context-cleanup-released-snapshots.xml
index 9e36b99..c6fa2a1 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context-cleanup-released-snapshots.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context-cleanup-released-snapshots.xml
@@ -32,6 +32,11 @@
</bean>
<alias name="archivaConfiguration#cleanup-released-snapshots" alias="archivaConfiguration"/>
<alias name="archivaConfiguration#cleanup-released-snapshots" alias="archivaConfiguration#default"/>
+ <context:component-scan base-package="org.apache.archiva.repository.mock,org.apache.archiva.repository.content.maven2"/>
+
+ <alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
+ <alias name="repositoryContentFactory#cleanup-released-snapshots" alias="repositoryContentFactory#default" />
+
<bean name="registry#cleanup-released-snapshots" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
<property name="properties">
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context.xml
index e63eb7a..360e20d 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/resources/spring-context.xml
@@ -44,6 +44,7 @@
</property>
</bean>
+ <alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
<alias name="userConfiguration#redback" alias="userConfiguration#default"/>
<!-- ***
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java
index 434f864..50dd8c1 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java
@@ -20,8 +20,8 @@ package org.apache.archiva.consumers.lucene;
*/
import org.apache.archiva.admin.model.RepositoryAdminException;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
+import org.apache.archiva.common.utils.PathUtil;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.ConfigurationNames;
import org.apache.archiva.configuration.FileTypes;
@@ -31,6 +31,8 @@ import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
import org.apache.archiva.redback.components.registry.Registry;
import org.apache.archiva.redback.components.registry.RegistryListener;
import org.apache.archiva.redback.components.taskqueue.TaskQueueException;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.RepositoryRegistry;
import org.apache.archiva.scheduler.ArchivaTaskScheduler;
import org.apache.archiva.scheduler.indexing.ArtifactIndexingTask;
import org.apache.maven.index.NexusIndexer;
@@ -60,6 +62,10 @@ public class NexusIndexerConsumer
extends AbstractMonitoredConsumer
implements KnownRepositoryContentConsumer, RegistryListener
{
+
+ @Inject
+ private RepositoryRegistry repositoryRegistry;
+
private Logger log = LoggerFactory.getLogger( getClass() );
private ArchivaConfiguration configuration;
@@ -113,7 +119,7 @@ public class NexusIndexerConsumer
throws ConsumerException
{
this.repository = repository;
- managedRepository = Paths.get( repository.getLocation() );
+ managedRepository = PathUtil.getPathFromUri( repository.getLocation() );
try
{
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/conf/repository-manager.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/conf/repository-manager.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/conf/repository-manager.xml
index 6c836b8..106fcea 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/conf/repository-manager.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/conf/repository-manager.xml
@@ -30,7 +30,7 @@
<snapshots>true</snapshots>
<indexed>true</indexed>
<refreshCronExpression>0 0 * * * ?</refreshCronExpression>
- <retentionTime>0</retentionTime>
+ <retentionPeriod>0</retentionPeriod>
<retentionCount>2</retentionCount>
</repository>
</repositories>
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java
index 2b76279..2a8546a 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java
@@ -20,16 +20,20 @@ package org.apache.archiva.consumers.lucene;
*/
import junit.framework.TestCase;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
+import org.apache.archiva.common.utils.PathUtil;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.FileTypes;
import org.apache.archiva.redback.components.taskqueue.TaskQueueException;
+import org.apache.archiva.repository.BasicManagedRepository;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.ReleaseScheme;
import org.apache.archiva.scheduler.ArchivaTaskScheduler;
import org.apache.archiva.scheduler.indexing.ArtifactIndexingTask;
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
import org.apache.maven.index.NexusIndexer;
import org.apache.maven.index.context.IndexCreator;
+import org.apache.regexp.RE;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -39,6 +43,7 @@ import org.springframework.test.context.ContextConfiguration;
import javax.inject.Inject;
import java.io.IOException;
+import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -46,6 +51,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
/**
@@ -89,7 +95,7 @@ public class NexusIndexerConsumerTest
private NexusIndexerConsumer nexusIndexerConsumer;
- private ManagedRepository repositoryConfig;
+ private BasicManagedRepository repositoryConfig;
private ArchivaTaskSchedulerStub scheduler;
@@ -126,27 +132,27 @@ public class NexusIndexerConsumerTest
// initialize to set the file types to be processed
nexusIndexerConsumer.initialize();
- repositoryConfig = new ManagedRepository();
- repositoryConfig.setId( "test-repo" );
- repositoryConfig.setLocation( "target/test-classes/test-repo" );
+ repositoryConfig = new BasicManagedRepository( "test-repo", "Test Repository" );
+ repositoryConfig.setLocation( new URI("target/test-classes/test-repo") );
repositoryConfig.setLayout( "default" );
- repositoryConfig.setName( "Test Repository" );
repositoryConfig.setScanned( true );
- repositoryConfig.setSnapshots( false );
- repositoryConfig.setReleases( true );
+ repositoryConfig.addActiveReleaseScheme( ReleaseScheme.RELEASE );
+ repositoryConfig.removeActiveReleaseScheme( ReleaseScheme.SNAPSHOT );
}
+
@Override
@After
public void tearDown()
throws Exception
{
// delete created index in the repository
- Path indexDir = Paths.get( repositoryConfig.getLocation(), ".indexer" );
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation() );
+ Path indexDir = basePath.resolve( ".indexer" );
org.apache.archiva.common.utils.FileUtils.deleteDirectory( indexDir );
assertFalse( Files.exists(indexDir) );
- indexDir = Paths.get( repositoryConfig.getLocation(), ".index" );
+ indexDir = basePath.resolve( ".index" );
org.apache.archiva.common.utils.FileUtils.deleteDirectory( indexDir );
assertFalse( Files.exists(indexDir) );
@@ -157,7 +163,8 @@ public class NexusIndexerConsumerTest
public void testIndexerIndexArtifact()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation() );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
// begin scan
@@ -174,7 +181,8 @@ public class NexusIndexerConsumerTest
public void testIndexerArtifactAlreadyIndexed()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation() );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
// begin scan
@@ -200,7 +208,8 @@ public class NexusIndexerConsumerTest
public void testIndexerIndexArtifactThenPom()
throws Exception
{
- Path artifactFile = Paths.get( repositoryConfig.getLocation(),
+ Path basePath = PathUtil.getPathFromUri( repositoryConfig.getLocation( ) );
+ Path artifactFile = basePath.resolve(
"org/apache/archiva/archiva-index-methods-jar-test/1.0/archiva-index-methods-jar-test-1.0.jar" );
// begin scan
@@ -213,7 +222,7 @@ public class NexusIndexerConsumerTest
assertTrue( scheduler.indexed.contains( artifactFile ) );
artifactFile =
- Paths.get( repositoryConfig.getLocation(), "org/apache/archiva/archiva-index-methods-jar-test/1.0/pom.xml" );
+ basePath.resolve( "org/apache/archiva/archiva-index-methods-jar-test/1.0/pom.xml" );
// scan and index again
now = Calendar.getInstance().getTime();
http://git-wip-us.apache.org/repos/asf/archiva/blob/4bcf4c0c/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java b/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
index a25457c..407b239 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
@@ -19,7 +19,6 @@ package org.apache.archiva.consumers.metadata;
* under the License.
*/
-import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.common.utils.VersionUtil;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.ConfigurationNames;
@@ -41,6 +40,7 @@ import org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataN
import org.apache.archiva.metadata.repository.storage.RepositoryStorageRuntimeException;
import org.apache.archiva.redback.components.registry.Registry;
import org.apache.archiva.redback.components.registry.RegistryListener;
+import org.apache.archiva.repository.ManagedRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;