@Override
public void init(List<StartupCommand> ofbizCommands, String name, String configFile) throws ContainerException {
this.name = name;
ContainerConfig.Configuration configuration = ContainerConfig.getConfiguration(name, configFile);
Property engineConfig = retrieveTomcatEngineConfig(configuration);
tomcat = prepareTomcatServer(configuration, engineConfig);
Engine engine = prepareTomcatEngine(tomcat, engineConfig);
Host host = prepareHost(tomcat, null);
if (EntityUtilProperties.propertyValueEquals("security", "security.login.tomcat.sso", "true")){
boolean useEncryption = EntityUtilProperties.propertyValueEquals("security", "password.encrypt", "true");
OFBizRealm ofBizRealm = new OFBizRealm();
if (useEncryption){
ofBizRealm.setCredentialHandler(new HashedCredentialHandler());
} else {
ofBizRealm.setCredentialHandler(new SimpleCredentialHandler());
}
host.setRealm(ofBizRealm);
((StandardHost)host).addValve(new SingleSignOn());
}
Property clusterProps = prepareTomcatClustering(host, engineConfig);
prepareTomcatEngineValves(engineConfig).forEach(valve -> ((StandardEngine)engine).addValve(valve));
prepareTomcatConnectors(configuration).forEach(connector -> tomcat.getService().addConnector(connector));
loadWebapps(tomcat, configuration, clusterProps);
}