src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java

Print this page




  30 
  31 import java.util.Collections;
  32 import java.util.Iterator;
  33 import java.util.LinkedHashSet;
  34 import java.util.List;
  35 import java.util.Set;
  36 import javax.xml.crypto.NodeSetData;
  37 import org.w3c.dom.Node;
  38 import com.sun.org.apache.xml.internal.security.signature.NodeFilter;
  39 import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput;
  40 import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
  41 
  42 public class ApacheNodeSetData implements ApacheData, NodeSetData {
  43 
  44     private XMLSignatureInput xi;
  45 
  46     public ApacheNodeSetData(XMLSignatureInput xi) {
  47         this.xi = xi;
  48     }
  49 
  50     public Iterator iterator() {
  51         // If nodefilters are set, must execute them first to create node-set
  52         if (xi.getNodeFilters() != null && !xi.getNodeFilters().isEmpty()) {
  53             return Collections.unmodifiableSet
  54                 (getNodeSet(xi.getNodeFilters())).iterator();
  55         }
  56         try {
  57             return Collections.unmodifiableSet(xi.getNodeSet()).iterator();
  58         } catch (Exception e) {
  59             // should not occur
  60             throw new RuntimeException
  61                 ("unrecoverable error retrieving nodeset", e);
  62         }
  63     }
  64 
  65     public XMLSignatureInput getXMLSignatureInput() {
  66         return xi;
  67     }
  68 
  69     private Set<Node> getNodeSet(List<NodeFilter> nodeFilters) {
  70         if (xi.isNeedsToBeExpanded()) {




  30 
  31 import java.util.Collections;
  32 import java.util.Iterator;
  33 import java.util.LinkedHashSet;
  34 import java.util.List;
  35 import java.util.Set;
  36 import javax.xml.crypto.NodeSetData;
  37 import org.w3c.dom.Node;
  38 import com.sun.org.apache.xml.internal.security.signature.NodeFilter;
  39 import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput;
  40 import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
  41 
  42 public class ApacheNodeSetData implements ApacheData, NodeSetData {
  43 
  44     private XMLSignatureInput xi;
  45 
  46     public ApacheNodeSetData(XMLSignatureInput xi) {
  47         this.xi = xi;
  48     }
  49 
  50     public Iterator<Node> iterator() {
  51         // If nodefilters are set, must execute them first to create node-set
  52         if (xi.getNodeFilters() != null && !xi.getNodeFilters().isEmpty()) {
  53             return Collections.unmodifiableSet
  54                 (getNodeSet(xi.getNodeFilters())).iterator();
  55         }
  56         try {
  57             return Collections.unmodifiableSet(xi.getNodeSet()).iterator();
  58         } catch (Exception e) {
  59             // should not occur
  60             throw new RuntimeException
  61                 ("unrecoverable error retrieving nodeset", e);
  62         }
  63     }
  64 
  65     public XMLSignatureInput getXMLSignatureInput() {
  66         return xi;
  67     }
  68 
  69     private Set<Node> getNodeSet(List<NodeFilter> nodeFilters) {
  70         if (xi.isNeedsToBeExpanded()) {