Sonar Fixes
[aaf/authz.git] / auth / auth-gui / src / main / java / org / onap / aaf / auth / cui / CUI.java
index 121ee3f..3223c53 100644 (file)
 package org.onap.aaf.auth.cui;
 
 import java.io.PrintWriter;
+import java.util.regex.Pattern;
 
 import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.onap.aaf.auth.cmd.AAFcli;
 import org.onap.aaf.auth.env.AuthzTrans;
-import org.onap.aaf.auth.env.AuthzEnv;
 import org.onap.aaf.auth.gui.AAF_GUI;
+import org.onap.aaf.auth.gui.Page;
 import org.onap.aaf.auth.rserv.HttpCode;
 import org.onap.aaf.cadi.aaf.v2_0.AAFConHttp;
 import org.onap.aaf.cadi.http.HTransferSS;
@@ -43,6 +45,7 @@ import org.onap.aaf.misc.env.TimeTaken;
 
 public class CUI extends HttpCode<AuthzTrans, Void> {
     private final AAF_GUI gui;
+    private static final Pattern userPerm = Pattern.compile("perm (create|delete).*@.*:id.*aaf.gui.*");
 
 
     public CUI(AAF_GUI gui) {
@@ -70,20 +73,28 @@ public class CUI extends HttpCode<AuthzTrans, Void> {
             aafcli= new AAFcli(gui.access,gui.env, pw,
                     aafcon.hman(),
                     aafcon.securityInfo(),
-                    new HTransferSS(p,AAF_GUI.app,
+                    new HTransferSS(p,AAF_GUI.APP,
                             aafcon.securityInfo()));
             aafcli.verbose(false);
             aafcli.gui(true);
 
             String cmdStr = cmd.toString();
-            if (!cmdStr.contains("--help")) {
-                cmdStr = cmdStr.replaceAll("help", "--help");
+            if (cmdStr.contains("--help")) {
+                cmdStr = cmdStr.replaceAll("--help", "help");
             }
-            if (!cmdStr.contains("--version")) {
-                cmdStr = cmdStr.replaceAll("version", "--version");
+            if (cmdStr.contains("--version")) {
+                cmdStr = cmdStr.replaceAll("--version", "version");
             }
             try {
                 aafcli.eval(cmdStr);
+                if(userPerm.matcher(cmdStr).matches()) {
+                    trans.clearCache();
+                    Cookie cookie = new Cookie(Page.AAF_THEME,trans.getProperty(Page.AAF_THEME));
+                    cookie.setSecure(true);
+                    cookie.setMaxAge(-1);
+                    cookie.setComment("Remove AAF GUI Theme");
+                    trans.hresp().addCookie(cookie);
+                }
                 pw.flush();
             } catch (Exception e) {
                 pw.flush();