package org.gcube.smartgears.configuration.application; import java.util.Set; import org.gcube.smartgears.configuration.ProxyAddress; import org.gcube.smartgears.configuration.container.ContainerConfiguration; 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) { application.persistence(container.persistence()); log.trace("setting persistence location for {} the same as the container persistence",application.name()); } } 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 ProxyAddress proxyAddress() { return application.proxyAddress(); } 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 excludes() { return application.excludes(); } @Override public Set includes() { return application.includes(); } @Override public void merge(ApplicationConfiguration config) { application.merge(config); } @Override public boolean proxied() { return application.proxied(); } @Override public ApplicationConfiguration excludes(Exclude ... excludes) { return application.excludes(excludes); } @Override public ApplicationConfiguration includes(Include... includes) { return application.includes(includes); } @Override public ApplicationConfiguration proxyAddress(ProxyAddress proxyaddress) { return application.proxyAddress(proxyaddress); } }