package org.apache.synapse.util.xpath;
import org.apache.synapse.SynapseConstants;
import java.util.*;
import javax.xml.namespace.NamespaceContext;
public class DOMSynapseXPathNamespaceMap implements NamespaceContext {
Map<String, String> prefixToURIMap = new HashMap<String, String>();
Set<String> knownPrefixMap = new HashSet<String>();
public DOMSynapseXPathNamespaceMap() {
// Adding known prefixes to synapse namespace
knownPrefixMap.add("syn");
knownPrefixMap.add(SynapseXPathConstants.SOAP_HEADER_VARIABLE);
knownPrefixMap.add(SynapseXPathConstants.SOAP_BODY_VARIABLE);
knownPrefixMap.add(SynapseXPathConstants.FUNC_CONTEXT_VARIABLE_PREFIX);
knownPrefixMap.add(SynapseXPathConstants.MESSAGE_CONTEXT_VARIABLE_PREFIX);
knownPrefixMap.add(SynapseXPathConstants.URL_VARIABLE_PREFIX);
knownPrefixMap.add(SynapseXPathConstants.AXIS2_CONTEXT_VARIABLE_PREFIX);
knownPrefixMap.add(SynapseXPathConstants.TRANSPORT_VARIABLE_PREFIX);
}
public String getNamespaceURI(String prefix) {
if (knownPrefixMap.contains(prefix)) {
return SynapseConstants.SYNAPSE_NAMESPACE;
} else {
return prefixToURIMap.get(prefix);
}
}
public String getPrefix(String namespaceURI) {
return null;
}
public Iterator getPrefixes(String namespaceURI) {
return null;
}
public void addNamespace(String prefix, String uri) {
prefixToURIMap.put(prefix, uri);
}
}