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/07/20 18:43:59 UTC

svn commit: r558043 - /xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java

Author: mullan
Date: Fri Jul 20 09:43:53 2007
New Revision: 558043

URL: http://svn.apache.org/viewvc?view=rev&rev=558043
Log:
Implement XMLSignature.getId().
Fix String.substring() exception if Reference URI="".

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

Modified: xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java
URL: http://svn.apache.org/viewvc/xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java?view=diff&rev=558043&r1=558042&r2=558043
==============================================================================
--- xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java (original)
+++ xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java Fri Jul 20 09:43:53 2007
@@ -93,7 +93,11 @@
 		return null;
 	}
 	public StaxWatcher remove() {		
+	    if (uri != null && !uri.isEmpty()) {
 		return new IdWatcher(uri.substring(1),this,os);
+	    } else {
+		return null;
+	    }
 	}
 	/* (non-Javadoc)
 	 * @see com.r_bg.stax.DigestResultListener#setResult(byte[])
@@ -231,11 +235,15 @@
 	SignedInfoWorker si;
 	private boolean readSignatureValue=false;
 	private byte[] signatureValue;	
+	private String id;
 	public StaxWorker read(XMLStreamReader reader) {
 		switch (reader.getEventType()) {
 		  case XMLStreamReader.START_ELEMENT:
 			if (Constants.DS_URI.equals(reader.getNamespaceURI())) {
 				String name=reader.getLocalName();
+				if (name.equals("Signature") ) {
+					id=reader.getAttributeValue(null,"Id");
+				}
 				if (name.equals("SignedInfo") ) {
 					si=new SignedInfoWorker();
 					return si;			
@@ -309,8 +317,7 @@
 		return null;
 	}
 	public String getId() {
-		// TODO Auto-generated method stub
-		return null;
+		return id;
 	}
 	public SignatureValue getSignatureValue() {
 		// TODO Auto-generated method stub