package org.n52.wps.ags.workspace;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class AGSPropertiesWrapper {
private static final String AGS_PROPERTIES_CLASSNAME = "org.n52.wps.ags.AGSProperties";
private static AGSPropertiesWrapper _instance;
private Object properties;
public static synchronized AGSPropertiesWrapper getInstance() {
if (_instance == null) {
_instance = new AGSPropertiesWrapper();
}
return _instance;
}
private AGSPropertiesWrapper() {
this.properties = reflectAGSProperties();
}
private Object reflectAGSProperties() {
try {
Class<?> clazz = Class.forName(AGS_PROPERTIES_CLASSNAME);
Method method = clazz.getMethod("getInstance", new Class<?>[] {});
return method.invoke(null, new Object[] {});
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return null;
}
public String getDomain() {
return (String) invokeMethodWithoutParameters("getDomain");
}
private Object invokeMethodWithoutParameters(String string) {
if (this.properties == null) return null;
try {
Method method = this.properties.getClass().getMethod(string, new Class<?>[] {});
return method.invoke(this.properties, new Object[] {});
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return null;
}
public String getUser() {
return (String) invokeMethodWithoutParameters("getUser");
}
public String getPass() {
return (String) invokeMethodWithoutParameters("getPass");
}
public String getIP() {
return (String) invokeMethodWithoutParameters("getIP");
}
public String getWorkspaceBase() {
return (String) invokeMethodWithoutParameters("getWorkspaceBase");
}
}