Example usage for org.apache.commons.dbutils.handlers KeyedHandler KeyedHandler

List of usage examples for org.apache.commons.dbutils.handlers KeyedHandler KeyedHandler

Introduction

In this page you can find the example usage for org.apache.commons.dbutils.handlers KeyedHandler KeyedHandler.

Prototype

public KeyedHandler(String columnName) 

Source Link

Document

Creates a new instance of KeyedHandler.

Usage

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;
}