Polishing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -147,16 +147,21 @@ public class DefaultNamespaceHandlerResolver implements NamespaceHandlerResolver
|
||||
* Load the specified NamespaceHandler mappings lazily.
|
||||
*/
|
||||
private Map<String, Object> getHandlerMappings() {
|
||||
if (this.handlerMappings == null) {
|
||||
Map<String, Object> handlerMappings = this.handlerMappings;
|
||||
if (handlerMappings == null) {
|
||||
synchronized (this) {
|
||||
if (this.handlerMappings == null) {
|
||||
handlerMappings = this.handlerMappings;
|
||||
if (handlerMappings == null) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Loading NamespaceHandler mappings from [" + this.handlerMappingsLocation + "]");
|
||||
}
|
||||
try {
|
||||
Properties mappings =
|
||||
PropertiesLoaderUtils.loadAllProperties(this.handlerMappingsLocation, this.classLoader);
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Loaded NamespaceHandler mappings: " + mappings);
|
||||
}
|
||||
Map<String, Object> handlerMappings = new ConcurrentHashMap<String, Object>(mappings.size());
|
||||
handlerMappings = new ConcurrentHashMap<String, Object>(mappings.size());
|
||||
CollectionUtils.mergePropertiesIntoMap(mappings, handlerMappings);
|
||||
this.handlerMappings = handlerMappings;
|
||||
}
|
||||
@@ -167,7 +172,7 @@ public class DefaultNamespaceHandlerResolver implements NamespaceHandlerResolver
|
||||
}
|
||||
}
|
||||
}
|
||||
return this.handlerMappings;
|
||||
return handlerMappings;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -122,7 +122,7 @@ public class PluggableSchemaResolver implements EntityResolver {
|
||||
}
|
||||
catch (FileNotFoundException ex) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Couldn't find XML schema [" + systemId + "]: " + resource, ex);
|
||||
logger.debug("Could not find XML schema [" + systemId + "]: " + resource, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -134,9 +134,11 @@ public class PluggableSchemaResolver implements EntityResolver {
|
||||
* Load the specified schema mappings lazily.
|
||||
*/
|
||||
private Map<String, String> getSchemaMappings() {
|
||||
if (this.schemaMappings == null) {
|
||||
Map<String, String> schemaMappings = this.schemaMappings;
|
||||
if (schemaMappings == null) {
|
||||
synchronized (this) {
|
||||
if (this.schemaMappings == null) {
|
||||
schemaMappings = this.schemaMappings;
|
||||
if (schemaMappings == null) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Loading schema mappings from [" + this.schemaMappingsLocation + "]");
|
||||
}
|
||||
@@ -146,7 +148,7 @@ public class PluggableSchemaResolver implements EntityResolver {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Loaded schema mappings: " + mappings);
|
||||
}
|
||||
Map<String, String> schemaMappings = new ConcurrentHashMap<String, String>(mappings.size());
|
||||
schemaMappings = new ConcurrentHashMap<String, String>(mappings.size());
|
||||
CollectionUtils.mergePropertiesIntoMap(mappings, schemaMappings);
|
||||
this.schemaMappings = schemaMappings;
|
||||
}
|
||||
@@ -157,7 +159,7 @@ public class PluggableSchemaResolver implements EntityResolver {
|
||||
}
|
||||
}
|
||||
}
|
||||
return this.schemaMappings;
|
||||
return schemaMappings;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -314,7 +314,7 @@ public class XmlBeanDefinitionReader extends AbstractBeanDefinitionReader {
|
||||
public int loadBeanDefinitions(EncodedResource encodedResource) throws BeanDefinitionStoreException {
|
||||
Assert.notNull(encodedResource, "EncodedResource must not be null");
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Loading XML bean definitions from " + encodedResource.getResource());
|
||||
logger.info("Loading XML bean definitions from " + encodedResource);
|
||||
}
|
||||
|
||||
Set<EncodedResource> currentResources = this.resourcesCurrentlyBeingLoaded.get();
|
||||
@@ -430,13 +430,13 @@ public class XmlBeanDefinitionReader extends AbstractBeanDefinitionReader {
|
||||
getValidationModeForResource(resource), isNamespaceAware());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the validation mode for the specified {@link Resource}. If no explicit
|
||||
* validation mode has been configured then the validation mode is
|
||||
* {@link #detectValidationMode detected}.
|
||||
* Determine the validation mode for the specified {@link Resource}.
|
||||
* If no explicit validation mode has been configured, then the validation
|
||||
* mode gets {@link #detectValidationMode detected} from the given resource.
|
||||
* <p>Override this method if you would like full control over the validation
|
||||
* mode, even when something other than {@link #VALIDATION_AUTO} was set.
|
||||
* @see #detectValidationMode
|
||||
*/
|
||||
protected int getValidationModeForResource(Resource resource) {
|
||||
int validationModeToUse = getValidationMode();
|
||||
@@ -454,7 +454,7 @@ public class XmlBeanDefinitionReader extends AbstractBeanDefinitionReader {
|
||||
}
|
||||
|
||||
/**
|
||||
* Detects which kind of validation to perform on the XML file identified
|
||||
* Detect which kind of validation to perform on the XML file identified
|
||||
* by the supplied {@link Resource}. If the file has a {@code DOCTYPE}
|
||||
* definition then DTD validation is used otherwise XSD validation is assumed.
|
||||
* <p>Override this method if you would like to customize resolution
|
||||
@@ -540,7 +540,8 @@ public class XmlBeanDefinitionReader extends AbstractBeanDefinitionReader {
|
||||
|
||||
/**
|
||||
* Create the default implementation of {@link NamespaceHandlerResolver} used if none is specified.
|
||||
* Default implementation returns an instance of {@link DefaultNamespaceHandlerResolver}.
|
||||
* <p>The default implementation returns an instance of {@link DefaultNamespaceHandlerResolver}.
|
||||
* @see DefaultNamespaceHandlerResolver#DefaultNamespaceHandlerResolver(ClassLoader)
|
||||
*/
|
||||
protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() {
|
||||
return new DefaultNamespaceHandlerResolver(getResourceLoader().getClassLoader());
|
||||
|
||||
Reference in New Issue
Block a user