# 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 + +%>