Sonar Fixes, Formatting
[aaf/authz.git] / auth / auth-core / src / main / java / org / onap / aaf / auth / env / AuthzTransImpl.java
index aa6b038..c3d0298 100644 (file)
@@ -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.
@@ -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,32 +35,32 @@ 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 HttpServletResponse hresp;
     private TaggedPrincipal user;
-    private String ip,agent,meth,path;
-    private int port;
     private Lur lur;
     private Organization org;
     private int mask;
     private Date now;
+    private String tag;
     public AuthzTransImpl(AuthzEnv env) {
         super(env);
-        ip="n/a";
         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) {
+    public AuthzTrans set(HttpServletRequest req, HttpServletResponse resp) {
+        hreq = req;
+        hresp = resp;
         user = (TaggedPrincipal)req.getUserPrincipal();
-        ip = req.getRemoteAddr();
-        port = req.getRemotePort();
-        agent = req.getHeader("User-Agent");
-        meth = req.getMethod();
-        path = req.getPathInfo();
-        
+
         for (REQD_TYPE rt : REQD_TYPE.values()) {
             requested(rt,req);
         }
@@ -72,7 +73,17 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
         org=null;
         return this;
     }
-    
+
+    @Override
+    public HttpServletRequest hreq() {
+        return hreq;
+    }
+
+    @Override
+    public HttpServletResponse hresp() {
+        return hresp;
+    }
+
     @Override
     public void setUser(TaggedPrincipal p) {
         user = p;
@@ -83,9 +94,9 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String user() {
-        return user==null?"n/a":user.getName();
+        return user==null?N_A:user.getName();
     }
-    
+
     /**
      * @see org.onap.aaf.auth.env.test.AuthTrans#getUserPrincipal()
      */
@@ -99,7 +110,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String ip() {
-        return ip;
+        return hreq==null?N_A:hreq.getRemoteAddr();
     }
 
     /**
@@ -107,7 +118,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public int port() {
-        return port;
+        return hreq==null?0:hreq.getRemotePort();
     }
 
 
@@ -116,7 +127,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String meth() {
-        return meth;
+        return hreq==null?"":hreq.getMethod();
     }
 
     /* (non-Javadoc)
@@ -124,7 +135,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String path() {
-        return path;
+        return hreq==null?"":hreq.getPathInfo();
     }
 
     /**
@@ -132,19 +143,19 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
      */
     @Override
     public String agent() {
-        return agent;
+        return hreq==null?BLANK:hreq.getHeader("User-Agent");
     }
 
     @Override
     public AuthzEnv env() {
         return (AuthzEnv)delegate;
     }
-    
+
     @Override
     public boolean requested(REQD_TYPE requested) {
         return (mask&requested.bit)==requested.bit;
     }
-    
+
     public void requested(REQD_TYPE requested, boolean b) {
         if (b) {
             mask|=requested.bit;
@@ -152,7 +163,7 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
             mask&=~requested.bit;
         }
     }
-    
+
     private void requested(REQD_TYPE reqtype, HttpServletRequest req) {
         String p = req.getParameter(reqtype.name());
         if (p!=null) {
@@ -164,7 +175,12 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
     public void setLur(Lur lur) {
         this.lur = lur;
     }
-    
+
+    @Override
+    public Lur getLur() {
+        return lur;
+    }
+
     @Override
     public boolean fish(Permission ... pond) {
         if (lur!=null) {
@@ -184,10 +200,10 @@ public class AuthzTransImpl extends BasicTrans implements AuthzTrans {
                     org = Organization.NULL;
                 }
             } catch (Exception e) {
-                
+
                 org = Organization.NULL;
             }
-        } 
+        }
         return 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);
+        }
+    }
 }