Author: olamy
Date: Tue May 29 16:34:39 2012
New Revision: 1343827

URL: http://svn.apache.org/viewvc?rev=1343827&view=rev
Log:
return url for ArtifactDownloadInfos service

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactDownloadInfoBuilder.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java?rev=1343827&r1=1343826&r2=1343827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
 Tue May 29 16:34:39 2012
@@ -28,6 +28,8 @@ import org.apache.archiva.redback.rest.s
 import org.apache.archiva.redback.rest.services.RedbackRequestInformation;
 import org.apache.archiva.redback.users.User;
 import org.apache.archiva.redback.users.UserManager;
+import org.apache.archiva.rest.api.model.Artifact;
+import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
 import org.apache.archiva.security.AccessDeniedException;
 import org.apache.archiva.security.ArchivaSecurityException;
 import org.apache.archiva.security.PrincipalNotFoundException;
@@ -41,6 +43,7 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Response;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -167,4 +170,55 @@ public abstract class AbstractRestServic
             auditListener.auditEvent( auditEvent );
         }
     }
+
+    /**
+     * TODO add a configuration mechanism to have configured the base archiva 
url
+     *
+     * @param artifact
+     * @return
+     */
+    protected String getArtifactUrl( Artifact artifact, String version )
+        throws ArchivaRestServiceException
+    {
+        try
+        {
+
+            if ( httpServletRequest == null )
+            {
+                return null;
+            }
+
+            StringBuilder sb = new StringBuilder( getBaseUrl( 
httpServletRequest ) );
+
+            sb.append( "/repository" );
+
+            sb.append( '/' ).append( artifact.getContext() );
+
+            sb.append( '/' ).append( StringUtils.replaceChars( 
artifact.getGroupId(), '.', '/' ) );
+            sb.append( '/' ).append( artifact.getArtifactId() );
+            sb.append( '/' ).append( artifact.getVersion() );
+            sb.append( '/' ).append( artifact.getArtifactId() );
+            sb.append( '-' ).append( artifact.getVersion() );
+            if ( StringUtils.isNotBlank( artifact.getClassifier() ) )
+            {
+                sb.append( '-' ).append( artifact.getClassifier() );
+            }
+            // maven-plugin packaging is a jar
+            if ( StringUtils.equals( "maven-plugin", artifact.getPackaging() ) 
)
+            {
+                sb.append( "jar" );
+            }
+            else
+            {
+                sb.append( '.' ).append( artifact.getPackaging() );
+            }
+
+            return sb.toString();
+        }
+        catch ( RepositoryAdminException e )
+        {
+            throw new ArchivaRestServiceException( e.getMessage(),
+                                                   
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
+        }
+    }
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java?rev=1343827&r1=1343826&r2=1343827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
 Tue May 29 16:34:39 2012
@@ -686,7 +686,10 @@ public class DefaultBrowseService
                     ArtifactDownloadInfoBuilder builder =
                         new ArtifactDownloadInfoBuilder().forArtifactMetadata( 
artifact ).withManagedRepositoryContent(
                             
repositoryContentFactory.getManagedRepositoryContent( repoId ) );
-                    artifactDownloadInfos.add( builder.build() );
+                    Artifact art = builder.build();
+
+                    art.setUrl( getArtifactUrl( art, artifact.getVersion() ) );
+                    artifactDownloadInfos.add( art );
                 }
 
             }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java?rev=1343827&r1=1343826&r2=1343827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
 Tue May 29 16:34:39 2012
@@ -236,59 +236,7 @@ public class DefaultSearchService
         return artifacts;
     }
 
-    /**
-     * TODO add a configuration mechanism to have configured the base archiva 
url
-     *
-     * @param artifact
-     * @return
-     */
-    private String getArtifactUrl( Artifact artifact, String version )
-        throws ArchivaRestServiceException
-    {
-        try
-        {
 
-            if ( httpServletRequest == null )
-            {
-                return null;
-            }
-            if ( StringUtils.isEmpty( artifact.getUrl() ) )
-            {
-                return null;
-            }
-            StringBuilder sb = new StringBuilder( getBaseUrl( 
httpServletRequest ) );
-
-            sb.append( "/repository" );
-
-            sb.append( '/' ).append( artifact.getContext() );
-
-            sb.append( '/' ).append( StringUtils.replaceChars( 
artifact.getGroupId(), '.', '/' ) );
-            sb.append( '/' ).append( artifact.getArtifactId() );
-            sb.append( '/' ).append( artifact.getVersion() );
-            sb.append( '/' ).append( artifact.getArtifactId() );
-            sb.append( '-' ).append( artifact.getVersion() );
-            if ( StringUtils.isNotBlank( artifact.getClassifier() ) )
-            {
-                sb.append( '-' ).append( artifact.getClassifier() );
-            }
-            // maven-plugin packaging is a jar
-            if ( StringUtils.equals( "maven-plugin", artifact.getPackaging() ) 
)
-            {
-                sb.append( "jar" );
-            }
-            else
-            {
-                sb.append( '.' ).append( artifact.getPackaging() );
-            }
-
-            return sb.toString();
-        }
-        catch ( RepositoryAdminException e )
-        {
-            throw new ArchivaRestServiceException( e.getMessage(),
-                                                   
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
-        }
-    }
 
 
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactDownloadInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactDownloadInfoBuilder.java?rev=1343827&r1=1343826&r2=1343827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactDownloadInfoBuilder.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactDownloadInfoBuilder.java
 Tue May 29 16:34:39 2012
@@ -98,7 +98,7 @@ public class ArtifactDownloadInfoBuilder
                 }
             }
         }
-
+        artifactDownloadInfo.setContext( managedRepositoryContent.getId() );
         DecimalFormat df = new DecimalFormat( "#,###.##", new 
DecimalFormatSymbols( Locale.US ) );
         artifactDownloadInfo.setSize( df.format( s ) + " " + symbol );
         return artifactDownloadInfo;


Reply via email to