diff client/digitallibrary/digilib.jsp @ 60:58d23f512c80

New DigilibServlet.jar with new version (with DigilibRequest object). Changes in digilib, digicat, dlImage JSP. Initialization now done only once in jspInit. Uses DigilibRequest object to convert old +++-style requests to parameter-style requests and for BaseURL. Prettyfied config files (no authentication is default).
author robcast
date Wed, 28 Aug 2002 20:17:35 +0200
parents e918bd61084d
children b877e54b0794
line wrap: on
line diff
--- a/client/digitallibrary/digilib.jsp	Wed Aug 28 20:00:21 2002 +0200
+++ b/client/digitallibrary/digilib.jsp	Wed Aug 28 20:17:35 2002 +0200
@@ -1,103 +1,43 @@
-<%@ page language="java" import="java.util.*" %>
+<%@ 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);
+    }
+}
+%>
+
+<%
+// check if authentication is needed and redirect if necessary
+docBean.doAuthentication(request, response);
+
+// parsing the query
+// -----------------
+
+digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest();
+// fill the request with the old format query string
+dlRequest.setWithOldString(request.getQueryString());
+// add number of pages
+dlRequest.setPt(docBean.getNumPages(request));
+// retrieve request in new paramter format 
+String query = "dlImage.jsp?" + dlRequest.getAsString();
+%>
 
 <html>
 <head>
 <title>Digital Document Library</title>
 </head>
 
-<jsp:useBean id="DB" scope="page" class="digilib.servlet.DocumentBean" />
-
-<%
-// authentication stuff - robert
-// -----------------------------
-
-// set servlet init-parameter
-DB.setConfig(getServletConfig());
-// check if authentication is needed and redirect if necessary
-DB.doAuthentication(request, response);
-
-
-// parsing the query
-// -----------------
-
-String query = "dlImage.jsp?";
-String token;
-
-if (request.getQueryString() != null) {
-	// have to enable the passing of delimiter to get empty parameters
-	StringTokenizer tokenizer = new StringTokenizer(request.getQueryString(), "+", true);
-
-	// looks ugly but it works - hopefully...
-	
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "fn=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&pn=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&ws=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (!token.equals("+")) {
-			query += "&mo=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (!token.equals("+")) {
-			query += "&mk=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&wx=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&wy=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&ww=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-	if (tokenizer.hasMoreTokens()) {
-		token = tokenizer.nextToken();
-		if (token != "+") {
-			query += "&wh=" + token;
-			if (tokenizer.hasMoreTokens()) tokenizer.nextToken();
-		}
-	}
-
-	// a module update for total number of pages
-	query += "&pt=" + DB.getNumPages(request);
-}
-%>
-
 <frameset cols="*,90" border="0">
   <frame name="mainFrame" src="<%= query %>" scrolling="auto">
   <frameset rows="20,*" border="0">