X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fservice%2Ffacade%2FAuthzFacadeImpl.java;h=4a299e7e32e3a5ebeea70db359b51c3eab0369b4;hb=8cb0bdfe03befc26a85ac1e094268db48900a916;hp=a2fb22094644df861322084200705c6fe16d3d85;hpb=a174f8ddbc5eb78a648fb68b33ef18cb64d81fda;p=aaf%2Fauthz.git diff --git a/auth/auth-service/src/main/java/org/onap/aaf/auth/service/facade/AuthzFacadeImpl.java b/auth/auth-service/src/main/java/org/onap/aaf/auth/service/facade/AuthzFacadeImpl.java index a2fb2209..4a299e7e 100644 --- a/auth/auth-service/src/main/java/org/onap/aaf/auth/service/facade/AuthzFacadeImpl.java +++ b/auth/auth-service/src/main/java/org/onap/aaf/auth/service/facade/AuthzFacadeImpl.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -44,7 +44,9 @@ import static org.onap.aaf.auth.layer.Result.OK; import java.io.IOException; import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -66,9 +68,9 @@ import org.onap.aaf.auth.service.mapper.Mapper.API; import org.onap.aaf.cadi.aaf.client.Examples; import org.onap.aaf.misc.env.APIException; import org.onap.aaf.misc.env.Data; +import org.onap.aaf.misc.env.Data.TYPE; import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.TimeTaken; -import org.onap.aaf.misc.env.Data.TYPE; import org.onap.aaf.misc.env.util.Chrono; import org.onap.aaf.misc.rosetta.Marshal; import org.onap.aaf.misc.rosetta.env.RosettaDF; @@ -78,7 +80,7 @@ import aaf.v2_0.Api; /** * AuthzFacade - * + * * This Service Facade encapsulates the essence of the API Service can do, and provides * a single created object for elements such as RosettaDF. * @@ -89,14 +91,14 @@ import aaf.v2_0.Api; * a) In the future, we may support multiple Response Formats, aka JSON or XML, based on User Request. * 4) Log Service info, warnings and exceptions as necessary * 5) When asked by the API layer, this will create and write Error content to the OutputStream - * - * Note: This Class does NOT set the HTTP Status Code. That is up to the API layer, so that it can be + * + * Note: This Class does NOT set the HTTP Status Code. That is up to the API layer, so that it can be * clearly coordinated with the API Documentation - * + * * @author Pavani & Jonathan * */ -public abstract class AuthzFacadeImpl extends FacadeImpl implements AuthzFacade +public abstract class AuthzFacadeImpl extends FacadeImpl implements AuthzFacade { private static final String FORBIDDEN = "Forbidden"; private static final String NOT_FOUND = "Not Found"; @@ -133,7 +135,7 @@ public abstract class AuthzFacadeImpl mapper() { return service.mapper(); } - + /* (non-Javadoc) * @see com.att.authz.facade.AuthzFacade#error(org.onap.aaf.auth.env.test.AuthzTrans, javax.servlet.http.HttpServletResponse, int) - * + * * Note: Conforms to AT&T TSS RESTful Error Structure */ @Override @@ -169,15 +171,20 @@ public abstract class AuthzFacadeImpl dlist = new ArrayList<>(); + dlist.add(null); + String os; + for(Object s : result.variables) { + if(s!=null && (os=s.toString()).length()>0) { + dlist.add(os); + } + } + detail = new String[dlist.size()]; + dlist.toArray(detail); } - //int httpstatus; - switch(result.status) { case ERR_ActionNotCompleted: msgId = "SVC1202"; @@ -207,7 +214,7 @@ public abstract class AuthzFacadeImpl rp = service.createNS(trans,request,type); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); return Result.ok(); default: @@ -381,7 +385,7 @@ public abstract class AuthzFacadeImpl rp = service.addAdminNS(trans,ns,id); switch(rp.status) { - case OK: + case OK: //TODO Perms?? setContentType(resp,nsRequestDF.getOutType()); resp.getOutputStream().println(); @@ -406,7 +410,7 @@ public abstract class AuthzFacadeImpl rp = service.delAdminNS(trans, ns, id); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); return Result.ok(); default: @@ -429,7 +433,7 @@ public abstract class AuthzFacadeImpl rp = service.addResponsibleNS(trans,ns,id); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -453,7 +457,7 @@ public abstract class AuthzFacadeImpl rp = service.delResponsibleNS(trans, ns, id); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -477,7 +481,7 @@ public abstract class AuthzFacadeImpl rp = service.getNSbyName(trans, ns, full ); switch(rp.status) { - case OK: + case OK: RosettaData data = nssDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -495,7 +499,7 @@ public abstract class AuthzFacadeImpl rp = service.getNSbyAdmin(trans, user, full); switch(rp.status) { - case OK: + case OK: RosettaData data = nssDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -524,7 +528,7 @@ public abstract class AuthzFacadeImpl rp = service.getNSbyResponsible(trans, user, full); switch(rp.status) { - case OK: + case OK: RosettaData data = nssDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -563,9 +567,9 @@ public abstract class AuthzFacadeImpl rp = service.getNSbyEither(trans, user, full); - + switch(rp.status) { - case OK: + case OK: RosettaData data = nssDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -594,7 +598,7 @@ public abstract class AuthzFacadeImpl rp = service.getNSsChildren(trans, parent); switch(rp.status) { - case OK: + case OK: RosettaData data = nssDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -631,7 +635,7 @@ public abstract class AuthzFacadeImpl rp = service.updateNsDescription(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); return Result.ok(); default: @@ -644,7 +648,7 @@ public abstract class AuthzFacadeImpl rp = service.deleteNS(trans,ns); switch(rp.status) { - case OK: + case OK: setContentType(resp,nsRequestDF.getOutType()); return Result.ok(); default: @@ -673,7 +677,7 @@ public abstract class AuthzFacadeImpl rp = service.createNsAttrib(trans,ns,key,value); switch(rp.status) { - case OK: + case OK: setContentType(resp, keysDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -707,7 +711,7 @@ public abstract class AuthzFacadeImpl rp = service.readNsByAttrib(trans, key); switch(rp.status) { - case OK: + case OK: RosettaData data = keysDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -735,7 +739,7 @@ public abstract class AuthzFacadeImpl rp = service.updateNsAttrib(trans,ns,key,value); switch(rp.status) { - case OK: + case OK: setContentType(resp, keysDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -760,7 +764,7 @@ public abstract class AuthzFacadeImpl rp = service.deleteNsAttrib(trans,ns,key); switch(rp.status) { - case OK: + case OK: setContentType(resp, keysDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -790,14 +794,14 @@ public abstract class AuthzFacadeImpl createPerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { - TimeTaken tt = trans.start( CREATE_PERMISSION, Env.SUB|Env.ALWAYS); + TimeTaken tt = trans.start( CREATE_PERMISSION, Env.SUB|Env.ALWAYS); try { REQUEST rreq; try { @@ -805,15 +809,15 @@ public abstract class AuthzFacadeImpl rp = service.createPerm(trans,rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -826,7 +830,7 @@ public abstract class AuthzFacadeImpl getPermsByType(AuthzTrans trans, HttpServletResponse resp, String perm) { TimeTaken tt = trans.start(GET_PERMS_BY_TYPE + ' ' + perm, Env.SUB|Env.ALWAYS); try { - + Result rp = service.getPermsByType(trans, perm); switch(rp.status) { case OK: @@ -856,15 +860,15 @@ public abstract class AuthzFacadeImpl getPermsByName(AuthzTrans trans, HttpServletResponse resp, + public Result getPermsByName(AuthzTrans trans, HttpServletResponse resp, String type, String instance, String action) { - + TimeTaken tt = trans.start(GET_PERMS_BY_NAME + ' ' + type + '|' + instance + '|' + action, Env.SUB|Env.ALWAYS); try { - + Result rp = service.getPermsByName(trans, type, instance, action); switch(rp.status) { case OK: @@ -896,7 +900,7 @@ public abstract class AuthzFacadeImpl rp = service.getPermsByUser(trans, user); switch(rp.status) { - case OK: + case OK: RosettaData data = permsDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -915,7 +919,7 @@ public abstract class AuthzFacadeImpl rp = service.getPermsByUserScope(trans, user, scopes); switch(rp.status) { - case OK: + case OK: RosettaData data = permsDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -946,7 +950,7 @@ public abstract class AuthzFacadeImpl rp = service.getPermsByUser(trans, perms, user); switch(rp.status) { - case OK: + case OK: RosettaData data = permsDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -988,7 +992,7 @@ public abstract class AuthzFacadeImpl getPermsByNS(AuthzTrans trans,HttpServletResponse resp,String ns) { TimeTaken tt = trans.start(GET_PERMISSIONS_BY_NS + ' ' + ns, Env.SUB|Env.ALWAYS); @@ -1052,7 +1056,7 @@ public abstract class AuthzFacadeImpl renamePerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, String origType, String origInstance, String origAction) { String cmdDescription = UPDATE_PERMISSION; - TimeTaken tt = trans.start( cmdDescription + ' ' + origType + ' ' + origInstance + ' ' + origAction, Env.SUB|Env.ALWAYS); + TimeTaken tt = trans.start( cmdDescription + ' ' + origType + ' ' + origInstance + ' ' + origAction, Env.SUB|Env.ALWAYS); try { REQUEST rreq; try { @@ -1060,15 +1064,15 @@ public abstract class AuthzFacadeImpl rp = service.renamePerm(trans,rreq, origType, origInstance, origAction); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1081,7 +1085,7 @@ public abstract class AuthzFacadeImpl updatePermDescription(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(UPDATE_PERM_DESC, Env.SUB|Env.ALWAYS); @@ -1100,7 +1104,7 @@ public abstract class AuthzFacadeImpl rp = service.updatePermDescription(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permRequestDF.getOutType()); return Result.ok(); default: @@ -1113,8 +1117,8 @@ public abstract class AuthzFacadeImpl resetPermRoles(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(SET_PERMISSION_ROLES_TO, Env.SUB|Env.ALWAYS); @@ -1130,11 +1134,11 @@ public abstract class AuthzFacadeImpl rp = service.resetPermRoles(trans, rreq); - + switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1147,7 +1151,7 @@ public abstract class AuthzFacadeImpl deletePerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(DELETE_PERMISSION, Env.SUB|Env.ALWAYS); @@ -1167,7 +1171,7 @@ public abstract class AuthzFacadeImpl rp = service.deletePerm(trans,rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1187,7 +1191,7 @@ public abstract class AuthzFacadeImpl rp = service.deletePerm(trans,type,instance,action); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1207,7 +1211,7 @@ public abstract class AuthzFacadeImpl rp = service.createRole(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,roleRequestDF.getOutType()); return Result.ok(); default: @@ -1255,7 +1259,7 @@ public abstract class AuthzFacadeImpl rp = service.getRolesByName(trans, role); switch(rp.status) { - case OK: + case OK: RosettaData data = roleDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1284,7 +1288,7 @@ public abstract class AuthzFacadeImpl rp = service.getRolesByUser(trans, user); switch(rp.status) { - case OK: + case OK: RosettaData data = roleDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1313,7 +1317,7 @@ public abstract class AuthzFacadeImpl rp = service.getRolesByNS(trans, ns); switch(rp.status) { - case OK: + case OK: if (!rp.isEmpty()) { RosettaData data = roleDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { @@ -1347,7 +1351,7 @@ public abstract class AuthzFacadeImpl rp = service.getRolesByNameOnly(trans, nameOnly); switch(rp.status) { - case OK: + case OK: if (!rp.isEmpty()) { RosettaData data = roleDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { @@ -1380,7 +1384,7 @@ public abstract class AuthzFacadeImpl rp = service.getRolesByPerm(trans, type,instance,action); switch(rp.status) { - case OK: + case OK: RosettaData data = roleDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1422,7 +1426,7 @@ public abstract class AuthzFacadeImpl rp = service.updateRoleDescription(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,roleRequestDF.getOutType()); return Result.ok(); default: @@ -1454,7 +1458,7 @@ public abstract class AuthzFacadeImpl rp = service.addPermToRole(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -1487,7 +1491,7 @@ public abstract class AuthzFacadeImpl rp = service.delPermFromRole(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -1512,7 +1516,7 @@ public abstract class AuthzFacadeImpl rp = service.delPermFromRole(trans, role, type, instance, action); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); resp.getOutputStream().println(); return Result.ok(); @@ -1533,7 +1537,7 @@ public abstract class AuthzFacadeImpl rp = service.deleteRole(trans, role); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1565,7 +1569,7 @@ public abstract class AuthzFacadeImpl rp = service.deleteRole(trans, rreq); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1593,7 +1597,7 @@ public abstract class AuthzFacadeImpl createUserCred(AuthzTrans trans, HttpServletRequest req) { TimeTaken tt = trans.start(CREATE_CRED, Env.SUB|Env.ALWAYS); @@ -1623,7 +1627,7 @@ public abstract class AuthzFacadeImpl getCredsByNS(AuthzTrans trans, HttpServletResponse resp, String ns) { TimeTaken tt = trans.start(GET_CREDS_BY_NS + ' ' + ns, Env.SUB|Env.ALWAYS); - + try { Result ru = service.getCredsByNS(trans,ns); switch(ru.status) { - case OK: + case OK: RosettaData data = usersDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans,trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1683,21 +1687,21 @@ public abstract class AuthzFacadeImpl getCredsByID(AuthzTrans trans, HttpServletResponse resp, String id) { TimeTaken tt = trans.start(GET_CREDS_BY_ID + ' ' + id, Env.SUB|Env.ALWAYS); - + try { Result ru = service.getCredsByID(trans,id); switch(ru.status) { - case OK: + case OK: RosettaData data = usersDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1714,7 +1718,7 @@ public abstract class AuthzFacadeImpl doesCredentialMatch(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(DOES_CRED_MATCH, Env.SUB|Env.ALWAYS); @@ -1757,7 +1761,7 @@ public abstract class AuthzFacadeImpl getCertInfoByID(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, String id) { TimeTaken tt = trans.start(GET_CERT_BY_ID, Env.SUB|Env.ALWAYS); - try { + try { Result rci = service.getCertInfoByID(trans,req,id); - + switch(rci.status) { - case OK: + case OK: if (Question.willSpecialLog(trans, trans.user())) { RosettaData data = certsDF.newData(trans).load(rci.value); Question.logEncryptTrace(trans,data.asString()); @@ -1816,11 +1820,11 @@ public abstract class AuthzFacadeImpl createDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(CREATE_DELEGATE, Env.SUB|Env.ALWAYS); - try { + try { Data data = delgRequestDF.newData().load(req.getInputStream()); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1834,11 +1838,11 @@ public abstract class AuthzFacadeImpl updateDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(UPDATE_DELEGATE, Env.SUB|Env.ALWAYS); - try { + try { Data data = delgRequestDF.newData().load(req.getInputStream()); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1852,7 +1856,7 @@ public abstract class AuthzFacadeImpl deleteDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(DELETE_DELEGATE, Env.SUB|Env.ALWAYS); @@ -1870,7 +1874,7 @@ public abstract class AuthzFacadeImpl deleteDelegate(AuthzTrans trans, String userName) { TimeTaken tt = trans.start(DELETE_DELEGATE + ' ' + userName, Env.SUB|Env.ALWAYS); @@ -1883,15 +1887,15 @@ public abstract class AuthzFacadeImpl getDelegatesByUser(AuthzTrans trans, String user, HttpServletResponse resp) { TimeTaken tt = trans.start(GET_DELEGATE_USER, Env.SUB|Env.ALWAYS); try { Result rd = service.getDelegatesByUser(trans, user); - + switch(rd.status) { - case OK: + case OK: RosettaData data = delgDF.newData(trans).load(rd.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1916,7 +1920,7 @@ public abstract class AuthzFacadeImpl rd = service.getDelegatesByDelegate(trans, delegate); switch(rd.status) { - case OK: + case OK: RosettaData data = delgDF.newData(trans).load(rd.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -1939,8 +1943,8 @@ public abstract class AuthzFacadeImpl rp = service.createUserRole(trans,request); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -1974,14 +1978,14 @@ public abstract class AuthzFacadeImpl getUserInRole(AuthzTrans trans, HttpServletResponse resp, String user, String role) { TimeTaken tt = trans.start(GET_USERROLES + ' ' + user + '|' + role, Env.SUB|Env.ALWAYS); try { Result ru = service.getUserInRole(trans,user,role); switch(ru.status) { - case OK: + case OK: RosettaData data = usersDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2009,7 +2013,7 @@ public abstract class AuthzFacadeImpl ru = service.getUserRolesByUser(trans,user); switch(ru.status) { - case OK: + case OK: RosettaData data = userrolesDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2030,14 +2034,14 @@ public abstract class AuthzFacadeImpl getUserRolesByRole(AuthzTrans trans, HttpServletResponse resp, String role) { TimeTaken tt = trans.start(GET_USERROLES_BY_ROLE + ' ' + role, Env.SUB|Env.ALWAYS); try { Result ru = service.getUserRolesByRole(trans,role); switch(ru.status) { - case OK: + case OK: RosettaData data = userrolesDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2058,76 +2062,7 @@ public abstract class AuthzFacadeImpl resetUsersForRole(AuthzTrans trans, HttpServletResponse resp, HttpServletRequest req) { - TimeTaken tt = trans.start(SET_USERS_FOR_ROLE, Env.SUB|Env.ALWAYS); - try { - REQUEST rreq; - try { - RosettaData data = userRoleRequestDF.newData().load(req.getInputStream()); - if (Question.willSpecialLog(trans, trans.user())) { - Question.logEncryptTrace(trans,data.asString()); - } - rreq = data.asObject(); - } catch (APIException e) { - trans.error().log("Invalid Input",IN, SET_USERS_FOR_ROLE); - return Result.err(Status.ERR_BadData,"Invalid Input"); - } - - Result rp = service.resetUsersForRole(trans, rreq); - - switch(rp.status) { - case OK: - setContentType(resp,permsDF.getOutType()); - return Result.ok(); - default: - return Result.err(rp); - } - } catch (Exception e) { - trans.error().log(e,IN,SET_USERS_FOR_ROLE); - return Result.err(e); - } finally { - tt.done(); - } - - } - @Override - public Result resetRolesForUser(AuthzTrans trans, HttpServletResponse resp, HttpServletRequest req) { - TimeTaken tt = trans.start(SET_ROLES_FOR_USER, Env.SUB|Env.ALWAYS); - try { - REQUEST rreq; - try { - RosettaData data = userRoleRequestDF.newData().load(req.getInputStream()); - if (Question.willSpecialLog(trans, trans.user())) { - Question.logEncryptTrace(trans,data.asString()); - } - - rreq = data.asObject(); - } catch (APIException e) { - trans.error().log("Invalid Input",IN, SET_ROLES_FOR_USER); - return Result.err(Status.ERR_BadData,"Invalid Input"); - } - - Result rp = service.resetRolesForUser(trans, rreq); - - switch(rp.status) { - case OK: - setContentType(resp,permsDF.getOutType()); - return Result.ok(); - default: - return Result.err(rp); - } - } catch (Exception e) { - trans.error().log(e,IN,SET_ROLES_FOR_USER); - return Result.err(e); - } finally { - tt.done(); - } - - } /* (non-Javadoc) * @see com.att.authz.facade.AuthzFacade#extendUserRoleExpiration(org.onap.aaf.auth.env.test.AuthzTrans, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.String) @@ -2151,7 +2086,7 @@ public abstract class AuthzFacadeImpl rp = service.deleteUserRole(trans,user,role); switch(rp.status) { - case OK: + case OK: setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -2169,7 +2104,7 @@ public abstract class AuthzFacadeImpl updateApproval(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) { TimeTaken tt = trans.start(UPDATE_APPROVAL, Env.SUB|Env.ALWAYS); @@ -2180,9 +2115,9 @@ public abstract class AuthzFacadeImpl rp = service.updateApproval(trans, data.asObject()); - + switch(rp.status) { - case OK: + case OK: setContentType(resp,approvalDF.getOutType()); return Result.ok(); default: @@ -2195,20 +2130,20 @@ public abstract class AuthzFacadeImpl getApprovalsByUser(AuthzTrans trans, HttpServletResponse resp, String user) { TimeTaken tt = trans.start(GET_APPROVALS_BY_USER + ' ' + user, Env.SUB|Env.ALWAYS); try { Result rp = service.getApprovalsByUser(trans, user); switch(rp.status) { - case OK: + case OK: RosettaData data = approvalDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); } data.to(resp.getOutputStream()); - + setContentType(resp,permsDF.getOutType()); return Result.ok(); default: @@ -2228,7 +2163,7 @@ public abstract class AuthzFacadeImpl rp = service.getApprovalsByApprover(trans, approver); switch(rp.status) { - case OK: + case OK: RosettaData data = approvalDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2254,7 +2189,7 @@ public abstract class AuthzFacadeImpl rp = service.getApprovalsByTicket(trans, ticket); switch(rp.status) { - case OK: + case OK: RosettaData data = approvalDF.newData(trans).load(rp.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2275,7 +2210,7 @@ public abstract class AuthzFacadeImpl ru = service.getUsersByRole(trans,role); switch(ru.status) { - case OK: + case OK: RosettaData data = usersDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2312,13 +2247,13 @@ public abstract class AuthzFacadeImpl getUsersByPermission(AuthzTrans trans, HttpServletResponse resp, + public Result getUsersByPermission(AuthzTrans trans, HttpServletResponse resp, String type, String instance, String action) { TimeTaken tt = trans.start(GET_USERS_PERMISSION + ' ' + type + ' ' + instance + ' ' +action, Env.SUB|Env.ALWAYS); try { Result ru = service.getUsersByPermission(trans,type,instance,action); switch(ru.status) { - case OK: + case OK: RosettaData data = usersDF.newData(trans).load(ru.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2338,11 +2273,12 @@ public abstract class AuthzFacadeImpl rh = service.getHistoryByUser(trans,user,yyyymm,sort); switch(rh.status) { - case OK: + case OK: RosettaData data = historyDF.newData(trans).load(rh.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2410,7 +2346,7 @@ public abstract class AuthzFacadeImpl rh = service.getHistoryByRole(trans,role,yyyymm,sort); switch(rh.status) { - case OK: + case OK: RosettaData data = historyDF.newData(trans).load(rh.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2453,7 +2389,7 @@ public abstract class AuthzFacadeImpl rh = service.getHistoryByNS(trans,ns,yyyymm,sort); switch(rh.status) { - case OK: + case OK: RosettaData data = historyDF.newData(trans).load(rh.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2496,7 +2432,7 @@ public abstract class AuthzFacadeImpl rh = service.getHistoryByPerm(trans,perm,yyyymm,sort); switch(rh.status) { - case OK: + case OK: RosettaData data = historyDF.newData(trans).load(rh.value); if (Question.willSpecialLog(trans, trans.user())) { Question.logEncryptTrace(trans,data.asString()); @@ -2516,9 +2452,53 @@ public abstract class AuthzFacadeImpl getHistoryBySubject(AuthzTrans trans, HttpServletResponse resp, String subject, String target, int[] yyyymm, final int sort) { + StringBuilder sb = new StringBuilder(); + sb.append(GET_HISTORY_SUBJECT); + sb.append(' '); + sb.append(subject); + sb.append(" for "); + boolean first = true; + for (int i : yyyymm) { + if (first) { + first = false; + } else { + sb.append(','); + } + sb.append(i); + } + TimeTaken tt = trans.start(sb.toString(), Env.SUB|Env.ALWAYS); + + try { + Result rh = service.getHistoryBySubject(trans,subject,target,yyyymm,sort); + switch(rh.status) { + case OK: + RosettaData data = historyDF.newData(trans).load(rh.value); + if (Question.willSpecialLog(trans, trans.user())) { + Question.logEncryptTrace(trans,data.asString()); + } + + data.to(resp.getOutputStream()); + setContentType(resp,historyDF.getOutType()); + return Result.ok(); + default: + return Result.err(rh); + } + } catch (Exception e) { + trans.error().log(e,IN,GET_HISTORY_USER); + return Result.err(e); + } finally { + tt.done(); + } + } + + public final static String CACHE_CLEAR = "cacheClear "; // public final static String CACHE_VALIDATE = "validateCache"; - + /* (non-Javadoc) * @see com.att.authz.facade.AuthzFacade#cacheClear(org.onap.aaf.auth.env.test.AuthzTrans, java.lang.String) */ @@ -2619,7 +2599,7 @@ public abstract class AuthzFacadeImpl getAPIExample(AuthzTrans trans, HttpServletResponse resp, String nameOrContentType, boolean optional) { TimeTaken tt = trans.start(API_EXAMPLE, Env.SUB); try { - String content =Examples.print(apiDF.getEnv(), nameOrContentType, optional); + String content =Examples.print(apiDF.getEnv(), nameOrContentType, optional); resp.getOutputStream().print(content); setContentType(resp,content.contains("