You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/03/26 11:54:39 UTC

svn commit: r1305281 - in /archiva/trunk/archiva-modules/archiva-web/archiva-rest: archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ archiva-rest-services/src/main/java/org/apache/archiva/rest/services/ archiva-rest-services/src/test...

Author: olamy
Date: Mon Mar 26 09:54:39 2012
New Revision: 1305281

URL: http://svn.apache.org/viewvc?rev=1305281&view=rev
Log:
add an Entry object for REST services returning map -> ease json mapping in javascript

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.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/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java?rev=1305281&r1=1305280&r2=1305281&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java Mon Mar 26 09:54:39 2012
@@ -22,6 +22,7 @@ import org.apache.archiva.admin.model.be
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.rest.api.model.Artifact;
 import org.apache.archiva.rest.api.model.BrowseResult;
+import org.apache.archiva.rest.api.model.Entry;
 import org.apache.archiva.rest.api.model.TreeEntry;
 import org.apache.archiva.rest.api.model.VersionsList;
 import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
@@ -35,7 +36,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author Olivier Lamy
@@ -123,9 +123,8 @@ public interface BrowseService
     @GET
     @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
     @RedbackAuthorization( noPermission = true, noRestriction = true )
-    Map<String, String> getMetadatas( @PathParam( "g" ) String groupId, @PathParam( "a" ) String artifactId,
-                                      @PathParam( "v" ) String version,
-                                      @QueryParam( "repositoryId" ) String repositoryId )
+    List<Entry> getMetadatas( @PathParam( "g" ) String groupId, @PathParam( "a" ) String artifactId,
+                              @PathParam( "v" ) String version, @QueryParam( "repositoryId" ) String repositoryId )
         throws ArchivaRestServiceException;
 
     @Path( "metadata/{g}/{a}/{v}/{key}/{value}" )

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=1305281&r1=1305280&r2=1305281&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 Mon Mar 26 09:54:39 2012
@@ -34,6 +34,7 @@ import org.apache.archiva.metadata.repos
 import org.apache.archiva.rest.api.model.Artifact;
 import org.apache.archiva.rest.api.model.BrowseResult;
 import org.apache.archiva.rest.api.model.BrowseResultEntry;
+import org.apache.archiva.rest.api.model.Entry;
 import org.apache.archiva.rest.api.model.TreeEntry;
 import org.apache.archiva.rest.api.model.VersionsList;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
@@ -563,23 +564,30 @@ public class DefaultBrowseService
         return artifacts;
     }
 
-    public Map<String, String> getMetadatas( String groupId, String artifactId, String version, String repositoryId )
+    public List<Entry> getMetadatas( String groupId, String artifactId, String version, String repositoryId )
         throws ArchivaRestServiceException
     {
         ProjectVersionMetadata projectVersionMetadata =
             getProjectMetadata( groupId, artifactId, version, repositoryId );
         if ( projectVersionMetadata == null )
         {
-            return Collections.emptyMap();
+            return Collections.emptyList();
         }
         MetadataFacet metadataFacet = projectVersionMetadata.getFacet( GenericMetadataFacet.FACET_ID );
 
         if ( metadataFacet == null )
         {
-            return Collections.emptyMap();
+            return Collections.emptyList();
         }
+        Map<String, String> map = metadataFacet.toProperties();
+        List<Entry> entries = new ArrayList<Entry>( map.size() );
 
-        return metadataFacet.toProperties();
+        for ( Map.Entry<String, String> entry : map.entrySet() )
+        {
+            entries.add( new Entry( entry.getKey(), entry.getValue() ) );
+        }
+
+        return entries;
     }
 
     public Boolean addMetadata( String groupId, String artifactId, String version, String key, String value,

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java?rev=1305281&r1=1305280&r2=1305281&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java Mon Mar 26 09:54:39 2012
@@ -21,11 +21,14 @@ package org.apache.archiva.rest.services
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.rest.api.model.BrowseResult;
 import org.apache.archiva.rest.api.model.BrowseResultEntry;
+import org.apache.archiva.rest.api.model.Entry;
 import org.apache.archiva.rest.api.model.VersionsList;
 import org.apache.archiva.rest.api.services.BrowseService;
 import org.fest.assertions.MapAssert;
 import org.junit.Test;
 
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import static org.fest.assertions.Assertions.assertThat;
@@ -36,6 +39,19 @@ import static org.fest.assertions.Assert
 public class BrowseServiceTest
     extends AbstractArchivaRestTest
 {
+
+    Map<String, String> toMap( List<Entry> entries )
+    {
+        Map<String, String> map = new HashMap<String, String>( entries.size() );
+
+        for ( Entry entry : entries )
+        {
+            map.put( entry.getKey(), entry.getValue() );
+        }
+
+        return map;
+    }
+
     @Test
     public void metadatagetthenadd()
         throws Exception
@@ -52,13 +68,14 @@ public class BrowseServiceTest
 
         BrowseService browseService = getBrowseService( authorizationHeader, false );
 
-        Map<String, String> metadatas = browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId );
+        Map<String, String> metadatas =
+            toMap( browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId ) );
 
         assertThat( metadatas ).isNotNull().isEmpty();
 
         browseService.addMetadata( "commons-cli", "commons-cli", "1.0", "wine", "bordeaux", testRepoId );
 
-        metadatas = browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId );
+        metadatas = toMap( browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId ) );
 
         assertThat( metadatas ).isNotNull().isNotEmpty().includes( MapAssert.entry( "wine", "bordeaux" ) );
 
@@ -83,19 +100,20 @@ public class BrowseServiceTest
 
         BrowseService browseService = getBrowseService( authorizationHeader, false );
 
-        Map<String, String> metadatas = browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId );
+        Map<String, String> metadatas =
+            toMap( browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId ) );
 
         assertThat( metadatas ).isNotNull().isEmpty();
 
         browseService.addMetadata( "commons-cli", "commons-cli", "1.0", "wine", "bordeaux", testRepoId );
 
-        metadatas = browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId );
+        metadatas = toMap( browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId ) );
 
         assertThat( metadatas ).isNotNull().isNotEmpty().includes( MapAssert.entry( "wine", "bordeaux" ) );
 
         browseService.deleteMetadata( "commons-cli", "commons-cli", "1.0", "wine", testRepoId );
 
-        metadatas = browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId );
+        metadatas = toMap( browseService.getMetadatas( "commons-cli", "commons-cli", "1.0", testRepoId ) );
 
         assertThat( metadatas ).isNotNull().isEmpty();