This project has retired. For details please refer to its Attic page.
Source code
001package org.apache.archiva.audit;
002
003/*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements.  See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership.  The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License.  You may obtain a copy of the License at
011 *
012 *   http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied.  See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022import org.apache.archiva.metadata.model.facets.AuditEvent;
023import org.apache.archiva.metadata.repository.MetadataRepository;
024import org.apache.archiva.metadata.repository.MetadataRepositoryException;
025
026import java.util.Collection;
027import java.util.Date;
028import java.util.List;
029
030public interface AuditManager
031{
032    List<AuditEvent> getMostRecentAuditEvents( MetadataRepository metadataRepository, List<String> repositoryIds )
033        throws MetadataRepositoryException;
034
035    void addAuditEvent( MetadataRepository repository, AuditEvent event )
036        throws MetadataRepositoryException;
037
038    void deleteAuditEvents( MetadataRepository metadataRepository, String repositoryId )
039        throws MetadataRepositoryException;
040
041    /**
042     * Get all audit events from the given repositories that match a certain range
043     *
044     * @param metadataRepository
045     * @param repositoryIds      the repositories to retrieve events for
046     * @param startTime          find events only after this time
047     * @param endTime            find events only before this time
048     * @return the list of events found
049     */
050    List<AuditEvent> getAuditEventsInRange( MetadataRepository metadataRepository, Collection<String> repositoryIds,
051                                            Date startTime, Date endTime )
052        throws MetadataRepositoryException;
053
054    /**
055     * Get all audit events from the given repositories that match a certain range and resource pattern
056     *
057     * @param metadataRepository
058     * @param repositoryIds      the repositories to retrieve events for
059     * @param resourcePattern    find all events whose resources start with this string
060     * @param startTime          find events only after this time
061     * @param endTime            find events only before this time
062     * @return the list of events found
063     */
064    List<AuditEvent> getAuditEventsInRange( MetadataRepository metadataRepository, Collection<String> repositoryIds,
065                                            String resourcePattern, Date startTime, Date endTime )
066        throws MetadataRepositoryException;
067}