# HG changeset patch
# User robcast
# Date 1067463951 -3600
# Node ID 2336ac05d57dd51cc0e8a4e51f8f0ea1251cf31b
# Parent 6132c29ac9f90d931ec735480eafa6a4fd354c1f
Servlet Version 1.16b2 with new DigilibParameter code.
- more generic class for request parameters
- like already done for DiglibConfig
- changes in JSPs for new request stuff
- changes in ImageSize class so size=0 is "wildcard"
- missing dw and dh parameters now treated as wildcards
- changed package name in imageinfo class
diff -r 6132c29ac9f9 -r 2336ac05d57d client/digitallibrary/digilib.jsp
--- a/client/digitallibrary/digilib.jsp Wed Oct 29 22:45:51 2003 +0100
+++ b/client/digitallibrary/digilib.jsp Wed Oct 29 22:45:51 2003 +0100
@@ -1,249 +1,247 @@
-<%@ page language="java" %>
-
-<%!
-// authentication stuff - robert
-// -----------------------------
-// create DocumentBean instance for all JSP requests
-digilib.servlet.DocumentBean docBean = new digilib.servlet.DocumentBean();
-
-// initialize DocumentBean instance in JSP init
-public void jspInit() {
- try {
- // set servlet init-parameter
- docBean.setConfig(getServletConfig());
- } catch (javax.servlet.ServletException e) {
- System.out.println(e);
- }
-}
-%>
-
-
-
-
-<%
-
-// parsing the query
-// -----------------
-
-//digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest(request);
-digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest();
-dlRequest.setWithRequest(request);
-// check if authentication is needed and redirect if necessary
-docBean.doAuthentication(dlRequest, response);
-
-%>
-
-<%
-
-// the different levels of presentation
-// ------------------------------------
-
-
-// level 3 representation hack - lugi
- // it would be much more interesting to check
- // if the sidebar is actually installed and in
- // the case it isn't - automatically do it.
- // however this requires client-side tests and
- // so slows down everything.
- // we might want to talk about it for a future
- // release
-
-if (dlRequest.getLv() == 3) {
- String userAgent = request.getHeader("User-Agent").toLowerCase();
-
- if (userAgent.indexOf("mozilla/5.0") == 0) {
-
- // mozilla 5 that does not support xul-sidebars
- if (userAgent.indexOf("opera") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("chimera") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("camino") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("konqueror") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("safari") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("galeon") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("skipstone") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("k-meleon") > -1) dlRequest.setLv(2);
- if (userAgent.indexOf("firebird") > -1) dlRequest.setLv(2);
-
- // the chance is quite big, that the browser supports xul-sidebars
- dlRequest.setLv(1);
-
- } else {
-
- // redirect to level 2 because of definitive lack of sidebar support
- dlRequest.setLv(2);
- }
-}
-
-
-
-switch (dlRequest.getLv()) {
-
- // LEVEL 0 --------------------------------------------------------------
-
- case 0:
-%>
-
-<%
- break; // level 0
-
-
-
-
- // LEVEL 1 --------------------------------------------------------------
-
- case 1:
-%>
-
-<%
- // checking if the height and width of this client is already known
- if ((dlRequest.getDw() == 0) || (dlRequest.getDh() == 0)) {
-%>
-
-
-
-
-
-
-
-
-
-<%
- } else {
-
- // add number of pages
- dlRequest.setPt(docBean.getNumPages(dlRequest));
-
- String imageLocation = dlRequest.getBaseURL() + "/servlet/Scaler/?" + dlRequest.getAsString();
-%>
-
-
-
-Digital Document Library - Alcatraz (Level 1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<%
- }
-%>
-
-<%
- break; // level 1
-
-
-
-
- // LEVEL 2 --------------------------------------------------------------
-
- case 2:
-%>
-
-<%
- // retrieve request in new paramter format and redirect to level 1
- dlRequest.setLv(1);
- String query = "digilib.jsp?" + dlRequest.getAsString();
-%>
-
-
-
-Digital Document Library - Alcatraz (Level 2)
-
-
-
-
-
-
-<%
- break; // level 2
-
-} // end switch
-
-%>
+<%@ page language="java" %>
+
+<%!
+// authentication stuff - robert
+// -----------------------------
+// create DocumentBean instance for all JSP requests
+digilib.servlet.DocumentBean docBean = new digilib.servlet.DocumentBean();
+
+// initialize DocumentBean instance in JSP init
+public void jspInit() {
+ try {
+ // set servlet init-parameter
+ docBean.setConfig(getServletConfig());
+ } catch (javax.servlet.ServletException e) {
+ System.out.println(e);
+ }
+}
+%>
+
+
+
+
+<%
+
+// parsing the query
+// -----------------
+
+digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest(request);
+// check if authentication is needed and redirect if necessary
+docBean.doAuthentication(dlRequest, response);
+
+%>
+
+<%
+
+// the different levels of presentation
+// ------------------------------------
+
+
+// level 3 representation hack - lugi
+ // it would be much more interesting to check
+ // if the sidebar is actually installed and in
+ // the case it isn't - automatically do it.
+ // however this requires client-side tests and
+ // so slows down everything.
+ // we might want to talk about it for a future
+ // release
+
+if (dlRequest.getAsInt("lv") == 3) {
+ String userAgent = request.getHeader("User-Agent").toLowerCase();
+
+ if (userAgent.indexOf("mozilla/5.0") == 0) {
+
+ // mozilla 5 that does not support xul-sidebars
+ if (userAgent.indexOf("opera") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("chimera") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("camino") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("konqueror") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("safari") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("galeon") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("skipstone") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("k-meleon") > -1) dlRequest.setValue("lv", 2);
+ if (userAgent.indexOf("firebird") > -1) dlRequest.setValue("lv", 2);
+
+ // the chance is quite big, that the browser supports xul-sidebars
+ dlRequest.setValue("lv", 1);
+
+ } else {
+
+ // redirect to level 2 because of definitive lack of sidebar support
+ dlRequest.setValue("lv", 2);
+ }
+}
+
+
+
+switch (dlRequest.getAsInt("lv")) {
+
+ // LEVEL 0 --------------------------------------------------------------
+
+ case 0:
+%>
+
+<%
+ break; // level 0
+
+
+
+
+ // LEVEL 1 --------------------------------------------------------------
+
+ case 1:
+%>
+
+<%
+ // checking if the height and width of this client is already known
+ if ((dlRequest.getAsInt("dw") == 0) || (dlRequest.getAsInt("dh") == 0)) {
+%>
+
+
+
+
+
+
+
+
+
+<%
+ } else {
+
+ // add number of pages
+ dlRequest.setValue("pt", docBean.getNumPages(dlRequest));
+
+ String imageLocation = dlRequest.getAsString("base.url") + "/servlet/Scaler/?" + dlRequest.getAsString();
+%>
+
+
+
+Digital Document Library - Alcatraz (Level 1)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<%
+ }
+%>
+
+<%
+ break; // level 1
+
+
+
+
+ // LEVEL 2 --------------------------------------------------------------
+
+ case 2:
+%>
+
+<%
+ // retrieve request in new paramter format and redirect to level 1
+ dlRequest.setValue("lv", 1);
+ String query = "digilib.jsp?" + dlRequest.getAsString();
+%>
+
+
+
+Digital Document Library - Alcatraz (Level 2)
+
+
+
+
+
+
+
+
+
+
+
+
+<%
+ break; // level 2
+
+} // end switch
+
+%>