X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-gui%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fgui%2FAAF_GUI.java;h=ca31e15e23c4219b5f083ce046d35e6b1d986859;hb=0843298ace3647a5dda1dcd1de7ee5e31145d9f4;hp=84ad1b1fa228e73aae2c9223390ff9a43de5a37a;hpb=4b5a7d721d994a49057e9bfb403c7bff1b376660;p=aaf%2Fauthz.git diff --git a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/AAF_GUI.java b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/AAF_GUI.java index 84ad1b1f..ca31e15e 100644 --- a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/AAF_GUI.java +++ b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/AAF_GUI.java @@ -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. @@ -26,6 +26,9 @@ import static org.onap.aaf.auth.rserv.HttpMethods.POST; import static org.onap.aaf.auth.rserv.HttpMethods.PUT; import javax.servlet.Filter; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.onap.aaf.auth.cmd.Cmd; import org.onap.aaf.auth.cui.CUI; @@ -40,6 +43,7 @@ import org.onap.aaf.auth.gui.pages.CMArtiChangeAction; import org.onap.aaf.auth.gui.pages.CMArtiChangeForm; import org.onap.aaf.auth.gui.pages.CMArtifactShow; import org.onap.aaf.auth.gui.pages.CredDetail; +import org.onap.aaf.auth.gui.pages.CredHistory; import org.onap.aaf.auth.gui.pages.Home; import org.onap.aaf.auth.gui.pages.LoginLanding; import org.onap.aaf.auth.gui.pages.LoginLandingAction; @@ -66,6 +70,7 @@ import org.onap.aaf.auth.gui.pages.UserRoleExtend; import org.onap.aaf.auth.gui.pages.UserRoleRemove; import org.onap.aaf.auth.gui.pages.WebCommand; import org.onap.aaf.auth.rserv.CachingFileAccess; +import org.onap.aaf.auth.rserv.HttpCode; import org.onap.aaf.auth.server.AbsService; import org.onap.aaf.auth.server.JettyServiceStarter; import org.onap.aaf.auth.server.Log4JLogIt; @@ -86,7 +91,6 @@ import org.onap.aaf.misc.env.APIException; import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.Slot; import org.onap.aaf.misc.env.StaticSlot; -import org.onap.aaf.misc.env.util.Split; import org.onap.aaf.misc.rosetta.env.RosettaDF; import org.onap.aaf.misc.xgen.html.HTMLGen; import org.onap.aaf.misc.xgen.html.State; @@ -95,14 +99,14 @@ import certman.v1_0.Artifacts; import certman.v1_0.CertInfo; public class AAF_GUI extends AbsService implements State{ - private static final String AAF_GUI_THEME = "aaf_gui_theme"; + public static final String AAF_GUI_THEME = "aaf_gui_theme"; public static final String AAF_GUI_COPYRIGHT = "aaf_gui_copyright"; public static final String HTTP_SERVLET_REQUEST = "HTTP_SERVLET_REQUEST"; public static final int TIMEOUT = 60000; - public static final String app = "AAF GUI"; - + public static final String APP = "AAF GUI"; + // AAF API - + // Certificate manager API public RosettaDF artifactsDF; public RosettaDF certInfoDF; @@ -110,31 +114,36 @@ public class AAF_GUI extends AbsService implements State1) { - deployedVersion =component[1]; - } else { - deployedVersion = "2.x"; + sDefaultTheme = env.staticSlot(AAF_GUI_THEME); + String defTheme = env.getProperty(AAF_GUI_THEME,"onap"); + env.put(sDefaultTheme, defTheme); + + + sThemeWebPath = env.staticSlot(CachingFileAccess.CFA_WEB_PATH); + if(env.get(sThemeWebPath)==null) { + env.put(sThemeWebPath,"theme"); } + + slotHttpServletRequest = env.slot(HTTP_SERVLET_REQUEST); + deployedVersion = appVersion; + + // Certificate Manager - cmCon = new AAFConHttp(env.access(),Config.CM_URL); + String aafUrlCm = env.getProperty(Config.AAF_URL_CM,Config.AAF_URL_CM_DEF); + cmCon = new AAFConHttp(env.access(),aafUrlCm); artifactsDF = env.newDataFactory(Artifacts.class); certInfoDF = env.newDataFactory(CertInfo.class); - + ///////////////////////// // Screens @@ -152,72 +161,91 @@ public class AAF_GUI extends AbsService implements State(null, "Clear"){ + @Override + public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception { + trans.clearCache(); + Cookie cookies[] = req.getCookies(); + if(cookies!=null) { + for(Cookie c : cookies) { + if(c.getName().startsWith("aaf.gui.")) { + c.setMaxAge(0); + resp.addCookie(c); + } + } + } + resp.sendRedirect("/gui/home"); + } + }, "text/plain;charset=utf-8","*/*"); + + /////////////////////// // WebContent Handler /////////////////////// - route(env,GET,"/"+env.get(sTheme)+"/:key", new CachingFileAccess(env)); + CachingFileAccess cfa = new CachingFileAccess(env); + route(env,GET,"/theme/:key*", cfa); /////////////////////// aafCon = aafCon(); lur = aafCon.newLur(); } - + public RosettaDF getDF(Class cls) throws APIException { return Cmd.getDF(env,cls); } - + public void writeError(AuthzTrans trans, Future fp, HTMLGen hgen, int indent) { - if(hgen!=null) { + if (hgen!=null) { String msg = aafCon.readableErrMsg(fp); hgen.incr(HTMLGen.P,"style=text-indent:"+indent*10+"px") .text("Error: ") @@ -228,9 +256,9 @@ public class AAF_GUI extends AbsService implements State RET cmClientAsUser(TaggedPrincipal p,Retryable retryable) throws APIException, LocatorException, CadiException { - return cmCon.hman().best(new HTransferSS(p,app, aafCon.securityInfo()), retryable); + return cmCon.hman().best(new HTransferSS(p, APP, aafCon.securityInfo()), retryable); } - + @Override public Filter[] _filters(Object ... additionalTafLurs) throws CadiException, LocatorException { try { @@ -250,7 +278,7 @@ public class AAF_GUI extends AbsService implements State[] registrants(final int port) throws CadiException, LocatorException { return new Registrant[] { - new RemoteRegistrant(aafCon(),app_name,app_version,port) + new RemoteRegistrant(aafCon(),port) }; } @@ -259,9 +287,13 @@ public class AAF_GUI extends AbsService implements State jss = new JettyServiceStarter(service); - jss.start(); + try { + new JettyServiceStarter( + new AAF_GUI(new AuthzEnv(propAccess)),true) + .start(); + } catch (Exception e) { + propAccess.log(e); + } } catch (Exception e) { e.printStackTrace(); }