#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package};
import static net.contextfw.web.application.configuration.Configuration.*;
import java.io.IOException;
import java.util.Properties;
import java.net.URL;
import net.contextfw.web.application.WebApplicationException;
import net.contextfw.web.application.WebApplicationModule;
import net.contextfw.web.application.configuration.Configuration;
import com.google.inject.AbstractModule;
import com.mycila.inject.jsr250.Jsr250;
public class MyApplicationModule extends AbstractModule {
@Override
protected void configure() {
Properties properties = loadProperties();
boolean developmentMode = Boolean.parseBoolean(
properties.getProperty("developmentMode", "false"));
Configuration conf = Configuration.getDefaults()
.add(RESOURCE_PATH, "${package}")
.add(VIEW_COMPONENT_ROOT_PACKAGE, "${package}.web.views")
.add(RELOADABLE_CLASSES.includedPackage("${package}.web.components"))
.set(CLASS_RELOADING_ENABLED, true)
.set(DEVELOPMENT_MODE, developmentMode)
.set(XML_PARAM_NAME, "xml")
.set(LOG_XML, developmentMode)
.set(XML_RESPONSE_LOGGER.as(ResponseLogger.class));
install(new WebApplicationModule(conf));
install(Jsr250.newJsr250Module());
}
private Properties loadProperties() {
Properties properties = new Properties();
ClassLoader loader = getClass().getClassLoader();
URL url = loader.getResource("config.properties");
try {
properties.load(url.openStream());
} catch (IOException e) {
throw new WebApplicationException(e);
}
return properties;
}
}