git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1053554 13f79535-47bb-0310-9956-ffa450edef68tags/archiva-1.4-M1
import org.apache.archiva.metadata.model.ArtifactMetadata; | import org.apache.archiva.metadata.model.ArtifactMetadata; | ||||
import org.apache.archiva.metadata.repository.MetadataRepository; | import org.apache.archiva.metadata.repository.MetadataRepository; | ||||
import org.apache.archiva.metadata.repository.MetadataRepositoryException; | import org.apache.archiva.metadata.repository.MetadataRepositoryException; | ||||
import org.apache.archiva.metadata.repository.RepositorySession; | |||||
import org.apache.archiva.metadata.repository.RepositorySessionFactory; | |||||
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator; | import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator; | ||||
import org.apache.archiva.reports.RepositoryProblemFacet; | import org.apache.archiva.reports.RepositoryProblemFacet; | ||||
import org.apache.commons.collections.CollectionUtils; | import org.apache.commons.collections.CollectionUtils; | ||||
*/ | */ | ||||
private FileTypes filetypes; | private FileTypes filetypes; | ||||
/** | |||||
* FIXME: can be of other types | |||||
* | |||||
* @plexus.requirement | |||||
*/ | |||||
private RepositorySessionFactory repositorySessionFactory; | |||||
private List<String> includes = new ArrayList<String>(); | private List<String> includes = new ArrayList<String>(); | ||||
private File repositoryDir; | private File repositoryDir; | ||||
private String repoId; | private String repoId; | ||||
/** | |||||
* @plexus.requirement | |||||
*/ | |||||
private MetadataRepository metadataRepository; | |||||
/** | /** | ||||
* FIXME: needs to be selected based on the repository in question | * FIXME: needs to be selected based on the repository in question | ||||
* | * | ||||
*/ | */ | ||||
private RepositoryPathTranslator pathTranslator; | private RepositoryPathTranslator pathTranslator; | ||||
private RepositorySession repositorySession; | |||||
public String getId() | public String getId() | ||||
{ | { | ||||
return id; | return id; | ||||
{ | { | ||||
repoId = repo.getId(); | repoId = repo.getId(); | ||||
this.repositoryDir = new File( repo.getLocation() ); | this.repositoryDir = new File( repo.getLocation() ); | ||||
repositorySession = repositorySessionFactory.createSession(); | |||||
} | } | ||||
public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered, boolean executeOnEntireRepo ) | public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered, boolean executeOnEntireRepo ) | ||||
throw new ConsumerException( e.getMessage(), e ); | throw new ConsumerException( e.getMessage(), e ); | ||||
} | } | ||||
MetadataRepository metadataRepository = repositorySession.getRepository(); | |||||
List<ArtifactMetadata> results; | List<ArtifactMetadata> results; | ||||
try | try | ||||
{ | { | ||||
public void completeScan() | public void completeScan() | ||||
{ | { | ||||
// nothing to do | |||||
repositorySession.close(); | |||||
} | } | ||||
public void completeScan( boolean executeOnEntireRepo ) | public void completeScan( boolean executeOnEntireRepo ) |
import org.apache.archiva.metadata.model.ArtifactMetadata; | import org.apache.archiva.metadata.model.ArtifactMetadata; | ||||
import org.apache.archiva.metadata.model.MetadataFacet; | import org.apache.archiva.metadata.model.MetadataFacet; | ||||
import org.apache.archiva.metadata.repository.MetadataRepository; | import org.apache.archiva.metadata.repository.MetadataRepository; | ||||
import org.apache.archiva.metadata.repository.RepositorySession; | |||||
import org.apache.archiva.metadata.repository.RepositorySessionFactory; | |||||
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator; | import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator; | ||||
import org.apache.archiva.reports.RepositoryProblemFacet; | import org.apache.archiva.reports.RepositoryProblemFacet; | ||||
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; | import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; | ||||
config.setId( TEST_REPO ); | config.setId( TEST_REPO ); | ||||
config.setLocation( getTestFile( "target/test-repository" ).getAbsolutePath() ); | config.setLocation( getTestFile( "target/test-repository" ).getAbsolutePath() ); | ||||
metadataRepository = (MetadataRepository) lookup( MetadataRepository.class ); | |||||
metadataRepository = mock( MetadataRepository.class ); | |||||
RepositorySession session = mock( RepositorySession.class ); | |||||
when( session.getRepository() ).thenReturn( metadataRepository ); | |||||
RepositorySessionFactory factory = (RepositorySessionFactory) lookup( RepositorySessionFactory.class ); | |||||
when( factory.createSession() ).thenReturn( session ); | |||||
pathTranslator = (RepositoryPathTranslator) lookup( RepositoryPathTranslator.class, "maven2" ); | pathTranslator = (RepositoryPathTranslator) lookup( RepositoryPathTranslator.class, "maven2" ); | ||||
when( pathTranslator.getArtifactForPath( TEST_REPO, TEST_FILE ) ).thenReturn( TEST_METADATA ); | when( pathTranslator.getArtifactForPath( TEST_REPO, TEST_FILE ) ).thenReturn( TEST_METADATA ); |
<beans xmlns="http://www.springframework.org/schema/beans" | <beans xmlns="http://www.springframework.org/schema/beans" | ||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 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"> | xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> | ||||
<bean id="metadataRepositoryFactory" class="org.apache.archiva.reports.consumers.MockitoFactory" | |||||
name="metadataRepository"> | |||||
<constructor-arg value="org.apache.archiva.metadata.repository.MetadataRepository"/> | |||||
<bean id="repositorySessionFactoryFactory" class="org.apache.archiva.reports.consumers.MockitoFactory" | |||||
name="repositorySessionFactory"> | |||||
<constructor-arg value="org.apache.archiva.metadata.repository.RepositorySessionFactory"/> | |||||
</bean> | </bean> | ||||
<bean id="repositoryPathTranslatorFactory" class="org.apache.archiva.reports.consumers.MockitoFactory" | <bean id="repositoryPathTranslatorFactory" class="org.apache.archiva.reports.consumers.MockitoFactory" | ||||
name="repositoryPathTranslator#maven2"> | name="repositoryPathTranslator#maven2"> |