X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-cass%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fdao%2Fcass%2FCredDAO.java;h=714018823a2aeb55f0f181574b159c856fb84eac;hb=6309ef454e6960d95d13534645e1f15904de6862;hp=d64cff290fbcfa88e00b55a1e02d9a219cacbb24;hpb=1338680ef142f9a33ee32a00b07c7d2ae658cb3a;p=aaf%2Fauthz.git diff --git a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/cass/CredDAO.java b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/cass/CredDAO.java index d64cff29..71401882 100644 --- a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/cass/CredDAO.java +++ b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/cass/CredDAO.java @@ -64,6 +64,7 @@ public class CredDAO extends CassDAOImpl { private CIDAO infoDAO; private PSInfo psNS; private PSInfo psID; + private PSInfo psIDBath; public CredDAO(AuthzTrans trans, Cluster cluster, String keyspace) throws APIException, IOException { super(trans, CredDAO.class.getSimpleName(),cluster, keyspace, Data.class,TABLE, readConsistency(trans,TABLE), writeConsistency(trans,TABLE)); @@ -85,8 +86,8 @@ public class CredDAO extends CassDAOImpl { public Date expires; public Integer other; public String ns; - public String tag; - public String notes; + public String tag; + public String notes; public ByteBuffer cred; // this is a blob in cassandra @@ -139,7 +140,7 @@ public class CredDAO extends CassDAOImpl { @Override protected void key(Data data, int _idx, Object[] obj) { - int idx = _idx; + int idx = _idx; obj[idx] = data.id; obj[++idx] = data.type; @@ -219,25 +220,34 @@ public class CredDAO extends CassDAOImpl { psID = new PSInfo(trans, SELECT_SP + helpers[FIELD_COMMAS] + " FROM " + TABLE + " WHERE id = ?", CredLoader.deflt,readConsistency); + + // NOTE: (type) in ((1),(2)) is valid for Cass 2.1.14. After 2.1.14, more obvious + // syntax of type in (1,2) is available + // ALSO, 1 & 2 STAND FOR BASIC_AUTH (MD5) AND BASIC_AUTH_SHA256(with salt). + // If more Basic Auth Protocols become available, add here but do NOT + // add X509, and there can be man Certs, and we don't need to read them every time, or + // as discovered, or provide CASS Outage due to too many Certs to read. + psIDBath = new PSInfo(trans, SELECT_SP + helpers[FIELD_COMMAS] + " FROM " + TABLE + + " WHERE id = ? and (type) in ((1),(2))", CredLoader.deflt,readConsistency); } - /* (non-Javadoc) - * @see org.onap.aaf.auth.dao.CassDAOImpl#create(org.onap.aaf.misc.env.TransStore, java.lang.Object) - */ - @Override - public Result create(AuthzTrans trans, Data data) { - if(data.tag == null) { - if(data.type==0) { - data.tag="PlaceHolder"; - } else { - long l = srand.nextLong(); - data.tag = Long.toHexString(l); - } - } - return super.create(trans, data); - } + /* (non-Javadoc) + * @see org.onap.aaf.auth.dao.CassDAOImpl#create(org.onap.aaf.misc.env.TransStore, java.lang.Object) + */ + @Override + public Result create(AuthzTrans trans, Data data) { + if(data.tag == null) { + if(data.type==0) { + data.tag="PlaceHolder"; + } else { + long l = srand.nextLong(); + data.tag = Long.toHexString(l); + } + } + return super.create(trans, data); + } - public Result> readNS(AuthzTrans trans, String ns) { + public Result> readNS(AuthzTrans trans, String ns) { return psNS.read(trans, R_TEXT, new Object[]{ns}); } @@ -245,6 +255,10 @@ public class CredDAO extends CassDAOImpl { return psID.read(trans, R_TEXT, new Object[]{id}); } + public Result> readIDBAth(AuthzTrans trans, String id) { + return psIDBath.read(trans, R_TEXT, new Object[] {id}); + } + /** * Log Modification statements to History * @@ -267,12 +281,12 @@ public class CredDAO extends CassDAOImpl { : (modified.name() + "d credential for " + data.id); String spacer = ": "; if(data.notes!=null) { - hd.memo+=spacer + data.notes; - spacer = ", "; + hd.memo+=spacer + data.notes; + spacer = ", "; } if(data.tag!=null) { - hd.memo+=spacer + data.tag; + hd.memo+=spacer + data.tag; } // Detail?