From b1fc5fb287a45ce6100bd32a32347e1cf154bc83 Mon Sep 17 00:00:00 2001
From: Joakim Erdfelt
Date: Wed, 11 Apr 2007 20:26:34 +0000
Subject: [PATCH] Model / Configuration / Repository Layer / Proxy Updates
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/branches@527649 13f79535-47bb-0310-9956-ffa450edef68
---
.../MavenProxyPropertyLoader.java | 8 +-
.../src/main/mdo/configuration.mdo | 111 +--
.../archiva/configuration/default-archiva.xml | 8 +-
.../MavenProxyPropertyLoaderTest.java | 2 +-
.../archiva/model/ArchivaModelCloner.java | 131 ++-
.../archiva/model/ArchivaRepository.java | 43 +-
...dencyKey.java => ProjectReferenceKey.java} | 14 +-
.../src/main/mdo/archiva-base.xml | 649 ++++++++++---
.../archiva-base/archiva-proxy/pom.xml | 6 +-
.../proxy/DefaultProxyRequestHandler.java | 855 ------------------
.../DefaultRepositoryProxyConnectors.java | 561 ++++++++++++
.../proxy/ProxiedArtifactRepository.java | 200 ----
.../maven/archiva/proxy/ProxyConnector.java | 131 +++
.../archiva/proxy/ProxyRequestHandler.java | 104 ---
.../proxy/RepositoryProxyConnectors.java | 83 ++
.../proxy/policy/ArtifactUpdatePolicy.java | 139 +++
.../archiva/proxy/policy/ChecksumPolicy.java | 252 ++++++
.../archiva/proxy/policy/PostfetchPolicy.java | 42 +
.../archiva/proxy/policy/PrefetchPolicy.java | 41 +
.../archiva/proxy/AbstractProxyTestCase.java | 94 ++
.../proxy/RepositoryProxyConnectorsTest.java | 116 +++
.../AbstractArtifactExtensionMapping.java | 13 +-
.../content/ArtifactExtensionMapping.java | 6 +-
.../layout/BidirectionalRepositoryLayout.java | 22 +-
.../BidirectionalRepositoryLayoutFactory.java | 50 +
.../DefaultBidirectionalRepositoryLayout.java | 58 +-
.../LegacyBidirectionalRepositoryLayout.java | 60 +-
.../repository/project/ProjectModelMerge.java | 91 +-
.../filters/EffectiveProjectModelFilter.java | 6 +-
.../filters/ProjectModelExpressionFilter.java | 8 +-
.../readers/ProjectModel400Reader.java | 61 +-
.../resolvers/RepositoryProjectResolver.java | 2 +-
.../archiva/repository/layout/AllTests.java | 2 +
...irectionalRepositoryLayoutFactoryTest.java | 77 ++
...aultBidirectionalRepositoryLayoutTest.java | 8 +-
...gacyBidirectionalRepositoryLayoutTest.java | 8 +-
.../EffectiveProjectModelFilterTest.java | 112 ++-
.../ProjectModelExpressionExpanderTest.java | 19 +-
.../readers/ProjectModel400ReaderTest.java | 10 +-
39 files changed, 2700 insertions(+), 1503 deletions(-)
rename archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/{DependencyKey.java => ProjectReferenceKey.java} (79%)
delete mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyRequestHandler.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
delete mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxiedArtifactRepository.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java
delete mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRequestHandler.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/RepositoryProxyConnectors.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/policy/ArtifactUpdatePolicy.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/policy/ChecksumPolicy.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/policy/PostfetchPolicy.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/policy/PrefetchPolicy.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/RepositoryProxyConnectorsTest.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactory.java
create mode 100644 archiva-jpox-database-refactor/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactoryTest.java
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoader.java b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoader.java
index 070ed0539..599e36ac7 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoader.java
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoader.java
@@ -62,7 +62,7 @@ public class MavenProxyPropertyLoader
String key = tok.nextToken();
if ( StringUtils.isNotEmpty( key ) )
{
- ProxyConfiguration proxy = new ProxyConfiguration();
+ NetworkProxyConfiguration proxy = new NetworkProxyConfiguration();
proxy.setHost( getMandatoryProperty( props, "proxy." + key + ".host" ) );
proxy.setPort( Integer.parseInt( getMandatoryProperty( props, "proxy." + key + ".port" ) ) );
@@ -104,9 +104,9 @@ public class MavenProxyPropertyLoader
proxyConnector.setSourceRepoId( "maven-proxy" );
proxyConnector.setTargetRepoId( key );
proxyConnector.setProxyId( proxyKey );
- proxyConnector.setFailurePolicy( RepositoryProxyConnectorConfiguration.NOT_FOUND );
- proxyConnector.setSnapshotsPolicy( String.valueOf( cachePeriod ) );
- proxyConnector.setReleasesPolicy( RepositoryProxyConnectorConfiguration.NEVER );
+ // TODO: convert cachePeriod to closest "daily" or "hourly"
+ proxyConnector.setSnapshotsPolicy( "daily" );
+ proxyConnector.setReleasesPolicy( "never" );
configuration.addProxyConnector( proxyConnector );
}
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
index 5bf26e4ba..ccac6d6e6 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
@@ -67,7 +67,7 @@
networkProxies
1.0.0+
- ProxyConfiguration
+ NetworkProxyConfiguration
*
@@ -320,79 +320,58 @@
1.0.0+
String
disabled
-
- The policy for snapshots:
- Can be one of the following keywords:
- "disabled" - means retrieval isn't even attempted.
- "daily" - means snapshot is fetched, but only updated on
- a daily basis. (equivalent to "1440" minutes)
- "hourly" - means snapshot is fetched, but only updated on
- an hourly basis. (equivalent to "60" minutes)
- "never" - means snapshot is fetched once, but never updated.
- (equivalent to "-1" minutes)
- Or it can be a number of minutes before updating of the snapshot.
-
+
+
+ The policy for snapshots, one of the following:
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#DISABLED disabled},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#DAILY daily},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#HOURLY hourly},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#ONCE once}
+
+
+ @see org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy
+ ]]>
+
releasesPolicy
1.0.0+
String
never
-
- The policy for releases:
- Can be one of the following keywords:
- "disabled" - means retrieval isn't even attempted.
- "daily" - means release is fetched, but only updated on
- a daily basis. (equivalent to "1440" minutes)
- "hourly" - means release is fetched, but only updated on
- an hourly basis. (equivalent to "60" minutes)
- "never" - means release is fetched once, but never updated.
- (equivalent to "-1" minutes)
- Or it can be a number of minutes before updating of the release.
+
+
+ The policy for releases, one of the following:
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#DISABLED disabled},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#DAILY daily},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#HOURLY hourly},
+ {@link org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy#ONCE once}
+
+
+ @see org.apache.maven.archiva.proxy.policy.ArtifactUpdatePolicy
+ ]]>
-
- failurePolicy
- 1.0.0+
- String
- not-found
+
+ checksumPolicy
+ 1.0.0+
+ String
+ fail
- The policy for dealing with proxy failures.
- Can be one of the following keywords:
- "not-found" - means if the retrieval has a failure, an HTTP 404
- (not found) is returned to the client of this
- archiva instance.
- This policy setting will allow other proxies
- to be checked for content.
- "failure" - means if the retrieval has a failure, an HTTP 500
- (server error) is returned to the client of this
- archiva instance.
- This policy setting will return immediately to the
- client of the archiva instance and not allow
- furthor attempts on other proxies for this content.
-
+
+ The policy for dealing with checksums, one of the following:
+ {@link org.apache.maven.archiva.proxy.policy.ChecksumPolicy#FAIL fail},
+ {@link org.apache.maven.archiva.proxy.policy.ChecksumPolicy#FIX fix}, or
+ {@link org.apache.maven.archiva.proxy.policy.ChecksumPolicy#IGNORE ignore}
+
+
+ @see org.apache.maven.archiva.proxy.policy.ChecksumPolicy
+ ]]>
+
-
-
- 1.0.0+
-
-
-
@@ -438,7 +417,7 @@
-->
- ProxyConfiguration
+ NetworkProxyConfiguration
1.0.0+
@@ -453,12 +432,12 @@
protocol
1.0.0+
- The network protocol to use with this proxy.
+ The network protocol to use with this proxy: "http", "socks-4"
String
true
http
-
+
host
1.0.0+
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/resources/org/apache/maven/archiva/configuration/default-archiva.xml b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/resources/org/apache/maven/archiva/configuration/default-archiva.xml
index ba150b058..42c508556 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/resources/org/apache/maven/archiva/configuration/default-archiva.xml
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/main/resources/org/apache/maven/archiva/configuration/default-archiva.xml
@@ -47,16 +47,16 @@
central
disabled
- never
- not-found
+ once
+ fix
internal
maven2-repository.dev.java.net
disabled
- never
- not-found
+ once
+ fix
javax/**
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoaderTest.java b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoaderTest.java
index 091126087..8d1d3909c 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoaderTest.java
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoaderTest.java
@@ -42,7 +42,7 @@ public class MavenProxyPropertyLoaderTest extends PlexusTestCase
File confFile = getTestFile( "src/test/conf/maven-proxy-complete.conf" );
Configuration configuration = new Configuration();
- ProxyConfiguration proxy = new ProxyConfiguration();
+ NetworkProxyConfiguration proxy = new NetworkProxyConfiguration();
proxy.setHost( "original-host" );
configuration.addNetworkProxy( proxy ); // overwritten
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java
index cdad4f850..7f80c89ed 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java
@@ -54,6 +54,7 @@ public class ArchivaModelCloner
cloned.setPackaging( model.getPackaging() );
cloned.setOrigin( model.getOrigin() );
+ cloned.setMailingLists( cloneMailingLists( model.getMailingLists() ) );
cloned.setCiManagement( clone( model.getCiManagement() ) );
cloned.setIndividuals( cloneIndividuals( model.getIndividuals() ) );
cloned.setIssueManagement( clone( model.getIssueManagement() ) );
@@ -61,7 +62,7 @@ public class ArchivaModelCloner
cloned.setOrganization( clone( model.getOrganization() ) );
cloned.setScm( clone( model.getScm() ) );
cloned.setRepositories( cloneRepositories( model.getRepositories() ) );
- cloned.setDependencies( cloneDependencies( model.getDependencies() ) );
+ cloned.setDependencyTree( clone( model.getDependencyTree() ) );
cloned.setPlugins( clonePlugins( model.getPlugins() ) );
cloned.setReports( cloneReports( model.getReports() ) );
cloned.setDependencyManagement( cloneDependencies( model.getDependencyManagement() ) );
@@ -111,12 +112,15 @@ public class ArchivaModelCloner
Dependency cloned = new Dependency();
+ // Identification
cloned.setGroupId( dependency.getGroupId() );
cloned.setArtifactId( dependency.getArtifactId() );
cloned.setVersion( dependency.getVersion() );
-
cloned.setClassifier( dependency.getClassifier() );
cloned.setType( dependency.getType() );
+
+ // The rest.
+ cloned.setTransitive( dependency.isTransitive() );
cloned.setScope( dependency.getScope() );
cloned.setOptional( dependency.isOptional() );
cloned.setSystemPath( dependency.getSystemPath() );
@@ -126,6 +130,37 @@ public class ArchivaModelCloner
return cloned;
}
+ public static DependencyEdge clone( DependencyEdge edge )
+ {
+ if ( edge == null )
+ {
+ return null;
+ }
+
+ DependencyEdge cloned = new DependencyEdge();
+
+ cloned.setFromDependency( clone( edge.getFromDependency() ) );
+ cloned.setToDependency( clone( edge.getToDependency() ) );
+ cloned.setType( edge.getType() );
+
+ return cloned;
+ }
+
+ public static DependencyTree clone( DependencyTree dependencyTree )
+ {
+ if ( dependencyTree == null )
+ {
+ return null;
+ }
+
+ DependencyTree cloned = new DependencyTree();
+
+ cloned.setDependencyNodes( cloneDependencies( dependencyTree.getDependencyNodes() ) );
+ cloned.setDependencyEdges( cloneDependencyEdges( dependencyTree.getDependencyEdges() ) );
+
+ return cloned;
+ }
+
public static IssueManagement clone( IssueManagement issueManagement )
{
if ( issueManagement == null )
@@ -141,6 +176,25 @@ public class ArchivaModelCloner
return cloned;
}
+ public static MailingList clone( MailingList mailingList )
+ {
+ if ( mailingList == null )
+ {
+ return null;
+ }
+
+ MailingList cloned = new MailingList();
+
+ cloned.setName( mailingList.getName() );
+ cloned.setSubscribeAddress( mailingList.getSubscribeAddress() );
+ cloned.setUnsubscribeAddress( mailingList.getUnsubscribeAddress() );
+ cloned.setPostAddress( mailingList.getPostAddress() );
+ cloned.setMainArchiveUrl( mailingList.getMainArchiveUrl() );
+ cloned.setOtherArchives( cloneSimpleStringList( mailingList.getOtherArchives() ) );
+
+ return cloned;
+ }
+
public static Organization clone( Organization organization )
{
if ( organization == null )
@@ -242,12 +296,39 @@ public class ArchivaModelCloner
{
Dependency dep = (Dependency) it.next();
- Dependency cloned = clone( dep );
+ if ( dep == null )
+ {
+ // Skip null dependency.
+ continue;
+ }
+
+ ret.add( clone( dep ) );
+ }
+
+ return ret;
+ }
+
+ public static List cloneDependencyEdges( List dependencyEdges )
+ {
+ if ( dependencyEdges == null )
+ {
+ return null;
+ }
+
+ List ret = new ArrayList();
- if ( cloned != null )
+ Iterator it = dependencyEdges.iterator();
+ while ( it.hasNext() )
+ {
+ DependencyEdge edge = (DependencyEdge) it.next();
+
+ if ( edge == null )
{
- ret.add( cloned );
+ // Skip empty edge.
+ continue;
}
+
+ ret.add( clone( edge ) );
}
return ret;
@@ -336,6 +417,32 @@ public class ArchivaModelCloner
return ret;
}
+ public static List cloneMailingLists( List mailingLists )
+ {
+ if ( mailingLists == null )
+ {
+ return null;
+ }
+
+ List ret = new ArrayList();
+
+ Iterator it = mailingLists.iterator();
+ while ( it.hasNext() )
+ {
+ MailingList mailingList = (MailingList) it.next();
+
+ if ( mailingList == null )
+ {
+ // Skip null mailing list.
+ continue;
+ }
+
+ ret.add( clone( mailingList ) );
+ }
+
+ return ret;
+ }
+
public static List clonePlugins( List plugins )
{
return cloneArtifactReferences( plugins );
@@ -377,18 +484,24 @@ public class ArchivaModelCloner
public static List cloneRoles( List roles )
{
- if ( roles == null )
+ return cloneSimpleStringList( roles );
+ }
+
+ private static List cloneSimpleStringList( List simple )
+ {
+ if ( simple == null )
{
return null;
}
List ret = new ArrayList();
- Iterator it = roles.iterator();
+ Iterator it = simple.iterator();
+
while ( it.hasNext() )
{
- String roleName = (String) it.next();
- ret.add( roleName );
+ String txt = (String) it.next();
+ ret.add( txt );
}
return ret;
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaRepository.java b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaRepository.java
index 78c4b6648..c1911b6ee 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaRepository.java
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaRepository.java
@@ -19,8 +19,6 @@ package org.apache.maven.archiva.model;
* under the License.
*/
-
-
/**
* ArchivaRepository
*
@@ -29,14 +27,10 @@ package org.apache.maven.archiva.model;
*/
public class ArchivaRepository
{
-// protected ArtifactRepositoryPolicy releases;
-//
-// protected ArtifactRepositoryPolicy snapshots;
-
private ArchivaRepositoryModel model;
private RepositoryURL url;
-
+
protected boolean blacklisted;
/**
@@ -59,10 +53,7 @@ public class ArchivaRepository
/**
* Construct a Repository.
*
- * @param id the unique identifier for this repository.
- * @param name the name for this repository.
- * @param url the base URL for this repository (this should point to the top level URL for the entire repository)
- * @param layout the layout technique for this repository.
+ * @param model the model to use
*/
public ArchivaRepository( ArchivaRepositoryModel model )
{
@@ -102,26 +93,6 @@ public class ArchivaRepository
this.blacklisted = blacklisted;
}
-// public ArtifactRepositoryPolicy getReleases()
-// {
-// return releases;
-// }
-//
-// public void setReleases( ArtifactRepositoryPolicy releases )
-// {
-// this.releases = releases;
-// }
-//
-// public ArtifactRepositoryPolicy getSnapshots()
-// {
-// return snapshots;
-// }
-//
-// public void setSnapshots( ArtifactRepositoryPolicy snapshots )
-// {
-// this.snapshots = snapshots;
-// }
-
public boolean isRemote()
{
return this.url.getProtocol().equals( "file" );
@@ -131,4 +102,14 @@ public class ArchivaRepository
{
return this.url.getProtocol().equals( "file" );
}
+
+ public String getLayoutType()
+ {
+ return this.model.getLayoutName();
+ }
+
+ public String getName()
+ {
+ return this.model.getName();
+ }
}
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/DependencyKey.java b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/ProjectReferenceKey.java
similarity index 79%
rename from archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/DependencyKey.java
rename to archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/ProjectReferenceKey.java
index 929f2f142..1c99c740f 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/DependencyKey.java
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/jpox/ProjectReferenceKey.java
@@ -19,26 +19,26 @@ package org.apache.maven.archiva.model.jpox;
* under the License.
*/
-import org.apache.maven.archiva.model.AbstractArtifactKey;
+import org.apache.maven.archiva.model.AbstractProjectKey;
import java.io.Serializable;
/**
- * DependencyKey - unique classid-key for JPOX.
+ * ProjectReferenceKey - unique classid-key for JPOX.
*
* @author Joakim Erdfelt
* @version $Id$
*/
-public class DependencyKey
- extends AbstractArtifactKey
+public class ProjectReferenceKey
+ extends AbstractProjectKey
implements Serializable
{
-
- public DependencyKey()
+ public ProjectReferenceKey()
{
+ super();
}
- public DependencyKey( String key )
+ public ProjectReferenceKey( String key )
{
super( key );
}
diff --git a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/mdo/archiva-base.xml b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
index b8d17158b..6343dc764 100644
--- a/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
+++ b/archiva-jpox-database-refactor/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
@@ -572,6 +572,209 @@
+
+
+
+
+ ProjectReference
+ A reference to another (unversioned) Project
+ 1.0.0+
+
+
+ groupId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Group ID of the repository content.
+
+
+
+ artifactId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Artifact ID of the repository content.
+
+
+
+
+
+
+ VersionedReference
+ A reference to another Versioned Project
+ 1.0.0+
+
+
+ groupId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Group ID of the repository content.
+
+
+
+ artifactId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Artifact ID of the repository content.
+
+
+
+ version
+ true
+ 1.0.0+
+ String
+ false
+
+ The version of the repository content.
+
+
+
+
+
+
+ ArtifactReference
+ 1.0.0+
+
+
+ groupId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Group ID of the repository content.
+
+
+
+ artifactId
+ true
+ 1.0.0+
+ String
+ true
+
+ The Artifact ID of the repository content.
+
+
+
+ version
+ true
+ 1.0.0+
+ String
+ false
+
+ The version of the repository content.
+
+
+
+ classifier
+ true
+ 1.0.0+
+ String
+ true
+
+ The classifier for this artifact.
+
+
+
+ type
+ true
+ 1.0.0+
+ String
+ true
+
+ The type of artifact.
+
+
+
+
+
+ 1.0.0+
+
+
+
+