package open.dolphin.project;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
/**
*
* @author Kazushi Minagawa
*/
public final class ConnectionSettingBean extends AbstractSettingBean {
// Hosiptal ID
private String facilityId;
// User name to login
private String userId;
// Schema http/https
private String schema;
// Server address
private String server;
// Port number
private String port;
private final Map<String, String[]> tagMap = new HashMap<>(5, 0.75f);
public ConnectionSettingBean() {
tagMap.put("schema", new String[]{"http", "https"});
tagMap.put("port", new String[]{"8080", "80", "443"});
}
@Override
public String[] propertyOrder() {
return new String[]{"facilityId", "userId", "schema", "server", "port"};
}
@Override
public boolean isTagProperty(String property) {
return tagMap.get(property)!=null;
}
@Override
public String[] getTags(String property) {
String[] ret = tagMap.get(property);
return ret;
}
@Override
public boolean isValidBean() {
boolean valid = facilityId!=null && !"".equals(facilityId);
valid = valid && (userId!=null && !"".equals(userId));
valid = valid && (schema!=null && !"".equals(schema));
valid = valid && (server!=null && !"".equals(server));
valid = valid && (port!=null && !"".equals(port));
return valid;
}
@Override
public void populate() {
ProjectStub stub = Project.getProjectStub();
setFacilityId(stub.getFacilityId());
setUserId(stub.getUserId());
java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.FINE, "serverURI={0}", stub.getServerURI());
java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.FINE, "schema={0}", stub.getSchema());
java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.FINE, "sever={0}", stub.getServer());
java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.FINE, "port={0}", stub.getPort());
setSchema(stub.getSchema());
setServer(stub.getServer());
setPort(stub.getPort());
}
@Override
public void store() {
if (!isValidBean()) {
return;
}
ProjectStub stub = Project.getProjectStub();
stub.setFacilityId(getFacilityId());
stub.setUserId(getUserId());
// Constract URI
StringBuilder sb = new StringBuilder();
sb.append(getSchema()).append("://").append(getServer()).append(":").append(getPort());
String uri = sb.toString();
java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.FINE, "serverURI={0}", uri);
stub.setServerURI(uri);
}
public String getFacilityId() {
return facilityId;
}
public void setFacilityId(String facilityId) {
this.facilityId = facilityId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getSchema() {
return schema;
}
public void setSchema(String schema) {
this.schema = schema;
}
public String getServer() {
return server;
}
public void setServer(String server) {
this.server = server;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}