*/
package org.wamblee.xmlrouter.impl;
+import java.util.ArrayList;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import org.wamblee.xmlrouter.config.RouterConfig;
+
/**
* Implements the XML Router configuration interface including the required
* locking.
private ExtendedRouterConfig config;
private TransformationPaths transformations;
- public XMLRouterConfigurationImpl(ExtendedRouterConfig aConfig,
- TransformationPaths aTransformations) {
+ public XMLRouterConfigurationImpl(ExtendedRouterConfig aConfig) {
config = aConfig;
- transformations = aTransformations;
+ transformations = new TransformationPaths();
+ }
+
+ public XMLRouterConfigurationImpl() {
+ this(new CompositeRouterConfig(new ArrayList<RouterConfig>()));
}
@Override
}
@Override
- public ExtendedRouterConfig routerConfig() {
+ public ExtendedRouterConfig getRouterConfig() {
return config;
}
@Override
- public TransformationPaths transformations() {
+ public void setRouterConfig(ExtendedRouterConfig aConfig) {
+ config = aConfig;
+ transformations.replaceTransformations(config.transformationConfig()
+ .map());
+ }
+
+ @Override
+ public TransformationPaths getTransformations() {
return transformations;
}
}