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/09/10 23:05:21 UTC

svn commit: r574374 - /xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java

Author: mullan
Date: Mon Sep 10 14:05:21 2007
New Revision: 574374

URL: http://svn.apache.org/viewvc?rev=574374&view=rev
Log:
Add support for OctetStreamData as input to transform.

Modified:
    xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java

Modified: xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java
URL: http://svn.apache.org/viewvc/xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java?rev=574374&r1=574373&r2=574374&view=diff
==============================================================================
--- xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java (original)
+++ xml/security/branches/stax_jsr105/src/com/r_bg/stax/transforms/StaxBase64Transform.java Mon Sep 10 14:05:21 2007
@@ -17,6 +17,7 @@
 package com.r_bg.stax.transforms;
 
 import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.security.InvalidAlgorithmParameterException;
 import java.security.spec.AlgorithmParameterSpec;
@@ -80,18 +81,30 @@
 
     public Data transform(Data data, XMLCryptoContext context, OutputStream os)
 	throws TransformException {
-	XMLStreamReader reader = ((StaxData) data).getXMLStreamReader();
-        switch (reader.getEventType()) {
-            case XMLStreamReader.CHARACTERS:
-		String text = reader.getText();
-		try {
-	            Base64.decode(text, os);
-		} catch (Exception e) {
-		    throw new TransformException(e);
-		}
-	        break;
-        }
-	return null;
+	if (data instanceof StaxData) {
+	    XMLStreamReader reader = ((StaxData) data).getXMLStreamReader();
+            switch (reader.getEventType()) {
+                case XMLStreamReader.CHARACTERS:
+		    String text = reader.getText();
+		    try {
+	                Base64.decode(text, os);
+		    } catch (Exception e) {
+		        throw new TransformException(e);
+		    }
+	            break;
+            }
+	    return null;
+	} else if (data instanceof OctetStreamData) {
+	    InputStream is = ((OctetStreamData) data).getOctetStream();
+	    try {
+		Base64.decode(is, os);
+	    } catch (Exception e) {
+	        throw new TransformException(e);
+	    }
+	    return null;
+	} else {
+	    throw new TransformException("Unrecognized data type");
+	}
     }
 
     public AlgorithmParameterSpec getParameterSpec() {