Author: olamy
Date: Fri Mar 16 16:08:52 2012
New Revision: 1301615
URL: http://svn.apache.org/viewvc?rev=1301615&view=rev
Log:
use selected repository to get versionList and projectMetadata
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-webapp-js/src/main/webapp/js/archiva/search.js
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=1301615&r1=1301614&r2=1301615&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
Fri Mar 16 16:08:52 2012
@@ -58,7 +58,8 @@ public interface BrowseService
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( noPermission = true, noRestriction = true )
- VersionsList getVersionsList( @PathParam( "g" ) String groupId,
@PathParam( "a" ) String artifactId )
+ VersionsList getVersionsList( @PathParam( "g" ) String groupId,
@PathParam( "a" ) String artifactId,
+ @QueryParam( "repositoryId" ) String
repositoryId )
throws ArchivaRestServiceException;
@Path( "projectVersionMetadata/{g}/{a}" )
@@ -66,7 +67,8 @@ public interface BrowseService
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( noPermission = true, noRestriction = true )
ProjectVersionMetadata getProjectVersionMetadata( @PathParam( "g" ) String
groupId,
- @PathParam( "a" ) String
artifactId )
+ @PathParam( "a" ) String
artifactId,
+ @QueryParam(
"repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
@Path( "userRepositories" )
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=1301615&r1=1301614&r2=1301615&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
Fri Mar 16 16:08:52 2012
@@ -189,7 +189,7 @@ public class DefaultBrowseService
}
- public VersionsList getVersionsList( String groupId, String artifactId )
+ public VersionsList getVersionsList( String groupId, String artifactId,
String repositoryId )
throws ArchivaRestServiceException
{
List<String> selectedRepos = getObservableRepos();
@@ -199,6 +199,17 @@ public class DefaultBrowseService
return new VersionsList();
}
+ if ( StringUtils.isNotEmpty( repositoryId ) )
+ {
+ // check user has karma on the repository
+ if ( !selectedRepos.contains( repositoryId ) )
+ {
+ throw new ArchivaRestServiceException(
"browse.root.groups.repositoy.denied",
+
Response.Status.FORBIDDEN.getStatusCode() );
+ }
+ selectedRepos = Collections.singletonList( repositoryId );
+ }
+
try
{
return new VersionsList( new ArrayList<String>( getVersions(
selectedRepos, groupId, artifactId ) ) );
@@ -240,7 +251,7 @@ public class DefaultBrowseService
}
}
- public ProjectVersionMetadata getProjectVersionMetadata( String groupId,
String artifactId )
+ public ProjectVersionMetadata getProjectVersionMetadata( String groupId,
String artifactId, String repositoryId )
throws ArchivaRestServiceException
{
@@ -252,6 +263,17 @@ public class DefaultBrowseService
return null;
}
+ if ( StringUtils.isNotEmpty( repositoryId ) )
+ {
+ // check user has karma on the repository
+ if ( !selectedRepos.contains( repositoryId ) )
+ {
+ throw new ArchivaRestServiceException(
"browse.root.groups.repositoy.denied",
+
Response.Status.FORBIDDEN.getStatusCode() );
+ }
+ selectedRepos = Collections.singletonList( repositoryId );
+ }
+
RepositorySession repositorySession = null;
try
{
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js?rev=1301615&r1=1301614&r2=1301615&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
Fri Mar 16 16:08:52 2012
@@ -148,12 +148,19 @@ $(function() {
mainContent.find("#browse_artifact").show();
mainContent.find("#browse_artifact").html(mediumSpinnerImg());
mainContent.find("#main_browse_result_content").show();
-
$.ajax("restServices/archivaServices/browseService/projectVersionMetadata/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId),
{
+ var
metadataUrl="restServices/archivaServices/browseService/projectVersionMetadata/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId);
+ var
versionsListUrl="restServices/archivaServices/browseService/versionsList/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId);
+ var selectedRepo=getSelectedBrowsingRepository();
+ if (selectedRepo){
+ metadataUrl+="?repositoryId="+encodeURIComponent(selectedRepo);
+ versionsListUrl+="?repositoryId="+encodeURIComponent(selectedRepo);
+ }
+ $.ajax(metadataUrl, {
type: "GET",
dataType: 'json',
success: function(data) {
artifactDetailViewModel.projectVersionMetadata=mapProjectVersionMetadata(data);
-
$.ajax("restServices/archivaServices/browseService/versionsList/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId),
{
+ $.ajax(versionsListUrl, {
type: "GET",
dataType: 'json',
success: function(data) {