aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-web/archiva-webapp
diff options
context:
space:
mode:
Diffstat (limited to 'archiva-modules/archiva-web/archiva-webapp')
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/pom.xml8
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java65
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java49
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java10
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArchivaDAOStub.java54
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArtifactDAOStub.java89
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java8
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java5
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.xml16
9 files changed, 56 insertions, 248 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml
index 6695cd840..b39989c85 100644
--- a/archiva-modules/archiva-web/archiva-webapp/pom.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml
@@ -51,10 +51,6 @@
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
- <artifactId>archiva-database</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.archiva</groupId>
<artifactId>archiva-repository-layer</artifactId>
</dependency>
<dependency>
@@ -67,10 +63,6 @@
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
- <artifactId>archiva-database-consumers</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.archiva</groupId>
<artifactId>archiva-metadata-consumer</artifactId>
<version>1.3-SNAPSHOT</version>
<scope>runtime</scope>
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
index 79ca76474..6994e9655 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
@@ -24,6 +24,7 @@ import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -33,14 +34,12 @@ import com.opensymphony.xwork2.Preparable;
import com.opensymphony.xwork2.Validateable;
import org.apache.archiva.checksum.ChecksumAlgorithm;
import org.apache.archiva.checksum.ChecksummedFile;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.maven.archiva.common.utils.VersionComparator;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.database.ArchivaDatabaseException;
-import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.constraints.ArtifactVersionsConstraint;
-import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArchivaRepositoryMetadata;
import org.apache.maven.archiva.model.VersionedReference;
import org.apache.maven.archiva.repository.ContentNotFoundException;
@@ -62,7 +61,7 @@ import org.apache.maven.archiva.security.UserRepositories;
/**
* Delete an artifact. Metadata will be updated if one exists, otherwise it would be created.
- *
+ *
* @plexus.component role="com.opensymphony.xwork2.Action" role-hint="deleteArtifactAction" instantiation-strategy="per-lookup"
*/
public class DeleteArtifactAction
@@ -110,14 +109,16 @@ public class DeleteArtifactAction
private RepositoryContentFactory repositoryFactory;
/**
- * @plexus.requirement role-hint="jdo"
+ * @plexus.requirement role="org.apache.maven.archiva.repository.events.RepositoryListener"
*/
- private ArtifactDAO artifactDAO;
-
- /** @plexus.requirement role="org.apache.maven.archiva.repository.events.RepositoryListener" */
private List<RepositoryListener> listeners;
- private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
+ private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]{ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5};
+
+ /**
+ * @plexus.requirement
+ */
+ private MetadataRepository metadataRepository;
public String getGroupId()
{
@@ -217,6 +218,7 @@ public class DeleteArtifactAction
throw new ContentNotFoundException( groupId + ":" + artifactId + ":" + version );
}
+ // TODO: this should be in the storage mechanism so that it is all tied together
// delete from file system
repository.deleteVersion( ref );
@@ -225,40 +227,31 @@ public class DeleteArtifactAction
updateMetadata( metadata, metadataFile, lastUpdatedTimestamp );
- ArtifactVersionsConstraint constraint =
- new ArtifactVersionsConstraint( repositoryId, groupId, artifactId, false );
- List<ArchivaArtifact> artifacts = null;
+ Collection<ArtifactMetadata> artifacts =
+ metadataRepository.getArtifacts( repositoryId, groupId, artifactId, version );
- try
+ for ( ArtifactMetadata artifact : artifacts )
{
- artifacts = artifactDAO.queryArtifacts( constraint );
-
- if ( artifacts != null )
+ if ( artifact.getVersion().equals( version ) )
{
- for ( ArchivaArtifact artifact : artifacts )
+ metadataRepository.deleteArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
+ artifact.getProject(), artifact.getVersion(),
+ artifact.getId() );
+
+ // TODO: move into the metadata repository proper - need to differentiate attachment of
+ // repository metadata to an artifact
+ for ( RepositoryListener listener : listeners )
{
- if ( artifact.getVersion().equals( version ) )
- {
- for ( RepositoryListener listener : listeners )
- {
- listener.deleteArtifact( repository, artifact );
- }
- }
+ listener.deleteArtifact( repository.getId(), artifact.getNamespace(), artifact.getProject(),
+ artifact.getVersion(), artifact.getId() );
}
}
}
- catch ( ArchivaDatabaseException e )
- {
- addActionError( "Error occurred while cleaning up database: " + e.getMessage() );
- return ERROR;
- }
- String msg =
- "Artifact \'" + groupId + ":" + artifactId + ":" + version +
- "\' was successfully deleted from repository \'" + repositoryId + "\'";
+ String msg = "Artifact \'" + groupId + ":" + artifactId + ":" + version +
+ "\' was successfully deleted from repository \'" + repositoryId + "\'";
- triggerAuditEvent( repositoryId, groupId + ":" + artifactId + ":" + version,
- AuditEvent.REMOVE_FILE );
+ triggerAuditEvent( repositoryId, groupId + ":" + artifactId + ":" + version, AuditEvent.REMOVE_FILE );
addActionMessage( msg );
@@ -302,7 +295,7 @@ public class DeleteArtifactAction
/**
* Update artifact level metadata. Creates one if metadata does not exist after artifact deletion.
- *
+ *
* @param metadata
*/
private void updateMetadata( ArchivaRepositoryMetadata metadata, File metadataFile, Date lastUpdatedTimestamp )
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
index 73738a6b5..237a1936b 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
@@ -24,17 +24,12 @@ import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.Preparable;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.database.ArchivaDatabaseException;
-import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.Constraint;
-import org.apache.maven.archiva.database.ObjectNotFoundException;
-import org.apache.maven.archiva.database.constraints.ArtifactsByRepositoryConstraint;
-import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.repository.audit.AuditEvent;
import org.codehaus.plexus.redback.role.RoleManagerException;
@@ -53,14 +48,14 @@ public class DeleteManagedRepositoryAction
private String repoid;
/**
- * @plexus.requirement role-hint="jdo"
+ * @plexus.requirement
*/
- private ArtifactDAO artifactDao;
+ private RepositoryStatisticsManager repositoryStatisticsManager;
/**
* @plexus.requirement
*/
- private RepositoryStatisticsManager repositoryStatisticsManager;
+ private MetadataRepository metadataRepository;
public void prepare()
{
@@ -128,17 +123,12 @@ public class DeleteManagedRepositoryAction
addActionError( "Unable to delete repository: " + e.getMessage() );
result = ERROR;
}
- catch ( ArchivaDatabaseException e )
- {
- addActionError( "Unable to delete repositoy: " + e.getMessage() );
- result = ERROR;
- }
return result;
}
private void cleanupRepositoryData( ManagedRepositoryConfiguration cleanupRepository )
- throws RoleManagerException, ArchivaDatabaseException
+ throws RoleManagerException
{
removeRepositoryRoles( cleanupRepository );
cleanupDatabase( cleanupRepository.getId() );
@@ -169,31 +159,8 @@ public class DeleteManagedRepositoryAction
}
private void cleanupDatabase( String repoId )
- throws ArchivaDatabaseException
{
- Constraint constraint = new ArtifactsByRepositoryConstraint( repoId );
-
- List<ArchivaArtifact> artifacts = artifactDao.queryArtifacts( constraint );
-
- for ( ArchivaArtifact artifact : artifacts )
- {
- log.info( "Removing artifact " + artifact + " from the database." );
- try
- {
- artifactDao.deleteArtifact( artifact );
-
- }
- catch ( ObjectNotFoundException oe )
- {
- log.info( "Project model of artifact " + artifact + " does not exist in the database. " +
- "Moving on to the next artifact." );
- }
- catch ( ArchivaDatabaseException ae )
- {
- log.info( "Unable to delete artifact " + artifact + " from the database. " +
- "Moving on to the next artifact." );
- }
- }
+ metadataRepository.deleteRepository( repoId );
}
public ManagedRepositoryConfiguration getRepository()
@@ -221,8 +188,8 @@ public class DeleteManagedRepositoryAction
this.repositoryStatisticsManager = repositoryStatisticsManager;
}
- public void setArtifactDao( ArtifactDAO artifactDao )
+ public void setMetadataRepository( MetadataRepository metadataRepository )
{
- this.artifactDao = artifactDao;
+ this.metadataRepository = metadataRepository;
}
}
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
index b883a4338..7f030a06c 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
@@ -183,6 +183,16 @@ public class TestMetadataRepository
return null; //To change body of implemented methods use File | Settings | File Templates.
}
+ public void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void deleteRepository( String repoId )
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
String projectVersion )
{
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArchivaDAOStub.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArchivaDAOStub.java
deleted file mode 100644
index ab419cbd8..000000000
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArchivaDAOStub.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.archiva.web.action.admin.repositories;
-
-/*
- * 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.List;
-
-import org.apache.maven.archiva.database.ArchivaDAO;
-import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.SimpleConstraint;
-
-/**
- * Stub class for Archiva DAO to avoid having to set up a database for tests.
- *
- * @todo a mock would be better, but that won't play nicely with Plexus injection.
- */
-public class ArchivaDAOStub
- implements ArchivaDAO
-{
-
- private ArtifactDAO artifactDao;
-
- public List<?> query( SimpleConstraint constraint )
- {
- throw new UnsupportedOperationException();
- }
-
- public ArtifactDAO getArtifactDAO()
- {
- return artifactDao;
- }
-
- public void setArtifactDao( ArtifactDAO artifactDao )
- {
- this.artifactDao = artifactDao;
- }
-
-}
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArtifactDAOStub.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArtifactDAOStub.java
deleted file mode 100644
index 3efb1ec6b..000000000
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/ArtifactDAOStub.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.maven.archiva.web.action.admin.repositories;
-
-/*
- * 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.ArrayList;
-import java.util.List;
-
-import org.apache.maven.archiva.database.ArchivaDatabaseException;
-import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.Constraint;
-import org.apache.maven.archiva.database.ObjectNotFoundException;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.ArchivaArtifactModel;
-
-/**
- * ArtifactDAOStub
- *
- * @version
- */
-public class ArtifactDAOStub
- implements ArtifactDAO
-{
-
- public ArchivaArtifact createArtifact( String groupId, String artifactId, String version, String classifier,
- String type, String repositoryId )
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void deleteArtifact( ArchivaArtifact artifact )
- throws ArchivaDatabaseException
- {
- // TODO Auto-generated method stub
-
- }
-
- public ArchivaArtifact getArtifact( String groupId, String artifactId, String version, String classifier,
- String type, String repositoryId )
- throws ObjectNotFoundException, ArchivaDatabaseException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public List<ArchivaArtifact> queryArtifacts( Constraint constraint )
- throws ObjectNotFoundException, ArchivaDatabaseException
- {
-
- List<ArchivaArtifact> artifacts = new ArrayList<ArchivaArtifact>();
-
- ArchivaArtifactModel model = new ArchivaArtifactModel();
- model.setGroupId( "org.apache.maven.archiva" );
- model.setArtifactId( "test-artifact" );
- model.setVersion( "1.0" );
- model.setType( "jar" );
- model.setRepositoryId( "repo-ident" );
-
- ArchivaArtifact artifact = new ArchivaArtifact( model );
- artifacts.add( artifact );
-
- return artifacts;
- }
-
- public ArchivaArtifact saveArtifact( ArchivaArtifact artifact )
- throws ArchivaDatabaseException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
index 486fd0e53..d4f631679 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
@@ -25,6 +25,7 @@ import java.util.Collections;
import java.util.List;
import com.opensymphony.xwork2.Action;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
@@ -88,7 +89,12 @@ public class DeleteManagedRepositoryActionTest
repositoryStatisticsManager = (RepositoryStatisticsManager) repositoryStatisticsManagerControl.getMock();
action.setRepositoryStatisticsManager( repositoryStatisticsManager );
- action.setArtifactDao( new ArtifactDAOStub() );
+ MockControl metadataRepositoryControl = MockControl.createControl( MetadataRepository.class );
+ MetadataRepository metadataRepository = (MetadataRepository) metadataRepositoryControl.getMock();
+ metadataRepository.deleteRepository( REPO_ID );
+ action.setMetadataRepository( metadataRepository );
+
+ metadataRepositoryControl.replay();
}
public void testSecureActionBundle()
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
index be7a07c4a..01c8a11e5 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/reports/GenerateReportActionTest.java
@@ -33,7 +33,6 @@ import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.archiva.reports.RepositoryProblemFacet;
import org.apache.commons.io.IOUtils;
-import org.apache.maven.archiva.database.ArchivaDatabaseException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.easymock.MockControl;
@@ -247,7 +246,7 @@ public class GenerateReportActionTest
}
public void testDownloadStatisticsSingleRepo()
- throws IOException, ArchivaDatabaseException
+ throws IOException
{
Date date = new Date();
repositoryStatisticsManagerControl.expectAndReturn(
@@ -269,7 +268,7 @@ public class GenerateReportActionTest
}
public void testDownloadStatisticsMultipleRepos()
- throws IOException, ArchivaDatabaseException
+ throws IOException
{
repositoryStatisticsManagerControl.expectAndReturn(
repositoryStatisticsManager.getStatisticsInRange( SNAPSHOTS, null, null ),
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.xml b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.xml
index 1d3db6882..a38222d17 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.xml
@@ -20,22 +20,6 @@
<plexus>
<components>
<component>
- <role>org.apache.maven.archiva.database.ArchivaDAO</role>
- <role-hint>jdo</role-hint>
- <implementation>org.apache.maven.archiva.web.action.admin.repositories.ArchivaDAOStub</implementation>
- <requirements>
- <requirement>
- <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role>
- <field-name>configuration</field-name>
- </requirement>
- </requirements>
- </component>
- <component>
- <role>org.apache.maven.archiva.database.ArtifactDAO</role>
- <role-hint>jdo</role-hint>
- <implementation>org.apache.maven.archiva.web.action.admin.repositories.ArtifactDAOStub</implementation>
- </component>
- <component>
<role>org.apache.maven.archiva.security.UserRepositories</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.archiva.security.UserRepositoriesStub</implementation>