* org.onap.aaf
* ===========================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Modification Copyright (c) 2019 IBM
* ===========================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
private static final String TABLE = "approval";
private static final String TABLELOG = "approved";
private HistoryDAO historyDAO;
- private PSInfo psByUser, psByApprover, psByTicket, psByStatus;
+ private PSInfo psByUser;
+ private PSInfo psByApprover;
+ private PSInfo psByTicket;
+ private PSInfo psByStatus;
+ private static final int KEYLIMIT = 1;
public ApprovalDAO(AuthzTrans trans, Cluster cluster, String keyspace) {
super(trans, ApprovalDAO.class.getSimpleName(),cluster,keyspace,Data.class,TABLE, readConsistency(trans,TABLE), writeConsistency(trans,TABLE));
init(trans);
}
- private static final int KEYLIMIT = 1;
public static class Data {
public UUID id;
public UUID ticket;
public String status;
public String memo;
public String operation;
- public Date last_notified;
public Date updated;
}
data.status = row.getString(5);
data.memo = row.getString(6);
data.operation = row.getString(7);
- data.last_notified = row.getTimestamp(8);
// This is used to get "WRITETIME(STATUS)" from Approval, which gives us an "updated"
- if (row.getColumnDefinitions().size()>9) {
+ if (row.getColumnDefinitions().size()>8) {
// Rows reported in MicroSeconds
- data.updated = new Date(row.getLong(9)/1000);
+ data.updated = new Date(row.getLong(8)/1000);
}
return data;
}
}
@Override
- protected void body(Data data, int _idx, Object[] obj) {
- int idx = _idx;
+ protected void body(Data data, int idxParam, Object[] obj) {
+ int idx = idxParam;
obj[idx]=data.ticket;
obj[++idx]=data.user;
obj[++idx]=data.approver;
obj[++idx]=data.status;
obj[++idx]=data.memo;
obj[++idx]=data.operation;
- obj[++idx]=data.last_notified;
}
}
private void init(AuthzTrans trans) {
- String[] helpers = setCRUD(trans, TABLE, Data.class, ApprovalLoader.deflt,9);
+ String[] helpers = setCRUD(trans, TABLE, Data.class, ApprovalLoader.deflt,8);
psByUser = new PSInfo(trans, SELECT_SP + helpers[FIELD_COMMAS] + ", WRITETIME(status) FROM " + TABLE +
" WHERE user = ?", new ApprovalLoader(1) {
@Override
}
ApprovalLoader.deflt.load(data, rd.value.one());
}
- if ("approved".equals(data.status) || "denied".equals(data.status)) {
+ if (APPROVED.equals(data.status) || DENIED.equals(data.status)) {
StringBuilder sb = new StringBuilder("BEGIN BATCH\n");
sb.append("INSERT INTO ");
sb.append(TABLELOG);
sb.append(" (id,user,approver,type,status,memo,operation) VALUES (");
sb.append(data.id);
- sb.append(",'"); sb.append(data.user);
- sb.append("','"); sb.append(data.approver);
- sb.append("','"); sb.append(data.type);
- sb.append("','"); sb.append(data.status);
- sb.append("','"); sb.append(data.memo.replace("'", "''"));
- sb.append("','"); sb.append(data.operation);
+ sb.append(",'");
+ sb.append(data.user);
+ sb.append("','");
+ sb.append(data.approver);
+ sb.append("','");
+ sb.append(data.type);
+ sb.append("','");
+ sb.append(data.status);
+ sb.append("','");
+ sb.append(data.memo.replace("'", "''"));
+ sb.append("','");
+ sb.append(data.operation);
sb.append("');\n");
sb.append("DELETE FROM ");
sb.append(TABLE);