You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cd...@apache.org on 2012/11/23 01:01:58 UTC

svn commit: r1412722 - /cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java

Author: cdamioli
Date: Fri Nov 23 00:01:57 2012
New Revision: 1412722

URL: http://svn.apache.org/viewvc?rev=1412722&view=rev
Log:
COCOON-2290 Add a read method to the SitemapComponentTestCase 

Modified:
    cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java

Modified: cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java?rev=1412722&r1=1412721&r2=1412722&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/test/org/apache/cocoon/SitemapComponentTestCase.java Fri Nov 23 00:01:57 2012
@@ -48,6 +48,7 @@ import org.apache.cocoon.environment.moc
 import org.apache.cocoon.environment.mock.MockResponse;
 import org.apache.cocoon.generation.Generator;
 import org.apache.cocoon.matching.Matcher;
+import org.apache.cocoon.reading.Reader;
 import org.apache.cocoon.serialization.Serializer;
 import org.apache.cocoon.sitemap.PatternException;
 import org.apache.cocoon.transformation.Transformer;
@@ -449,6 +450,59 @@ public abstract class SitemapComponentTe
         return document.toByteArray();
     }
     
+    public final byte[] read(String type, Parameters parameters, String source) throws SAXException, IOException, ProcessingException {
+        ServiceSelector selector = null;
+        Reader reader = null;
+        SourceResolver resolver = null;
+        Source inputsource = null;
+
+        assertNotNull("Test for component manager", this.getManager());
+
+        ByteArrayOutputStream document = null;
+
+        try {
+            selector = (ServiceSelector) this.lookup(Reader.ROLE+
+                "Selector");
+            assertNotNull("Test lookup of serializer selector", selector);
+
+            resolver = (SourceResolver) this.lookup(SourceResolver.ROLE);
+            assertNotNull("Test lookup of source resolver", resolver);
+
+            assertNotNull("Test if reader name is not null", type);
+            reader = (Reader) selector.select(type);
+            assertNotNull("Test lookup of reader", reader);
+            
+            reader.setup(new SourceResolverAdapter(resolver, getManager()),
+                    this.getObjectModel(), source, parameters);
+
+            document = new ByteArrayOutputStream();
+            reader.setOutputStream(document);
+
+            reader.generate();
+        } catch (ServiceException ce) {
+            getLogger().error("Could not retrieve serializer", ce);
+            fail("Could not retrieve serializer:"+ce.toString());
+        } finally {
+            if (reader!=null) {
+                selector.release(reader);
+            }
+
+            if (selector!=null) {
+                this.release(selector);
+            }
+
+            if (inputsource!=null) {
+                resolver.release(inputsource);
+            }
+
+            if (resolver!=null) {
+                this.release(resolver);
+            }
+        }
+
+        return document.toByteArray();
+    }
+    
     public String callFunction(String type, String source, String function, Map params) throws Exception {
         
         redirector.reset();