1 /*******************************************************************************
2 * Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
3 *******************************************************************************/
4 package com.att.authz.reports;
6 import java.io.IOException;
8 import com.att.authz.Batch;
9 import com.att.authz.env.AuthzTrans;
10 import com.att.authz.helpers.Cred;
11 import com.att.authz.helpers.Cred.Instance;
12 import org.onap.aaf.inno.env.APIException;
13 import org.onap.aaf.inno.env.Env;
14 import org.onap.aaf.inno.env.TimeTaken;
15 import org.onap.aaf.inno.env.util.Chrono;
17 public class CheckCred extends Batch{
19 public CheckCred(AuthzTrans trans) throws APIException, IOException {
21 TimeTaken tt = trans.start("Connect to Cluster", Env.REMOTE);
23 session = cluster.connect();
28 Cred.load(trans, session);
32 protected void run(AuthzTrans trans) {
34 for(Cred cred : Cred.data.values()) {
35 for(Instance inst : cred.instances) {
38 trans.warn().log("Ensuring 'other' is numeric");
40 query = "UPDATE authz.cred SET other=0 WHERE "
42 + "' AND type=" + inst.type
43 + " AND expires='" + Chrono.dateStamp(inst.expires)
45 session.execute(query);
46 trans.warn().log("resetting 'other'",query);
55 for(UserRole urKey : UserRole.data) {
56 NSSplit nss = NS.deriveParent(urKey.role);
57 if(nss==null && NS.data.size()>0 ) { // there is no Namespace for this UserRole
59 trans.warn().printf("Would delete %s %s, which has no corresponding Namespace",urKey.user,urKey.role);
61 query = "DELETE FROM authz.user_role WHERE "
62 + "user='" + urKey.user
63 + "' AND role='" + urKey.role
65 session.execute(query);
66 trans.warn().printf("Deleting %s %s, which has no corresponding Namespace",urKey.user,urKey.role);
68 } else if(urKey.ns == null || urKey.rname == null || !urKey.role.equals(urKey.ns+'.'+urKey.rname)) {
70 trans.warn().log(urKey,"needs to be split and added to Record (", urKey.ns, urKey.rname,")");
72 query = "UPDATE authz.user_role SET ns='" + nss.ns
73 + "', rname='" + nss.other
75 + "user='" + urKey.user
76 + "' AND role='" + urKey.role
78 session.execute(query);
79 trans.warn().log("Setting ns and rname",query);
86 protected void _close(AuthzTrans trans) {
88 aspr.info("End " + this.getClass().getSimpleName() + " processing" );