package com.openshift.client.fakes; import com.openshift.client.OpenShiftException; import com.openshift.client.configuration.*; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.Writer; import java.util.Properties; /** * @author Corey Daley */ public class OpenShiftConfigurationFake extends AbstractOpenshiftConfiguration { public OpenShiftConfigurationFake(final String systemConfigurationTimeout, final String userConfigurationTimeout, final String systemPropertiesTimeout, final String defaultConfigurationTimeout) throws FileNotFoundException, IOException, OpenShiftException { super(new SystemPropertiesFake( new UserConfigurationFake( new SystemConfigurationFake( new DefaultConfigurationFake(){ @Override protected Properties getProperties(File file, Properties defaultProperties) { Properties properties = new Properties(); properties.put(KEY_LIBRA_SERVER, LIBRA_SERVER); properties.put(KEY_LIBRA_DOMAIN, LIBRA_DOMAIN); if (defaultConfigurationTimeout != null) { properties.put(KEY_TIMEOUT, defaultConfigurationTimeout); } else { properties.put(KEY_TIMEOUT, DEFAULT_OPENSHIFT_TIMEOUT); } return properties; } }){ //SystemConfigurationFake protected void init(Properties properties) { if (systemConfigurationTimeout != null) { properties.put(KEY_TIMEOUT, systemConfigurationTimeout); } } }){ //UserConfigurationFake protected void initFile(Writer writer) throws IOException { if (userConfigurationTimeout != null) { writer.append(KEY_TIMEOUT).append('=').append(userConfigurationTimeout).append('\n'); } } }){ //SystemPropertiesFake @Override protected Properties getProperties(File file, Properties defaultProperties) { Properties properties = new Properties(defaultProperties); if (systemPropertiesTimeout != null) { properties.setProperty(KEY_TIMEOUT,systemPropertiesTimeout); } return properties; } }); } }