Author: olamy
Date: Tue Sep 13 12:03:08 2011
New Revision: 1170133
URL: http://svn.apache.org/viewvc?rev=1170133&view=rev
Log:
[MRM-1490] REST services : fix design of search service
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SearchService.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SearchService.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/SearchService.java?rev=1170133&r1=1170132&r2=1170133&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SearchService.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SearchService.java
Tue Sep 13 12:03:08 2011
@@ -22,8 +22,13 @@ package org.apache.archiva.rest.api.serv
import org.apache.archiva.rest.api.model.Artifact;
import org.apache.archiva.rest.api.model.Dependency;
+import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
+import javax.ws.rs.GET;
import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
import java.util.List;
@Path( "/searchService/" )
@@ -38,16 +43,35 @@ public interface SearchService
* TODO query for all artifacts that depend on a given artifact
*/
- List<Artifact> quickSearch( String queryString )
- throws Exception;
-
- List<Artifact> getArtifactByChecksum( String checksum )
- throws Exception;
-
- List<Artifact> getArtifactVersions( String groupId, String artifactId )
- throws Exception;
-
- List<Dependency> getDependencies( String groupId, String artifactId,
String version )
- throws Exception;
+ @Path( "quickSearch" )
+ @GET
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization( noPermission = true, noRestriction = true )
+ List<Artifact> quickSearch( @QueryParam( "queryString" ) String
queryString )
+ throws ArchivaRestServiceException;
+
+ @Path( "getArtifactByChecksum" )
+ @GET
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization( noPermission = true, noRestriction = true )
+ List<Artifact> getArtifactByChecksum( @QueryParam( "checksum" ) String
checksum )
+ throws ArchivaRestServiceException;
+
+ @Path( "getArtifactVersions" )
+ @GET
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization( noPermission = true, noRestriction = true )
+ List<Artifact> getArtifactVersions( @QueryParam( "groupId" ) String
groupId,
+ @QueryParam( "artifactId" ) String
artifactId )
+ throws ArchivaRestServiceException;
+
+ @Path( "getDependencies" )
+ @GET
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization( noPermission = true, noRestriction = true )
+ List<Dependency> getDependencies( @QueryParam( "groupId" ) String groupId,
+ @QueryParam( "artifactId" ) String
artifactId,
+ @QueryParam( "version" ) String version )
+ throws ArchivaRestServiceException;
}