001package org.apache.archiva.rest.api.services; 002/* 003 * Licensed to the Apache Software Foundation (ASF) under one 004 * or more contributor license agreements. See the NOTICE file 005 * distributed with this work for additional information 006 * regarding copyright ownership. The ASF licenses this file 007 * to you under the Apache License, Version 2.0 (the 008 * "License"); you may not use this file except in compliance 009 * with the License. You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, 014 * software distributed under the License is distributed on an 015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 016 * KIND, either express or implied. See the License for the 017 * specific language governing permissions and limitations 018 * under the License. 019 */ 020 021import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration; 022import org.apache.archiva.admin.model.beans.LdapConfiguration; 023import org.apache.archiva.redback.authorization.RedbackAuthorization; 024import org.apache.archiva.rest.api.model.RBACManagerImplementationInformation; 025import org.apache.archiva.rest.api.model.RedbackImplementationsInformations; 026import org.apache.archiva.rest.api.model.UserManagerImplementationInformation; 027import org.apache.archiva.security.common.ArchivaRoleConstants; 028 029import javax.ws.rs.Consumes; 030import javax.ws.rs.GET; 031import javax.ws.rs.POST; 032import javax.ws.rs.PUT; 033import javax.ws.rs.Path; 034import javax.ws.rs.Produces; 035import javax.ws.rs.core.MediaType; 036import java.util.List; 037 038/** 039 * @author Olivier Lamy 040 * @since 1.4-M4 041 */ 042@Path("/redbackRuntimeConfigurationService/") 043public interface RedbackRuntimeConfigurationService 044{ 045 @Path("redbackRuntimeConfiguration") 046 @GET 047 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 048 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 049 RedbackRuntimeConfiguration getRedbackRuntimeConfiguration() 050 throws ArchivaRestServiceException; 051 052 @Path("redbackRuntimeConfiguration") 053 @PUT 054 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 055 @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 056 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 057 Boolean updateRedbackRuntimeConfiguration( RedbackRuntimeConfiguration redbackRuntimeConfiguration ) 058 throws ArchivaRestServiceException; 059 060 @Path("userManagerImplementationInformations") 061 @GET 062 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 063 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 064 List<UserManagerImplementationInformation> getUserManagerImplementationInformations() 065 throws ArchivaRestServiceException; 066 067 @Path("rbacManagerImplementationInformations") 068 @GET 069 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 070 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 071 List<RBACManagerImplementationInformation> getRbacManagerImplementationInformations() 072 throws ArchivaRestServiceException; 073 074 075 @Path("redbackImplementationsInformations") 076 @GET 077 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 078 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 079 RedbackImplementationsInformations getRedbackImplementationsInformations() 080 throws ArchivaRestServiceException; 081 082 @Path( "checkLdapConnection" ) 083 @GET 084 @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) 085 @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) 086 Boolean checkLdapConnection() 087 throws ArchivaRestServiceException; 088 089 @Path("checkLdapConnection") 090 @POST 091 @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 092 @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 093 @RedbackAuthorization(permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION) 094 Boolean checkLdapConnection( LdapConfiguration ldapConfiguration ) 095 throws ArchivaRestServiceException; 096}