You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ep...@apache.org on 2005/12/05 10:15:29 UTC

svn commit: r354028 - in /maven/repository-manager/trunk/maven-repository-reports-standard/src: main/java/org/apache/maven/repository/reporting/ test/java/org/apache/maven/repository/reporting/

Author: epunzalan
Date: Mon Dec  5 01:15:17 2005
New Revision: 354028

URL: http://svn.apache.org/viewcvs?rev=354028&view=rev
Log:
PR: MRM-2
Submitted by: John Tolentino

Added:
    maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java   (with props)
    maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java   (with props)
Modified:
    maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockArtifactReportProcessor.java

Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java?rev=354028&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java Mon Dec  5 01:15:17 2005
@@ -0,0 +1,104 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:jtolentino@mergere.com">John Tolentino</a>
+ */
+public class DefaultArtifactReporter
+    implements ArtifactReporter
+{
+    private List artifactFailures = new ArrayList();
+
+    private List artifactSuccesses = new ArrayList();
+
+    private List artifactWarnings = new ArrayList();
+
+    private List metadataFailures = new ArrayList();
+
+    private List metadataSuccesses = new ArrayList();
+
+    private List metadataWarnings = new ArrayList();
+
+    public void addFailure( Artifact artifact, String reason )
+    {
+        artifactFailures.add( new ArtifactResult( artifact, reason ) );
+    }
+
+    public void addSuccess( Artifact artifact )
+    {
+        artifactSuccesses.add( new ArtifactResult( artifact ) );
+    }
+
+    public void addWarning( Artifact artifact, String reason )
+    {
+        artifactWarnings.add( new ArtifactResult( artifact, reason ) );
+    }
+
+    public void addFailure( RepositoryMetadata metadata, String reason )
+    {
+        metadataFailures.add( new RepositoryMetadataResult( metadata, reason ) );
+    }
+
+    public void addSuccess( RepositoryMetadata metadata )
+    {
+        metadataSuccesses.add( new RepositoryMetadataResult( metadata ) );
+    }
+
+    public void addWarning( RepositoryMetadata metadata, String reason )
+    {
+        metadataWarnings.add( new RepositoryMetadataResult( metadata, reason ) );
+    }
+
+    public Iterator getArtifactFailureIterator()
+    {
+        return artifactFailures.iterator();
+    }
+
+    public Iterator getArtifactSuccessIterator()
+    {
+        return artifactSuccesses.iterator();
+    }
+
+    public Iterator getArtifactWarningIterator()
+    {
+        return artifactWarnings.iterator();
+    }
+
+    public Iterator getRepositoryMetadataFailureIterator()
+    {
+        return metadataFailures.iterator();
+    }
+
+    public Iterator getRepositoryMetadataSuccessIterator()
+    {
+        return metadataSuccesses.iterator();
+    }
+
+    public Iterator getRepositoryMetadataWarningIterator()
+    {
+        return metadataWarnings.iterator();
+    }
+}

Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultArtifactReporter.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java?rev=354028&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java Mon Dec  5 01:15:17 2005
@@ -0,0 +1,143 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
+import org.apache.maven.artifact.repository.metadata.Versioning;
+import org.apache.maven.model.Model;
+
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:jtolentino@mergere.com">John Tolentino</a>
+ */
+public class ArtifactReporterTest
+    extends AbstractRepositoryReportsTestCase
+{
+    protected ArtifactReporter reporter;
+    protected ArtifactFactory artifactFactory;
+    protected Artifact artifact;
+    protected MockArtifactReportProcessor processor;
+    protected Versioning versioning;
+    protected Model model;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        reporter = new DefaultArtifactReporter();
+        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+        artifact = artifactFactory.createBuildArtifact( "groupId", "artifactId", "1.0-alpha-1", "type" );
+        processor = new MockArtifactReportProcessor();
+        versioning = new Versioning();
+        versioning.addVersion( "1.0-alpha-1" );
+        versioning.setLastUpdated( "20050611.202020" );
+        model = new Model();
+    }
+
+    public void testArtifactReporterSingleSuccess()
+    {
+        processor.addReturnValue( ReportCondition.SUCCESS, artifact, "all is good" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator success = reporter.getArtifactSuccessIterator();
+        assertTrue( success.hasNext() );
+        success.next();
+        assertFalse( success.hasNext() );
+    }
+
+    public void testArtifactReporterMultipleSuccess()
+    {
+        processor.addReturnValue( ReportCondition.SUCCESS, artifact, "one" );
+        processor.addReturnValue( ReportCondition.SUCCESS, artifact, "two" );
+        processor.addReturnValue( ReportCondition.SUCCESS, artifact, "three" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator success = reporter.getArtifactSuccessIterator();
+        assertTrue( success.hasNext() );
+        int i;
+        for (i = 0; success.hasNext(); i++)
+        {
+            success.next();
+        }
+        assertTrue(i == 3);
+    }
+
+    public void testArtifactReporterSingleFailure()
+    {
+        processor.addReturnValue( ReportCondition.FAILURE, artifact, "failed once" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator failure = reporter.getArtifactFailureIterator();
+        assertTrue( failure.hasNext() );
+        failure.next();
+        assertFalse( failure.hasNext() );
+    }
+
+    public void testArtifactReporterMultipleFailure()
+    {
+        processor.addReturnValue( ReportCondition.FAILURE, artifact, "failed once" );
+        processor.addReturnValue( ReportCondition.FAILURE, artifact, "failed twice" );
+        processor.addReturnValue( ReportCondition.FAILURE, artifact, "failed thrice" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator failure = reporter.getArtifactFailureIterator();
+        assertTrue( failure.hasNext() );
+        int i;
+        for (i = 0; failure.hasNext(); i++)
+        {
+            failure.next();
+        }
+        assertTrue(i == 3);
+    }
+
+    public void testArtifactReporterSingleWarning()
+    {
+        processor.addReturnValue( ReportCondition.WARNING, artifact, "you've been warned" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator warning = reporter.getArtifactFailureIterator();
+        assertTrue( warning.hasNext() );
+        warning.next();
+        assertFalse( warning.hasNext() );
+    }
+
+    public void testArtifactReporterMultipleWarning()
+    {
+        processor.addReturnValue( ReportCondition.WARNING, artifact, "i'm warning you" );
+        processor.addReturnValue( ReportCondition.WARNING, artifact, "you have to stop now" );
+        processor.addReturnValue( ReportCondition.WARNING, artifact, "all right... that does it!" );
+        processor.processArtifact( model, artifact, reporter );
+        Iterator warning = reporter.getArtifactFailureIterator();
+        assertTrue( warning.hasNext() );
+        int i;
+        for (i = 0; warning.hasNext(); i++)
+        {
+            warning.next();
+        }
+        assertTrue(i == 3);
+    }
+
+    protected void tearDown()
+        throws Exception
+    {
+        versioning = null;
+        processor.clearList();
+        processor = null;
+        artifactFactory = null;
+        reporter = null;
+        super.tearDown();
+    }
+
+}

Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ArtifactReporterTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockArtifactReportProcessor.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockArtifactReportProcessor.java?rev=354028&r1=354027&r2=354028&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockArtifactReportProcessor.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockArtifactReportProcessor.java Mon Dec  5 01:15:17 2005
@@ -30,6 +30,7 @@
     implements ArtifactReportProcessor
 {
     private List reportConditions;
+
     private Iterator iterator;
 
     public MockArtifactReportProcessor()
@@ -43,23 +44,26 @@
         {
             iterator = reportConditions.iterator();
         }
-        if ( ! reportConditions.isEmpty() )
+        if ( !reportConditions.isEmpty() )
         {
-            ReportCondition reportCondition = (ReportCondition) iterator.next();
-            switch( reportCondition.getResult() )
+            while(iterator.hasNext())
             {
-                case ReportCondition.SUCCESS :
-                    {
-                        reporter.addSuccess( reportCondition.getArtifact() );
-                    }
-                case ReportCondition.WARNING :
-                    {
-                        reporter.addWarning( reportCondition.getArtifact(), reportCondition.getReason() );
-                    }
-                case ReportCondition.FAILURE :
-                    {
-                        reporter.addFailure( reportCondition.getArtifact(), reportCondition.getReason() );
-                    }
+                ReportCondition reportCondition = (ReportCondition) iterator.next();
+                switch ( reportCondition.getResult() )
+                {
+                    case ReportCondition.SUCCESS:
+                        {
+                            reporter.addSuccess( reportCondition.getArtifact() );
+                        }
+                    case ReportCondition.WARNING:
+                        {
+                            reporter.addWarning( reportCondition.getArtifact(), reportCondition.getReason() );
+                        }
+                    case ReportCondition.FAILURE:
+                        {
+                            reporter.addFailure( reportCondition.getArtifact(), reportCondition.getReason() );
+                        }
+                }
             }
         }
     }