150 lines
3.3 KiB
Java
150 lines
3.3 KiB
Java
package org.gcube.smartgears.configuration.application;
|
|
|
|
import java.io.File;
|
|
import java.util.Set;
|
|
|
|
import org.gcube.smartgears.configuration.ProxyAddress;
|
|
import org.gcube.smartgears.configuration.container.ContainerConfiguration;
|
|
import org.gcube.smartgears.persistence.LocalPersistence;
|
|
import org.gcube.smartgears.persistence.PersistenceWriter;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
*
|
|
* @author Fabio Simeoni
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*/
|
|
public class BridgedApplicationConfiguration implements ApplicationConfiguration {
|
|
|
|
private static Logger log = LoggerFactory.getLogger(ApplicationConfiguration.class);
|
|
|
|
private final ApplicationConfiguration application;
|
|
|
|
|
|
public BridgedApplicationConfiguration(ContainerConfiguration container, ApplicationConfiguration config) {
|
|
|
|
this.application=config;
|
|
|
|
if (application.persistence()==null) {
|
|
|
|
String location = container.persistence().getLocation()+"/"+application.name();
|
|
File dir = new File(location);
|
|
if (!dir.exists())
|
|
dir.mkdirs();
|
|
|
|
application.persistence(new LocalPersistence(location));
|
|
|
|
log.trace("setting persistence location for {} @ {}",application.name(), dir.getAbsolutePath());
|
|
|
|
}
|
|
|
|
if (application.proxable() && container.proxy()!=null)
|
|
application.proxyAddress(container.proxy());
|
|
|
|
}
|
|
|
|
public ApplicationConfiguration inner() {
|
|
return application;
|
|
}
|
|
|
|
@Override
|
|
public String context() {
|
|
return application.context();
|
|
}
|
|
|
|
@Override
|
|
public ApplicationConfiguration context(String context) {
|
|
return application.context(context);
|
|
}
|
|
|
|
public String name() {
|
|
return application.name();
|
|
}
|
|
|
|
public ApplicationConfiguration name(String name) {
|
|
return application.name(name);
|
|
}
|
|
|
|
public String serviceClass() {
|
|
return application.serviceClass();
|
|
}
|
|
|
|
public ApplicationConfiguration serviceClass(String group) {
|
|
return application.serviceClass(group);
|
|
}
|
|
|
|
public String version() {
|
|
return application.version();
|
|
}
|
|
|
|
public ApplicationConfiguration version(String version) {
|
|
return application.version(version);
|
|
}
|
|
|
|
public String description() {
|
|
return application.description();
|
|
}
|
|
|
|
public ApplicationConfiguration description(String description) {
|
|
return application.description(description);
|
|
}
|
|
|
|
public PersistenceWriter persistence() {
|
|
return application.persistence();
|
|
}
|
|
|
|
public ApplicationConfiguration persistence(PersistenceWriter manager) {
|
|
return application.persistence(manager);
|
|
}
|
|
|
|
|
|
public void validate() {
|
|
|
|
application.validate();
|
|
|
|
}
|
|
|
|
@Override
|
|
public Set<Exclude> excludes() {
|
|
return application.excludes();
|
|
}
|
|
|
|
@Override
|
|
public Set<Include> includes() {
|
|
return application.includes();
|
|
}
|
|
|
|
@Override
|
|
public void merge(ApplicationConfiguration config) {
|
|
application.merge(config);
|
|
}
|
|
|
|
|
|
@Override
|
|
public boolean proxable() {
|
|
return application.proxable();
|
|
}
|
|
|
|
@Override
|
|
public ApplicationConfiguration excludes(Exclude ... excludes) {
|
|
return application.excludes(excludes);
|
|
}
|
|
|
|
@Override
|
|
public ApplicationConfiguration includes(Include... includes) {
|
|
return application.includes(includes);
|
|
}
|
|
|
|
@Override
|
|
public ProxyAddress proxyAddress() {
|
|
return application.proxyAddress();
|
|
}
|
|
|
|
@Override
|
|
public ApplicationConfiguration proxyAddress(ProxyAddress proxy) {
|
|
return proxyAddress(proxy);
|
|
}
|
|
|
|
}
|