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 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;
}
/**
*/
@Override
public AuthzTrans set(HttpServletRequest req) {
+ hreq = req;
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()) {
+ for (REQD_TYPE rt : REQD_TYPE.values()) {
requested(rt,req);
}
// Handle alternate "request" for "future"
String request = req.getParameter("request");
- if(request!=null) {
+ if (request!=null) {
requested(REQD_TYPE.future,(request.length()==0 || "true".equalsIgnoreCase(request)));
}
org=null;
return this;
}
+ @Override
+ public HttpServletRequest hreq() {
+ return hreq;
+ }
@Override
public void setUser(TaggedPrincipal p) {
*/
@Override
public String user() {
- return user==null?"n/a":user.getName();
+ return user==null?N_A:user.getName();
}
/**
*/
@Override
public String ip() {
- return ip;
+ return hreq==null?N_A:hreq.getRemoteAddr();
}
/**
*/
@Override
public int port() {
- return port;
+ return hreq==null?0:hreq.getRemotePort();
}
*/
@Override
public String meth() {
- return meth;
+ return hreq==null?"":hreq.getMethod();
}
/* (non-Javadoc)
*/
@Override
public String path() {
- return path;
+ return hreq==null?"":hreq.getPathInfo();
}
/**
*/
@Override
public String agent() {
- return agent;
+ return hreq==null?BLANK:hreq.getHeader("User-Agent");
}
@Override
}
public void requested(REQD_TYPE requested, boolean b) {
- if(b) {
+ if (b) {
mask|=requested.bit;
} else {
mask&=~requested.bit;
private void requested(REQD_TYPE reqtype, HttpServletRequest req) {
String p = req.getParameter(reqtype.name());
- if(p!=null) {
+ if (p!=null) {
requested(reqtype,p.length()==0 || "true".equalsIgnoreCase(p));
}
}
@Override
public boolean fish(Permission ... pond) {
- if(lur!=null) {
+ if (lur!=null) {
return lur.fish(user, pond);
}
return false;
*/
@Override
public Organization org() {
- if(org==null) {
+ if (org==null) {
try {
- if((org = OrganizationFactory.obtain(env(), user()))==null) {
+ if ((org = OrganizationFactory.obtain(env(), user()))==null) {
org = Organization.NULL;
}
} catch (Exception e) {
*/
@Override
public void logAuditTrail(LogTarget lt) {
- if(lt.isLoggable()) {
+ if (lt.isLoggable()) {
StringBuilder sb = new StringBuilder();
auditTrail(1, sb);
lt.log(sb);
*/
@Override
public Date now() {
- if(now==null) {
+ if (now==null) {
now = new Date();
}
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;
+ }
}