X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2Fspi%2FProvidedSession.java;h=9c4f6e633a5918ac0b50d053c0a541d66a76ab36;hb=eb4324be6ac9cdff15828a21ee7d3f6ca2f19fb9;hp=ba915ac4000a9e6268920b13e4535897af9ea047;hpb=ddc70245fe7413b7341205914c91015600726b4a;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java b/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java index ba915ac40..9c4f6e633 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java @@ -6,6 +6,7 @@ import java.util.concurrent.CompletionStage; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentSession; +import org.argeo.api.acr.RuntimeNamespaceContext; /** A {@link ContentSession} implementation. */ public interface ProvidedSession extends ContentSession { @@ -29,57 +30,16 @@ public interface ProvidedSession extends ContentSession { @Override default String getPrefix(String namespaceURI) { - Iterator prefixes = getPrefixes(namespaceURI); - return prefixes.hasNext() ? prefixes.next() : null; + return RuntimeNamespaceContext.getNamespaceContext().getPrefix(namespaceURI); } -// /** @return the bound namespace or null if not found */ -// String findNamespace(String prefix); -// -// // TODO find the default prefix? -// Set findPrefixes(String namespaceURI); -// -// /** To be overridden for optimisation, as it will be called a lot */ -// default String findPrefix(String namespaceURI) { -// Set prefixes = findPrefixes(namespaceURI); -// if (prefixes.isEmpty()) -// return null; -// return prefixes.iterator().next(); -// } - -// @Override -// default String getNamespaceURI(String prefix) { -// String namespaceURI = NamespaceUtils.getStandardNamespaceURI(prefix); -// if (namespaceURI != null) -// return namespaceURI; -// if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)) -// return XMLConstants.NULL_NS_URI; -// namespaceURI = findNamespace(prefix); -// if (namespaceURI != null) -// return namespaceURI; -// return XMLConstants.NULL_NS_URI; -// } -// -// @Override -// default String getPrefix(String namespaceURI) { -// String prefix = NamespaceUtils.getStandardPrefix(namespaceURI); -// if (prefix != null) -// return prefix; -// if (XMLConstants.NULL_NS_URI.equals(namespaceURI)) -// return XMLConstants.DEFAULT_NS_PREFIX; -// return findPrefix(namespaceURI); -// } -// -// @Override -// default Iterator getPrefixes(String namespaceURI) { -// Iterator standard = NamespaceUtils.getStandardPrefixes(namespaceURI); -// if (standard != null) -// return standard; -// if (XMLConstants.NULL_NS_URI.equals(namespaceURI)) -// return Collections.singleton(XMLConstants.DEFAULT_NS_PREFIX).iterator(); -// Set prefixes = findPrefixes(namespaceURI); -// assert prefixes != null; -// return prefixes.iterator(); -// } + @Override + default String getNamespaceURI(String prefix) { + return RuntimeNamespaceContext.getNamespaceContext().getNamespaceURI(prefix); + } + @Override + default Iterator getPrefixes(String namespaceURI) { + return RuntimeNamespaceContext.getNamespaceContext().getPrefixes(namespaceURI); + } }