Return-Path: X-Original-To: apmail-archiva-commits-archive@www.apache.org Delivered-To: apmail-archiva-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A373E1047B for ; Fri, 15 Nov 2013 00:41:31 +0000 (UTC) Received: (qmail 18362 invoked by uid 500); 15 Nov 2013 00:41:31 -0000 Delivered-To: apmail-archiva-commits-archive@archiva.apache.org Received: (qmail 18331 invoked by uid 500); 15 Nov 2013 00:41:31 -0000 Mailing-List: contact commits-help@archiva.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@archiva.apache.org Delivered-To: mailing list commits@archiva.apache.org Received: (qmail 18324 invoked by uid 99); 15 Nov 2013 00:41:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Nov 2013 00:41:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Nov 2013 00:41:28 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 01F2223888E7; Fri, 15 Nov 2013 00:41:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1542140 - in /archiva/trunk/archiva-modules/archiva-base: archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/ Date: Fri, 15 Nov 2013 00:41:06 -0000 To: commits@archiva.apache.org From: olamy@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131115004107.01F2223888E7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olamy Date: Fri Nov 15 00:41:06 2013 New Revision: 1542140 URL: http://svn.apache.org/r1542140 Log: ignore files part of index directory when scanning Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ConsumerWantsFilePredicate.java archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryContentConsumers.java archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryScannerInstance.java Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ConsumerWantsFilePredicate.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ConsumerWantsFilePredicate.java?rev=1542140&r1=1542139&r2=1542140&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ConsumerWantsFilePredicate.java (original) +++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/archiva/consumers/functors/ConsumerWantsFilePredicate.java Fri Nov 15 00:41:06 2013 @@ -21,16 +21,18 @@ package org.apache.archiva.consumers.fun import java.util.List; +import org.apache.archiva.admin.model.beans.ManagedRepository; import org.apache.commons.collections.Predicate; import org.apache.commons.io.FilenameUtils; import org.apache.archiva.common.utils.BaseFile; import org.apache.archiva.consumers.RepositoryContentConsumer; +import org.apache.commons.lang.StringUtils; import org.apache.tools.ant.types.selectors.SelectorUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** - * ConsumerWantsFilePredicate - * - * + * ConsumerWantsFilePredicate */ public class ConsumerWantsFilePredicate implements Predicate @@ -43,6 +45,23 @@ public class ConsumerWantsFilePredicate private long changesSince = 0; + private ManagedRepository managedRepository; + + private Logger logger = LoggerFactory.getLogger( getClass() ); + + /** + * @deprecated use constructor with ManagedRepository + */ + public ConsumerWantsFilePredicate() + { + // no-op + } + + public ConsumerWantsFilePredicate( ManagedRepository managedRepository ) + { + this.managedRepository = managedRepository; + } + public boolean evaluate( Object object ) { boolean satisfies = false; @@ -53,7 +72,7 @@ public class ConsumerWantsFilePredicate if ( wantsFile( consumer, FilenameUtils.separatorsToUnix( basefile.getRelativePath() ) ) ) { satisfies = true; - + // regardless of the timestamp, we record that it was wanted so it doesn't get counted as invalid wantedFileCount++; @@ -114,6 +133,16 @@ public class ConsumerWantsFilePredicate } } + if ( managedRepository != null ) + { + String indexDirectory = managedRepository.getIndexDirectory(); + if ( StringUtils.startsWith( relativePath, indexDirectory ) ) + { + logger.debug( "ignore file {} part of the index directory {}", relativePath, indexDirectory ); + return false; + } + } + // Now test includes. for ( String pattern : consumer.getIncludes() ) { Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryContentConsumers.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryContentConsumers.java?rev=1542140&r1=1542139&r2=1542140&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryContentConsumers.java (original) +++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryContentConsumers.java Fri Nov 15 00:41:06 2013 @@ -283,7 +283,7 @@ public class RepositoryContentConsumers // yuck. In case you can't read this, it says // "process the file if the consumer has it in the includes list, and not in the excludes list" BaseFile baseFile = new BaseFile( repository.getLocation(), localFile ); - ConsumerWantsFilePredicate predicate = new ConsumerWantsFilePredicate(); + ConsumerWantsFilePredicate predicate = new ConsumerWantsFilePredicate( repository ); predicate.setBasefile( baseFile ); predicate.setCaseSensitive( false ); Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryScannerInstance.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryScannerInstance.java?rev=1542140&r1=1542139&r2=1542140&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryScannerInstance.java (original) +++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/RepositoryScannerInstance.java Fri Nov 15 00:41:06 2013 @@ -91,7 +91,7 @@ public class RepositoryScannerInstance consumerProcessFile.setConsumerTimings( consumerTimings ); consumerProcessFile.setConsumerCounts( consumerCounts ); - this.consumerWantsFile = new ConsumerWantsFilePredicate(); + this.consumerWantsFile = new ConsumerWantsFilePredicate( repository ); stats = new RepositoryScanStatistics(); stats.setRepositoryId( repository.getId() );