1 /*******************************************************************************
2 * Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
3 *******************************************************************************/
4 package com.att.authz.helpers;
6 import java.util.ArrayList;
8 import java.util.TreeMap;
10 import com.att.inno.env.Env;
11 import com.att.inno.env.TimeTaken;
12 import com.att.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;
19 public class NsAttrib {
20 public static final List<NsAttrib> data = new ArrayList<NsAttrib>();
21 public static final TreeMap<String,List<NsAttrib>> byKey = new TreeMap<String,List<NsAttrib>>();
22 public static final TreeMap<String,List<NsAttrib>> byNS = new TreeMap<String,List<NsAttrib>>();
24 public final String ns,key,value;
26 public NsAttrib(String ns, String key, String value) {
32 public static void load(Trans trans, Session session, Creator<NsAttrib> creator ) {
33 trans.info().log( "query: " + creator.select() );
35 TimeTaken tt = trans.start("Load NsAttributes", Env.REMOTE);
37 Statement stmt = new SimpleStatement(creator.select());
38 results = session.execute(stmt);
43 tt = trans.start("Process NsAttributes", Env.SUB);
46 for(Row row : results.all()) {
48 NsAttrib ur = creator.create(row);
51 List<NsAttrib> lna = byKey.get(ur.key);
53 lna = new ArrayList<NsAttrib>();
54 byKey.put(ur.key, lna);
58 lna = byNS.get(ur.ns);
60 lna = new ArrayList<NsAttrib>();
67 trans.info().log("Found",count,"NS Attributes");
71 public static Creator<NsAttrib> v2_0_11 = new Creator<NsAttrib>() {
73 public NsAttrib create(Row row) {
74 return new NsAttrib(row.getString(0), row.getString(1), row.getString(2));
78 public String select() {
79 return "select ns,key,value from authz.ns_attrib";
84 public String toString() {
85 return "\"" + ns + "\",\"" + key + "\",\"" + value;