List of usage examples for org.apache.commons.dbutils.handlers KeyedHandler KeyedHandler
public KeyedHandler(String columnName)
From source file:info.pancancer.arch3.persistence.PostgreSQL.java
public Integer createProvision(Provision p) { Map<Object, Map<String, Object>> map = this.runInsertStatement( "INSERT INTO provision (status, provision_uuid, cores, mem_gb, storage_gb, job_uuid, ip_address) VALUES (?,?,?,?,?,?,?)", new KeyedHandler<>("provision_id"), p.getState().toString(), p.getProvisionUUID(), p.getCores(), p.getMemGb(), p.getStorageGb(), p.getJobUUID(), p.getIpAddress()); return (Integer) map.entrySet().iterator().next().getKey(); }
From source file:info.pancancer.arch3.persistence.PostgreSQL.java
public String createJob(Job j) { JSONObject jsonIni = new JSONObject(j.getIni()); Map<Object, Map<String, Object>> map = this.runInsertStatement( "INSERT INTO job (status, job_uuid, workflow, workflow_version, job_hash, ini) VALUES (?,?,?,?,?,?)", new KeyedHandler<>("job_uuid"), j.getState().toString(), j.getUuid(), j.getWorkflow(), j.getWorkflowVersion(), j.getJobHash(), jsonIni.toJSONString()); return (String) map.entrySet().iterator().next().getKey(); }
From source file:info.pancancer.arch3.persistence.PostgreSQL.java
public String[] getSuccessfulVMAddresses() { Map<String, Map<String, Object>> runSelectStatement = runSelectStatement( "select provision_id, ip_address from provision where status = '" + ProvisionState.SUCCESS + "'", new KeyedHandler<String>("provision_id")); List<String> list = new ArrayList<>(); for (Entry<String, Map<String, Object>> entry : runSelectStatement.entrySet()) { list.add((String) entry.getValue().get("ip_address")); }//ww w . ja v a 2s . c o m return list.toArray(new String[list.size()]); }
From source file:info.pancancer.arch3.persistence.PostgreSQL.java
public List<Provision> getProvisions(ProvisionState status) { List<Provision> provisions = new ArrayList<>(); Map<Object, Map<String, Object>> map; if (status != null) { map = this.runSelectStatement( "select * from provision where provision_id in (select max(provision_id) from provision group by ip_address) and status = ?", new KeyedHandler<>("provision_uuid"), status.toString()); } else {// w w w .ja v a 2 s . c o m map = this.runSelectStatement( "select * from provision where provision_id in (select max(provision_id) from provision group by ip_address)", new KeyedHandler<>("provision_uuid")); } for (Entry<Object, Map<String, Object>> entry : map.entrySet()) { Provision p = new Provision(); p.setState(Enum.valueOf(ProvisionState.class, (String) entry.getValue().get("status"))); p.setJobUUID((String) entry.getValue().get("job_uuid")); p.setProvisionUUID((String) entry.getValue().get("provision_uuid")); p.setIpAddress((String) entry.getValue().get("ip_address")); p.setCores((Integer) entry.getValue().get("cores")); p.setMemGb((Integer) entry.getValue().get("mem_gb")); p.setStorageGb((Integer) entry.getValue().get("storage_gb")); // timestamp Timestamp createTs = (Timestamp) entry.getValue().get("create_timestamp"); Timestamp updateTs = (Timestamp) entry.getValue().get("update_timestamp"); p.setCreateTimestamp(createTs); p.setUpdateTimestamp(updateTs); provisions.add(p); } return provisions; }
From source file:info.pancancer.arch3.persistence.PostgreSQL.java
public List<Job> getJobs(JobState status) { List<Job> jobs = new ArrayList<>(); Map<Object, Map<String, Object>> map; if (status != null) { map = this.runSelectStatement("select * from job where status = ?", new KeyedHandler<>("job_uuid"), status.toString());/* w w w .j a v a 2 s .c om*/ } else { map = this.runSelectStatement("select * from job", new KeyedHandler<>("job_uuid")); } for (Entry<Object, Map<String, Object>> entry : map.entrySet()) { Job j = new Job(); j.setState(Enum.valueOf(JobState.class, (String) entry.getValue().get("status"))); j.setUuid((String) entry.getValue().get("job_uuid")); j.setWorkflow((String) entry.getValue().get("workflow")); j.setWorkflowVersion((String) entry.getValue().get("workflow_version")); j.setJobHash((String) entry.getValue().get("job_hash")); j.setStdout((String) entry.getValue().get("stdout")); j.setStderr((String) entry.getValue().get("stderr")); JSONObject iniJson = Utilities.parseJSONStr((String) entry.getValue().get("ini")); HashMap<String, String> ini = new HashMap<>(); for (Object key : iniJson.keySet()) { ini.put((String) key, (String) iniJson.get(key)); } j.setIni(ini); // timestamp Timestamp createTs = (Timestamp) entry.getValue().get("create_timestamp"); Timestamp updateTs = (Timestamp) entry.getValue().get("update_timestamp"); j.setCreateTs(createTs); j.setUpdateTs(updateTs); jobs.add(j); } return jobs; }