Author: brett
Date: Wed Nov 25 03:11:22 2009
New Revision: 883965
URL: http://svn.apache.org/viewvc?rev=883965&view=rev
Log:
[MRM-1282] clear up confusing "build" terminology, instead using project
version (1.0-SNAPSHOT) and artifact version (1.0-20091112.0123456-1)
Added:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java
(contents, props changed)
- copied, changed from r883934,
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildFacet.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
(contents, props changed)
- copied, changed from r883934,
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
Removed:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildFacet.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenProjectFacet.java
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
Wed Nov 25 03:11:22 2009
@@ -25,7 +25,7 @@
import java.util.List;
import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -142,8 +142,8 @@
project.setNamespace( artifact.getGroupId() );
project.setId( artifact.getArtifactId() );
- ProjectBuildMetadata build = new ProjectBuildMetadata();
- build.setId( artifact.getVersion() ); // TODO: this should be the
version from the POM, not the timestamped version
+ ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
+ versionMetadata.setId( artifact.getVersion() ); // TODO: this should
be the version from the POM, not the timestamped version
ArtifactMetadata artifactMeta = new ArtifactMetadata();
artifactMeta.setId( file.getName() );
@@ -157,8 +157,8 @@
// TODO: transaction
// read the metadata and update it if it is newer or doesn't exist
- metadataRepository.updateArtifact( repository.getId(),
project.getNamespace(), project.getId(), build.getId(), artifactMeta );
- metadataRepository.updateBuild( repository.getId(),
project.getNamespace(), project.getId(), build );
+ metadataRepository.updateArtifact( repository.getId(),
project.getNamespace(), project.getId(), versionMetadata.getId(), artifactMeta
);
+ metadataRepository.updateProjectVersion( repository.getId(),
project.getNamespace(), project.getId(), versionMetadata );
metadataRepository.updateProject( repository.getId(), project );
}
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
Wed Nov 25 03:11:22 2009
@@ -24,7 +24,7 @@
import java.util.List;
import com.opensymphony.xwork2.Validateable;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.storage.maven2.MavenProjectFacet;
import org.apache.commons.lang.StringUtils;
@@ -100,32 +100,39 @@
private List<String> snapshotVersions;
/**
- * Show the versioned project information tab. TODO: Change name to
'project'
+ * Show the versioned project information tab.
+ * TODO: Change name to 'project' - we are showing project versions here,
not specific artifact information (though
+ * that is rendered in the download box).
*/
public String artifact()
{
// In the future, this should be replaced by the repository grouping
mechanism, so that we are only making
// simple resource requests here and letting the resolver take care of
it
- ProjectBuildMetadata build = null;
+ ProjectVersionMetadata versionMetadata = null;
snapshotVersions = new ArrayList<String>();
for ( String repoId : getObservableRepos() )
{
- if ( build == null )
+ if ( versionMetadata == null )
{
- // we don't really want the implementation being that
intelligent - so another resolver to do the
+ // TODO: though we have a simple mapping now, do we want to
support paths like /1.0-20090111.123456-1/
+ // again by mapping it to /1.0-SNAPSHOT/? Currently, the
individual versions are not supported as we
+ // are only displaying the project's single version.
+
+ // we don't want the implementation being that intelligent -
so another resolver to do the
// "just-in-time" nature of picking up the metadata (if
appropriate for the repository type) is used
- build = metadataResolver.getProjectBuild( repoId, groupId,
artifactId, version );
- if ( build != null )
+ versionMetadata = metadataResolver.getProjectVersion( repoId,
groupId, artifactId, version );
+ if ( versionMetadata != null )
{
- repositoryId = repoId;
+ repositoryId = repoId;
+
+ snapshotVersions.addAll(
+ metadataResolver.getArtifactVersions( repoId, groupId,
artifactId, versionMetadata.getId() ) );
+ snapshotVersions.remove( version );
}
}
-
- snapshotVersions.addAll( metadataResolver.getArtifactVersions(
repoId, groupId, artifactId, version ) );
- snapshotVersions.remove( version );
}
- if ( build == null )
+ if ( versionMetadata == null )
{
addActionError( "Artifact not found" );
return ERROR;
@@ -133,7 +140,7 @@
// TODO: eventually, move to just use the metadata directly, with
minimal JSP changes, mostly for Maven specifics
model = new ArchivaProjectModel();
- MavenProjectFacet projectFacet = (MavenProjectFacet) build.getFacet(
MavenProjectFacet.FACET_ID );
+ MavenProjectFacet projectFacet = (MavenProjectFacet)
versionMetadata.getFacet( MavenProjectFacet.FACET_ID );
model.setGroupId( projectFacet.getGroupId() );
model.setArtifactId( projectFacet.getArtifactId() );
model.setPackaging( projectFacet.getPackaging() );
@@ -146,42 +153,42 @@
model.setParentProject( parent );
}
- model.setVersion( build.getId() );
- model.setDescription( build.getDescription() );
- model.setName( build.getName() );
- model.setUrl( build.getUrl() );
- if ( build.getOrganization() != null )
+ model.setVersion( versionMetadata.getId() );
+ model.setDescription( versionMetadata.getDescription() );
+ model.setName( versionMetadata.getName() );
+ model.setUrl( versionMetadata.getUrl() );
+ if ( versionMetadata.getOrganization() != null )
{
Organization organization = new Organization();
- organization.setName( build.getOrganization().getName() );
- organization.setUrl( build.getOrganization().getUrl() );
+ organization.setName( versionMetadata.getOrganization().getName()
);
+ organization.setUrl( versionMetadata.getOrganization().getUrl() );
model.setOrganization( organization );
}
- if ( build.getCiManagement() != null )
+ if ( versionMetadata.getCiManagement() != null )
{
CiManagement ci = new CiManagement();
- ci.setSystem( build.getCiManagement().getSystem() );
- ci.setUrl( build.getCiManagement().getUrl() );
+ ci.setSystem( versionMetadata.getCiManagement().getSystem() );
+ ci.setUrl( versionMetadata.getCiManagement().getUrl() );
model.setCiManagement( ci );
}
- if ( build.getIssueManagement() != null )
+ if ( versionMetadata.getIssueManagement() != null )
{
IssueManagement issueManagement = new IssueManagement();
- issueManagement.setSystem( build.getIssueManagement().getSystem()
);
- issueManagement.setUrl( build.getIssueManagement().getUrl() );
+ issueManagement.setSystem(
versionMetadata.getIssueManagement().getSystem() );
+ issueManagement.setUrl(
versionMetadata.getIssueManagement().getUrl() );
model.setIssueManagement( issueManagement );
}
- if ( build.getScm() != null )
+ if ( versionMetadata.getScm() != null )
{
Scm scm = new Scm();
- scm.setConnection( build.getScm().getConnection() );
- scm.setDeveloperConnection(
build.getScm().getDeveloperConnection() );
- scm.setUrl( build.getScm().getUrl() );
+ scm.setConnection( versionMetadata.getScm().getConnection() );
+ scm.setDeveloperConnection(
versionMetadata.getScm().getDeveloperConnection() );
+ scm.setUrl( versionMetadata.getScm().getUrl() );
model.setScm( scm );
}
- if ( build.getLicenses() != null )
+ if ( versionMetadata.getLicenses() != null )
{
- for ( org.apache.archiva.metadata.model.License l :
build.getLicenses() )
+ for ( org.apache.archiva.metadata.model.License l :
versionMetadata.getLicenses() )
{
License license = new License();
license.setName( l.getName() );
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
Wed Nov 25 03:11:22 2009
@@ -25,14 +25,14 @@
import java.util.List;
import java.util.Map;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
import org.apache.archiva.metadata.repository.MetadataResolver;
public class TestMetadataResolver
implements MetadataResolver
{
- private Map<String, ProjectBuildMetadata> projectBuilds = new
HashMap<String, ProjectBuildMetadata>();
+ private Map<String, ProjectVersionMetadata> projectVersions = new
HashMap<String, ProjectVersionMetadata>();
private Map<String, List<String>> artifactVersions = new HashMap<String,
List<String>>();
@@ -44,20 +44,20 @@
return metadata;
}
- public ProjectBuildMetadata getProjectBuild( String repoId, String
namespace, String projectId, String buildId )
+ public ProjectVersionMetadata getProjectVersion( String repoId, String
namespace, String projectId, String projectVersion )
{
- return projectBuilds.get( createMapKey( repoId, namespace, projectId,
buildId ) );
+ return projectVersions.get( createMapKey( repoId, namespace,
projectId, projectVersion ) );
}
- public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String buildId )
+ public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String projectVersion )
{
- List<String> versions = artifactVersions.get( createMapKey( repoId,
namespace, projectId, buildId ) );
+ List<String> versions = artifactVersions.get( createMapKey( repoId,
namespace, projectId, projectVersion ) );
return ( versions != null ? versions : Collections.<String>emptyList()
);
}
- public void setProjectBuild( String repoId, String namespace, String
projectId, ProjectBuildMetadata build )
+ public void setProjectVersion( String repoId, String namespace, String
projectId, ProjectVersionMetadata versionMetadata )
{
- projectBuilds.put( createMapKey( repoId, namespace, projectId,
build.getId() ), build );
+ projectVersions.put( createMapKey( repoId, namespace, projectId,
versionMetadata.getId() ), versionMetadata );
}
public void setArtifactVersions( String repoId, String namespace, String
projectId, String version,
@@ -66,8 +66,8 @@
artifactVersions.put( createMapKey( repoId, namespace, projectId,
version ), versions );
}
- private String createMapKey( String repoId, String namespace, String
projectId, String buildId )
+ private String createMapKey( String repoId, String namespace, String
projectId, String projectVersion )
{
- return repoId + ":" + namespace + ":" + projectId + ":" + buildId;
+ return repoId + ":" + namespace + ":" + projectId + ":" +
projectVersion;
}
}
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
Wed Nov 25 03:11:22 2009
@@ -28,7 +28,7 @@
import org.apache.archiva.metadata.model.IssueManagement;
import org.apache.archiva.metadata.model.License;
import org.apache.archiva.metadata.model.Organization;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.Scm;
import org.apache.archiva.metadata.repository.memory.TestMetadataResolver;
import org.apache.archiva.metadata.repository.storage.maven2.MavenProjectFacet;
@@ -111,7 +111,7 @@
public void testGetArtifactUniqueRelease()
{
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
setActionParameters();
@@ -134,7 +134,7 @@
public void testGetArtifactUniqueSnapshot()
{
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel(
TEST_SNAPSHOT_VERSION ) );
metadataResolver.setArtifactVersions( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID, TEST_SNAPSHOT_VERSION,
ALL_TEST_SNAPSHOT_VERSIONS );
@@ -164,7 +164,7 @@
public void testGetArtifactUniqueSnapshotTimestamped()
{
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel(
TEST_TS_SNAPSHOT_VERSION ) );
metadataResolver.setArtifactVersions( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID, TEST_TS_SNAPSHOT_VERSION,
ALL_TEST_SNAPSHOT_VERSIONS );
@@ -220,7 +220,7 @@
public void testGetArtifactNotInObservableRepos()
{
- metadataResolver.setProjectBuild( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
setActionParameters();
@@ -235,7 +235,7 @@
public void testGetArtifactOnlySeenInSecondObservableRepo()
{
setObservableRepos( Arrays.asList( OTHER_TEST_REPO, TEST_REPO ) );
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
setActionParameters();
@@ -259,9 +259,9 @@
public void testGetArtifactSeenInBothObservableRepo()
{
setObservableRepos( Arrays.asList( TEST_REPO, OTHER_TEST_REPO ) );
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
- metadataResolver.setProjectBuild( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
setActionParameters();
@@ -285,9 +285,9 @@
public void testGetArtifactCanOnlyObserveInOneOfTwoRepos()
{
setObservableRepos( Arrays.asList( TEST_REPO ) );
- metadataResolver.setProjectBuild( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( OTHER_TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
- metadataResolver.setProjectBuild( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
+ metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID,
TEST_ARTIFACT_ID,
createProjectModel( TEST_VERSION )
);
setActionParameters();
@@ -386,9 +386,9 @@
assertTrue( action.getActionMessages().isEmpty() );
}
- private ProjectBuildMetadata createProjectModel( String version )
+ private ProjectVersionMetadata createProjectModel( String version )
{
- ProjectBuildMetadata model = new ProjectBuildMetadata();
+ ProjectVersionMetadata model = new ProjectVersionMetadata();
model.setId( version );
model.setUrl( TEST_URL );
model.setName( TEST_NAME );
Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt
(original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt Wed
Nov 25 03:11:22 2009
@@ -24,7 +24,7 @@
| | | |-- sha1=
| | | |-- size=
| | | |-- updated=
- | | | `-- version= -- the actual version of
the file
+ | | | `-- version= -- the actual version of
the file, 1.0-20091120.012345-1
| | |-- created=
| | |-- description=
| | |-- name=
@@ -51,4 +51,8 @@
4) The API will still use separate namespace and project identifiers (the
namespace can be null if there isn't one). This is chosen to allow
splitting the namespace on '.', and also allowing '.' in the project
identifier without splitting
-5) properties with '.' may be nested in other representations such as Java
models or XML, if appropriate
\ No newline at end of file
+5) properties with '.' may be nested in other representations such as Java
models or XML, if appropriate
+
+6) we only keep one set of project information for a "version" - this differs
from Maven's storage of one POM per snapshot. The Maven 2 module will
+ take the latest. Those that need Maven's behaviour should retrieve the POM
directly. Implementations are also free to store as much information
+ as desired within the artifact node in addition to whatever is shared in
the project version node.
\ No newline at end of file
Copied:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java
(from r883934,
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildFacet.java)
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java?p2=archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java&p1=archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildFacet.java&r1=883934&r2=883965&rev=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildFacet.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java
Wed Nov 25 03:11:22 2009
@@ -19,7 +19,7 @@
* under the License.
*/
-public interface ProjectBuildFacet
+public interface ProjectVersionFacet
{
String getFacetId();
}
Propchange:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionFacet.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
(from r883934,
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java)
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java?p2=archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java&p1=archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java&r1=883934&r2=883965&rev=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectBuildMetadata.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
Wed Nov 25 03:11:22 2009
@@ -24,7 +24,7 @@
import java.util.List;
import java.util.Map;
-public class ProjectBuildMetadata
+public class ProjectVersionMetadata
{
private String id;
@@ -44,7 +44,7 @@
private List<License> licenses;
- private Map<String, ProjectBuildFacet> facets;
+ private Map<String, ProjectVersionFacet> facets;
public String getId()
{
@@ -145,16 +145,16 @@
this.licenses.add( license );
}
- public void addFacet( ProjectBuildFacet mavenProjectFacet )
+ public void addFacet( ProjectVersionFacet mavenProjectFacet )
{
if ( this.facets == null )
{
- this.facets = new HashMap<String, ProjectBuildFacet>();
+ this.facets = new HashMap<String, ProjectVersionFacet>();
}
this.facets.put( mavenProjectFacet.getFacetId(), mavenProjectFacet );
}
- public ProjectBuildFacet getFacet( String facetId )
+ public ProjectVersionFacet getFacet( String facetId )
{
return this.facets.get( facetId );
}
Propchange:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
Wed Nov 25 03:11:22 2009
@@ -21,7 +21,7 @@
import java.util.Collection;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
/**
@@ -48,22 +48,22 @@
return metadataRepository.getProject( repoId, namespace, projectId );
}
- public ProjectBuildMetadata getProjectBuild( String repoId, String
namespace, String projectId, String buildId )
+ public ProjectVersionMetadata getProjectVersion( String repoId, String
namespace, String projectId, String projectVersion )
{
- ProjectBuildMetadata metadata = metadataRepository.getProjectBuild(
repoId, namespace, projectId, buildId );
- // TODO: do we want to detect changes as well by comparing timestamps?
isProjectBuildNewerThan(updated)
+ ProjectVersionMetadata metadata =
metadataRepository.getProjectVersion( repoId, namespace, projectId,
projectVersion );
+ // TODO: do we want to detect changes as well by comparing timestamps?
isProjectVersionNewerThan(updated)
// in such cases we might also remove/update stale metadata,
including adjusting plugin-based facets
if ( metadata == null )
{
- metadata = storageResolver.getProjectBuild( repoId, namespace,
projectId, buildId );
- metadataRepository.updateBuild( repoId, namespace, projectId,
metadata );
+ metadata = storageResolver.getProjectVersion( repoId, namespace,
projectId, projectVersion );
+ metadataRepository.updateProjectVersion( repoId, namespace,
projectId, metadata );
}
return metadata;
}
- public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String buildId )
+ public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String projectVersion )
{
// TODO: intercept
- return metadataRepository.getArtifactVersions( repoId, namespace,
projectId, buildId );
+ return metadataRepository.getArtifactVersions( repoId, namespace,
projectId, projectVersion );
}
}
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
Wed Nov 25 03:11:22 2009
@@ -20,20 +20,23 @@
*/
import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
public interface MetadataRepository
extends MetadataResolver
{
/**
* Update metadata for a particular project in the metadata repository, or
create it if it does not already exist.
+ *
* @param project the project metadata to create or update
*/
void updateProject( String repoId, ProjectMetadata project );
- void updateArtifact( String repoId, String namespace, String projectId,
String buildId, ArtifactMetadata artifactMeta );
+ void updateArtifact( String repoId, String namespace, String projectId,
String projectVersion,
+ ArtifactMetadata artifactMeta );
- void updateBuild( String repoId, String namespace, String projectId,
ProjectBuildMetadata build );
+ void updateProjectVersion( String repoId, String namespace, String
projectId,
+ ProjectVersionMetadata versionMetadata );
}
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
Wed Nov 25 03:11:22 2009
@@ -21,14 +21,14 @@
import java.util.Collection;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
public interface MetadataResolver
{
ProjectMetadata getProject( String repoId, String namespace, String
projectId );
- ProjectBuildMetadata getProjectBuild( String repoId, String namespace,
String projectId, String buildId );
+ ProjectVersionMetadata getProjectVersion( String repoId, String namespace,
String projectId, String projectVersion );
- Collection<String> getArtifactVersions( String repoId, String namespace,
String projectId, String buildId );
+ Collection<String> getArtifactVersions( String repoId, String namespace,
String projectId, String projectVersion );
}
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
Wed Nov 25 03:11:22 2009
@@ -23,7 +23,7 @@
public interface RepositoryPathTranslator
{
- File toFile( File basedir, String namespace, String projectId, String
buildId, String filename );
+ File toFile( File basedir, String namespace, String projectId, String
projectVersion, String filename );
- String toPath( String namespace, String projectId, String buildId, String
filename );
+ String toPath( String namespace, String projectId, String projectVersion,
String filename );
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
Wed Nov 25 03:11:22 2009
@@ -22,7 +22,7 @@
import java.io.File;
import java.util.Collection;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
@@ -60,13 +60,16 @@
throw new UnsupportedOperationException();
}
- public ProjectBuildMetadata getProjectBuild( String repoId, String
namespace, String projectId, String buildId )
+ public ProjectVersionMetadata getProjectVersion( String repoId, String
namespace, String projectId, String projectVersion )
{
+ // TODO: artifactVersion translation
+
ManagedRepositoryConfiguration repositoryConfiguration =
archivaConfiguration.getConfiguration().findManagedRepositoryById(
repoId );
File basedir = new File( repositoryConfiguration.getLocation() );
- File file = pathTranslator.toFile( basedir, namespace, projectId,
buildId, projectId + "-" + buildId + ".pom" );
+ File file = pathTranslator.toFile( basedir, namespace, projectId,
projectVersion, projectId + "-" +
+ projectVersion + ".pom" );
ModelBuildingRequest req = new DefaultModelBuildingRequest();
req.setProcessPlugins( false );
@@ -96,7 +99,7 @@
parent.setVersion( model.getParent().getVersion() );
facet.setParent( parent );
}
- ProjectBuildMetadata metadata = new ProjectBuildMetadata();
+ ProjectVersionMetadata metadata = new ProjectVersionMetadata();
metadata.setUrl( model.getUrl() );
metadata.addFacet( facet );
// TODO: convert project
@@ -104,7 +107,7 @@
return metadata;
}
- public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String buildId )
+ public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String projectVersion )
{
throw new UnsupportedOperationException();
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
Wed Nov 25 03:11:22 2009
@@ -33,18 +33,18 @@
private static final char GROUP_SEPARATOR = '.';
- public File toFile( File basedir, String namespace, String projectId,
String buildId, String filename )
+ public File toFile( File basedir, String namespace, String projectId,
String projectVersion, String filename )
{
- return new File( basedir, toPath( namespace, projectId, buildId,
filename ) );
+ return new File( basedir, toPath( namespace, projectId,
projectVersion, filename ) );
}
- public String toPath( String namespace, String projectId, String buildId,
String filename )
+ public String toPath( String namespace, String projectId, String
projectVersion, String filename )
{
StringBuilder path = new StringBuilder();
path.append( formatAsDirectory( namespace ) ).append( PATH_SEPARATOR );
path.append( projectId ).append( PATH_SEPARATOR );
- path.append( buildId ).append( PATH_SEPARATOR );
+ path.append( projectVersion ).append( PATH_SEPARATOR );
path.append( filename );
return path.toString();
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenProjectFacet.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenProjectFacet.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenProjectFacet.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/MavenProjectFacet.java
Wed Nov 25 03:11:22 2009
@@ -19,10 +19,10 @@
* under the License.
*/
-import org.apache.archiva.metadata.model.ProjectBuildFacet;
+import org.apache.archiva.metadata.model.ProjectVersionFacet;
public class MavenProjectFacet
- implements ProjectBuildFacet
+ implements ProjectVersionFacet
{
private String groupId;
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
Wed Nov 25 03:11:22 2009
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
@@ -49,13 +49,23 @@
resolver = (Maven2RepositoryMetadataResolver) lookup(
MetadataResolver.class, "maven2" );
}
- public void testGetProjectBuildMetadata()
+ public void testGetProjectVersionMetadata()
{
- ProjectBuildMetadata metadata =
- resolver.getProjectBuild( TEST_REPO_ID, "org.apache.archiva",
"archiva-common", "1.2.1" );
+ ProjectVersionMetadata metadata =
+ resolver.getProjectVersion( TEST_REPO_ID, "org.apache.archiva",
"archiva-common", "1.2.1" );
MavenProjectFacet facet = (MavenProjectFacet) metadata.getFacet(
MavenProjectFacet.FACET_ID );
assertEquals( "jar", facet.getPackaging() );
assertEquals(
"http://archiva.apache.org/ref/1.2.1/archiva-base/archiva-common",
metadata.getUrl() );
// TODO: more testing
}
+
+// public void testGetProjectVersionMetadataForTimestampedSnapshot()
+// {
+// ProjectVersionMetadata metadata =
+// resolver.getProjectVersion( TEST_REPO_ID, "org.apache",
"apache", "5-SNAPSHOT" );
+// MavenProjectFacet facet = (MavenProjectFacet) metadata.getFacet(
MavenProjectFacet.FACET_ID );
+// assertEquals( "jar", facet.getPackaging() );
+// assertEquals( "http://www.apache.org/", metadata.getUrl() );
+// // TODO: more testing
+// }
}
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=883965&r1=883964&r2=883965&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
Wed Nov 25 03:11:22 2009
@@ -31,8 +31,8 @@
import java.util.Properties;
import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.ProjectBuildMetadata;
import org.apache.archiva.metadata.model.ProjectMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.commons.io.IOUtils;
@@ -44,6 +44,7 @@
{
/**
* TODO: this isn't suitable for production use
+ *
* @plexus.configuration
*/
private File directory = new File( System.getProperty( "user.home" ),
".archiva-metadata" );
@@ -67,16 +68,17 @@
}
}
- public void updateBuild( String repoId, String namespace, String
projectId, ProjectBuildMetadata build )
+ public void updateProjectVersion( String repoId, String namespace, String
projectId,
+ ProjectVersionMetadata versionMetadata )
{
File directory = new File( this.directory, repoId + "/" + namespace +
"/" + projectId );
Properties properties = new Properties();
- properties.setProperty( "id", build.getId() );
+ properties.setProperty( "id", versionMetadata.getId() );
try
{
- writeProperties( properties, new File( directory, build.getId() )
);
+ writeProperties( properties, new File( directory,
versionMetadata.getId() ) );
}
catch ( IOException e )
{
@@ -85,10 +87,10 @@
}
}
- public void updateArtifact( String repoId, String namespace, String
projectId, String buildId,
+ public void updateArtifact( String repoId, String namespace, String
projectId, String projectVersion,
ArtifactMetadata artifact )
{
- File directory = new File( this.directory, repoId + "/" + namespace +
"/" + projectId + "/" + buildId );
+ File directory = new File( this.directory, repoId + "/" + namespace +
"/" + projectId + "/" + projectVersion );
Properties properties = readProperties( directory );
@@ -144,20 +146,22 @@
return project;
}
- public ProjectBuildMetadata getProjectBuild( String repoId, String
groupId, String projectId, String buildId )
+ public ProjectVersionMetadata getProjectVersion( String repoId, String
groupId, String projectId,
+ String projectVersion )
{
- File directory = new File( this.directory, repoId + "/" + projectId +
"/" + buildId );
+ File directory = new File( this.directory, repoId + "/" + projectId +
"/" + projectVersion );
Properties properties = readProperties( directory );
- ProjectBuildMetadata build = new ProjectBuildMetadata();
- build.setId( properties.getProperty( "id" ) );
- return build;
+ ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
+ versionMetadata.setId( properties.getProperty( "id" ) );
+ return versionMetadata;
}
- public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId, String buildId )
+ public Collection<String> getArtifactVersions( String repoId, String
namespace, String projectId,
+ String projectVersion )
{
- File directory = new File( this.directory, repoId + "/" + projectId +
"/" + buildId );
+ File directory = new File( this.directory, repoId + "/" + projectId +
"/" + projectVersion );
Properties properties = readProperties( directory );