X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-gui%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fgui%2Fpages%2FPermDetail.java;h=00bec4cd3840171190752eef580ff061bacf083b;hb=6dd9704640eb8cc8d6b4ccd266e40a3f6f589e75;hp=822d0bf4771316e383e5d946602e8eef00f6f9ad;hpb=ceda6e8bc270202bcb24340b86617110289c902e;p=aaf%2Fauthz.git diff --git a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermDetail.java b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermDetail.java index 822d0bf4..00bec4cd 100644 --- a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermDetail.java +++ b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermDetail.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. @@ -53,108 +53,108 @@ import aaf.v2_0.Perms; /** * Detail Page for Permissions - * + * * @author Jonathan * */ public class PermDetail extends Page { - public static final String HREF = "/gui/permdetail"; - public static final String NAME = "PermDetail"; - private static final String BLANK = ""; + public static final String HREF = "/gui/permdetail"; + public static final String NAME = "PermDetail"; + private static final String BLANK = ""; + + public PermDetail(final AAF_GUI gui, Page ... breadcrumbs) throws APIException, IOException { + super(gui.env, NAME, HREF, new String[] {"type","instance","action"}, + new BreadCrumbs(breadcrumbs), + new Table("Permission Details",gui.env.newTransNoAvg(),new Model(gui.env),"class=detail") + ); + } + + /** + * Implement the table content for Permissions Detail + * + * @author Jonathan + * + */ + private static class Model extends TableData { + private Slot type, instance, action; + public Model(AuthzEnv env) { + type = env.slot(NAME+".type"); + instance = env.slot(NAME+".instance"); + action = env.slot(NAME+".action"); + } + + public Cells get(final AuthzTrans trans, final AAF_GUI gui) { + final String pType = trans.get(type, null); + final String pInstance = trans.get(instance, null); + final String pAction = trans.get(action, null); + Validator v = new Validator(); + v.permTypeWithUser(trans.user(),pType) + .permInstance(pInstance) + .permAction(pAction); - public PermDetail(final AAF_GUI gui, Page ... breadcrumbs) throws APIException, IOException { - super(gui.env, NAME, HREF, new String[] {"type","instance","action"}, - new BreadCrumbs(breadcrumbs), - new Table("Permission Details",gui.env.newTransNoAvg(),new Model(gui.env),"class=detail") - ); - } + if (v.err()) { + trans.warn().printf("Error in PermDetail Request: %s", v.errs()); + return Cells.EMPTY; + } + final ArrayList rv = new ArrayList<>(); + rv.add(new AbsCell[]{new TextCell("Type:"),new TextCell(pType)}); + rv.add(new AbsCell[]{new TextCell("Instance:"),new TextCell(pInstance)}); + rv.add(new AbsCell[]{new TextCell("Action:"),new TextCell(pAction)}); + try { + gui.clientAsUser(trans.getUserPrincipal(), new Retryable() { + @Override + public Void code(Rcli client)throws CadiException, ConnectException, APIException { + TimeTaken tt = trans.start("AAF Perm Details",Env.REMOTE); + try { + Future fp= client.read("/authz/perms/"+pType + '/' + pInstance + '/' + pAction,gui.getDF(Perms.class)); - /** - * Implement the table content for Permissions Detail - * - * @author Jonathan - * - */ - private static class Model extends TableData { - private Slot type, instance, action; - public Model(AuthzEnv env) { - type = env.slot(NAME+".type"); - instance = env.slot(NAME+".instance"); - action = env.slot(NAME+".action"); - } + if (fp.get(AAF_GUI.TIMEOUT)) { + tt.done(); + tt = trans.start("Load Data", Env.SUB); + List ps = fp.value.getPerm(); + if (!ps.isEmpty()) { + Perm perm = fp.value.getPerm().get(0); + String desc = (perm.getDescription()!=null?perm.getDescription():BLANK); + rv.add(new AbsCell[]{new TextCell("Description:"),new TextCell(desc)}); + boolean first=true; + for (String r : perm.getRoles()) { + if (first){ + first=false; + rv.add(new AbsCell[] { + new TextCell("Associated Roles:"), + new TextCell(r) + }); + } else { + rv.add(new AbsCell[] { + AbsCell.Null, + new TextCell(r) + }); + } + } + } + String historyLink = PermHistory.HREF + + "?type=" + pType + "&instance=" + pInstance + "&action=" + pAction; - public Cells get(final AuthzTrans trans, final AAF_GUI gui) { - final String pType = trans.get(type, null); - final String pInstance = trans.get(instance, null); - final String pAction = trans.get(action, null); - Validator v = new Validator(); - v.permType(pType) - .permInstance(pInstance) - .permAction(pAction); - - if(v.err()) { - trans.warn().printf("Error in PermDetail Request: %s", v.errs()); - return Cells.EMPTY; - } - final ArrayList rv = new ArrayList(); - rv.add(new AbsCell[]{new TextCell("Type:"),new TextCell(pType)}); - rv.add(new AbsCell[]{new TextCell("Instance:"),new TextCell(pInstance)}); - rv.add(new AbsCell[]{new TextCell("Action:"),new TextCell(pAction)}); - try { - gui.clientAsUser(trans.getUserPrincipal(), new Retryable() { - @Override - public Void code(Rcli client)throws CadiException, ConnectException, APIException { - TimeTaken tt = trans.start("AAF Perm Details",Env.REMOTE); - try { - Future fp= client.read("/authz/perms/"+pType + '/' + pInstance + '/' + pAction,gui.getDF(Perms.class)); - - if(fp.get(AAF_GUI.TIMEOUT)) { - tt.done(); - tt = trans.start("Load Data", Env.SUB); - List ps = fp.value.getPerm(); - if(!ps.isEmpty()) { - Perm perm = fp.value.getPerm().get(0); - String desc = (perm.getDescription()!=null?perm.getDescription():BLANK); - rv.add(new AbsCell[]{new TextCell("Description:"),new TextCell(desc)}); - boolean first=true; - for(String r : perm.getRoles()) { - if(first){ - first=false; - rv.add(new AbsCell[] { - new TextCell("Associated Roles:"), - new TextCell(r) - }); - } else { - rv.add(new AbsCell[] { - AbsCell.Null, - new TextCell(r) - }); - } - } - } - String historyLink = PermHistory.HREF - + "?type=" + pType + "&instance=" + pInstance + "&action=" + pAction; - - rv.add(new AbsCell[] {new RefCell("See History",historyLink,false)}); - } else { - rv.add(new AbsCell[] {new TextCell( - fp.code()==HttpStatus.NOT_FOUND_404? - "*** Implicit Permission ***": - "*** Data Unavailable ***" - )}); - } - } finally { - tt.done(); - } + rv.add(new AbsCell[] {new RefCell("See History",historyLink,false,"class=greenbutton")}); + } else { + rv.add(new AbsCell[] {new TextCell( + fp.code()==HttpStatus.NOT_FOUND_404? + "*** Implicit Permission ***": + "*** Data Unavailable ***" + )}); + } + } finally { + tt.done(); + } - return null; - } - }); - } catch (Exception e) { - e.printStackTrace(); - } - return new Cells(rv,null); - } - } -} - \ No newline at end of file + return null; + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + return new Cells(rv,null); + } + } +} + \ No newline at end of file