You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2010/11/19 19:52:12 UTC

svn commit: r1036979 [4/4] - in /xmlgraphics/fop/branches/Temp_ComplexScripts: ./ lib/ lib/build/ src/documentation/content/xdocs/trunk/ src/java/org/apache/fop/afp/ src/java/org/apache/fop/afp/apps/ src/java/org/apache/fop/afp/modca/ src/java/org/apac...

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java Fri Nov 19 18:52:09 2010
@@ -41,6 +41,7 @@ public class PDFName extends PDFObject {
         this.name = escapeName(name);
     }
 
+    private static final String ESCAPED_NAME_CHARS = "/()<>[]%#";
 
     /**
      * Escapes a PDF name. It adds the leading slash and escapes characters as necessary.
@@ -56,7 +57,8 @@ public class PDFName extends PDFObject {
         }
         for (int i = (skipFirst ? 1 : 0), c = name.length(); i < c; i++) {
             char ch = name.charAt(i);
-            if (ch < 33 || ch > 126 || ch == 0x2F) {
+
+            if (ch < 33 || ch > 126 || ESCAPED_NAME_CHARS.indexOf(ch) >= 0) {
                 sb.append('#');
                 toHex(ch, sb);
             } else {

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java Fri Nov 19 18:52:09 2010
@@ -42,7 +42,7 @@ import org.apache.commons.logging.LogFac
 public abstract class PDFObject implements PDFWritable {
 
     /** logger for all PDFObjects (and descendants) */
-    protected static Log log = LogFactory.getLog(PDFObject.class.getName());
+    protected static final Log log = LogFactory.getLog(PDFObject.class.getName());
 
     /**
      * the object's number

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java Fri Nov 19 18:52:09 2010
@@ -30,7 +30,7 @@ import org.apache.fop.apps.FOUserAgent;
  */
 public abstract class AbstractConfigurator {
     /** logger instance */
-    protected static Log log = LogFactory.getLog(AbstractConfigurator.class);
+    protected static final Log log = LogFactory.getLog(AbstractConfigurator.class);
 
     private static final String MIME = "mime";
     

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java Fri Nov 19 18:52:09 2010
@@ -79,7 +79,7 @@ public abstract class AbstractRenderer
          implements Renderer, Constants {
 
     /** logging instance */
-    protected static Log log = LogFactory.getLog("org.apache.fop.render");
+    protected static final Log log = LogFactory.getLog("org.apache.fop.render");
 
     /**
      * user agent

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java Fri Nov 19 18:52:09 2010
@@ -48,7 +48,7 @@ public class PrintRendererConfigurator e
             implements RendererConfigurator, IFDocumentHandlerConfigurator {
 
     /** logger instance */
-    protected static Log log = LogFactory.getLog(PrintRendererConfigurator.class);
+    protected static final Log log = LogFactory.getLog(PrintRendererConfigurator.class);
 
     /**
      * Default constructor

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java Fri Nov 19 18:52:09 2010
@@ -32,7 +32,7 @@ import org.apache.fop.apps.FOUserAgent;
 public class XMLHandlerConfigurator extends AbstractRendererConfigurator {
 
     /** logger instance */
-    protected static Log log = LogFactory.getLog(XMLHandlerConfigurator.class);
+    protected static final Log log = LogFactory.getLog(XMLHandlerConfigurator.class);
 
     /**
      * Default constructor

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java Fri Nov 19 18:52:09 2010
@@ -47,6 +47,7 @@ import org.apache.fop.render.afp.extensi
 import org.apache.fop.render.afp.extensions.AFPIncludeFormMap;
 import org.apache.fop.render.afp.extensions.AFPInvokeMediumMap;
 import org.apache.fop.render.afp.extensions.AFPPageOverlay;
+import org.apache.fop.render.afp.extensions.AFPPageSegmentElement;
 import org.apache.fop.render.afp.extensions.AFPPageSetup;
 import org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
@@ -76,8 +77,8 @@ public class AFPDocumentHandler extends 
     private DataStream dataStream;
 
     /** the map of page segments */
-    private Map/*<String,String>*/pageSegmentMap
-        = new java.util.HashMap/*<String,String>*/();
+    private Map/*<String,PageSegmentDescriptor>*/pageSegmentMap
+        = new java.util.HashMap/*<String,PageSegmentDescriptor>*/();
 
     /** Medium Map referenced on previous page **/
     private String lastMediumMap;
@@ -213,7 +214,6 @@ public class AFPDocumentHandler extends 
                 throws IFException {
         this.location = LOC_ELSEWHERE;
         paintingState.clear();
-        pageSegmentMap.clear();
 
         AffineTransform baseTransform = getBaseTransform();
         paintingState.concatenate(baseTransform);
@@ -288,9 +288,12 @@ public class AFPDocumentHandler extends 
                         null);
                 }
                 if (AFPElementMapping.INCLUDE_PAGE_SEGMENT.equals(element)) {
-                    String name = aps.getName();
-                    String source = aps.getValue();
-                    pageSegmentMap.put(source, name);
+                    AFPPageSegmentElement.AFPPageSegmentSetup apse
+                        = (AFPPageSegmentElement.AFPPageSegmentSetup)aps;
+                    String name = apse.getName();
+                    String source = apse.getValue();
+                    String uri = apse.getResourceSrc();
+                    pageSegmentMap.put(source, new PageSegmentDescriptor(name, uri));
                 } else if (AFPElementMapping.NO_OPERATION.equals(element)) {
                     String content = aps.getContent();
                     if (content != null) {
@@ -392,13 +395,13 @@ public class AFPDocumentHandler extends 
     }
 
     /**
-     * Returns the page segment name for a given URI if it actually represents a page segment.
+     * Returns the page segment descriptor for a given URI if it actually represents a page segment.
      * Otherwise, it just returns null.
      * @param uri the URI that identifies the page segment
-     * @return the page segment name or null if there's no page segment for the given URI
+     * @return the page segment descriptor or null if there's no page segment for the given URI
      */
-    String getPageSegmentNameFor(String uri) {
-        return (String)pageSegmentMap.get(uri);
+    PageSegmentDescriptor getPageSegmentNameFor(String uri) {
+        return (PageSegmentDescriptor)pageSegmentMap.get(uri);
     }
 
 }

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java Fri Nov 19 18:52:09 2010
@@ -26,6 +26,8 @@ import java.awt.Point;
 import java.awt.Rectangle;
 import java.awt.geom.AffineTransform;
 import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.Map;
 
 import org.w3c.dom.Document;
@@ -48,6 +50,8 @@ import org.apache.fop.afp.modca.Abstract
 import org.apache.fop.afp.modca.PresentationTextObject;
 import org.apache.fop.afp.ptoca.PtocaBuilder;
 import org.apache.fop.afp.ptoca.PtocaProducer;
+import org.apache.fop.afp.util.DefaultFOPResourceAccessor;
+import org.apache.fop.afp.util.ResourceAccessor;
 import org.apache.fop.fonts.Font;
 import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.fonts.FontTriplet;
@@ -184,14 +188,34 @@ public class AFPPainter extends Abstract
 
     /** {@inheritDoc} */
     public void drawImage(String uri, Rectangle rect) throws IFException {
-        String name = documentHandler.getPageSegmentNameFor(uri);
-        if (name != null) {
+        PageSegmentDescriptor pageSegment = documentHandler.getPageSegmentNameFor(uri);
+
+        if (pageSegment != null) {
             float[] srcPts = {rect.x, rect.y};
             int[] coords = unitConv.mpts2units(srcPts);
             int width = Math.round(unitConv.mpt2units(rect.width));
             int height = Math.round(unitConv.mpt2units(rect.height));
 
-            getDataStream().createIncludePageSegment(name, coords[X], coords[Y], width, height);
+            getDataStream().createIncludePageSegment(pageSegment.getName(),
+                    coords[X], coords[Y], width, height);
+
+            //Do we need to embed an external page segment?
+            if (pageSegment.getURI() != null) {
+                ResourceAccessor accessor = new DefaultFOPResourceAccessor (
+                        documentHandler.getUserAgent(), null, null);
+                try {
+                    URI resourceUri = new URI(pageSegment.getURI());
+                    documentHandler.getResourceManager().createIncludedResourceFromExternal(
+                            pageSegment.getName(), resourceUri, accessor);
+
+                } catch (URISyntaxException urie) {
+                    throw new IFException("Could not handle resource url"
+                            + pageSegment.getURI(), urie);
+                } catch (IOException ioe) {
+                    throw new IFException("Could not handle resource" + pageSegment.getURI(), ioe);
+                }
+            }
+
         } else {
             drawImageUsingURI(uri, rect);
         }

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java Fri Nov 19 18:52:09 2010
@@ -103,7 +103,7 @@ public class AFPElementMapping extends E
 
     static class AFPIncludePageSegmentMaker extends ElementMapping.Maker {
         public FONode make(FONode parent) {
-            return new AFPPageSetupElement(parent, INCLUDE_PAGE_SEGMENT);
+            return new AFPPageSegmentElement(parent, INCLUDE_PAGE_SEGMENT);
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java Fri Nov 19 18:52:09 2010
@@ -24,11 +24,13 @@ import java.net.URISyntaxException;
 
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
 import org.xml.sax.helpers.DefaultHandler;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import org.apache.fop.render.afp.extensions.AFPPageSegmentElement.AFPPageSegmentSetup;
 import org.apache.fop.util.ContentHandlerFactory;
 import org.apache.fop.util.ContentHandlerFactory.ObjectBuiltListener;
 
@@ -39,7 +41,7 @@ public class AFPExtensionHandler extends
             implements ContentHandlerFactory.ObjectSource {
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(AFPExtensionHandler.class);
+    protected static final Log log = LogFactory.getLog(AFPExtensionHandler.class);
 
     private StringBuffer content = new StringBuffer();
     private Attributes lastAttributes;
@@ -52,7 +54,7 @@ public class AFPExtensionHandler extends
                 throws SAXException {
         boolean handled = false;
         if (AFPExtensionAttachment.CATEGORY.equals(uri)) {
-            lastAttributes = attributes;
+            lastAttributes = new AttributesImpl(attributes);
             handled = true;
             if (localName.equals(AFPElementMapping.NO_OPERATION)
                     || localName.equals(AFPElementMapping.TAG_LOGICAL_ELEMENT)
@@ -96,6 +98,30 @@ public class AFPExtensionHandler extends
                 if (name != null) {
                     returnedObject.setName(name);
                 }
+            } else if (AFPElementMapping.INCLUDE_PAGE_SEGMENT.equals(localName)) {
+                AFPPageSegmentSetup pageSetupExtn = null;
+
+                pageSetupExtn = new AFPPageSegmentSetup(localName);
+                this.returnedObject = pageSetupExtn;
+
+                String name = lastAttributes.getValue("name");
+                if (name != null) {
+                    returnedObject.setName(name);
+                }
+                String value = lastAttributes.getValue("value");
+                if (value != null && pageSetupExtn != null) {
+                    pageSetupExtn.setValue(value);
+                }
+
+                String resourceSrc = lastAttributes.getValue("resource-file");
+                if (resourceSrc != null && pageSetupExtn != null) {
+                    pageSetupExtn.setResourceSrc(resourceSrc);
+                }
+
+                if (content.length() > 0 && pageSetupExtn != null) {
+                    pageSetupExtn.setContent(content.toString());
+                    content.setLength(0); //Reset text buffer (see characters())
+                }
             } else {
                 AFPPageSetup pageSetupExtn = null;
                 if (AFPElementMapping.INVOKE_MEDIUM_MAP.equals(localName)) {
@@ -117,6 +143,7 @@ public class AFPExtensionHandler extends
                     content.setLength(0); //Reset text buffer (see characters())
                 }
             }
+
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java Fri Nov 19 18:52:09 2010
@@ -27,6 +27,8 @@ import java.util.EventObject;
  */
 public class PageChangeEvent extends EventObject {
 
+    private static final long serialVersionUID = -5969283475959932887L;
+
     private int oldPage;
     private int newPage;
 

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java Fri Nov 19 18:52:09 2010
@@ -31,6 +31,7 @@ import java.awt.image.SinglePixelPackedS
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Iterator;
+import java.util.NoSuchElementException;
 
 import org.apache.commons.logging.Log;
 
@@ -133,7 +134,11 @@ public class TIFFRenderer extends Java2D
                 multiWriter.close();
             }
         } else {
-            writer.writeImage((RenderedImage) pageImagesItr.next(), outputStream, writerParams);
+            RenderedImage renderedImage = null;
+            if (pageImagesItr.hasNext()) {
+                renderedImage = (RenderedImage) pageImagesItr.next();
+            }
+            writer.writeImage(renderedImage, outputStream, writerParams);
             if (pageImagesItr.hasNext()) {
                 BitmapRendererEventProducer eventProducer
                     = BitmapRendererEventProducer.Provider.get(
@@ -186,8 +191,7 @@ public class TIFFRenderer extends Java2D
             try {
                 pageImage = getPageImage(current++);
             } catch (FOPException e) {
-                log.error(e);
-                return null;
+                throw new NoSuchElementException(e.getMessage());
             }
 
             if (COMPRESSION_CCITT_T4.equalsIgnoreCase(writerParams.getCompressionMethod())

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java Fri Nov 19 18:52:09 2010
@@ -71,7 +71,7 @@ import org.apache.fop.util.XMLUtil;
 public class IFParser implements IFConstants {
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(IFParser.class);
+    protected static final Log log = LogFactory.getLog(IFParser.class);
 
     private static SAXTransformerFactory tFactory
         = (SAXTransformerFactory)SAXTransformerFactory.newInstance();

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java Fri Nov 19 18:52:09 2010
@@ -111,7 +111,7 @@ public class IFRenderer extends Abstract
     //if optimizations can be done to avoid int->float->int conversions.
 
     /** logging instance */
-    protected static Log log = LogFactory.getLog(IFRenderer.class);
+    protected static final Log log = LogFactory.getLog(IFRenderer.class);
 
     /** XML MIME type */
     public static final String IF_MIME_TYPE = MimeConstants.MIME_FOP_IF;

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java Fri Nov 19 18:52:09 2010
@@ -41,7 +41,7 @@ public class DocumentNavigationHandler e
         implements DocumentNavigationExtensionConstants {
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(DocumentNavigationHandler.class);
+    protected static final Log log = LogFactory.getLog(DocumentNavigationHandler.class);
 
     private StringBuffer content = new StringBuffer();
     private Stack objectStack = new Stack();

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java Fri Nov 19 18:52:09 2010
@@ -19,7 +19,6 @@
 
 package org.apache.fop.render.intermediate.util;
 
-
 import java.awt.Dimension;
 
 import javax.xml.transform.Source;
@@ -39,12 +38,17 @@ import org.apache.fop.render.intermediat
  * <p>
  * Note: This class will filter/ignore any document navigation events. Support for this may be
  * added later.
+ * <p>
+ * Note: document-level extensions will only be transferred from the first document passed in.
+ * If you need to merge extensions from all the concatenated documents, you may have to merge
+ * these manually on the XML level, for example using XSLT.
  */
 public class IFConcatenator {
 
     private IFDocumentHandler targetHandler;
 
     private int nextPageIndex = 0;
+    private boolean inFirstDocument = true;
 
     /**
      * Creates a new IF concatenator.
@@ -163,14 +167,17 @@ public class IFConcatenator {
         /** {@inheritDoc} */
         public void endDocument() throws IFException {
             //ignore
+            inFirstDocument = false;
         }
 
         /** {@inheritDoc} */
         public void handleExtensionObject(Object extension) throws IFException {
-            if (inPageSequence) {
+            if (inPageSequence || inFirstDocument) {
                 //Only pass through when inside page-sequence
+                //or for the first document (for document-level extensions).
                 super.handleExtensionObject(extension);
             }
+            //Note:Extensions from non-first documents are ignored!
         }
 
         /** {@inheritDoc} */

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java Fri Nov 19 18:52:09 2010
@@ -21,6 +21,7 @@ package org.apache.fop.render.pdf.extens
 
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
 import org.xml.sax.helpers.DefaultHandler;
 
 import org.apache.commons.logging.Log;
@@ -36,7 +37,7 @@ public class PDFExtensionHandler extends
             implements ContentHandlerFactory.ObjectSource {
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(PDFExtensionHandler.class);
+    protected static final Log log = LogFactory.getLog(PDFExtensionHandler.class);
 
     private Attributes lastAttributes;
 
@@ -48,7 +49,7 @@ public class PDFExtensionHandler extends
                 throws SAXException {
         boolean handled = false;
         if (PDFExtensionAttachment.CATEGORY.equals(uri)) {
-            lastAttributes = attributes;
+            lastAttributes = new AttributesImpl(attributes);
             handled = false;
             if (localName.equals(PDFEmbeddedFileExtensionAttachment.ELEMENT)) {
                 //handled in endElement

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java Fri Nov 19 18:52:09 2010
@@ -54,7 +54,7 @@ import org.apache.fop.fonts.Typeface;
 public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils {
 
     /** logging instance */
-    protected static Log log = LogFactory.getLog(PSFontUtils.class);
+    protected static final Log log = LogFactory.getLog(PSFontUtils.class);
 
     /**
      * Generates the PostScript code for the font dictionary. This method should only be

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java Fri Nov 19 18:52:09 2010
@@ -21,6 +21,7 @@ package org.apache.fop.render.ps.extensi
 
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
 import org.xml.sax.helpers.DefaultHandler;
 
 import org.apache.commons.logging.Log;
@@ -36,7 +37,7 @@ public class PSExtensionHandler extends 
             implements ContentHandlerFactory.ObjectSource {
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(PSExtensionHandler.class);
+    protected static final Log log = LogFactory.getLog(PSExtensionHandler.class);
 
     private StringBuffer content = new StringBuffer();
     private Attributes lastAttributes;
@@ -49,7 +50,7 @@ public class PSExtensionHandler extends 
                 throws SAXException {
         boolean handled = false;
         if (PSExtensionAttachment.CATEGORY.equals(uri)) {
-            lastAttributes = attributes;
+            lastAttributes = new AttributesImpl(attributes);
             handled = false;
             if (localName.equals(PSSetupCode.ELEMENT)
                     || localName.equals(PSSetPageDevice.ELEMENT)

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java Fri Nov 19 18:52:09 2010
@@ -80,11 +80,11 @@ import org.apache.fop.fo.flow.PageNumber
 import org.apache.fop.fo.flow.PageNumberCitation;
 import org.apache.fop.fo.flow.table.Table;
 import org.apache.fop.fo.flow.table.TableBody;
-import org.apache.fop.fo.flow.table.TableFooter;
-import org.apache.fop.fo.flow.table.TablePart;
 import org.apache.fop.fo.flow.table.TableCell;
 import org.apache.fop.fo.flow.table.TableColumn;
+import org.apache.fop.fo.flow.table.TableFooter;
 import org.apache.fop.fo.flow.table.TableHeader;
+import org.apache.fop.fo.flow.table.TablePart;
 import org.apache.fop.fo.flow.table.TableRow;
 import org.apache.fop.fo.pagination.Flow;
 import org.apache.fop.fo.pagination.PageSequence;
@@ -436,7 +436,8 @@ public class RTFHandler extends FOEventH
             RtfTextrun textrun = container.getTextrun();
 
             textrun.addParagraphBreak();
-            textrun.popBlockAttributes();
+            int breakValue = toRtfBreakValue(bl.getBreakAfter());
+            textrun.popBlockAttributes(breakValue);
 
         } catch (IOException ioe) {
             handleIOTrouble(ioe);
@@ -488,7 +489,8 @@ public class RTFHandler extends FOEventH
             RtfTextrun textrun = container.getTextrun();
 
             textrun.addParagraphBreak();
-            textrun.popBlockAttributes();
+            int breakValue = toRtfBreakValue(bl.getBreakAfter());
+            textrun.popBlockAttributes(breakValue);
 
         } catch (IOException ioe) {
             handleIOTrouble(ioe);
@@ -498,6 +500,21 @@ public class RTFHandler extends FOEventH
         }
     }
 
+    private int toRtfBreakValue(int foBreakValue) {
+        switch (foBreakValue) {
+        case Constants.EN_PAGE:
+            return RtfTextrun.BREAK_PAGE;
+        case Constants.EN_EVEN_PAGE:
+            return RtfTextrun.BREAK_EVEN_PAGE;
+        case Constants.EN_ODD_PAGE:
+            return RtfTextrun.BREAK_ODD_PAGE;
+        case Constants.EN_COLUMN:
+            return RtfTextrun.BREAK_COLUMN;
+        default:
+            return RtfTextrun.BREAK_NONE;
+        }
+    }
+
     /** {@inheritDoc} */
     public void startTable(Table tbl) {
         if (bDefer) {

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java Fri Nov 19 18:52:09 2010
@@ -35,6 +35,7 @@ import org.apache.fop.fo.flow.BlockConta
 import org.apache.fop.fo.flow.Inline;
 import org.apache.fop.fo.flow.Leader;
 import org.apache.fop.fo.flow.PageNumber;
+import org.apache.fop.fo.flow.table.TableCell;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
 import org.apache.fop.fo.properties.CommonFont;
 import org.apache.fop.fo.properties.CommonMarginBlock;
@@ -80,10 +81,48 @@ final class TextAttributesConverter {
         attrBlockMargin(fobj.getCommonMarginBlock(), attrib);
         attrBlockTextAlign(fobj.getTextAlign(), attrib);
         attrBorder(fobj.getCommonBorderPaddingBackground(), attrib, fobj);
+        attrBreak(fobj, attrib);
 
         return attrib;
     }
 
+    private static void attrBreak(Block fobj, FOPRtfAttributes attrib) {
+        int breakValue = fobj.getBreakBefore();
+        if (breakValue != Constants.EN_AUTO) {
+            //"sect" Creates a new section and a page break,
+            //a simple page break with control word "page" caused
+            //some problems
+            boolean bHasTableCellParent = false;
+            FONode f = fobj;
+            while (f.getParent() != null) {
+                f = f.getParent();
+                if (f instanceof TableCell) {
+                    bHasTableCellParent = true;
+                    break;
+                }
+            }
+            if (!bHasTableCellParent) {
+                attrib.set("sect");
+                switch (breakValue) {
+                case Constants.EN_EVEN_PAGE:
+                    attrib.set("sbkeven");
+                    break;
+                case Constants.EN_ODD_PAGE:
+                    attrib.set("sbkodd");
+                    break;
+                case Constants.EN_COLUMN:
+                    attrib.set("sbkcol");
+                    break;
+                default:
+                    attrib.set("sbkpage");
+                }
+            } else {
+                log.warn("Cannot create break-before for a block inside a table.");
+            }
+        }
+        //Break after is handled in RtfCloseGroupMark
+    }
+
     /**
      * Converts all known text FO properties to RtfAttributes
      * @param fobj FObj whose properties are to be converted

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java Fri Nov 19 18:52:09 2010
@@ -37,24 +37,11 @@ public final class ParagraphKeeptogether
 
     private static int paraKeepTogetherOpen = 0;
     private static boolean paraResetProperties = false;
-    private static ParagraphKeeptogetherContext instance = null;
 
     private ParagraphKeeptogetherContext() {
     }
 
     /**
-     * Singelton.
-     *
-     * @return The instance of ParagraphKeeptogetherContext
-     */
-    public static ParagraphKeeptogetherContext getInstance() {
-        if (instance == null) {
-            instance = new ParagraphKeeptogetherContext();
-        }
-        return instance;
-    }
-
-    /**
      *  @return the level of current "keep whith next" paragraph
      */
     public static int getKeepTogetherOpenValue() {

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java Fri Nov 19 18:52:09 2010
@@ -39,14 +39,12 @@ public class RtfJforCmd extends RtfConta
     private static final String PARA_KEEP_OFF = "para-keep:off";
 
     private final RtfAttributes attrib;
-    private ParagraphKeeptogetherContext paragraphKeeptogetherContext;
 
 
 
     RtfJforCmd(RtfContainer parent, Writer w, RtfAttributes attrs) throws IOException {
         super((RtfContainer)parent, w);
         attrib = attrs;
-        paragraphKeeptogetherContext = ParagraphKeeptogetherContext.getInstance();
     }
 
 

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java Fri Nov 19 18:52:09 2010
@@ -25,9 +25,10 @@ import java.io.Writer;
 import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
+import java.util.Stack;
 
-// FOP
-import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * Class which contains a linear text run. It has methods to add attributes,
@@ -35,9 +36,26 @@ import org.apache.fop.render.rtf.rtflib.
  * @author Peter Herweg, pherweg@web.de
  */
 public class RtfTextrun extends RtfContainer {
+
+    /** Constant for no page break */
+    public static final int BREAK_NONE = 0;
+    /** Constant for a normal page break */
+    public static final int BREAK_PAGE = 1;
+    /** Constant for a column break */
+    public static final int BREAK_COLUMN = 2;
+    /** Constant for a even page break */
+    public static final int BREAK_EVEN_PAGE = 3;
+    /** Constant for a odd page break */
+    public static final int BREAK_ODD_PAGE = 4;
+
     private boolean bSuppressLastPar = false;
     private RtfListItem rtfListItem;
 
+    /**
+     * logging instance
+     */
+    protected static final Log log = LogFactory.getLog(RtfTextrun.class);
+
     /** Manager for handling space-* property. */
     private RtfSpaceManager rtfSpaceManager = new RtfSpaceManager();
 
@@ -68,10 +86,12 @@ public class RtfTextrun extends RtfConta
 
     /**  Class which represents the closing of a RTF group mark.*/
     private class RtfCloseGroupMark extends RtfElement {
+        private int breakType = BREAK_NONE;
 
-        RtfCloseGroupMark(RtfContainer parent, Writer w)
-                throws IOException {
+        RtfCloseGroupMark(RtfContainer parent, Writer w, int breakType)
+                  throws IOException {
             super(parent, w);
+            this.breakType = breakType;
         }
 
         /**
@@ -82,11 +102,44 @@ public class RtfTextrun extends RtfConta
         }
 
         /**
-         * write RTF code of all our children
+         * Returns the break type.
+         * @return the break type (BREAK_* constants)
+         */
+        public int getBreakType() {
+            return breakType;
+        }
+
+        /**
+         * Write RTF code of all our children.
          * @throws IOException for I/O problems
          */
         protected void writeRtfContent() throws IOException {
             writeGroupMark(false);
+            boolean bHasTableCellParent = this.getParentOfClass(RtfTableCell.class) != null;
+
+            //Unknown behavior when a table starts a new section,
+            //Word may crash
+            if (breakType != BREAK_NONE) {
+                if (!bHasTableCellParent) {
+                    writeControlWord("sect");
+                    /* The following modifiers don't seem to appear in the right place */
+                    switch (breakType) {
+                    case BREAK_EVEN_PAGE:
+                        writeControlWord("sbkeven");
+                        break;
+                    case BREAK_ODD_PAGE:
+                        writeControlWord("sbkodd");
+                        break;
+                    case BREAK_COLUMN:
+                        writeControlWord("sbkcol");
+                        break;
+                    default:
+                        writeControlWord("sbkpage");
+                    }
+                } else {
+                    log.warn("Cannot create break-after for a paragraph inside a table.");
+                }
+            }
         }
     }
 
@@ -135,8 +188,18 @@ public class RtfTextrun extends RtfConta
      *
      * @throws IOException for I/O problems
      */
+    private void addCloseGroupMark(int breakType) throws IOException {
+        RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer, breakType);
+    }
+
+    /**
+     * Adds instance of <code>CloseGroupMark</code> as a child, but without a break option.
+     * Inline attributes do not need that for example
+     *
+     * @throws IOException for I/O problems
+     */
     private void addCloseGroupMark() throws IOException {
-        RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer);
+        RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer, BREAK_NONE);
     }
 
     /**
@@ -155,14 +218,14 @@ public class RtfTextrun extends RtfConta
     /**
      * Pops block attributes, notifies all opened blocks about pushing block
      * attributes, adds <code>CloseGroupMark</code> as a child.
-     *
+     * @param breakType the break type
      * @throws IOException for I/O problems
      */
-    public void popBlockAttributes() throws IOException {
-        rtfSpaceManager.popRtfSpaceSplitter();
-        rtfSpaceManager.stopUpdatingSpaceBefore();
-        addCloseGroupMark();
-    }
+    public void popBlockAttributes(int breakType) throws IOException {
+      rtfSpaceManager.popRtfSpaceSplitter();
+      rtfSpaceManager.stopUpdatingSpaceBefore();
+      addCloseGroupMark(breakType);
+  }
 
     /**
      * Pushes inline attributes.
@@ -208,7 +271,6 @@ public class RtfTextrun extends RtfConta
         //add RtfSpaceSplitter to inherit accumulated space
         rtfSpaceManager.pushRtfSpaceSplitter(attrs);
         rtfSpaceManager.setCandidate(attrs);
-        RtfString r = new RtfString(this, writer, s);
         rtfSpaceManager.popRtfSpaceSplitter();
     }
 
@@ -228,28 +290,30 @@ public class RtfTextrun extends RtfConta
      * @throws IOException  for I/O problems
      */
     public void addParagraphBreak() throws IOException {
-        // get copy of children list
-        List children = getChildren();
-
-        // delete all previous CloseGroupMark
-        int deletedCloseGroupCount = 0;
-
-        ListIterator lit = children.listIterator(children.size());
-        while (lit.hasPrevious()
-                && (lit.previous() instanceof RtfCloseGroupMark)) {
-            lit.remove();
-            deletedCloseGroupCount++;
-        }
-
-        if (children.size() != 0) {
-            // add paragraph break and restore all deleted close group marks
-            setChildren(children);
-            new RtfParagraphBreak(this, writer);
-            for (int i = 0; i < deletedCloseGroupCount; i++) {
-                addCloseGroupMark();
-            }
-        }
-    }
+      // get copy of children list
+      List children = getChildren();
+      Stack tmp = new Stack();
+
+      // delete all previous CloseGroupMark
+      int deletedCloseGroupCount = 0;
+
+      ListIterator lit = children.listIterator(children.size());
+      while (lit.hasPrevious()
+              && (lit.previous() instanceof RtfCloseGroupMark)) {
+          tmp.push(Integer.valueOf(((RtfCloseGroupMark)lit.next()).getBreakType()));
+          lit.remove();
+          deletedCloseGroupCount++;
+      }
+
+      if (children.size() != 0) {
+          // add paragraph break and restore all deleted close group marks
+          setChildren(children);
+          new RtfParagraphBreak(this, writer);
+          for (int i = 0; i < deletedCloseGroupCount; i++) {
+              addCloseGroupMark(((Integer)tmp.pop()).intValue());
+          }
+      }
+  }
 
     /**
      * Inserts a leader.

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java Fri Nov 19 18:52:09 2010
@@ -61,6 +61,8 @@ import org.apache.fop.apps.MimeConstants
  */
 public class FopPrintServlet extends FopServlet {
 
+    private static final long serialVersionUID = 1645706757391617935L;
+
     /**
      * {@inheritDoc}
      */

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java Fri Nov 19 18:52:09 2010
@@ -70,6 +70,8 @@ import org.apache.fop.apps.MimeConstants
  */
 public class FopServlet extends HttpServlet {
 
+    private static final long serialVersionUID = -908918093488215264L;
+
     /** Name of the parameter used for the XSL-FO file */
     protected static final String FO_REQUEST_PARAM = "fo";
     /** Name of the parameter used for the XML file */

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java Fri Nov 19 18:52:09 2010
@@ -256,6 +256,7 @@ public class PDFDocumentGraphics2D exten
         if (!pdfContext.isPagePending()) {
             return; //ignore
         }
+        currentStream.write("Q\n");
         //Finish page
         PDFStream pdfStream = this.pdfDoc.getFactory().makeStream(
                 PDFFilterList.CONTENT_FILTER, false);
@@ -321,6 +322,7 @@ public class PDFDocumentGraphics2D exten
         pdfContext.setCurrentPage(page);
         pageRef = page.referencePDF();
 
+        currentStream.write("q\n");
         AffineTransform at = new AffineTransform(1.0, 0.0, 0.0, -1.0,
                                                  0.0, height);
         currentStream.write("1 0 0 -1 0 " + height + " cm\n");

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java Fri Nov 19 18:52:09 2010
@@ -34,6 +34,8 @@ import org.apache.fop.util.ColorUtil;
  */
 public class BorderProps implements Serializable {
 
+    private static final long serialVersionUID = -886871454032189183L;
+
     /** Separate border model */
     public static final int SEPARATE = 0;
     /** Collapsing border model, for borders inside a table */

Propchange: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorExt.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov 19 18:52:09 2010
@@ -2,4 +2,4 @@
 /xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/util/ColorExt.java:745924-830281
 /xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/util/ColorExt.java:603620-746655
 /xmlgraphics/fop/branches/fop-0_95/src/java/org/apache/fop/util/ColorExt.java:684572,688085,688696
-/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorExt.java:981451-1004917
+/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorExt.java:981451-1036883

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java Fri Nov 19 18:52:09 2010
@@ -53,7 +53,7 @@ public final class ColorUtil {
     private static Map colorMap = null;
 
     /** Logger instance */
-    protected static Log log = LogFactory.getLog(ColorUtil.class);
+    protected static final Log log = LogFactory.getLog(ColorUtil.class);
 
     static {
         initializeColorMap();

Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml?rev=1036979&r1=1036978&r2=1036979&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml (original)
+++ xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml Fri Nov 19 18:52:09 2010
@@ -58,6 +58,12 @@
       documents. Example: the fix of marks layering will be such a case when it's done.
     -->
     <release version="FOP Trunk" date="TBD">
+      <action context="Renderers" dev="JM" type="add" fixes-bug="42600" due-to="Maximilian Aster">
+        Added some support for break-before/-after for RTF output.
+      </action>
+      <action context="Renderers" dev="JM" type="add" fixes-bug="49379" due-to="Peter Hancock">
+        Added ability to embed an external AFP page segment resource file (AFP output only).
+      </action>
       <action context="Renderers" dev="JM" type="fix" fixes-bug="46360" due-to="Alexis Giotis">
         Fixed a multi-threading issue when rendering SVG.
       </action>
@@ -401,6 +407,9 @@
         Fixed a problem where the BPD or a block area could be wrong if there is a nested,
         absolutely positioned area (for example a block-container).
       </action>
+      <action context="Code" dev="VH" type="fix" fixes-bug="45971" due-to="Tow Browder">
+        Improved the behaviour of the command line interface.
+      </action>
       <action context="Layout" dev="AD" type="fix" fixes-bug="40798">
         Bugzilla 40798: A conditional-page-master-reference with page-position="last" qualifies
         for a first page, if it is also the last. Additionally: also added support for



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org