package org.spotter.ext.measurement.database; import org.lpe.common.config.ConfigParameterDescription; import org.lpe.common.util.LpeSupportedTypes; import org.spotter.core.measurement.AbstractMeasurmentExtension; import org.spotter.core.measurement.IMeasurementAdapter; public class HDBMeasurementExtension extends AbstractMeasurmentExtension { public static final String HOST_KEY = "host"; public static final String PORT_KEY = "port"; public static final String USER_NAME_KEY = "username"; public static final String PASSWORD_KEY = "password"; @Override public String getName() { return "HDB Measurement"; } @Override public IMeasurementAdapter createExtensionArtifact() { return new HDBMeasurement(this); } @Override protected void initializeConfigurationParameters() { addConfigParameter(createHostParameter()); addConfigParameter(createPortParameter()); addConfigParameter(createUsernameParameter()); addConfigParameter(createPasswordParameter()); } @Override public boolean testConnection(String host, String port) { try { HDBMeasurement instance = (HDBMeasurement) createExtensionArtifact(); instance.initialize(); boolean con = instance.testConnection(); instance.disableMonitoring(); return con; } catch (Exception e) { return false; } } @Override public boolean isRemoteExtension() { return true; } private ConfigParameterDescription createHostParameter() { ConfigParameterDescription parameter = new ConfigParameterDescription(HOST_KEY, LpeSupportedTypes.String); parameter.setMandatory(true); parameter.setDescription("The database host"); return parameter; } private ConfigParameterDescription createPortParameter() { ConfigParameterDescription parameter = new ConfigParameterDescription(PORT_KEY, LpeSupportedTypes.Integer); parameter.setMandatory(true); parameter.setDescription("The database port"); return parameter; } private ConfigParameterDescription createUsernameParameter() { ConfigParameterDescription parameter = new ConfigParameterDescription(USER_NAME_KEY, LpeSupportedTypes.String); parameter.setMandatory(true); parameter.setDescription("The user name"); return parameter; } private ConfigParameterDescription createPasswordParameter() { ConfigParameterDescription parameter = new ConfigParameterDescription(PASSWORD_KEY, LpeSupportedTypes.String); parameter.setMandatory(true); parameter.setDescription("The user's password"); return parameter; } }