com.opensymphony.xwork2.config.impl.MockConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xwork Show documentation
Show all versions of xwork Show documentation
XWork is an command-pattern framework that is used to power WebWork
as well as other applications. XWork provides an Inversion of Control
container, a powerful expression language, data type conversion,
validation, and pluggable configuration.
The newest version!
/*
* Copyright (c) 2002-2003 by OpenSymphony
* All rights reserved.
*/
package com.opensymphony.xwork2.config.impl;
import com.opensymphony.xwork2.config.*;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.entities.UnknownHandlerConfig;
import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.inject.Scope;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import java.util.*;
/**
* Simple configuration used for unit testing
*/
public class MockConfiguration implements Configuration {
private Map packages = new HashMap();
private Set loadedFiles = new HashSet();
private Container container;
protected List unknownHandlerStack;
private ContainerBuilder builder;
public MockConfiguration() {
builder = new ContainerBuilder();
}
public void selfRegister() {
//this cannot be done in the constructor, as it causes an infinite loop
builder.factory(Configuration.class, MockConfiguration.class, Scope.SINGLETON);
LocatableProperties props = new LocatableProperties();
new XWorkConfigurationProvider().register(builder, props);
builder.constant("devMode", "false");
container = builder.create(true);
}
public PackageConfig getPackageConfig(String name) {
return packages.get(name);
}
public Set getPackageConfigNames() {
return packages.keySet();
}
public Map getPackageConfigs() {
return packages;
}
public RuntimeConfiguration getRuntimeConfiguration() {
throw new UnsupportedOperationException();
}
public void addPackageConfig(String name, PackageConfig packageContext) {
packages.put(name, packageContext);
}
public void buildRuntimeConfiguration() {
throw new UnsupportedOperationException();
}
public void destroy() {
throw new UnsupportedOperationException();
}
public void rebuildRuntimeConfiguration() {
throw new UnsupportedOperationException();
}
public void reload(List providers) throws ConfigurationException {
throw new UnsupportedOperationException();
}
public PackageConfig removePackageConfig(String name) {
return packages.remove(name);
}
public Container getContainer() {
return container;
}
public Set getLoadedFileNames() {
return loadedFiles;
}
public List reloadContainer(
List containerProviders)
throws ConfigurationException {
throw new UnsupportedOperationException();
}
public List getUnknownHandlerStack() {
return unknownHandlerStack;
}
public void setUnknownHandlerStack(List unknownHandlerStack) {
this.unknownHandlerStack = unknownHandlerStack;
}
}