You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by mu...@apache.org on 2007/10/04 15:46:19 UTC
svn commit: r581901 - in
/xml/security/trunk/src/org/apache/xml/security/utils: Base64.java
ElementProxy.java XMLUtils.java
Author: mullan
Date: Thu Oct 4 06:46:18 2007
New Revision: 581901
URL: http://svn.apache.org/viewvc?rev=581901&view=rev
Log:
Fixed Bug 42061: Method to disable XMLUtils.addReturnToElement
Modified:
xml/security/trunk/src/org/apache/xml/security/utils/Base64.java
xml/security/trunk/src/org/apache/xml/security/utils/ElementProxy.java
xml/security/trunk/src/org/apache/xml/security/utils/XMLUtils.java
Modified: xml/security/trunk/src/org/apache/xml/security/utils/Base64.java
URL: http://svn.apache.org/viewvc/xml/security/trunk/src/org/apache/xml/security/utils/Base64.java?rev=581901&r1=581900&r2=581901&view=diff
==============================================================================
--- xml/security/trunk/src/org/apache/xml/security/utils/Base64.java (original)
+++ xml/security/trunk/src/org/apache/xml/security/utils/Base64.java Thu Oct 4 06:46:18 2007
@@ -264,13 +264,16 @@
/**
- * Encode a byte array and fold lines at the standard 76th character.
+ * Encode a byte array and fold lines at the standard 76th character unless
+ * ignore line breaks property is set.
*
* @param binaryData <code>byte[]<code> to be base64 encoded
* @return the <code>String<code> with encoded data
*/
public static final String encode(byte[] binaryData) {
- return encode(binaryData,BASE64DEFAULTLENGTH);
+ return XMLUtils.ignoreLineBreaks
+ ? encode(binaryData, Integer.MAX_VALUE)
+ : encode(binaryData, BASE64DEFAULTLENGTH);
}
/**
Modified: xml/security/trunk/src/org/apache/xml/security/utils/ElementProxy.java
URL: http://svn.apache.org/viewvc/xml/security/trunk/src/org/apache/xml/security/utils/ElementProxy.java?rev=581901&r1=581900&r2=581901&view=diff
==============================================================================
--- xml/security/trunk/src/org/apache/xml/security/utils/ElementProxy.java (original)
+++ xml/security/trunk/src/org/apache/xml/security/utils/ElementProxy.java Thu Oct 4 06:46:18 2007
@@ -320,7 +320,7 @@
Element e = Base64.encodeToElement(this._doc, localname, bytes);
this._constructionElement.appendChild(e);
- this._constructionElement.appendChild(this._doc.createTextNode("\n"));
+ XMLUtils.addReturnToElement(this._constructionElement);
}
}
@@ -348,9 +348,11 @@
public void addBase64Text(byte[] bytes) {
if (bytes != null) {
- Text t = this._doc.createTextNode("\n" + Base64.encode(bytes) + "\n");
+ XMLUtils.addReturnToElement(this._constructionElement);
+ Text t = this._doc.createTextNode(Base64.encode(bytes));
this._constructionElement.appendChild(t);
+ XMLUtils.addReturnToElement(this._constructionElement);
}
}
Modified: xml/security/trunk/src/org/apache/xml/security/utils/XMLUtils.java
URL: http://svn.apache.org/viewvc/xml/security/trunk/src/org/apache/xml/security/utils/XMLUtils.java?rev=581901&r1=581900&r2=581901&view=diff
==============================================================================
--- xml/security/trunk/src/org/apache/xml/security/utils/XMLUtils.java (original)
+++ xml/security/trunk/src/org/apache/xml/security/utils/XMLUtils.java Thu Oct 4 06:46:18 2007
@@ -47,6 +47,16 @@
*/
public class XMLUtils {
+ static boolean ignoreLineBreaks = false;
+ static {
+ try {
+ ignoreLineBreaks = Boolean.getBoolean
+ ("org.apache.xml.security.ignoreLineBreaks");
+ } catch (Exception e) {
+ // ignore exceptions
+ }
+ }
+
/**
* Constructor XMLUtils
*
@@ -398,9 +408,24 @@
*/
public static void addReturnToElement(Element e) {
- Document doc = e.getOwnerDocument();
+ if (!ignoreLineBreaks) {
+ Document doc = e.getOwnerDocument();
+ e.appendChild(doc.createTextNode("\n"));
+ }
+ }
+
+ public static void addReturnToElement(Document doc, HelperNodeList nl) {
- e.appendChild(doc.createTextNode("\n"));
+ if (!ignoreLineBreaks) {
+ nl.appendChild(doc.createTextNode("\n"));
+ }
+ }
+
+ public static void addReturnBeforeChild(Element e, Node child) {
+ if (!ignoreLineBreaks) {
+ Document doc = e.getOwnerDocument();
+ e.insertBefore(doc.createTextNode("\n"), child);
+ }
}
/**