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 a7bb24a..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,9 +35,10 @@ 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;
@@ -54,8 +56,9 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      * @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()) {
@@ -70,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;
@@ -126,7 +135,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String path() {
-       return hreq==null?"":hreq.getPathInfo();
+        return hreq==null?"":hreq.getPathInfo();
     }
 
     /**
@@ -167,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) {
@@ -174,7 +188,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         }
         return false;
     }
-
+    
     /* (non-Javadoc)
      * @see org.onap.aaf.auth.env.test.AuthzTrans#org()
      */
@@ -222,11 +236,20 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public void setTag(String tag) {
-       this.tag = tag;
+        this.tag = tag;
     }
 
     @Override
     public String getTag() {
-       return tag;
+        return tag;
+    }
+
+    @Override
+    public void clearCache() {
+        if (lur!=null) {
+            StringBuilder report = new StringBuilder();
+            lur.clear(user, report);
+            info().log(report);
+        }
     }
 }