You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by rd...@apache.org on 2011/07/12 09:07:33 UTC

svn commit: r1145472 - in /incubator/rat/eye/trunk: org/apache/rat/eye/engine.py test/test_engine.py

Author: rdonkin
Date: Tue Jul 12 07:07:32 2011
New Revision: 1145472

URL: http://svn.apache.org/viewvc?rev=1145472&view=rev
Log:
Outlined pipeline

Modified:
    incubator/rat/eye/trunk/org/apache/rat/eye/engine.py
    incubator/rat/eye/trunk/test/test_engine.py

Modified: incubator/rat/eye/trunk/org/apache/rat/eye/engine.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/org/apache/rat/eye/engine.py?rev=1145472&r1=1145471&r2=1145472&view=diff
==============================================================================
--- incubator/rat/eye/trunk/org/apache/rat/eye/engine.py (original)
+++ incubator/rat/eye/trunk/org/apache/rat/eye/engine.py Tue Jul 12 07:07:32 2011
@@ -27,6 +27,15 @@ import os.path
 import zipfile
 
 #
+# High Level
+#
+
+def report(directory, checks, styles):
+    Reporter(styles).report(
+        Reviewer(checks).review(
+            AccumulativeScanner().scan().findings))
+
+#
 # Utilities
 #
 
@@ -234,6 +243,16 @@ class MetaInfReviewer():
         for review in self.reviews:
             review.reviewMetaInf(metainf)
     
+class Reporter():
+    """
+    Aggregates and renders reports.
+    """
+    def __init__(self, styles = []):
+        self.styles = styles
+        
+    def report(self, list):   
+        return [style.present(resource) for style in self.styles for resource in list]
+    
 class Reviewer():
     """
     Reviews artifacts.
@@ -246,7 +265,7 @@ class Reviewer():
             if (hasattr(item, "reportTo")):
                 for review in self.reviews:
                     item.reportTo(review)
-        return self
+        return list
     
 class Reports():
     """
@@ -343,3 +362,4 @@ class Jar(Artifact, ZipContainer):
         if (hasattr(reviewer, "reviewJar")):
             reviewer.reviewJar(self)
         return self
+

Modified: incubator/rat/eye/trunk/test/test_engine.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/test/test_engine.py?rev=1145472&r1=1145471&r2=1145472&view=diff
==============================================================================
--- incubator/rat/eye/trunk/test/test_engine.py (original)
+++ incubator/rat/eye/trunk/test/test_engine.py Tue Jul 12 07:07:32 2011
@@ -42,6 +42,13 @@ class AReviewer():
     def reviewArtifact(self, artifact):
         self.artifacts.append(artifact)
 
+class AStyle():
+    def __init__(self):
+        self.resources = []
+    
+    def present(self, resource):
+        self.resources.append(resource)
+
 class TestEngine(unittest.TestCase):
 
     def testSmoke(self):
@@ -244,14 +251,24 @@ class TestEngine(unittest.TestCase):
         
     def testReviewerSmokeOrChoke(self):
         engine.Reviewer([]).review([])
+        
+    def testReporterSmokeOrChoke(self):
+        engine.Reporter([]).report([])
     
     def testReviewerReview(self):
         aJar = engine.Jar(".", "whatever.jar")
-        subject = engine.Reviewer([AReviewer()]).review([aJar])
+        subject = engine.Reviewer([AReviewer()])
+        subject.review([aJar])
         self.assertEquals(subject.reviews[0].jars, [aJar])
         self.assertEquals(subject.reviews[0].dirs, [])
         self.assertEquals(subject.reviews[0].artifacts, [aJar])
         
+    def testReporterReport(self):
+        aJar = engine.Jar(".", "whatever.jar")
+        anotherJar = engine.Jar(".", "biff.jar")
+        styles = [AStyle(), AStyle()]
+        engine.Reporter(styles).report
+        
     def testMetaInfReviewerDoReviewJar(self):
         testSpy = AMetaInfReview()
         subject = engine.MetaInfReviewer([testSpy])