Author: brett
Date: Wed Mar 10 14:47:30 2010
New Revision: 921374
URL: http://svn.apache.org/viewvc?rev=921374&view=rev
Log:
[MRM-1282] Repository Path Translation consolidation
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java?rev=921374&r1=921373&r2=921374&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
Wed Mar 10 14:47:30 2010
@@ -19,6 +19,8 @@ package org.apache.maven.archiva.reposit
* under the License.
*/
+import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
+import
org.apache.archiva.metadata.repository.storage.maven2.Maven2RepositoryPathTranslator;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.model.ArchivaArtifact;
@@ -46,6 +48,8 @@ public abstract class AbstractDefaultRep
protected static final char ARTIFACT_SEPARATOR = '-';
+ private RepositoryPathTranslator pathTranslator = new
Maven2RepositoryPathTranslator();
+
private PathParser defaultPathParser = new DefaultPathParser();
public ArtifactReference toArtifactReference( String path )
@@ -113,27 +117,33 @@ public abstract class AbstractDefaultRep
private String toPath( String groupId, String artifactId, String
baseVersion, String version, String classifier,
String type )
{
- StringBuffer path = new StringBuffer();
-
- path.append( formatAsDirectory( groupId ) ).append( PATH_SEPARATOR );
- path.append( artifactId ).append( PATH_SEPARATOR );
-
if ( baseVersion != null )
{
- path.append( baseVersion ).append( PATH_SEPARATOR );
- if ( ( version != null ) && ( type != null ) )
- {
- path.append( artifactId ).append( ARTIFACT_SEPARATOR ).append(
version );
+ return pathTranslator.toPath( groupId, artifactId, baseVersion,
constructId( artifactId, version,
+
classifier, type ) );
+ }
+ else
+ {
+ return pathTranslator.toPath( groupId, artifactId );
+ }
+ }
- if ( StringUtils.isNotBlank( classifier ) )
- {
- path.append( ARTIFACT_SEPARATOR ).append( classifier );
- }
+ // TODO: move into the Maven Artifact facet when refactoring away the
caller - the caller will need to have access
+ // to the facet or filename (for the original ID)
+ private String constructId( String artifactId, String version, String
classifier, String type )
+ {
+ StringBuilder id = new StringBuilder();
+ if ( ( version != null ) && ( type != null ) )
+ {
+ id.append( artifactId ).append( ARTIFACT_SEPARATOR ).append(
version );
- path.append( GROUP_SEPARATOR ).append(
ArtifactExtensionMapping.getExtension( type ) );
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ id.append( ARTIFACT_SEPARATOR ).append( classifier );
}
- }
- return path.toString();
+ id.append( "." ).append( ArtifactExtensionMapping.getExtension(
type ) );
+ }
+ return id.toString();
}
}
Modified:
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java?rev=921374&r1=921373&r2=921374&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
(original)
+++
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
Wed Mar 10 14:47:30 2010
@@ -25,10 +25,12 @@ import java.io.File;
public interface RepositoryPathTranslator
{
- File toFile( File basedir, String namespace, String projectId, String
projectVersion, String filename );
-
String toPath( String namespace, String projectId, String projectVersion,
String filename );
+ String toPath( String namespace, String projectId );
+
+ File toFile( File basedir, String namespace, String projectId, String
projectVersion, String filename );
+
File toFile( File basedir, String namespace, String projectId );
File toFile( File basedir, String namespace );