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 2008/04/20 23:17:44 UTC

svn commit: r649980 - /cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java

Author: reinhard
Date: Sun Apr 20 14:17:27 2008
New Revision: 649980

URL: http://svn.apache.org/viewvc?rev=649980&view=rev
Log:
COCOON-2200
Enable explicit mime-type setting for FileReaderComponent in the sitemap. (patch by Steven Dolg)

Modified:
    cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java

Modified: cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java?rev=649980&r1=649979&r2=649980&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-core/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java Sun Apr 20 14:17:27 2008
@@ -30,6 +30,7 @@
 
 public class FileReaderComponent implements Starter, Finisher, CachingPipelineComponent {
 
+    private String mimeType;
     private OutputStream outputStream;
     private URL source;
 
@@ -93,10 +94,28 @@
     /**
      * {@inheritDoc}
      * 
+     * @see org.apache.cocoon.corona.pipeline.component.Finisher#getContentType()
+     */
+    public String getContentType() {
+        if (this.mimeType != null) {
+            return this.mimeType;
+        }
+
+        try {
+            return this.source.openConnection().getContentType();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
      * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
      */
-    public void setConfiguration(Map<String, ? extends Object> parameters) {
-        this.setSource((URL) parameters.get("source"));
+    public void setConfiguration(Map<String, ? extends Object> configuration) {
+        this.setSource((URL) configuration.get("source"));
+        this.setMimeType((String) configuration.get("mime-type"));
     }
 
     /**
@@ -107,6 +126,10 @@
     public void setInputParameters(Map<String, Object> parameters) {
     }
 
+    public void setMimeType(String mimeType) {
+        this.mimeType = mimeType;
+    }
+
     /**
      * {@inheritDoc}
      * 
@@ -128,13 +151,5 @@
     @Override
     public String toString() {
         return "ReaderComponent(" + this.source + ")";
-    }
-
-    public String getContentType() {
-        try {
-            return this.source.openConnection().getContentType();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
     }
 }