You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by il...@apache.org on 2013/03/04 13:28:01 UTC
svn commit: r1452275 - in /cocoon/branches/BRANCH_2_1_X: lib/ lib/optional/
misc/notes/ src/blocks/fop/java/org/apache/cocoon/components/
src/blocks/fop/java/org/apache/cocoon/components/renderer/
Author: ilgrosso
Date: Mon Mar 4 12:28:01 2013
New Revision: 1452275
URL: http://svn.apache.org/r1452275
Log:
[COCOON-2295] Back to FOP 1.0
Added:
cocoon/branches/BRANCH_2_1_X/lib/optional/fop-1.0.jar (with props)
cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/
cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/
cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java (with props)
cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java (with props)
Removed:
cocoon/branches/BRANCH_2_1_X/lib/optional/fop-1.1.jar
Modified:
cocoon/branches/BRANCH_2_1_X/lib/jars.xml
cocoon/branches/BRANCH_2_1_X/misc/notes/review-jars.txt
Modified: cocoon/branches/BRANCH_2_1_X/lib/jars.xml
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/lib/jars.xml?rev=1452275&r1=1452274&r2=1452275&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/lib/jars.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/lib/jars.xml Mon Mar 4 12:28:01 2013
@@ -447,7 +447,7 @@
the XSL recommendation and then turns it into a PDF document.
</description>
<used-by>FOP serializer (fop block)</used-by>
- <lib>optional/fop-1.1.jar</lib>
+ <lib>optional/fop-1.0.jar</lib>
<homepage>http://xml.apache.org/fop/</homepage>
</file>
Added: cocoon/branches/BRANCH_2_1_X/lib/optional/fop-1.0.jar
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/lib/optional/fop-1.0.jar?rev=1452275&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cocoon/branches/BRANCH_2_1_X/lib/optional/fop-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/jar
Modified: cocoon/branches/BRANCH_2_1_X/misc/notes/review-jars.txt
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/misc/notes/review-jars.txt?rev=1452275&r1=1452274&r2=1452275&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/misc/notes/review-jars.txt (original)
+++ cocoon/branches/BRANCH_2_1_X/misc/notes/review-jars.txt Mon Mar 4 12:28:01 2013
@@ -239,7 +239,7 @@ R: excalibur-datasource-2.1
L: lib/optional/fop-0.95.jar
F: C:
-R: fop-1.1 (J: 4)
+R: fop-1.0 (J: 4)
http://xmlgraphics.apache.org/fop/
U: Done.
Added: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java?rev=1452275&view=auto
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java (added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java Mon Mar 4 12:28:01 2013
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.renderer;
+
+import org.apache.fop.render.Renderer;
+import org.apache.fop.render.pcl.PCLRenderer;
+import org.apache.fop.render.pdf.PDFRenderer;
+import org.apache.fop.render.ps.PSRenderer;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * An extendable FOP Renderer factory.
+ * When given a MIME type, find a Renderer which supports that MIME
+ * type. This factory is extendable as new <code>Renderer</code>s can
+ * be added at runtime.
+ * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
+ * @version CVS $Id$
+ */
+public class ExtendableRendererFactory implements RendererFactory {
+
+ protected final static Map renderers = new HashMap();
+
+ protected final static RendererFactory singleton = new ExtendableRendererFactory();
+
+ private ExtendableRendererFactory() {
+ // Add the default renderers which come with Apache FOP.
+ addRenderer("application/pdf", PDFRenderer.class);
+ addRenderer("application/postscript", PSRenderer.class);
+ addRenderer("application/vnd.hp-PCL", PCLRenderer.class);
+ }
+
+ /**
+ * Get a reference to this Renderer Factory.
+ */
+ public final static RendererFactory getRendererFactoryImplementation() {
+ return singleton;
+ }
+
+ /**
+ * Create a renderer for a specified MIME type.
+ * @param mimeType The MIME type of the destination format
+ * @return A suitable renderer, or <code>null</code> if one cannot be found
+ */
+ public Renderer createRenderer(String mimeType) {
+ Class rendererClass = (Class)renderers.get(mimeType);
+ if (rendererClass == null) {
+ return null;
+ } else {
+ try {
+ return (Renderer)rendererClass.newInstance();
+ } catch (Exception ex) {
+ return null;
+ }
+ }
+ }
+
+ /**
+ * Add a mapping from the specified MIME type to a renderer.
+ * Note: The renderer must have a no-argument constructor.
+ * @param mimeType The MIME type of the Renderer
+ * @param rendererClass The <code>Class</code> object for the Renderer.
+ */
+ public void addRenderer(String mimeType, Class rendererClass) {
+ renderers.put(mimeType, rendererClass);
+ }
+
+ /**
+ * Remove the mapping from a specified MIME type.
+ * @param mimeType The MIME type to remove from the mapping.
+ */
+ public void removeRenderer(String mimeType) {
+ renderers.remove(mimeType);
+ }
+}
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/ExtendableRendererFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java?rev=1452275&view=auto
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java (added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java Mon Mar 4 12:28:01 2013
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.renderer;
+
+import org.apache.fop.render.Renderer;
+
+/**
+ * Apache FOP Renderer factory.
+ * When given a MIME type, find a Renderer which supports that MIME type.
+ * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
+ * @version CVS $Id$
+ */
+public interface RendererFactory {
+
+ /**
+ * Create a transcoder for a specified MIME type.
+ * @param mimeType The MIME type of the destination format
+ * @return A suitable renderer, or <code>null> if one cannot be found
+ */
+ Renderer createRenderer(String mimeType);
+}
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/fop/java/org/apache/cocoon/components/renderer/RendererFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain