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 2009/10/14 09:04:13 UTC

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

Author: cziegeler
Date: Wed Oct 14 07:04:12 2009
New Revision: 825035

URL: http://svn.apache.org/viewvc?rev=825035&view=rev
Log:
Finish new implementation.

Modified:
    sling/trunk/contrib/extensions/rewriter/pom.xml
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/AbstractTraxSerializerFactory.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/HtmlSerializerFactory.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/TraxSerializer.java
    sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/XHtmlSerializerFactory.java

Modified: sling/trunk/contrib/extensions/rewriter/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/pom.xml?rev=825035&r1=825034&r2=825035&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/pom.xml (original)
+++ sling/trunk/contrib/extensions/rewriter/pom.xml Wed Oct 14 07:04:12 2009
@@ -65,8 +65,7 @@
                         </Export-Package>
                         <Private-Package>
                             org.apache.sling.rewriter.impl,
-                            org.apache.cocoon.components.serializers.encoding,
-                            org.apache.cocoon.components.serializers.util
+                            org.apache.sling.rewriter.impl.components
                         </Private-Package>
                     </instructions>
                 </configuration>

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/AbstractTraxSerializerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/AbstractTraxSerializerFactory.java?rev=825035&r1=825034&r2=825035&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/AbstractTraxSerializerFactory.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/AbstractTraxSerializerFactory.java Wed Oct 14 07:04:12 2009
@@ -55,6 +55,9 @@
     private boolean needsNamespacesAsAttributes;
 
     protected abstract String getOutputFormat();
+    protected abstract String getDoctypePublic();
+    protected abstract String getDoctypeSystem();
+
     /**
      * @see org.apache.sling.rewriter.SerializerFactory#createSerializer()
      */
@@ -72,7 +75,7 @@
         } else {
             ch = tHandler;
         }
-        return new TraxSerializer(tHandler, ch, getOutputFormat());
+        return new TraxSerializer(tHandler, ch, getOutputFormat(), getDoctypePublic(), getDoctypeSystem());
     }
 
     protected void activate(final ComponentContext ctx) {

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/HtmlSerializerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/HtmlSerializerFactory.java?rev=825035&r1=825034&r2=825035&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/HtmlSerializerFactory.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/HtmlSerializerFactory.java Wed Oct 14 07:04:12 2009
@@ -30,4 +30,11 @@
         return "html";
     }
 
+    protected String getDoctypePublic() {
+        return "-//W3C//DTD HTML 4.01 Transitional//EN";
+    }
+
+    protected String getDoctypeSystem() {
+        return "http://www.w3.org/TR/html4/loose.dtd";
+    }
 }

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/TraxSerializer.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/TraxSerializer.java?rev=825035&r1=825034&r2=825035&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/TraxSerializer.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/TraxSerializer.java Wed Oct 14 07:04:12 2009
@@ -51,12 +51,16 @@
     private final LexicalHandler lexicalHandler;
 
     public TraxSerializer(final TransformerHandler transformerHandler,
-                                  final ContentHandler handler,
-                                  final String outputFormat) {
+                          final ContentHandler handler,
+                          final String outputFormat,
+                          final String doctypePublic,
+                          final String doctypeSystem) {
         this.contentHandler = handler;
         this.lexicalHandler = (LexicalHandler)handler;
         this.transformerHandler = transformerHandler;
         this.format.put(OutputKeys.METHOD, outputFormat);
+        this.format.put(OutputKeys.DOCTYPE_PUBLIC, doctypePublic);
+        this.format.put(OutputKeys.DOCTYPE_SYSTEM, doctypeSystem);
     }
 
     /**
@@ -68,21 +72,22 @@
         if ( this.transformerHandler == null ) {
             throw new IOException("Transformer handler could not be instantiated.");
         }
-
-        if (!this.format.containsKey(OutputKeys.ENCODING)) {
+        if ( context.getResponse().getCharacterEncoding() != null ) {
+            this.format.put(OutputKeys.ENCODING, context.getResponse().getCharacterEncoding());
+        } else {
             this.format.put(OutputKeys.ENCODING, DEFAULT_ENCODING);
         }
 
-        String cdataSectionElements = config.getConfiguration().get("cdata-section-elements", String.class);
-        String dtPublic = config.getConfiguration().get("doctype-public", String.class);
-        String dtSystem = config.getConfiguration().get("doctype-system", String.class);
-        String encoding = config.getConfiguration().get("encoding", String.class);
-        String indent = config.getConfiguration().get("indent", String.class);
-        String mediaType = config.getConfiguration().get("media-type", String.class);
-        String method = config.getConfiguration().get("method", String.class);
-        String omitXMLDeclaration = config.getConfiguration().get("omit-xml-declaration", String.class);
-        String standAlone = config.getConfiguration().get("standalone", String.class);
-        String version = config.getConfiguration().get("version", String.class);
+        final String cdataSectionElements = config.getConfiguration().get("cdata-section-elements", String.class);
+        final String dtPublic = config.getConfiguration().get("doctype-public", String.class);
+        final String dtSystem = config.getConfiguration().get("doctype-system", String.class);
+        final String encoding = config.getConfiguration().get("encoding", String.class);
+        final String indent = config.getConfiguration().get("indent", String.class);
+        final String mediaType = config.getConfiguration().get("media-type", String.class);
+        final String method = config.getConfiguration().get("method", String.class);
+        final String omitXMLDeclaration = config.getConfiguration().get("omit-xml-declaration", String.class);
+        final String standAlone = config.getConfiguration().get("standalone", String.class);
+        final String version = config.getConfiguration().get("version", String.class);
 
         if (cdataSectionElements != null) {
             format.put(OutputKeys.CDATA_SECTION_ELEMENTS, cdataSectionElements);

Modified: sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/XHtmlSerializerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/XHtmlSerializerFactory.java?rev=825035&r1=825034&r2=825035&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/XHtmlSerializerFactory.java (original)
+++ sling/trunk/contrib/extensions/rewriter/src/main/java/org/apache/sling/rewriter/impl/components/XHtmlSerializerFactory.java Wed Oct 14 07:04:12 2009
@@ -29,4 +29,12 @@
     protected String getOutputFormat() {
         return "xhtml";
     }
+
+    protected String getDoctypePublic() {
+        return "-//W3C//DTD XHTML 1.0 Strict//EN";
+    }
+
+    protected String getDoctypeSystem() {
+        return "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
+    }
 }