You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/09/27 09:02:49 UTC

svn commit: r1001602 - in /sling/trunk/contrib/extensions/rewriter: ./ src/main/java/org/apache/sling/rewriter/ src/main/java/org/apache/sling/rewriter/impl/

Author: cziegeler
Date: Mon Sep 27 07:02:48 2010
New Revision: 1001602

URL: http://svn.apache.org/viewvc?rev=1001602&view=rev
Log:
Only finish pipeline if no error occured

Modified:
    sling/trunk/contrib/extensions/rewriter/pom.xml
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/Processor.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/PipelineImpl.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/ProcessorWrapper.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterFilter.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterResponse.java

Modified: sling/trunk/contrib/extensions/rewriter/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/pom.xml?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/pom.xml (original)
+++ sling/trunk/contrib/extensions/rewriter/pom.xml Mon Sep 27 07:02:48 2010
@@ -83,7 +83,7 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr.annotations</artifactId>
-            <version>1.2.0</version>
+            <version>1.3.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -101,7 +101,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.0.4-incubator</version>
+            <version>2.0.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/Processor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/Processor.java?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/Processor.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/Processor.java Mon Sep 27 07:02:48 2010
@@ -50,6 +50,7 @@ public interface Processor {
     /**
      * Clean up the processor.
      * This method should always be called after a processor run, regardless if it was successfull or failed.
+     * @param errorOcurred Indicates if an error occured during processing
      */
-    void finished() throws IOException;
+    void finished(boolean errorOccured) throws IOException;
 }

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/PipelineImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/PipelineImpl.java?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/PipelineImpl.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/PipelineImpl.java Mon Sep 27 07:02:48 2010
@@ -172,18 +172,21 @@ public class PipelineImpl implements Pro
     }
 
     /**
-     * @see org.apache.sling.rewriter.Processor#finished()
+     * @see org.apache.sling.rewriter.Processor#finished(boolean)
      */
-    public void finished() throws IOException {
+    public void finished(final boolean errorOccured) throws IOException {
         IOException ioe = null;
-        try {
-            this.generator.finished();
-        } catch (SAXException se) {
-            if ( se.getCause() != null && se.getCause() instanceof IOException ) {
-                ioe = (IOException)se.getCause();
-            } else {
-                ioe = new IOException("Pipeline exception: " + se.getMessage());
-                ioe.initCause(se);
+        // if an error occured, we only clean up
+        if ( !errorOccured ) {
+            try {
+                this.generator.finished();
+            } catch (SAXException se) {
+                if ( se.getCause() != null && se.getCause() instanceof IOException ) {
+                    ioe = (IOException)se.getCause();
+                } else {
+                    ioe = new IOException("Pipeline exception: " + se.getMessage());
+                    ioe.initCause(se);
+                }
             }
         }
         // now dispose component

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/ProcessorWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/ProcessorWrapper.java?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/ProcessorWrapper.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/ProcessorWrapper.java Mon Sep 27 07:02:48 2010
@@ -41,10 +41,10 @@ public class ProcessorWrapper implements
     }
 
     /**
-     * @see org.apache.sling.rewriter.Processor#finished()
+     * @see org.apache.sling.rewriter.Processor#finished(boolean)
      */
-    public void finished() throws IOException {
-        delegatee.finished();
+    public void finished(final boolean errorOccured) throws IOException {
+        delegatee.finished(errorOccured);
     }
 
     /**

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterFilter.java?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterFilter.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterFilter.java Mon Sep 27 07:02:48 2010
@@ -79,10 +79,12 @@ public class RewriterFilter implements F
 
         final RewriterResponse rewriterResponse =
                 new RewriterResponse(slingRequest, slingResponse, this.pipelineManager);
+        boolean errorOccured = true;
         try {
             chain.doFilter(request, rewriterResponse);
+            errorOccured = false;
         } finally {
-            rewriterResponse.finished();
+            rewriterResponse.finished(errorOccured);
         }
 	}
 }

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterResponse.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterResponse.java?rev=1001602&r1=1001601&r2=1001602&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterResponse.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/RewriterResponse.java Mon Sep 27 07:02:48 2010
@@ -127,9 +127,9 @@ class RewriterResponse
      * Inform this response that the request processing is finished.
      * @throws IOException
      */
-    public void finished() throws IOException {
+    public void finished(final boolean errorOccured) throws IOException {
         if ( this.processor != null ) {
-            this.processor.finished();
+            this.processor.finished(errorOccured);
             this.processor = null;
         }
     }