Merge "Annotate the "Visitor" interface with the @FunctionalInterface annotation"
[aaf/authz.git] / auth / auth-core / src / main / java / org / onap / aaf / auth / env / AuthzTransImpl.java
index ce947be..037ce4e 100644 (file)
@@ -24,6 +24,7 @@ package org.onap.aaf.auth.env;
 import java.util.Date;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.onap.aaf.auth.org.Organization;
 import org.onap.aaf.auth.org.OrganizationFactory;
@@ -34,26 +35,30 @@ import org.onap.aaf.misc.env.LogTarget;
 import org.onap.aaf.misc.env.impl.BasicTrans;
 
 public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
-       private static final String N_A = "n/a";
-       private static final String BLANK = "";
-       private HttpServletRequest hreq;
+    private static final String N_A = "n/a";
+    private static final String BLANK = "";
+    private HttpServletRequest hreq;
+    private HttpServletResponse hresp;
     private TaggedPrincipal user;
     private Lur lur;
     private Organization org;
     private int mask;
     private Date now;
+    private String tag;
     public AuthzTransImpl(AuthzEnv env) {
         super(env);
         org=null;
         mask=0;
+        tag=null;
     }
 
     /**
      * @see org.onap.aaf.auth.env.test.AuthTrans#set(javax.servlet.http.HttpServletRequest)
      */
     @Override
-    public AuthzTrans set(HttpServletRequest req) {
-       hreq = req;
+    public AuthzTrans set(HttpServletRequest req, HttpServletResponse resp) {
+        hreq = req;
+        hresp = resp;
         user = (TaggedPrincipal)req.getUserPrincipal();
         
         for (REQD_TYPE rt : REQD_TYPE.values()) {
@@ -68,11 +73,17 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         org=null;
         return this;
     }
+    
     @Override
     public HttpServletRequest hreq() {
-       return hreq;
+        return hreq;
     }
-    
+
+    @Override
+    public HttpServletResponse hresp() {
+        return hresp;
+    }
+
     @Override
     public void setUser(TaggedPrincipal p) {
         user = p;
@@ -124,7 +135,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String path() {
-       return hreq==null?"":hreq.getPathInfo();
+        return hreq==null?"":hreq.getPathInfo();
     }
 
     /**
@@ -165,6 +176,11 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         this.lur = lur;
     }
     
+    @Override
+    public Lur getLur() {
+       return lur;
+    }
+    
     @Override
     public boolean fish(Permission ... pond) {
         if (lur!=null) {
@@ -172,7 +188,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         }
         return false;
     }
-
+    
     /* (non-Javadoc)
      * @see org.onap.aaf.auth.env.test.AuthzTrans#org()
      */
@@ -213,4 +229,27 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         }
         return now;
     }
+    
+    /*
+     * (non-Javadoc)
+     * @see org.onap.aaf.auth.env.AuthzTrans#setTag(java.lang.String)
+     */
+    @Override
+    public void setTag(String tag) {
+        this.tag = tag;
+    }
+
+    @Override
+    public String getTag() {
+        return tag;
+    }
+
+    @Override
+    public void clearCache() {
+        if (lur!=null) {
+            StringBuilder report = new StringBuilder();
+            lur.clear(user, report);
+            info().log(report);
+        }
+    }
 }