This project has retired. For details please refer to its Attic page.
Source code
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.metadata.model.facets.RepositoryProblemFacet;
022import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
023import org.apache.archiva.redback.authorization.RedbackAuthorization;
024import org.apache.archiva.security.common.ArchivaRoleConstants;
025
026import javax.ws.rs.GET;
027import javax.ws.rs.Path;
028import javax.ws.rs.PathParam;
029import javax.ws.rs.Produces;
030import javax.ws.rs.QueryParam;
031import javax.ws.rs.core.MediaType;
032import java.util.Date;
033import java.util.List;
034
035/**
036 * ReportRepositoriesService
037 *
038 * @author Adrien Lecharpentier <adrien.lecharpentier@zenika.com>
039 * @since 1.4-M3
040 */
041@Path( "/reportServices/" )
042public interface ReportRepositoriesService
043{
044
045    @Path( "getStatisticsReport" )
046    @GET
047    @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
048    @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
049    List<RepositoryStatistics> getStatisticsReport( @QueryParam( "repository" ) List<String> repositoriesId,
050                                                           @QueryParam( "rowCount" ) int rowCount,
051                                                           @QueryParam( "startDate" ) Date startDate,
052                                                           @QueryParam( "endDate" ) Date endDate )
053        throws ArchivaRestServiceException;
054
055    @Path( "getHealthReports/{repository}/{rowCount}" )
056    @GET
057    @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
058    @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
059    List<RepositoryProblemFacet> getHealthReport( @PathParam( "repository" ) String repository,
060                                                         @QueryParam( "groupId" ) String groupId,
061                                                         @PathParam( "rowCount" ) int rowCount )
062        throws ArchivaRestServiceException;
063
064}