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/19 20:46:37 UTC

svn commit: r557729 - /xml/security/branches/stax_jsr105/src/com/r_bg/stax/StaxValidateContext.java

Author: mullan
Date: Thu Jul 19 11:46:36 2007
New Revision: 557729

URL: http://svn.apache.org/viewvc?view=rev&rev=557729
Log:
Fully implement all methods of XMLValidateContext interface.
Change name of getStreamReader method to getStreamFilter (since it
returns a StreamFilter).

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

Modified: xml/security/branches/stax_jsr105/src/com/r_bg/stax/StaxValidateContext.java
URL: http://svn.apache.org/viewvc/xml/security/branches/stax_jsr105/src/com/r_bg/stax/StaxValidateContext.java?view=diff&rev=557729&r1=557728&r2=557729
==============================================================================
--- xml/security/branches/stax_jsr105/src/com/r_bg/stax/StaxValidateContext.java (original)
+++ xml/security/branches/stax_jsr105/src/com/r_bg/stax/StaxValidateContext.java Thu Jul 19 11:46:36 2007
@@ -1,7 +1,7 @@
 package com.r_bg.stax;
 
 import java.security.Key;
-
+import java.util.HashMap;
 import javax.xml.crypto.KeySelector;
 import javax.xml.crypto.URIDereferencer;
 import javax.xml.crypto.dsig.XMLSignature;
@@ -10,10 +10,17 @@
 import javax.xml.stream.XMLStreamReader;
 
 public class StaxValidateContext implements XMLValidateContext {	
-	XMLStreamReader reader;
-	int signatureNumber=0;
-	private StaxSignatureVerificator sig;
-	Key key;
+    private XMLStreamReader reader;
+    private int signatureNumber = 0;
+    private StaxSignatureVerificator sig;
+    private KeySelector ks;
+    private HashMap nsMap = new HashMap();
+    private HashMap objMap = new HashMap();
+    private HashMap propMap = new HashMap();
+    private String baseURI;
+    private String defaultPrefix;
+    private URIDereferencer dereferencer;
+
 	public static StaxValidateContext createEnvolopedValidator(Key key, XMLStreamReader reader) {		
 		return new StaxValidateContext(key,reader);
 	}
@@ -21,88 +28,94 @@
 		signatureNumber=number;
 	}
 	
-	protected StaxValidateContext(Key key,XMLStreamReader reader) {
-		this.key=key;
-		this.reader=reader;		
-	}
+    public StaxValidateContext(Key key, XMLStreamReader reader) {
+	setKeySelector(KeySelector.singletonKeySelector(key));
+	this.reader = reader;		
+	sig = new StaxSignatureVerificator();
+    }
 	
-	public String getBaseURI() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void setBaseURI(String baseURI) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public KeySelector getKeySelector() {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    public String getBaseURI() {
+	return baseURI;
+    }
+
+    public void setBaseURI(String baseURI) {
+        if (baseURI != null) {
+            java.net.URI.create(baseURI);
+        }
+        this.baseURI = baseURI;
+    }
+
+    public KeySelector getKeySelector() {
+	return ks;
+    }
+
+    public void setKeySelector(KeySelector ks) {
+	this.ks = ks;
+    }
+
+    public URIDereferencer getURIDereferencer() {
+	return dereferencer;
+    }
+
+    public void setURIDereferencer(URIDereferencer dereferencer) {
+        this.dereferencer = dereferencer;
+    }
+
+    public String getNamespacePrefix(String namespaceURI, 
+	String defaultPrefix) {
+        if (namespaceURI == null) {
+            throw new NullPointerException("namespaceURI cannot be null");
+        }
+        String prefix = (String) nsMap.get(namespaceURI);
+        return (prefix != null ? prefix : defaultPrefix);
+    }
+
+    public String putNamespacePrefix(String namespaceURI, String prefix) {
+        if (namespaceURI == null) {
+            throw new NullPointerException("namespaceURI is null");
+        }
+        return (String) nsMap.put(namespaceURI, prefix);
+    }
+
+    public String getDefaultNamespacePrefix() {
+	return defaultPrefix;
+    }
+
+    public void setDefaultNamespacePrefix(String defaultPrefix) {
+	this.defaultPrefix = defaultPrefix;
+    }
+
+    public Object setProperty(String name, Object value) {
+        if (name == null) {
+            throw new NullPointerException("name is null");
+        }
+        return propMap.put(name, value);
+    }
+
+    public Object getProperty(String name) {
+        if (name == null) {
+            throw new NullPointerException("name is null");
+        }
+        return propMap.get(name);
+    }
+
+    public Object get(Object key) {
+        return objMap.get(key);
+    }
+
+    public Object put(Object key, Object value) {
+        return objMap.put(key, value);
+    }
+
+    public XMLStreamReader getXMLStreamReader() {
+	return reader;
+    }
 
-	public void setKeySelector(KeySelector ks) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public URIDereferencer getURIDereferencer() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void setURIDereferencer(URIDereferencer dereferencer) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public String getNamespacePrefix(String namespaceURI, String defaultPrefix) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public String putNamespacePrefix(String namespaceURI, String prefix) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public String getDefaultNamespacePrefix() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void setDefaultNamespacePrefix(String defaultPrefix) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public Object setProperty(String name, Object value) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Object getProperty(String name) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Object get(Object key) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Object put(Object key, Object value) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public StreamFilter getStreamReader() {
-		sig = new StaxSignatureVerificator();
+	public StreamFilter getStreamFilter() {
 		return sig;
 	}
 
 	protected XMLSignature getSignature() {
 		return sig.signatures.get(signatureNumber);
 	}
-
 }