You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2012/06/26 18:23:17 UTC

svn commit: r1354095 - in /cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline: AbstractPipeline.java AsyncCachePipeline.java CachingPipeline.java Pipeline.java

Author: reinhard
Date: Tue Jun 26 16:23:16 2012
New Revision: 1354095

URL: http://svn.apache.org/viewvc?rev=1354095&view=rev
Log:
remove 'throws Exception' from the pipeline API
get rid of some warnings

Modified:
    cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AbstractPipeline.java
    cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AsyncCachePipeline.java
    cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/CachingPipeline.java
    cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/Pipeline.java

Modified: cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AbstractPipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AbstractPipeline.java?rev=1354095&r1=1354094&r2=1354095&view=diff
==============================================================================
--- cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AbstractPipeline.java (original)
+++ cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AbstractPipeline.java Tue Jun 26 16:23:16 2012
@@ -43,7 +43,7 @@ public abstract class AbstractPipeline<T
      */
     private static final Logger LOG =
             LoggerFactory.getLogger(AbstractPipeline.class);
-    
+
     private final LinkedList<T> components = new LinkedList<T>();
 
     private boolean setupDone;
@@ -53,6 +53,7 @@ public abstract class AbstractPipeline<T
      *
      * @see org.apache.cocoon.pipeline.Pipeline#addComponent(org.apache.cocoon.pipeline.component.PipelineComponent)
      */
+    @Override
     public void addComponent(T pipelineComponent) {
         if (this.setupDone) {
             throw new SetupException(new IllegalStateException(
@@ -71,7 +72,8 @@ public abstract class AbstractPipeline<T
      *
      * @see org.apache.cocoon.pipeline.Pipeline#execute()
      */
-    public void execute() throws Exception {
+    @Override
+    public void execute() {
         if (!this.setupDone) {
             throw new ProcessingException(new IllegalStateException(
                     "The pipeline wasn't setup correctly. Call #setup() first."));
@@ -85,10 +87,12 @@ public abstract class AbstractPipeline<T
      *
      * @see org.apache.cocoon.pipeline.Pipeline#getContentType()
      */
+    @Override
     public String getContentType() {
         return this.getFinisher().getContentType();
     }
 
+    @Override
     public long getLastModified() {
         return -1;
     }
@@ -98,6 +102,7 @@ public abstract class AbstractPipeline<T
      *
      * @see org.apache.cocoon.pipeline.Pipeline#setConfiguration(java.util.Map)
      */
+    @Override
     public void setConfiguration(Map<String, ? extends Object> parameters) {
         // do nothing
     }
@@ -108,6 +113,7 @@ public abstract class AbstractPipeline<T
      * @see org.apache.cocoon.pipeline.Pipeline#setup(java.io.OutputStream,
      *      java.util.Map)
      */
+    @Override
     public void setup(OutputStream outputStream) {
         this.setup(outputStream, null);
     }
@@ -118,6 +124,7 @@ public abstract class AbstractPipeline<T
      * @see org.apache.cocoon.pipeline.Pipeline#setup(java.io.OutputStream,
      *      java.util.Map)
      */
+    @Override
     public void setup(OutputStream outputStream, Map<String, Object> parameters) {
         if (outputStream == null) {
             throw new SetupException("An output stream must be passed.");

Modified: cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AsyncCachePipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AsyncCachePipeline.java?rev=1354095&r1=1354094&r2=1354095&view=diff
==============================================================================
--- cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AsyncCachePipeline.java (original)
+++ cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/AsyncCachePipeline.java Tue Jun 26 16:23:16 2012
@@ -19,6 +19,7 @@
 package org.apache.cocoon.pipeline;
 
 import java.io.ByteArrayOutputStream;
+import java.io.IOException;
 
 import org.apache.cocoon.pipeline.caching.CacheKey;
 import org.apache.cocoon.pipeline.caching.CacheRefreshJob;
@@ -39,11 +40,7 @@ import org.slf4j.LoggerFactory;
  */
 public class AsyncCachePipeline<T extends PipelineComponent> extends CachingPipeline<T> implements CacheRefreshJob {
 
-    /**
-     * Logger.
-     */
-    private static final Logger LOG =
-            LoggerFactory.getLogger(AsyncCachePipeline.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AsyncCachePipeline.class);
 
     /**
      * The component that does the refresh in a separate thread.
@@ -52,33 +49,38 @@ public class AsyncCachePipeline<T extend
 
     /**
      * {@inheritDoc}
+     * @throws IOException
      *
      * @see org.apache.cocoon.pipeline.CachingPipeline#execute()
      */
     @Override
-    public void execute() throws Exception {
+    public void execute() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Used cache: " + this.cache);
         }
 
         // construct the current cache key
-        this.cacheKey = this.constructCacheKey();
+        this.pipelineCacheKey = this.constructCacheKey();
 
         // check for a cached value first
-        CacheValue cachedValue = this.getCachedValue(this.cacheKey);
+        CacheValue cachedValue = this.getCachedValue(this.pipelineCacheKey);
         if (cachedValue != null) {
             // cached value found -> write it
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Write cache value to output stream: " + cachedValue);
             }
-            cachedValue.writeTo(this.cachingOutputStream.getOutputStream());
+            try {
+                cachedValue.writeTo(this.cachingOutputStream.getOutputStream());
+            } catch (IOException e) {
+                throw new ProcessingException("Error while writing the cached value to the output stream.", e);
+            }
 
             if (!this.isCacheKeyValid(cachedValue)) {
                 if (LOG.isDebugEnabled()) {
                     LOG.debug("Cached value is not up to date. Delegating to " + this.cacheRefreshManager);
                 }
                 // the cached value is not valid -> refresh the value
-                this.cacheRefreshManager.refreshCacheValue(this.cacheKey, this);
+                this.cacheRefreshManager.refreshCacheValue(this.pipelineCacheKey, this);
             }
             // stop here
             return;
@@ -87,8 +89,8 @@ public class AsyncCachePipeline<T extend
         // no cached value (not even an invalid one) was present -> execute the pipeline
         this.invokeStarter();
         // cache the result
-        CompleteCacheValue cacheValue = new CompleteCacheValue(this.cachingOutputStream.getContent(), this.cacheKey);
-        this.setCachedValue(this.cacheKey, cacheValue);
+        CompleteCacheValue cacheValue = new CompleteCacheValue(this.cachingOutputStream.getContent(), this.pipelineCacheKey);
+        this.setCachedValue(this.pipelineCacheKey, cacheValue);
     }
 
     public CacheRefreshManager getCacheRefreshManager() {
@@ -100,6 +102,7 @@ public class AsyncCachePipeline<T extend
      *
      * @see org.apache.cocoon.pipeline.caching.CacheRefreshJob#refresh(org.apache.cocoon.pipeline.caching.CacheKey)
      */
+    @Override
     public void refresh(CacheKey cacheKey) {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         this.getFinisher().setOutputStream(baos);

Modified: cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/CachingPipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/CachingPipeline.java?rev=1354095&r1=1354094&r2=1354095&view=diff
==============================================================================
--- cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/CachingPipeline.java (original)
+++ cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/CachingPipeline.java Tue Jun 26 16:23:16 2012
@@ -18,6 +18,7 @@
  */
 package org.apache.cocoon.pipeline;
 
+import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Serializable;
 import java.util.Map;
@@ -43,15 +44,11 @@ import org.slf4j.LoggerFactory;
  */
 public class CachingPipeline<T extends PipelineComponent> extends AbstractPipeline<T> {
 
-    /**
-     * Logger.
-     */
-    private static final Logger LOG =
-            LoggerFactory.getLogger(CachingPipeline.class);
-    
+    private static final Logger LOG = LoggerFactory.getLogger(CachingPipeline.class);
+
     protected Cache cache;
 
-    protected CacheKey cacheKey;
+    protected CacheKey pipelineCacheKey;
 
     protected CachingOutputStream cachingOutputStream;
 
@@ -62,7 +59,7 @@ public class CachingPipeline<T extends P
      * Expires pipelines that have non-cacheable pipeline components require an
      * explicit cache key
      */
-    private Serializable expiresCacheKey;
+    private Serializable pipelineExpiresCacheKey;
 
     private String jmxGroupName;
 
@@ -95,7 +92,7 @@ public class CachingPipeline<T extends P
                             + "but expires caching is activated)");
                 }
 
-                return new ExpiresCacheKey(new InvalidCacheKey(this.expiresCacheKey), this.expires);
+                return new ExpiresCacheKey(new InvalidCacheKey(this.pipelineExpiresCacheKey), this.expires);
             }
 
             // component does not support caching
@@ -125,20 +122,24 @@ public class CachingPipeline<T extends P
     }
 
     @Override
-    public void execute() throws Exception {
+    public void execute() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Used cache: " + this.cache);
         }
 
         // checked for a cached value first
-        CacheValue cachedValue = this.getCachedValue(this.cacheKey);
+        CacheValue cachedValue = this.getCachedValue(this.pipelineCacheKey);
         if (this.isCacheKeyValid(cachedValue)) {
             // cached value found
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Write cache value to output stream: " + cachedValue);
             }
 
-            cachedValue.writeTo(this.cachingOutputStream.getOutputStream());
+            try {
+                cachedValue.writeTo(this.cachingOutputStream.getOutputStream());
+            } catch (IOException e) {
+                throw new ProcessingException("Error while writing the cached value to the output stream.", e);
+            }
             return;
         }
 
@@ -146,12 +147,12 @@ public class CachingPipeline<T extends P
         this.invokeStarter();
 
         // cache the result
-        CompleteCacheValue cacheValue = new CompleteCacheValue(this.cachingOutputStream.getContent(), this.cacheKey);
-        this.setCachedValue(this.cacheKey, cacheValue);
+        CompleteCacheValue cacheValue = new CompleteCacheValue(this.cachingOutputStream.getContent(), this.pipelineCacheKey);
+        this.setCachedValue(this.pipelineCacheKey, cacheValue);
     }
 
     public CacheKey getCacheKey() {
-        return this.cacheKey;
+        return this.pipelineCacheKey;
     }
 
     public String getExpires() {
@@ -160,11 +161,11 @@ public class CachingPipeline<T extends P
 
     @Override
     public long getLastModified() {
-        if (this.cacheKey == null) {
+        if (this.pipelineCacheKey == null) {
             return -1;
         }
 
-        return this.cacheKey.getLastModified();
+        return this.pipelineCacheKey.getLastModified();
     }
 
     public void setCache(Cache cache) {
@@ -179,7 +180,7 @@ public class CachingPipeline<T extends P
     @Override
     public void setConfiguration(Map<String, ? extends Object> parameters) {
         this.expires = (String) parameters.get("expires");
-        this.expiresCacheKey = (Serializable) parameters.get("expires-cache-key");
+        this.pipelineExpiresCacheKey = (Serializable) parameters.get("expires-cache-key");
         this.jmxGroupName = (String) parameters.get("jmx-group-name");
 
         super.setConfiguration(parameters);
@@ -190,7 +191,7 @@ public class CachingPipeline<T extends P
     }
 
     public void setExpiresCacheKey(Serializable expiresCacheKey) {
-        this.expiresCacheKey = expiresCacheKey;
+        this.pipelineExpiresCacheKey = expiresCacheKey;
     }
 
     @Override
@@ -200,7 +201,7 @@ public class CachingPipeline<T extends P
 
         super.setup(this.cachingOutputStream, parameters);
 
-        this.cacheKey = this.constructCacheKey();
+        this.pipelineCacheKey = this.constructCacheKey();
     }
 
     protected CacheValue getCachedValue(CacheKey cacheKey) {
@@ -225,7 +226,7 @@ public class CachingPipeline<T extends P
     }
 
     protected boolean isCacheKeyValid(CacheValue cachedValue) {
-        return cachedValue != null && cachedValue.isValid(this.cacheKey);
+        return cachedValue != null && cachedValue.isValid(this.pipelineCacheKey);
     }
 
     protected void setCachedValue(CacheKey cacheKey, CacheValue cacheValue) {

Modified: cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/Pipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/Pipeline.java?rev=1354095&r1=1354094&r2=1354095&view=diff
==============================================================================
--- cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/Pipeline.java (original)
+++ cocoon/whiteboard/c3-pipeline-api-refactoring/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/Pipeline.java Tue Jun 26 16:23:16 2012
@@ -78,7 +78,7 @@ public interface Pipeline<T extends Pipe
      * @throws Exception Any problem that might occur while processing the
      *             pipeline.
      */
-    void execute() throws Exception;
+    void execute();
 
     /**
      * Get the mime-type {@linkref http://tools.ietf.org/html/rfc2046} of the