1 /*******************************************************************************
2 * Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
3 *******************************************************************************/
4 package com.att.authz.helpers;
7 import java.util.TreeMap;
9 import com.att.authz.BatchException;
10 import org.onap.aaf.inno.env.Env;
11 import org.onap.aaf.inno.env.TimeTaken;
12 import org.onap.aaf.inno.env.Trans;
13 import com.datastax.driver.core.ResultSet;
14 import com.datastax.driver.core.Row;
15 import com.datastax.driver.core.Session;
16 import com.datastax.driver.core.SimpleStatement;
17 import com.datastax.driver.core.Statement;
20 public static final TreeMap<String,MiscID> data = new TreeMap<String,MiscID>();
23 aad890|mj9030|20040902|20120207
25 **** Field Definitions ****
26 MISCID - AT&T Miscellaneous ID - Non-User ID (Types: Internal Mechanized ID, External Mechanized ID, Datagate ID, Customer ID, Vendor ID, Exchange Mail ID, CLEC ID, Specialized ID, Training ID)
27 SPONSOR_ATTUID - ATTUID of MiscID Sponsor (Owner)
28 CREATE_DATE - Date when MiscID was created
29 LAST_RENEWAL_DATE - Date when MiscID Sponsorship was last renewed
31 public String id,sponsor,created,renewal;
33 private static final String fieldString = "id,created,sponsor,renewal";
36 * Load a Row of Strings (from CSV file).
38 * Be CAREFUL that the Row lists match the Fields above!!! If this changes, change
41 * 3) Alter existing Tables
43 * @throws BatchException
44 * @throws IllegalAccessException
45 * @throws IllegalArgumentException
47 public void set(String row []) throws BatchException {
48 if(row.length<4) {throw new BatchException("Row of MiscID_XRef is too short");}
55 public void set(Row row) {
56 id = row.getString(0);
57 sponsor = row.getString(1);
58 created = row.getString(2);
59 renewal = row.getString(3);
63 public static void load(Trans trans, Session session ) {
64 load(trans, session,"SELECT " + fieldString + " FROM authz.miscid;",data);
67 public static void load(Trans trans, Session session, Map<String,MiscID> map ) {
68 load(trans, session,"SELECT " + fieldString + " FROM authz.miscid;",map);
71 public static void loadOne(Trans trans, Session session, String id ) {
72 load(trans, session,"SELECT " + fieldString + " FROM authz.miscid WHERE id ='" + id + "';", data);
75 public static void load(Trans trans, Session session, String query, Map<String,MiscID> map) {
76 trans.info().log( "query: " + query );
77 TimeTaken tt = trans.start("Read MiscID", Env.REMOTE);
81 Statement stmt = new SimpleStatement( query );
82 results = session.execute(stmt);
88 tt = trans.start("Load Map", Env.SUB);
90 for( Row row : results.all()) {
91 MiscID miscID = new MiscID();
93 data.put(miscID.id,miscID);
100 trans.info().log("Found",count,"miscID records");
105 * @see java.lang.Object#hashCode()
108 public int hashCode() {
109 return id.hashCode();
113 * @see java.lang.Object#equals(java.lang.Object)
116 public boolean equals(Object obj) {
117 if(obj!=null && obj instanceof MiscID) {
118 return id.equals(((MiscID)obj).id);
123 public StringBuilder insertStmt() throws IllegalArgumentException, IllegalAccessException {
124 StringBuilder sb = new StringBuilder("INSERT INTO authz.miscid (");
125 sb.append(fieldString);
126 sb.append(") VALUES ('");
138 public StringBuilder updateStmt(MiscID source) {
139 StringBuilder sb = null;
140 if(id.equals(source.id)) {
141 sb = addField(sb,"sponser",sponsor,source.sponsor);
142 sb = addField(sb,"created",created,source.created);
143 sb = addField(sb,"renewal",renewal,source.renewal);
146 sb.append(" WHERE id='");
153 private StringBuilder addField(StringBuilder sb, String name, String a, String b) {
156 sb = new StringBuilder("UPDATE authz.miscid SET ");