You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2012/05/15 21:19:04 UTC

svn commit: r1338843 - in /ofbiz/branches/release10.04: ./ framework/base/dtd/ framework/base/src/org/ofbiz/base/util/ framework/common/config/ framework/webtools/src/org/ofbiz/webtools/labelmanager/

Author: jleroux
Date: Tue May 15 19:19:03 2012
New Revision: 1338843

URL: http://svn.apache.org/viewvc?rev=1338843&view=rev
Log:
"Applied fix from trunk for revision: 1338831" (conflicts in CommonUiLabels.xml handled by hand)
------------------------------------------------------------------------
r1338831 | jleroux | 2012-05-15 21:03:26 +0200 (mar., 15 mai 2012) | 14 lines

Fixes https://issues.apache.org/jira/browse/OFBIZ-4652 "The Label Manager is wrongly overriding CommonEmptyHeader"
* Adds a keepSpace boolean to UtilXml.writeXmlDocument(), this allows to use xsl:preserve-space into UtilXml.createOutputTransformer()
* Uses it into SaveLabelsToXmlFile.saveLabelsToXmlFile()
* Adds some French labels into CommonUiLabels.xml using Labels Manager to test the new functionality 
* Adds the xml:space attribute into the valueType complexType
* Adds the ofbiz-properties.xsd schema into the base-catalog.xml

I got an issue when 1st trying to commit: 
Commit failed (details follow):
While preparing
 'D:\workspace\ofbizClean\framework\common\config\CommonUiLabels.xml' for commit
Inconsistent line ending style

So I forced the EOLs to my locale platform value (Win XP)
------------------------------------------------------------------------

Modified:
    ofbiz/branches/release10.04/   (props changed)
    ofbiz/branches/release10.04/framework/base/dtd/base-catalog.xml
    ofbiz/branches/release10.04/framework/base/dtd/ofbiz-properties.xsd
    ofbiz/branches/release10.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
    ofbiz/branches/release10.04/framework/common/config/CommonUiLabels.xml
    ofbiz/branches/release10.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java

Propchange: ofbiz/branches/release10.04/
------------------------------------------------------------------------------
  Merged /ofbiz/trunk:r1338831

Modified: ofbiz/branches/release10.04/framework/base/dtd/base-catalog.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/base/dtd/base-catalog.xml?rev=1338843&r1=1338842&r2=1338843&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/base/dtd/base-catalog.xml (original)
+++ ofbiz/branches/release10.04/framework/base/dtd/base-catalog.xml Tue May 15 19:19:03 2012
@@ -29,4 +29,5 @@ under the License.
     <system systemId="http://ofbiz.apache.org/dtds/jndi-config.xsd" uri="jndi-config.xsd"/>
     <system systemId="http://ofbiz.apache.org/dtds/ofbiz-component.xsd" uri="ofbiz-component.xsd"/>
     <system systemId="http://ofbiz.apache.org/dtds/ofbiz-containers.xsd" uri="ofbiz-containers.xsd"/>
+    <system systemId="http://ofbiz.apache.org/dtds/ofbiz-properties.xsd" uri="ofbiz-properties.xsd"/>
 </catalog>

Modified: ofbiz/branches/release10.04/framework/base/dtd/ofbiz-properties.xsd
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/base/dtd/ofbiz-properties.xsd?rev=1338843&r1=1338842&r2=1338843&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/base/dtd/ofbiz-properties.xsd (original)
+++ ofbiz/branches/release10.04/framework/base/dtd/ofbiz-properties.xsd Tue May 15 19:19:03 2012
@@ -36,4 +36,12 @@ under the License.
     <xs:attributeGroup name="attlist.property">
         <xs:attribute type="xs:string" name="key" use="required"/>
     </xs:attributeGroup>
+    <xs:complexType name="valueType">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute ref="xml:lang"/>
+                <xs:attribute ref="xml:space"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
 </xs:schema>

Modified: ofbiz/branches/release10.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/base/src/org/ofbiz/base/util/UtilXml.java?rev=1338843&r1=1338842&r2=1338843&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/base/src/org/ofbiz/base/util/UtilXml.java (original)
+++ ofbiz/branches/release10.04/framework/base/src/org/ofbiz/base/util/UtilXml.java Tue May 15 19:19:03 2012
@@ -159,20 +159,26 @@ public class UtilXml {
 
     // ----- TrAX Methods ----------------- //
 
-    /** Creates a JAXP TrAX Transformer suitable for pretty-printing an
-     * XML document. This method is provided as an alternative to the
-     * deprecated <code>org.apache.xml.serialize.OutputFormat</code> class.
-     * @param encoding Optional encoding, defaults to UTF-8
-     * @param omitXmlDeclaration If <code>true</code> the xml declaration
-     * will be omitted from the output
-     * @param indent If <code>true</code>, the output will be indented
-     * @param indentAmount If <code>indent</code> is <code>true</code>,
-     * the number of spaces to indent. Default is 4.
+    /**
+     * Creates a JAXP TrAX Transformer suitable for pretty-printing an XML document. This method is provided as an alternative to the deprecated
+     * <code>org.apache.xml.serialize.OutputFormat</code> class.
+     * 
+     * @param encoding
+     *            Optional encoding, defaults to UTF-8
+     * @param omitXmlDeclaration
+     *            If <code>true</code> the xml declaration will be omitted from the output
+     * @param indent
+     *            If <code>true</code>, the output will be indented
+     * @param indentAmount
+     *            If <code>indent</code> is <code>true</code>, the number of spaces to indent. Default is 4.
+     * @param keepSpace
+     *            If <code>true</code> spaces are preserved, else striped
      * @return A <code>Transformer</code> instance
      * @see <a href="http://java.sun.com/javase/6/docs/api/javax/xml/transform/package-summary.html">JAXP TrAX</a>
      * @throws TransformerConfigurationException
      */
-    public static Transformer createOutputTransformer(String encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount) throws TransformerConfigurationException {
+    public static Transformer createOutputTransformer(String encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount, boolean keepSpace)
+            throws TransformerConfigurationException {
         StringBuilder sb = new StringBuilder();
         sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
         sb.append("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:xalan=\"http://xml.apache.org/xslt\" version=\"1.0\">\n");
@@ -190,7 +196,11 @@ public class UtilXml {
             sb.append(indentAmount <= 0 ? 4 : indentAmount);
             sb.append("\"");
         }
-        sb.append("/>\n<xsl:strip-space elements=\"*\"/>\n");
+        if (keepSpace) {
+            sb.append("/>\n<xsl:preserve-space elements=\"*\"/>\n");
+        } else {
+            sb.append("/>\n<xsl:strip-space elements=\"*\"/>\n");
+        }
         sb.append("<xsl:template match=\"@*|node()\">\n");
         sb.append("<xsl:copy><xsl:apply-templates select=\"@*|node()\"/></xsl:copy>\n");
         sb.append("</xsl:template>\n</xsl:stylesheet>\n");
@@ -213,21 +223,29 @@ public class UtilXml {
         transformer.transform(source, result);
     }
 
-    /** Serializes a DOM <code>Node</code> to an <code>OutputStream</code>
-     * using JAXP TrAX.
-     * @param node The <code>Node</code> to serialize
-     * @param os The <code>OutputStream</code> to serialize to
-     * @param encoding Optional encoding, defaults to UTF-8
-     * @param omitXmlDeclaration If <code>true</code> the xml declaration
-     * will be omitted from the output
-     * @param indent If <code>true</code>, the output will be indented
-     * @param indentAmount If <code>indent</code> is <code>true</code>,
-     * the number of spaces to indent. Default is 4.
+    /**
+     * Serializes a DOM <code>Node</code> to an <code>OutputStream</code> using JAXP TrAX.
+     * 
+     * @param node
+     *            The <code>Node</code> to serialize
+     * @param os
+     *            The <code>OutputStream</code> to serialize to
+     * @param encoding
+     *            Optional encoding, defaults to UTF-8
+     * @param omitXmlDeclaration
+     *            If <code>true</code> the xml declaration will be omitted from the output
+     * @param keepSpace
+     *            If <code>true</code> spaces are preserved, else striped
+     * @param indent
+     *            If <code>true</code>, the output will be indented
+     * @param indentAmount
+     *            If <code>indent</code> is <code>true</code>, the number of spaces to indent. Default is 4.
      * @see <a href="http://java.sun.com/javase/6/docs/api/javax/xml/transform/package-summary.html">JAXP TrAX</a>
      * @throws TransformerException
      */
-    public static void writeXmlDocument(Node node, OutputStream os, String encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount) throws TransformerException {
-        Transformer transformer = createOutputTransformer(encoding, omitXmlDeclaration, indent, indentAmount);
+    public static void writeXmlDocument(Node node, OutputStream os, String encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount,
+            boolean keepSpace) throws TransformerException {
+        Transformer transformer = createOutputTransformer(encoding, omitXmlDeclaration, indent, indentAmount, keepSpace);
         transformDomDocument(transformer, node, os);
     }
 
@@ -326,9 +344,9 @@ public class UtilXml {
             return;
         }
         // OutputFormat defaults are: indent on, indent = 4, include XML declaration,
-        // charset = UTF-8, line width = 72
+        // charset = UTF-8, line width = 72, strip spaces
         try {
-            writeXmlDocument(node, os, "UTF-8", false, true, 4);
+            writeXmlDocument(node, os, "UTF-8", false, true, 4, false);
         } catch (TransformerException e) {
             // Wrapping this exception for backwards compatibility
             throw new IOException(e.getMessage());

Modified: ofbiz/branches/release10.04/framework/common/config/CommonUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/common/config/CommonUiLabels.xml?rev=1338843&r1=1338842&r2=1338843&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/common/config/CommonUiLabels.xml (original)
+++ ofbiz/branches/release10.04/framework/common/config/CommonUiLabels.xml Tue May 15 19:19:03 2012
@@ -2178,6 +2178,7 @@
         <value xml:lang="zh_CN">电子邮件</value>
     </property>
     <property key="CommonEmptyHeader">
+        <!-- do not  remove this! -->
         <value xml:lang="en" xml:space="preserve"> </value>
     </property>
     <property key="CommonEnabled">

Modified: ofbiz/branches/release10.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java?rev=1338843&r1=1338842&r2=1338843&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java (original)
+++ ofbiz/branches/release10.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java Tue May 15 19:19:03 2012
@@ -34,10 +34,8 @@ import org.ofbiz.base.util.UtilPropertie
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.base.util.cache.UtilCache;
-
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.ServiceUtil;
-
 import org.w3c.dom.Comment;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -148,7 +146,7 @@ public class SaveLabelsToXmlFile {
                         if (apacheLicenseText != null) {
                             fos.write(apacheLicenseText.getBytes());
                         }
-                        UtilXml.writeXmlDocument(resourceElem, fos, "UTF-8", !(apacheLicenseText == null), true, 4);
+                        UtilXml.writeXmlDocument(resourceElem, fos, "UTF-8", !(apacheLicenseText == null), true, 4, true);
                     } finally {
                         fos.close();
                         // clear cache to see immediately the new labels and