Make this final field static too
[aaf/authz.git] / auth / auth-gui / src / main / java / org / onap / aaf / auth / gui / pages / RequestDetail.java
index 0d0d03a..09b583b 100644 (file)
@@ -28,6 +28,9 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.UUID;
 
+import javax.servlet.http.HttpServletRequest;
+
+import org.onap.aaf.auth.common.Define;
 import org.onap.aaf.auth.env.AuthzEnv;
 import org.onap.aaf.auth.env.AuthzTrans;
 import org.onap.aaf.auth.gui.AAF_GUI;
@@ -70,7 +73,7 @@ public class RequestDetail extends Page {
      *
      */
     private static class Model extends TableData<AAF_GUI,AuthzTrans> {
-        final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L;
+       static final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L;
         private Slot sTicket;
         public Model(AuthzEnv env) {
             sTicket = env.slot(NAME+".ticket");
@@ -80,7 +83,7 @@ public class RequestDetail extends Page {
         public Cells get(final AuthzTrans trans, final AAF_GUI gui) {
             Cells rv=Cells.EMPTY;
             final String ticket = trans.get(sTicket, null);
-            if(ticket!=null) {
+            if (ticket!=null) {
                 try {
                     rv = gui.clientAsUser(trans.getUserPrincipal(), new Retryable<Cells>() {
                         @Override
@@ -93,9 +96,18 @@ public class RequestDetail extends Page {
                                     gui.getDF(Approvals.class)
                                     );
                                 
-                                if(fa.get(AAF_GUI.TIMEOUT)) {
-                                    if (!trans.user().equals(fa.value.getApprovals().get(0).getUser())) {
+                                if (fa.get(AAF_GUI.TIMEOUT)) {
+                                    Approval app = fa.value.getApprovals().get(0);
+                                    if(app==null) {
                                         return Cells.EMPTY;
+                                    } else {
+                                        if (!(trans.user().equals(app.getUser()) ||
+                                              trans.user().equals(app.getApprover()))) {
+                                            HttpServletRequest req = trans.get(gui.slot_httpServletRequest,null);
+                                            if(req==null || !req.isUserInRole(Define.ROOT_NS()+"|access|*|*")) {
+                                                return Cells.EMPTY;
+                                            }
+                                        }
                                     }
                                     tt.done();
                                     tt = trans.start("Load Data", Env.SUB);