@Test public void testCtorWithNullClassLoaderArgument() throws Exception { // simply must not bail... new DefaultNamespaceHandlerResolver(null); }
@Test public void testResolvedMappedHandler() { DefaultNamespaceHandlerResolver resolver = new DefaultNamespaceHandlerResolver(getClass().getClassLoader()); NamespaceHandler handler = resolver.resolve("http://www.springframework.org/schema/util"); assertNotNull("Handler should not be null.", handler); assertEquals("Incorrect handler loaded", UtilNamespaceHandler.class, handler.getClass()); }
@Override public String toString() { return "NamespaceHandlerResolver using mappings " + getHandlerMappings(); }
@Override public NamespaceHandler resolve(String namespaceUri) { if (SCA_NAMESPACE.equals(namespaceUri)) { return handler; } return super.resolve(namespaceUri); } }
public NamespaceHandler resolve(String namespaceUri) { NamespaceHandler handler = null; try { handler = super.resolve(namespaceUri); } catch (IllegalArgumentException e) { // ignore } if (handler == null) { handler = new XBeanNamespaceHandler(); } return handler; } }
@Test public void testCtorWithNonExistentMappingLocationArgument() throws Exception { // simply must not bail; we don't want non-existent resources to result in an Exception new DefaultNamespaceHandlerResolver(null, "738trbc bobabloobop871"); }
@Test public void testResolvedMappedHandlerWithNoArgCtor() { DefaultNamespaceHandlerResolver resolver = new DefaultNamespaceHandlerResolver(); NamespaceHandler handler = resolver.resolve("http://www.springframework.org/schema/util"); assertNotNull("Handler should not be null.", handler); assertEquals("Incorrect handler loaded", UtilNamespaceHandler.class, handler.getClass()); }
@Override public String toString() { return "NamespaceHandlerResolver using mappings " + getHandlerMappings(); }
public NamespaceHandler resolve(String namespaceUri) { NamespaceHandler handler = null; try { handler = super.resolve(namespaceUri); } catch (IllegalArgumentException e) { // ignore } if (handler == null) { handler = new XBeanNamespaceHandler(); } return handler; } }
@Test(expected = IllegalArgumentException.class) public void testCtorWithNullClassLoaderArgumentAndNullMappingLocationArgument() throws Exception { new DefaultNamespaceHandlerResolver(null, null); }
@Nullable public NamespaceHandler resolve(String namespaceUri) { Map<String, Object> handlerMappings = getHandlerMappings(); Object handlerOrClassName = handlerMappings.get(namespaceUri); if (handlerOrClassName == null) {
public NamespaceHandler resolve(String namespaceUri) { NamespaceHandler handler = null; try { handler = super.resolve(namespaceUri); } catch (IllegalArgumentException e) { // ignore } if (handler == null) { handler = new XBeanNamespaceHandler(); } return handler; } }
/** * Create the default implementation of {@link NamespaceHandlerResolver} used if none is specified. * <p>The default implementation returns an instance of {@link DefaultNamespaceHandlerResolver}. * @see DefaultNamespaceHandlerResolver#DefaultNamespaceHandlerResolver(ClassLoader) */ protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() { ClassLoader cl = (getResourceLoader() != null ? getResourceLoader().getClassLoader() : getBeanClassLoader()); return new DefaultNamespaceHandlerResolver(cl); }
@Nullable public NamespaceHandler resolve(String namespaceUri) { Map<String, Object> handlerMappings = getHandlerMappings(); Object handlerOrClassName = handlerMappings.get(namespaceUri); if (handlerOrClassName == null) {
@Test public void testNonExistentHandlerClass() throws Exception { String mappingPath = "org/springframework/beans/factory/xml/support/nonExistent.properties"; try { new DefaultNamespaceHandlerResolver(getClass().getClassLoader(), mappingPath); // pass } catch (Throwable ex) { fail("Non-existent handler classes must be ignored: " + ex); } }
@Override public String toString() { return "NamespaceHandlerResolver using mappings " + getHandlerMappings(); }
@Test public void testResolveInvalidHandler() throws Exception { String mappingPath = "org/springframework/beans/factory/xml/support/invalid.properties"; try { new DefaultNamespaceHandlerResolver(getClass().getClassLoader(), mappingPath); fail("Should not be able to map a class that doesn't implement NamespaceHandler"); } catch (Throwable expected) { } }
Map<String, Object> handlerMappings = getHandlerMappings(); Object handlerOrClassName = handlerMappings.get(namespaceUri); if (handlerOrClassName == null) {
/** * Create the default implementation of {@link NamespaceHandlerResolver} used if none is specified. * <p>The default implementation returns an instance of {@link DefaultNamespaceHandlerResolver}. * @see DefaultNamespaceHandlerResolver#DefaultNamespaceHandlerResolver(ClassLoader) */ protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() { ClassLoader cl = (getResourceLoader() != null ? getResourceLoader().getClassLoader() : getBeanClassLoader()); return new DefaultNamespaceHandlerResolver(cl); }
@Override public String toString() { return "NamespaceHandlerResolver using mappings " + getHandlerMappings(); }