diff options
Diffstat (limited to 'BKUOnline')
7 files changed, 136 insertions, 11 deletions
diff --git a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java index b858083b..4b275298 100644 --- a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java +++ b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java @@ -45,7 +45,9 @@ import at.gv.egiz.org.apache.tomcat.util.http.AcceptLanguage; * */ public class BKURequestHandler extends SpringBKUServlet { - public static final String BKU_APPLET_JSP = "BKUApplet"; + + public static final String APPLET_PAGE_P = "appletPage"; + public static final String APPLET_PAGE_DEFAULT = "BKUApplet"; private static final long serialVersionUID = 1L; @@ -69,7 +71,7 @@ public class BKURequestHandler extends SpringBKUServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, java.io.IOException { - log.debug("Received new request"); + log.debug("Received SecurityLayer request"); HttpSession session = req.getSession(false); if (session != null) { @@ -79,9 +81,9 @@ public class BKURequestHandler extends SpringBKUServlet { IdFactory.getInstance().createId(session.getId())); if (bp != null) { log.debug("Found binding processor, using this one"); - RequestDispatcher dispatcher = getServletContext().getNamedDispatcher( - BKU_APPLET_JSP); - log.debug("forward to applet"); + String appletPage = (String) session.getAttribute(APPLET_PAGE_P); + RequestDispatcher dispatcher = getServletContext().getNamedDispatcher(appletPage); + log.debug("forward to applet " + appletPage); dispatcher.forward(req, resp); return; } @@ -121,6 +123,15 @@ public class BKURequestHandler extends SpringBKUServlet { getBindingProcessorManager().process(bindingProcessor); log.trace("Trying to find applet parameters in request"); + + String appletPage = getStringFromStream(bindingProcessor + .getFormData(APPLET_PAGE_P), charset); + if (appletPage == null) { + appletPage = APPLET_PAGE_DEFAULT; + } + log.trace("requested appletPage " + appletPage); + session.setAttribute(APPLET_PAGE_P, appletPage); + String width = getStringFromStream(bindingProcessor .getFormData("appletWidth"), charset); String height = getStringFromStream(bindingProcessor @@ -186,10 +197,16 @@ public class BKURequestHandler extends SpringBKUServlet { log.info("Got redirect URL "+redirectUrl+". Deferring browser redirect."); session.setAttribute(REDIRECT_URL_SESSION_ATTRIBUTE, redirectUrl); } - // TODO error if no dispatcher found RequestDispatcher dispatcher = getServletContext().getNamedDispatcher( - BKU_APPLET_JSP); - log.debug("forward to applet"); + appletPage); + if (dispatcher == null) { + log.warn("requested AppletPage " + appletPage + " not configured"); + appletPage = APPLET_PAGE_DEFAULT; + session.setAttribute(APPLET_PAGE_P, APPLET_PAGE_DEFAULT); + dispatcher = getServletContext().getNamedDispatcher( + appletPage); + } + log.debug("forward to applet " + appletPage); dispatcher.forward(req, resp); } diff --git a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java index 7855b73c..a4d3e5d1 100644 --- a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java +++ b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java @@ -116,7 +116,6 @@ public class ResultServlet extends SpringBKUServlet { return; } resp.setStatus(bp.getResponseCode()); -// log.info("ALLOW CACHING OF RESULT PAGE"); resp.setHeader("Cache-Control", "no-store"); // HTTP 1.1 resp.setHeader("Pragma", "no-cache"); // HTTP 1.0 resp.setDateHeader("Expires", 0); diff --git a/BKUOnline/src/main/webapp/PINManagement.jsp b/BKUOnline/src/main/webapp/PINManagement.jsp index 0f08f64b..d62dc09b 100644 --- a/BKUOnline/src/main/webapp/PINManagement.jsp +++ b/BKUOnline/src/main/webapp/PINManagement.jsp @@ -41,7 +41,7 @@ String heightP = request.getParameter("appletHeight"); int width = (widthP == null) ? 295 : Integer.parseInt(widthP); - int height = (heightP == null) ? 195 + int height = (heightP == null) ? 200 : Integer.parseInt(heightP); String guiStyle = request.getParameter("appletGuiStyle"); if (guiStyle == null) { diff --git a/BKUOnline/src/main/webapp/SLRequestForm.html b/BKUOnline/src/main/webapp/SLRequestForm.html index 2aed5298..9ff7b68a 100644 --- a/BKUOnline/src/main/webapp/SLRequestForm.html +++ b/BKUOnline/src/main/webapp/SLRequestForm.html @@ -131,12 +131,18 @@ <p><label for="appletBackground">Applet Background</label> <input name="appletBackground" value="" id="appletBackground"> - + <p> + <label for="appletPage">Applet Page</label> + <input type="radio" name="appletPage" value="BKUApplet" checked="checked">Default + <input type="radio" name="appletPage" value="BKUAppletAlternative">Alternative + </p> +<!-- <p> <label for="appletExtension">Extension</label> <input type="radio" name="appletExtension" value="activation" onclick="setInfoboxUpdateRequest()">Activation <input type="radio" name="appletExtension" value="pin" onclick="setAppletDimension(400, 200)">PIN Management </p> +--> <!-- <p><label for="RedirectURL">RedirectURL</label> <input diff --git a/BKUOnline/src/main/webapp/WEB-INF/web.xml b/BKUOnline/src/main/webapp/WEB-INF/web.xml index cc37b782..1a9b7d78 100644 --- a/BKUOnline/src/main/webapp/WEB-INF/web.xml +++ b/BKUOnline/src/main/webapp/WEB-INF/web.xml @@ -53,6 +53,10 @@ <jsp-file>/applet.jsp</jsp-file> </servlet> <servlet> + <servlet-name>BKUAppletAlternative</servlet-name> + <jsp-file>/appletAlternative.jsp</jsp-file> + </servlet> + <servlet> <servlet-name>help</servlet-name> <jsp-file>/help.jsp</jsp-file> </servlet> diff --git a/BKUOnline/src/main/webapp/appletAlternative.jsp b/BKUOnline/src/main/webapp/appletAlternative.jsp new file mode 100644 index 00000000..65c13392 --- /dev/null +++ b/BKUOnline/src/main/webapp/appletAlternative.jsp @@ -0,0 +1,87 @@ +<!-- + Copyright 2008 Federal Chancellery Austria and + Graz University of Technology + + 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. + See the License for the specific language governing permissions and + limitations under the License. +--> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>MOCCA Applet</title> + <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"> + <script type="text/javascript" src="js/deployJava.js"></script> + <style type="text/css" media="all">@import "css/appletAlternative.css";</style> + + <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> + <META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT"> + <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> + </head> + <% + // min W/H (for de locale): 145px/145px with gui style 'tiny' + // (vs. 152px on linux) + int width = session.getAttribute("appletWidth") == null ? 190 + : (Integer) session.getAttribute("appletWidth"); //230 for workshop demo integration + int height = session.getAttribute("appletHeight") == null ? 130 + : (Integer) session.getAttribute("appletHeight"); + String backgroundImg = (String) session.getAttribute("appletBackground"); + String guiStyle = (String) session.getAttribute("appletGuiStyle"); + String locale = (String) session.getAttribute("locale"); + String extension = (String) session.getAttribute("extension"); + + String appletClass, appletArchive; + if ("activation".equals(extension)) { + appletArchive = "BKUAppletExt.jar"; + appletClass = "at.gv.egiz.bku.online.applet.ActivationApplet.class"; + } else if ("pin".equals(extension)) { + appletArchive = "BKUAppletExt.jar"; + appletClass = "at.gv.egiz.bku.online.applet.PINManagementApplet.class"; + } else { + appletArchive = "BKUApplet.jar"; + appletClass = "at.gv.egiz.bku.online.applet.BKUApplet.class"; + } + appletArchive = "BKUAppletExt.jar"; + appletClass = "at.gv.egiz.bku.online.applet.ActivationApplet.class"; + %> + <body id="appletpage" style="width:<%=width%>"> + <script> + if (!deployJava.versionCheck('1.6.0_04+')) { + document + .write('<b>Diese Anwendung benötigt die Java Platform Version 1.6.0_04 oder höher.</b>' + '<input type="submit" value="Java Platform 1.6.0_02 installieren" onclick="deployJava.installLatestJRE();">'); + } else { + var attributes = { + codebase :'applet', + code : '<%=appletClass%>', + archive : '<%=appletArchive + ", commons-logging.jar, iaik_jce_me4se.jar"%>', + width : <%=width%>, + height :<%=height%> + }; + var parameters = { + GuiStyle : '<%=guiStyle%>', + Locale : '<%=locale%>', + Background : '<%=backgroundImg%>', + WSDL_URL :'../stal;jsessionid=<%=session.getId()%>?wsdl', + HelpURL : '../help/', + SessionID : '<%=session.getId()%>', + RedirectURL : '../bkuResult', + RedirectTarget: '_parent' + }; + var version = '1.6.0_04'; + deployJava.runApplet(attributes, parameters, version); + } + </script> + </body> +</html> diff --git a/BKUOnline/src/main/webapp/css/appletAlternative.css b/BKUOnline/src/main/webapp/css/appletAlternative.css new file mode 100644 index 00000000..ce11f1b2 --- /dev/null +++ b/BKUOnline/src/main/webapp/css/appletAlternative.css @@ -0,0 +1,12 @@ +root { + display: block; +} + +body { + background: #ffffff; + background-image: url(../img/mocca-t_s.png); + padding: 0; + margin: 0; + border-style: none; +} + |