From continuum-commits-return-2002-apmail-maven-continuum-commits-archive=maven.apache.org@maven.apache.org Sat Sep 02 13:38:01 2006 Return-Path: Delivered-To: apmail-maven-continuum-commits-archive@www.apache.org Received: (qmail 29926 invoked from network); 2 Sep 2006 13:38:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Sep 2006 13:38:01 -0000 Received: (qmail 9706 invoked by uid 500); 2 Sep 2006 13:38:01 -0000 Delivered-To: apmail-maven-continuum-commits-archive@maven.apache.org Received: (qmail 9676 invoked by uid 500); 2 Sep 2006 13:38:01 -0000 Mailing-List: contact continuum-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: continuum-dev@maven.apache.org Delivered-To: mailing list continuum-commits@maven.apache.org Received: (qmail 9665 invoked by uid 99); 2 Sep 2006 13:38:00 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Sep 2006 06:38:00 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Sep 2006 06:38:00 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 44C8B1A981A; Sat, 2 Sep 2006 06:37:40 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r439593 - /maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java Date: Sat, 02 Sep 2006 13:37:39 -0000 To: continuum-commits@maven.apache.org From: kenney@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060902133740.44C8B1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: kenney Date: Sat Sep 2 06:37:39 2006 New Revision: 439593 URL: http://svn.apache.org/viewvc?rev=439593&view=rev Log: Added some documentation Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java?rev=439593&r1=439592&r2=439593&view=diff ============================================================================== --- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java (original) +++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/evaluator/BuildProjectTaskViabilityEvaluator.java Sat Sep 2 06:37:39 2006 @@ -19,10 +19,10 @@ import org.apache.maven.continuum.buildqueue.BuildProjectTask; import org.apache.maven.continuum.project.ContinuumProjectState; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.taskqueue.TaskQueueException; import org.codehaus.plexus.taskqueue.TaskViabilityEvaluator; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -45,8 +45,19 @@ // TaskViabilityEvaluator Implementation // ---------------------------------------------------------------------- - public List evaluate( List tasks ) - throws TaskQueueException + /** + * Removes duplicate tasks from the list. A duplicate task is one with the same + * build definition and that's scheduled within the required build interval. + * + *

+ * ∀ t1, t2 ∈ tasks [ t1 ≠ t2 ∧ t2.buildDefinition = t2.buildDefinition]: + * if ( t2.timestamp - t1.timestamp < requiredBuildInterval ) remove( t2 ). + *

+ * + * @param tasks A list of queued tasks to evaluate + * @return a list of tasks with duplicates removed + */ + public Collection evaluate( Collection tasks ) { // ---------------------------------------------------------------------- // This code makes a Map with Lists with one list per project. For each