[Yanel-dev] XML resource patch

Evaldas Taroza etaroza at optaros.com
Wed Jan 16 09:32:20 CET 2008


Some small changes to BasicXMLResource and SerializerFactory.

Evaldas

-- =

+41 79 616 53 76
Optaros - www.optaros.com
-------------- next part --------------
Index: core/java/org/wyona/yanel/core/serialization/SerializerFactory.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- core/java/org/wyona/yanel/core/serialization/SerializerFactory.java	(re=
vision 30347)
+++ core/java/org/wyona/yanel/core/serialization/SerializerFactory.java	(wo=
rking copy)
@@ -4,6 +4,7 @@
 import org.apache.log4j.Category;
 import org.apache.xml.serializer.OutputPropertiesFactory;
 import org.apache.xml.serializer.Serializer;
+import org.apache.xml.serializer.SerializerFactory;
 =

 /**
  * Factory to create serializers. =

@@ -16,10 +17,12 @@
     public static final int XHTML_STRICT =3D 1;
     public static final int HTML_TRANSITIONAL =3D 2;
     public static final int XML =3D 3;
+    public static final int TEXT =3D 4;
     =

     public static final String XHTML_STRICT_KEY =3D "XHTML_STRICT";
     public static final String HTML_TRANSITIONAL_KEY =3D "HTML_TRANSITIONA=
L";
     public static final String XML_KEY =3D "XML";
+    public static final String TEXT_KEY =3D "TEXT";
 =

     public static Serializer getSerializer(Properties format) {
         Serializer serializer =3D new HTMLSerializer();
@@ -32,10 +35,12 @@
             return getSerializer(XHTML_STRICT);
         } else if (key.equals(HTML_TRANSITIONAL_KEY)) {
             return getSerializer(HTML_TRANSITIONAL);
-        } if (key.equals(XML_KEY)) {
+        } else if (key.equals(XML_KEY)) {
             return getSerializer(XML);
+        } else if (key.equals(TEXT_KEY)) {
+            return getSerializer(TEXT);
         }
-        return null;
+        return getSerializer(TEXT);
     }
     =

     public static Serializer getSerializer(int key) {
@@ -47,8 +52,7 @@
             format.setProperty("doctype-public", "-//W3C//DTD XHTML 1.0 St=
rict//EN");
             format.setProperty("doctype-system", "http://www.w3.org/TR/xht=
ml1/DTD/xhtml1-strict.dtd");
             serializer.setOutputFormat(format);
-        }
-        if (key =3D=3D HTML_TRANSITIONAL) {
+        }else if (key =3D=3D HTML_TRANSITIONAL) {
             serializer =3D new HTMLSerializer();
             Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("html");
             format.setProperty("indent", "yes");
@@ -56,12 +60,14 @@
             format.setProperty("doctype-public", "-//W3C//DTD HTML 4.01 Tr=
ansitional//EN");
             format.setProperty("doctype-system", "http://www.w3.org/TR/htm=
l4/loose.dtd");
             serializer.setOutputFormat(format);
-        }
-        if (key =3D=3D XML) {
+        }else if (key =3D=3D XML) {
             serializer =3D new XMLSerializer();
             Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("xml");
             format.setProperty("indent", "yes");
             serializer.setOutputFormat(format);
+        } else {
+            Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("text");
+            serializer =3D SerializerFactory.getSerializer(format);
         }
         return serializer;
     }
Index: impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	(revisio=
n 30348)
+++ impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	(working=
 copy)
@@ -64,10 +64,6 @@
     protected static String DEFAULT_VIEW_ID =3D "default";
     protected static String SOURCE_VIEW_ID =3D "source";
 =

-    protected static String SERIALIZER_OMIT_XML_DECLARATION =3D "serialize=
r-omit-xml-declaration";
-    protected static String SERIALIZER_DOCTYPE_PUBLIC =3D "serializer-doct=
ype-public";
-    protected static String SERIALIZER_DOCTYPE_SYSTEM =3D "serializer-doct=
ype-system";
-
     protected HashMap viewDescriptors;
 =

     public ViewDescriptor getViewDescriptor(String viewId) {
@@ -261,10 +257,8 @@
 =

             if (mimeType.equals("text/html")) {
                 serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.HTML_TRANSITIONAL);
-            } else if (mimeType.equals("application/xml")) {
-                serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XML);
             } else {
-                serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XHTML_STRICT);
+                serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XML);
             }
         }
         // allow to override xml declaration and doctype:


More information about the Yanel-development mailing list