Example usage for org.springframework.beans.factory.xml NamespaceHandlerResolver resolve

List of usage examples for org.springframework.beans.factory.xml NamespaceHandlerResolver resolve

Introduction

In this page you can find the example usage for org.springframework.beans.factory.xml NamespaceHandlerResolver resolve.

Prototype

@Nullable
NamespaceHandler resolve(String namespaceUri);

Source Link

Document

Resolve the namespace URI and return the located NamespaceHandler implementation.

Usage

From source file:com.github.yihtserns.jaxbean.unmarshaller.api.SpringBeanHandlerTest.java

@Override
protected <T> T unmarshal(String xml, Class<T> rootType, Class<?>... allTypes) throws Exception {
    JaxbeanUnmarshaller unmarshaller = JaxbeanUnmarshaller.newInstance(merge(rootType, allTypes));
    final UnmarshallerNamespaceHandler unmarshallerNamespaceHandler = new UnmarshallerNamespaceHandler(
            unmarshaller);/*w  w w.  j ava  2  s  .  co m*/

    GenericApplicationContext appContext = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(appContext) {

        @Override
        protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() {
            final NamespaceHandlerResolver defaultResolver = super.createDefaultNamespaceHandlerResolver();
            return new NamespaceHandlerResolver() {

                public NamespaceHandler resolve(String namespaceUri) {
                    if (namespaceUri.equals("http://example.com/jaxb")) {
                        return unmarshallerNamespaceHandler;
                    }
                    return defaultResolver.resolve(namespaceUri);
                }
            };
        }
    };
    xmlReader.setValidating(false);
    xmlReader.loadBeanDefinitions(new InputSource(new StringReader(xml)));
    appContext.refresh();

    return appContext.getBean(rootType);
}

From source file:org.eclipse.gemini.blueprint.context.support.DelegatedNamespaceHandlerResolver.java

public NamespaceHandler resolve(String namespaceUri) {
    boolean trace = log.isTraceEnabled();

    for (Iterator<Map.Entry<NamespaceHandlerResolver, String>> iterator = resolvers.entrySet()
            .iterator(); iterator.hasNext();) {
        Map.Entry<NamespaceHandlerResolver, String> entry = iterator.next();
        NamespaceHandlerResolver handlerResolver = entry.getKey();
        if (trace)
            log.trace(//  w  w  w .  ja v a2 s .c  om
                    "Trying to resolve namespace [" + namespaceUri + "] through resolver " + entry.getValue());
        NamespaceHandler handler = handlerResolver.resolve(namespaceUri);

        String resolvedMsg = (handler != null ? "" : "not ");
        if (trace)
            log.trace("Namespace [" + namespaceUri + "] was " + resolvedMsg
                    + "resolved through handler resolver " + entry.getValue());

        if (handler != null) {
            return handler;
        }

    }
    return null;
}

From source file:org.springframework.osgi.context.support.DelegatedNamespaceHandlerResolver.java

public NamespaceHandler resolve(String namespaceUri) {
    boolean trace = log.isTraceEnabled();

    for (Iterator iterator = resolvers.entrySet().iterator(); iterator.hasNext();) {
        Map.Entry entry = (Map.Entry) iterator.next();
        NamespaceHandlerResolver handlerResolver = (NamespaceHandlerResolver) entry.getKey();
        if (trace)
            log.trace(/* ww  w .  j av  a2  s  .  c  om*/
                    "Trying to resolve namespace [" + namespaceUri + "] through resolver " + entry.getValue());
        NamespaceHandler handler = handlerResolver.resolve(namespaceUri);

        String resolvedMsg = (handler != null ? "" : "not ");
        if (trace)
            log.trace("Namespace [" + namespaceUri + "] was " + resolvedMsg
                    + "resolved through handler resolver " + entry.getValue());

        if (handler != null) {
            return handler;
        }

    }
    return null;
}