summaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src
diff options
context:
space:
mode:
authorOlivier Lamy <olamy@apache.org>2012-09-18 21:58:21 +0000
committerOlivier Lamy <olamy@apache.org>2012-09-18 21:58:21 +0000
commit94229a4411e8b89d607a71c793d1b0131af822ea (patch)
tree249e0fbf8d6e58995f862d81df5a7533c42713f0 /archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src
parentf946fbed79eece32e5435e143a445b0e03ba15aa (diff)
downloadarchiva-94229a4411e8b89d607a71c793d1b0131af822ea.tar.gz
archiva-94229a4411e8b89d607a71c793d1b0131af822ea.zip
add a mergerepositories service
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1387378 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src')
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/MergeRepositoriesService.java50
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java97
2 files changed, 101 insertions, 46 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/MergeRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/MergeRepositoriesService.java
new file mode 100644
index 000000000..47beb66cf
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/MergeRepositoriesService.java
@@ -0,0 +1,50 @@
+package org.apache.archiva.rest.api.services;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.redback.authorization.RedbackAuthorization;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
+/**
+ * provide REST services on the top of stage merge repository plugin
+ *
+ * @author Olivier Lamy
+ * @since 1.4-M3
+ */
+@Path ( "/mergeRepositoriesService/" )
+public interface MergeRepositoriesService
+{
+ @Path ( "mergeConflictedArtifacts/{repositoryId}" )
+ @GET
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+ @RedbackAuthorization ( noPermission = true )
+ /**
+ * <b>permissions are checked in impl</b>
+ * @since 1.4-M3
+ */
+ List<ArtifactMetadata> getMergeConflictedArtifacts( @PathParam ( "repositoryId" ) String repositoryId )
+ throws ArchivaRestServiceException;
+}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
index a35ec80c6..dc1dc6bec 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/RepositoriesService.java
@@ -19,9 +19,10 @@ package org.apache.archiva.rest.api.services;
* under the License.
*/
+import org.apache.archiva.maven2.model.Artifact;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
import org.apache.archiva.redback.authorization.RedbackAuthorization;
import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
-import org.apache.archiva.maven2.model.Artifact;
import org.apache.archiva.rest.api.model.ArtifactTransferRequest;
import org.apache.archiva.security.common.ArchivaRoleConstants;
@@ -33,66 +34,67 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import java.util.List;
/**
* @author Olivier Lamy
* @since 1.4-M1
*/
-@Path( "/repositoriesService/" )
+@Path ( "/repositoriesService/" )
public interface RepositoriesService
{
- @Path( "scanRepository" )
+ @Path ( "scanRepository" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
/**
* index repository
*/
- Boolean scanRepository( @QueryParam( "repositoryId" ) String repositoryId,
- @QueryParam( "fullScan" ) boolean fullScan )
+ Boolean scanRepository( @QueryParam ( "repositoryId" ) String repositoryId,
+ @QueryParam ( "fullScan" ) boolean fullScan )
throws ArchivaRestServiceException;
- @Path( "scanRepositoryDirectoriesNow/{repositoryId}" )
+ @Path ( "scanRepositoryDirectoriesNow/{repositoryId}" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
/**
* scan directories
* @since 1.4-M3
*/
- RepositoryScanStatistics scanRepositoryDirectoriesNow( @PathParam( "repositoryId" ) String repositoryId )
+ RepositoryScanStatistics scanRepositoryDirectoriesNow( @PathParam ( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
- @Path( "alreadyScanning/{repositoryId}" )
+ @Path ( "alreadyScanning/{repositoryId}" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
- Boolean alreadyScanning( @PathParam( "repositoryId" ) String repositoryId )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ Boolean alreadyScanning( @PathParam ( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
- @Path( "removeScanningTaskFromQueue/{repositoryId}" )
+ @Path ( "removeScanningTaskFromQueue/{repositoryId}" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
- Boolean removeScanningTaskFromQueue( @PathParam( "repositoryId" ) String repositoryId )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ Boolean removeScanningTaskFromQueue( @PathParam ( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
- @Path( "scanRepositoryNow" )
+ @Path ( "scanRepositoryNow" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
- Boolean scanRepositoryNow( @QueryParam( "repositoryId" ) String repositoryId,
- @QueryParam( "fullScan" ) boolean fullScan )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ Boolean scanRepositoryNow( @QueryParam ( "repositoryId" ) String repositoryId,
+ @QueryParam ( "fullScan" ) boolean fullScan )
throws ArchivaRestServiceException;
- @Path( "copyArtifact" )
+ @Path ( "copyArtifact" )
@POST
- @Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( noPermission = true )
+ @Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( noPermission = true )
/**
* permissions are checked in impl
* will copy an artifact from the source repository to the target repository
@@ -100,21 +102,21 @@ public interface RepositoriesService
Boolean copyArtifact( ArtifactTransferRequest artifactTransferRequest )
throws ArchivaRestServiceException;
- @Path( "scheduleDownloadRemoteIndex" )
+ @Path ( "scheduleDownloadRemoteIndex" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
- Boolean scheduleDownloadRemoteIndex( @QueryParam( "repositoryId" ) String repositoryId,
- @QueryParam( "now" ) boolean now,
- @QueryParam( "fullDownload" ) boolean fullDownload )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
+ Boolean scheduleDownloadRemoteIndex( @QueryParam ( "repositoryId" ) String repositoryId,
+ @QueryParam ( "now" ) boolean now,
+ @QueryParam ( "fullDownload" ) boolean fullDownload )
throws ArchivaRestServiceException;
- @Path( "deleteArtifact" )
+ @Path ( "deleteArtifact" )
@POST
- @Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( noPermission = true )
+ @Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( noPermission = true )
/**
* <b>permissions are checked in impl</b>
* @since 1.4-M2
@@ -122,22 +124,25 @@ public interface RepositoriesService
Boolean deleteArtifact( Artifact artifact )
throws ArchivaRestServiceException;
- @Path( "isAuthorizedToDeleteArtifacts/{repositoryId}" )
+ @Path ( "isAuthorizedToDeleteArtifacts/{repositoryId}" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( noPermission = true, noRestriction = true )
- Boolean isAuthorizedToDeleteArtifacts( @PathParam( "repositoryId" ) String repoId )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( noPermission = true, noRestriction = true )
+ Boolean isAuthorizedToDeleteArtifacts( @PathParam ( "repositoryId" ) String repoId )
throws ArchivaRestServiceException;
- @Path( "deleteGroupId" )
+ @Path ( "deleteGroupId" )
@GET
- @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
- @RedbackAuthorization( noPermission = true )
+ @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
+ @RedbackAuthorization ( noPermission = true )
/**
* <b>permissions are checked in impl</b>
* @since 1.4-M3
*/
- Boolean deleteGroupId( @QueryParam( "groupId" ) String groupId, @QueryParam( "repositoryId" ) String repositoryId )
+ Boolean deleteGroupId( @QueryParam ( "groupId" ) String groupId,
+ @QueryParam ( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
+
+
}