|
Spring for Apache Hadoop | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.yarn.test.context.YarnDelegatingSmartContextLoader
public class YarnDelegatingSmartContextLoader
DelegatingSmartContextLoader is an implementation of the SmartContextLoader
SPI that delegates to a set of candidate SmartContextLoaders (i.e.,
YarnClusterInjectingXmlContextLoader and YarnClusterInjectingAnnotationConfigContextLoader) to
determine which context loader is appropriate for a given test classes configuration.
Each candidate is given a chance to process the
ContextConfigurationAttributes for each class in the test class hierarchy that
is annotated with @ContextConfiguration, and the candidate
that supports the merged, processed configuration will be used to actually
load the context.
Placing an empty @ContextConfiguration annotation on a test class signals
that default resource locations (i.e., XML configuration files) or default
configuration classes
should be detected. Furthermore, if a specific ContextLoader or
SmartContextLoader is not explicitly declared via
@ContextConfiguration, DelegatingSmartContextLoader will be used as
the default loader, thus providing automatic support for either XML configuration
files or configuration classes, but not both simultaneously.
NOTE: This is a copy from a spring-test order to add custom yarn specific testing logic.
SmartContextLoader,
YarnClusterInjectingXmlContextLoader,
YarnClusterInjectingAnnotationConfigContextLoader| Constructor Summary | |
|---|---|
YarnDelegatingSmartContextLoader()
|
|
| Method Summary | |
|---|---|
org.springframework.context.ApplicationContext |
loadContext(org.springframework.test.context.MergedContextConfiguration mergedConfig)
Delegates to an appropriate candidate SmartContextLoader to load
an ApplicationContext. |
org.springframework.context.ApplicationContext |
loadContext(java.lang.String... locations)
DelegatingSmartContextLoader does not support the
ContextLoader.loadContext(String...) method. |
void |
processContextConfiguration(org.springframework.test.context.ContextConfigurationAttributes configAttributes)
Delegates to candidate SmartContextLoaders to process the supplied
ContextConfigurationAttributes. |
java.lang.String[] |
processLocations(java.lang.Class<?> clazz,
java.lang.String... locations)
DelegatingSmartContextLoader does not support the
ContextLoader.processLocations(Class, String...) method. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public YarnDelegatingSmartContextLoader()
| Method Detail |
|---|
public void processContextConfiguration(org.springframework.test.context.ContextConfigurationAttributes configAttributes)
SmartContextLoaders to process the supplied
ContextConfigurationAttributes.
Delegation is based on explicit knowledge of the implementations of
YarnClusterInjectingXmlContextLoader and YarnClusterInjectingAnnotationConfigContextLoader.
Specifically, the delegation algorithm is as follows:
ContextConfigurationAttributes are not empty, the appropriate
candidate loader will be allowed to process the configuration as is,
without any checks for detection of defaults.YarnClusterInjectingXmlContextLoader will be allowed to process
the configuration in order to detect default resource locations. If
YarnClusterInjectingXmlContextLoader detects default resource locations,
an info message will be logged.YarnClusterInjectingAnnotationConfigContextLoader will be allowed to
process the configuration in order to detect default configuration classes.
If YarnClusterInjectingAnnotationConfigContextLoader detects default configuration
classes, an info message will be logged.
processContextConfiguration in interface org.springframework.test.context.SmartContextLoaderconfigAttributes - the context configuration attributes to process
java.lang.IllegalArgumentException - if the supplied configuration attributes are
null, or if the supplied configuration attributes include both
resource locations and configuration classes
java.lang.IllegalStateException - if YarnClusterInjectingXmlContextLoader detects default
configuration classes; if YarnClusterInjectingAnnotationConfigContextLoader detects default
resource locations; if neither candidate loader detects defaults for the supplied
context configuration; or if both candidate loaders detect defaults for the
supplied context configuration
public org.springframework.context.ApplicationContext loadContext(org.springframework.test.context.MergedContextConfiguration mergedConfig)
throws java.lang.Exception
SmartContextLoader to load
an ApplicationContext.
Delegation is based on explicit knowledge of the implementations of
YarnClusterInjectingXmlContextLoader and YarnClusterInjectingAnnotationConfigContextLoader.
Specifically, the delegation algorithm is as follows:
MergedContextConfiguration
are not empty and the configuration classes are empty,
YarnClusterInjectingXmlContextLoader will load the ApplicationContext.MergedContextConfiguration
are not empty and the resource locations are empty,
YarnClusterInjectingAnnotationConfigContextLoader will load the ApplicationContext.
loadContext in interface org.springframework.test.context.SmartContextLoadermergedConfig - the merged context configuration to use to load the application context
java.lang.IllegalArgumentException - if the supplied merged configuration is null
java.lang.IllegalStateException - if neither candidate loader is capable of loading an
ApplicationContext from the supplied merged context configuration
java.lang.Exception
public java.lang.String[] processLocations(java.lang.Class<?> clazz,
java.lang.String... locations)
DelegatingSmartContextLoader does not support the
ContextLoader.processLocations(Class, String...) method. Call
processContextConfiguration(ContextConfigurationAttributes) instead.
processLocations in interface org.springframework.test.context.ContextLoaderjava.lang.UnsupportedOperationException
public org.springframework.context.ApplicationContext loadContext(java.lang.String... locations)
throws java.lang.Exception
DelegatingSmartContextLoader does not support the
ContextLoader.loadContext(String...) method. Call
loadContext(MergedContextConfiguration) instead.
loadContext in interface org.springframework.test.context.ContextLoaderjava.lang.UnsupportedOperationException
java.lang.Exception
|
Spring for Apache Hadoop | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||