类org.springframework.core.io.DescriptiveResource源码实例Demo

下面列出了怎么用org.springframework.core.io.DescriptiveResource的API类实例代码及写法,或者点击链接到github查看源代码。

@Test
public void postProcessorFailsOnImplicitOverrideIfOverridingIsNotAllowed() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	beanFactory.setAllowBeanDefinitionOverriding(false);
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	try {
		pp.postProcessBeanFactory(beanFactory);
		fail("Should have thrown BeanDefinitionStoreException");
	}
	catch (BeanDefinitionStoreException ex) {
		assertTrue(ex.getMessage().contains("bar"));
		assertTrue(ex.getMessage().contains("SingletonBeanConfig"));
		assertTrue(ex.getMessage().contains(TestBean.class.getName()));
	}
}
 
/**
 * Define a Spring XML namespace definition to use.
 * @param definition the namespace definition
 */
public void xmlns(Map<String, String> definition) {
	if (!definition.isEmpty()) {
		for (Map.Entry<String,String> entry : definition.entrySet()) {
			String namespace = entry.getKey();
			String uri = entry.getValue();
			if (uri == null) {
				throw new IllegalArgumentException("Namespace definition must supply a non-null URI");
			}
			NamespaceHandler namespaceHandler =
					this.groovyDslXmlBeanDefinitionReader.getNamespaceHandlerResolver().resolve(uri);
			if (namespaceHandler == null) {
				throw new BeanDefinitionParsingException(new Problem("No namespace handler found for URI: " + uri,
						new Location(new DescriptiveResource(("Groovy")))));
			}
			this.namespaces.put(namespace, uri);
		}
	}
}
 
private GroovyDynamicElementReader createDynamicElementReader(String namespace) {
	XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader.createReaderContext(new DescriptiveResource(
		"Groovy"));
	BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext);
	boolean decorating = (this.currentBeanDefinition != null);
	if (!decorating) {
		this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace);
	}
	return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition, decorating) {
		@Override
		protected void afterInvocation() {
			if (!this.decorating) {
				currentBeanDefinition = null;
			}
		}
	};
}
 
@Test
public void postProcessorFailsOnImplicitOverrideIfOverridingIsNotAllowed() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	beanFactory.setAllowBeanDefinitionOverriding(false);
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	try {
		pp.postProcessBeanFactory(beanFactory);
		fail("Should have thrown BeanDefinitionStoreException");
	}
	catch (BeanDefinitionStoreException ex) {
		assertTrue(ex.getMessage().contains("bar"));
		assertTrue(ex.getMessage().contains("SingletonBeanConfig"));
		assertTrue(ex.getMessage().contains(TestBean.class.getName()));
	}
}
 
/**
 * Define a Spring XML namespace definition to use.
 * @param definition the namespace definition
 */
public void xmlns(Map<String, String> definition) {
	if (!definition.isEmpty()) {
		for (Map.Entry<String,String> entry : definition.entrySet()) {
			String namespace = entry.getKey();
			String uri = entry.getValue();
			if (uri == null) {
				throw new IllegalArgumentException("Namespace definition must supply a non-null URI");
			}
			NamespaceHandler namespaceHandler =
					this.groovyDslXmlBeanDefinitionReader.getNamespaceHandlerResolver().resolve(uri);
			if (namespaceHandler == null) {
				throw new BeanDefinitionParsingException(new Problem("No namespace handler found for URI: " + uri,
						new Location(new DescriptiveResource(("Groovy")))));
			}
			this.namespaces.put(namespace, uri);
		}
	}
}
 
private GroovyDynamicElementReader createDynamicElementReader(String namespace) {
	XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader.createReaderContext(new DescriptiveResource(
		"Groovy"));
	BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext);
	boolean decorating = (this.currentBeanDefinition != null);
	if (!decorating) {
		this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace);
	}
	return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition, decorating) {
		@Override
		protected void afterInvocation() {
			if (!this.decorating) {
				currentBeanDefinition = null;
			}
		}
	};
}
 
源代码7 项目: lams   文件: GroovyBeanDefinitionReader.java
/**
 * Define a Spring XML namespace definition to use.
 * @param definition the namespace definition
 */
public void xmlns(Map<String, String> definition) {
	if (!definition.isEmpty()) {
		for (Map.Entry<String,String> entry : definition.entrySet()) {
			String namespace = entry.getKey();
			String uri = entry.getValue();
			if (uri == null) {
				throw new IllegalArgumentException("Namespace definition must supply a non-null URI");
			}
			NamespaceHandler namespaceHandler =
					this.groovyDslXmlBeanDefinitionReader.getNamespaceHandlerResolver().resolve(uri);
			if (namespaceHandler == null) {
				throw new BeanDefinitionParsingException(new Problem("No namespace handler found for URI: " + uri,
						new Location(new DescriptiveResource(("Groovy")))));
			}
			this.namespaces.put(namespace, uri);
		}
	}
}
 
源代码8 项目: lams   文件: GroovyBeanDefinitionReader.java
private GroovyDynamicElementReader createDynamicElementReader(String namespace) {
	XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader.createReaderContext(new DescriptiveResource(
		"Groovy"));
	BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext);
	boolean decorating = (this.currentBeanDefinition != null);
	if (!decorating) {
		this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace);
	}
	return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition, decorating) {
		@Override
		protected void afterInvocation() {
			if (!this.decorating) {
				currentBeanDefinition = null;
			}
		}
	};
}
 
源代码9 项目: blog_demos   文件: GroovyBeanDefinitionReader.java
/**
 * Define a Spring namespace definition to use.
 * @param definition the namespace definition
 */
public void xmlns(Map<String, String> definition) {
	if (!definition.isEmpty()) {
		for (Map.Entry<String,String> entry : definition.entrySet()) {
			String namespace = entry.getKey();
			String uri = entry.getValue();
			if (uri == null) {
				throw new IllegalArgumentException("Namespace definition must supply a non-null URI");
			}
			NamespaceHandler namespaceHandler = this.xmlBeanDefinitionReader.getNamespaceHandlerResolver().resolve(uri);
			if (namespaceHandler == null) {
				throw new BeanDefinitionParsingException(new Problem("No namespace handler found for URI: " + uri,
						new Location(new DescriptiveResource(("Groovy")))));
			}
			this.namespaces.put(namespace, uri);
		}
	}
}
 
@Test
public void postProcessorFailsOnImplicitOverrideIfOverridingIsNotAllowed() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	beanFactory.setAllowBeanDefinitionOverriding(false);
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	try {
		pp.postProcessBeanFactory(beanFactory);
		fail("Should have thrown BeanDefinitionStoreException");
	}
	catch (BeanDefinitionStoreException ex) {
		assertTrue(ex.getMessage().contains("bar"));
		assertTrue(ex.getMessage().contains("SingletonBeanConfig"));
		assertTrue(ex.getMessage().contains(TestBean.class.getName()));
	}
}
 
/**
 * Define a Spring XML namespace definition to use.
 * @param definition the namespace definition
 */
public void xmlns(Map<String, String> definition) {
	if (!definition.isEmpty()) {
		for (Map.Entry<String,String> entry : definition.entrySet()) {
			String namespace = entry.getKey();
			String uri = entry.getValue();
			if (uri == null) {
				throw new IllegalArgumentException("Namespace definition must supply a non-null URI");
			}
			NamespaceHandler namespaceHandler = this.groovyDslXmlBeanDefinitionReader.getNamespaceHandlerResolver().resolve(
				uri);
			if (namespaceHandler == null) {
				throw new BeanDefinitionParsingException(new Problem("No namespace handler found for URI: " + uri,
						new Location(new DescriptiveResource(("Groovy")))));
			}
			this.namespaces.put(namespace, uri);
		}
	}
}
 
private GroovyDynamicElementReader createDynamicElementReader(String namespace) {
	XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader.createReaderContext(new DescriptiveResource(
		"Groovy"));
	BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext);
	boolean decorating = (this.currentBeanDefinition != null);
	if (!decorating) {
		this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace);
	}
	return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition, decorating) {
		@Override
		protected void afterInvocation() {
			if (!this.decorating) {
				currentBeanDefinition = null;
			}
		}
	};
}
 
@Test
@SuppressWarnings("deprecation")
public void velocityConfigurerWithCsvPathAndNonFileAccess() throws IOException, VelocityException {
	VelocityConfigurer vc = new VelocityConfigurer();
	vc.setResourceLoaderPath("file:/mydir,file:/yourdir");
	vc.setResourceLoader(new ResourceLoader() {
		@Override
		public Resource getResource(String location) {
			if ("file:/yourdir/test".equals(location)) {
				return new DescriptiveResource("");
			}
			return new ByteArrayResource("test".getBytes(), "test");
		}
		@Override
		public ClassLoader getClassLoader() {
			return getClass().getClassLoader();
		}
	});
	vc.setPreferFileSystemAccess(false);
	vc.afterPropertiesSet();
	assertThat(vc.createVelocityEngine(), instanceOf(VelocityEngine.class));
	VelocityEngine ve = vc.createVelocityEngine();
	assertEquals("test", VelocityEngineUtils.mergeTemplateIntoString(ve, "test", Collections.emptyMap()));
}
 
源代码14 项目: spring-analysis-note   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param clazz the underlying {@link Class} to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(Class<?> clazz, String beanName) {
	Assert.notNull(beanName, "Bean name must not be null");
	this.metadata = AnnotationMetadata.introspect(clazz);
	this.resource = new DescriptiveResource(clazz.getName());
	this.beanName = beanName;
}
 
源代码15 项目: spring-analysis-note   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param metadata the metadata for the underlying class to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(AnnotationMetadata metadata, String beanName) {
	Assert.notNull(beanName, "Bean name must not be null");
	this.metadata = metadata;
	this.resource = new DescriptiveResource(metadata.getClassName());
	this.beanName = beanName;
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitions() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitionsEvenWithScopedProxy() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	BeanDefinitionHolder proxied = ScopedProxyUtils.createScopedProxy(
			new BeanDefinitionHolder(rbd, "bar"), beanFactory, true);
	beanFactory.registerBeanDefinition("bar", proxied.getBeanDefinition());
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void testWarn() throws Exception {
	Problem problem = new Problem("VGER", new Location(new DescriptiveResource("here")),
			null, new IllegalArgumentException());

	Log log = mock(Log.class);

	FailFastProblemReporter reporter = new FailFastProblemReporter();
	reporter.setLogger(log);
	reporter.warning(problem);

	verify(log).warn(any(), isA(IllegalArgumentException.class));
}
 
源代码19 项目: java-technology-stack   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param clazz the underlying {@link Class} to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(Class<?> clazz, String beanName) {
	Assert.notNull(beanName, "Bean name must not be null");
	this.metadata = new StandardAnnotationMetadata(clazz, true);
	this.resource = new DescriptiveResource(clazz.getName());
	this.beanName = beanName;
}
 
源代码20 项目: java-technology-stack   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param metadata the metadata for the underlying class to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(AnnotationMetadata metadata, String beanName) {
	Assert.notNull(beanName, "Bean name must not be null");
	this.metadata = metadata;
	this.resource = new DescriptiveResource(metadata.getClassName());
	this.beanName = beanName;
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitions() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitionsEvenWithScopedProxy() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	BeanDefinitionHolder proxied = ScopedProxyUtils.createScopedProxy(
			new BeanDefinitionHolder(rbd, "bar"), beanFactory, true);
	beanFactory.registerBeanDefinition("bar", proxied.getBeanDefinition());
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void testWarn() throws Exception {
	Problem problem = new Problem("VGER", new Location(new DescriptiveResource("here")),
			null, new IllegalArgumentException());

	Log log = mock(Log.class);

	FailFastProblemReporter reporter = new FailFastProblemReporter();
	reporter.setLogger(log);
	reporter.warning(problem);

	verify(log).warn(any(), isA(IllegalArgumentException.class));
}
 
源代码24 项目: lams   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param clazz the underlying {@link Class} to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(Class<?> clazz, String beanName) {
	Assert.hasText(beanName, "Bean name must not be null");
	this.metadata = new StandardAnnotationMetadata(clazz, true);
	this.resource = new DescriptiveResource(clazz.getName());
	this.beanName = beanName;
}
 
源代码25 项目: lams   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param metadata the metadata for the underlying class to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(AnnotationMetadata metadata, String beanName) {
	Assert.hasText(beanName, "Bean name must not be null");
	this.metadata = metadata;
	this.resource = new DescriptiveResource(metadata.getClassName());
	this.beanName = beanName;
}
 
源代码26 项目: spring4-understanding   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param clazz the underlying {@link Class} to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(Class<?> clazz, String beanName) {
	Assert.hasText(beanName, "Bean name must not be null");
	this.metadata = new StandardAnnotationMetadata(clazz, true);
	this.resource = new DescriptiveResource(clazz.toString());
	this.beanName = beanName;
}
 
源代码27 项目: spring4-understanding   文件: ConfigurationClass.java
/**
 * Create a new {@link ConfigurationClass} with the given name.
 * @param metadata the metadata for the underlying class to represent
 * @param beanName name of the {@code @Configuration} class bean
 * @see ConfigurationClass#ConfigurationClass(Class, ConfigurationClass)
 */
public ConfigurationClass(AnnotationMetadata metadata, String beanName) {
	Assert.hasText(beanName, "Bean name must not be null");
	this.metadata = metadata;
	this.resource = new DescriptiveResource(metadata.getClassName());
	this.beanName = beanName;
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitions() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	beanFactory.registerBeanDefinition("bar", rbd);
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void postProcessorDoesNotOverrideRegularBeanDefinitionsEvenWithScopedProxy() {
	RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
	rbd.setResource(new DescriptiveResource("XML or something"));
	BeanDefinitionHolder proxied = ScopedProxyUtils.createScopedProxy(
			new BeanDefinitionHolder(rbd, "bar"), beanFactory, true);
	beanFactory.registerBeanDefinition("bar", proxied.getBeanDefinition());
	beanFactory.registerBeanDefinition("config", new RootBeanDefinition(SingletonBeanConfig.class));
	ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
	pp.postProcessBeanFactory(beanFactory);
	beanFactory.getBean("foo", Foo.class);
	beanFactory.getBean("bar", TestBean.class);
}
 
@Test
public void testWarn() throws Exception {
	Problem problem = new Problem("VGER", new Location(new DescriptiveResource("here")),
			null, new IllegalArgumentException());

	Log log = mock(Log.class);

	FailFastProblemReporter reporter = new FailFastProblemReporter();
	reporter.setLogger(log);
	reporter.warning(problem);

	verify(log).warn(any(), isA(IllegalArgumentException.class));
}
 
 同包方法