org.apache.archiva.metadata.repository.storage.maven2
Class Maven2RepositoryStorage
java.lang.Object
org.apache.archiva.metadata.repository.storage.maven2.Maven2RepositoryStorage
- All Implemented Interfaces:
- RepositoryStorage
@Service(value="repositoryStorage#maven2")
public class Maven2RepositoryStorage
- extends Object
- implements RepositoryStorage
Maven 2 repository format storage implementation. This class currently takes parameters to indicate the repository to
deal with rather than being instantiated per-repository.
FIXME: instantiate one per repository and allocate permanently from a factory (which can be obtained within the session).
The session is passed in as an argument to obtain any necessary resources, rather than the class being instantiated
within the session in the context of a single managed repository's resolution needs.
Method Summary |
void |
applyServerSideRelocation(ManagedRepositoryContent managedRepository,
ArtifactReference artifact)
A relocation capable client will request the POM prior to the artifact, and will then read meta-data and do
client side relocation. |
private CiManagement |
convertCiManagement(org.apache.maven.model.CiManagement ciManagement)
|
private List<Dependency> |
convertDependencies(List<org.apache.maven.model.Dependency> dependencies)
|
private IssueManagement |
convertIssueManagement(org.apache.maven.model.IssueManagement issueManagement)
|
private List<License> |
convertLicenses(List<org.apache.maven.model.License> licenses)
|
private List<MailingList> |
convertMailingLists(List<org.apache.maven.model.MailingList> mailingLists)
|
private Organization |
convertOrganization(org.apache.maven.model.Organization organization)
|
private Scm |
convertScm(org.apache.maven.model.Scm scm)
|
private ArtifactMetadata |
getArtifactFromFile(String repoId,
String namespace,
String projectId,
String projectVersion,
File file)
|
private File |
getRepositoryBasedir(String repoId)
|
private static Collection<String> |
getSortedFiles(File dir,
Filter<String> filter)
|
void |
initialize()
|
private boolean |
isProject(File dir,
Filter<String> filter)
|
private boolean |
isProjectVersion(File dir)
|
Collection<String> |
listNamespaces(String repoId,
String namespace,
Filter<String> filter)
|
Collection<String> |
listProjects(String repoId,
String namespace,
Filter<String> filter)
|
Collection<String> |
listProjectVersions(String repoId,
String namespace,
String projectId,
Filter<String> filter)
|
Collection<String> |
listRootNamespaces(String repoId,
Filter<String> filter)
|
private static void |
populateArtifactMetadataFromFile(ArtifactMetadata metadata,
File file)
|
ArtifactMetadata |
readArtifactMetadataFromPath(String repoId,
String path)
|
Collection<ArtifactMetadata> |
readArtifactsMetadata(ReadMetadataRequest readMetadataRequest)
|
private ArchivaRepositoryMetadata |
readMetadata(File directory)
|
ProjectMetadata |
readProjectMetadata(String repoId,
String namespace,
String projectId)
|
ProjectVersionMetadata |
readProjectVersionMetadata(ReadMetadataRequest readMetadataRequest)
|
void |
setWagonFactory(WagonFactory wagonFactory)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
builder
private org.apache.maven.model.building.ModelBuilder builder
remoteRepositoryAdmin
@Inject
private RemoteRepositoryAdmin remoteRepositoryAdmin
managedRepositoryAdmin
@Inject
private ManagedRepositoryAdmin managedRepositoryAdmin
proxyConnectorAdmin
@Inject
private ProxyConnectorAdmin proxyConnectorAdmin
networkProxyAdmin
@Inject
private NetworkProxyAdmin networkProxyAdmin
pathTranslator
@Inject
@Named(value="repositoryPathTranslator#maven2")
private RepositoryPathTranslator pathTranslator
wagonFactory
@Inject
private WagonFactory wagonFactory
applicationContext
@Inject
private org.springframework.context.ApplicationContext applicationContext
log
private static final org.slf4j.Logger log
METADATA_FILENAME_START
private static final String METADATA_FILENAME_START
- See Also:
- Constant Field Values
METADATA_FILENAME
private static final String METADATA_FILENAME
- See Also:
- Constant Field Values
MAVEN_XPP_3_READER
private static final org.apache.maven.model.io.xpp3.MavenXpp3Reader MAVEN_XPP_3_READER
Maven2RepositoryStorage
public Maven2RepositoryStorage()
initialize
@PostConstruct
public void initialize()
readProjectMetadata
public ProjectMetadata readProjectMetadata(String repoId,
String namespace,
String projectId)
- Specified by:
readProjectMetadata
in interface RepositoryStorage
readProjectVersionMetadata
public ProjectVersionMetadata readProjectVersionMetadata(ReadMetadataRequest readMetadataRequest)
throws RepositoryStorageMetadataNotFoundException,
RepositoryStorageMetadataInvalidException,
RepositoryStorageRuntimeException
- Specified by:
readProjectVersionMetadata
in interface RepositoryStorage
- Throws:
RepositoryStorageMetadataNotFoundException
RepositoryStorageMetadataInvalidException
RepositoryStorageRuntimeException
setWagonFactory
public void setWagonFactory(WagonFactory wagonFactory)
convertDependencies
private List<Dependency> convertDependencies(List<org.apache.maven.model.Dependency> dependencies)
convertScm
private Scm convertScm(org.apache.maven.model.Scm scm)
convertOrganization
private Organization convertOrganization(org.apache.maven.model.Organization organization)
convertLicenses
private List<License> convertLicenses(List<org.apache.maven.model.License> licenses)
convertMailingLists
private List<MailingList> convertMailingLists(List<org.apache.maven.model.MailingList> mailingLists)
convertIssueManagement
private IssueManagement convertIssueManagement(org.apache.maven.model.IssueManagement issueManagement)
convertCiManagement
private CiManagement convertCiManagement(org.apache.maven.model.CiManagement ciManagement)
listRootNamespaces
public Collection<String> listRootNamespaces(String repoId,
Filter<String> filter)
throws RepositoryStorageRuntimeException
- Specified by:
listRootNamespaces
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
getSortedFiles
private static Collection<String> getSortedFiles(File dir,
Filter<String> filter)
getRepositoryBasedir
private File getRepositoryBasedir(String repoId)
throws RepositoryStorageRuntimeException
- Throws:
RepositoryStorageRuntimeException
listNamespaces
public Collection<String> listNamespaces(String repoId,
String namespace,
Filter<String> filter)
throws RepositoryStorageRuntimeException
- Specified by:
listNamespaces
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
listProjects
public Collection<String> listProjects(String repoId,
String namespace,
Filter<String> filter)
throws RepositoryStorageRuntimeException
- Specified by:
listProjects
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
listProjectVersions
public Collection<String> listProjectVersions(String repoId,
String namespace,
String projectId,
Filter<String> filter)
throws RepositoryStorageRuntimeException
- Specified by:
listProjectVersions
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
readArtifactsMetadata
public Collection<ArtifactMetadata> readArtifactsMetadata(ReadMetadataRequest readMetadataRequest)
throws RepositoryStorageRuntimeException
- Specified by:
readArtifactsMetadata
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
readArtifactMetadataFromPath
public ArtifactMetadata readArtifactMetadataFromPath(String repoId,
String path)
throws RepositoryStorageRuntimeException
- Specified by:
readArtifactMetadataFromPath
in interface RepositoryStorage
- Throws:
RepositoryStorageRuntimeException
getArtifactFromFile
private ArtifactMetadata getArtifactFromFile(String repoId,
String namespace,
String projectId,
String projectVersion,
File file)
applyServerSideRelocation
public void applyServerSideRelocation(ManagedRepositoryContent managedRepository,
ArtifactReference artifact)
throws ProxyDownloadException
- A relocation capable client will request the POM prior to the artifact, and will then read meta-data and do
client side relocation. A simplier client (like maven 1) will only request the artifact and not use the
metadatas.
For such clients, archiva does server-side relocation by reading itself the <relocation> element in
metadatas and serving the expected artifact.
- Specified by:
applyServerSideRelocation
in interface RepositoryStorage
- Throws:
ProxyDownloadException
populateArtifactMetadataFromFile
private static void populateArtifactMetadataFromFile(ArtifactMetadata metadata,
File file)
isProject
private boolean isProject(File dir,
Filter<String> filter)
isProjectVersion
private boolean isProjectVersion(File dir)
readMetadata
private ArchivaRepositoryMetadata readMetadata(File directory)
Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.