Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Kolosowski2003-04-09 15:10:07 +0000
committerKonrad Kolosowski2003-04-09 15:10:07 +0000
commitf697d2d8b23126d33db3156e4b8c6241bda0cedc (patch)
treec7c6cce7a6551738dd2b74d9e5114a791f96f5bf
parent90781b55dc623fe796d823ba34b2ca3e6b27dc6b (diff)
downloadeclipse.platform.ua-f697d2d8b23126d33db3156e4b8c6241bda0cedc.tar.gz
eclipse.platform.ua-f697d2d8b23126d33db3156e4b8c6241bda0cedc.tar.xz
eclipse.platform.ua-f697d2d8b23126d33db3156e4b8c6241bda0cedc.zip
can require java>=1.4 and IE>=5.5
-rw-r--r--org.eclipse.help.webapp/index.jsp2
-rw-r--r--org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.java2
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/BookmarksData.java13
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/RequestData.java38
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java15
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/UrlUtil.java136
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetData.java8
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetManagerData.java10
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/servlet/SearchServlet.java12
9 files changed, 49 insertions, 187 deletions
diff --git a/org.eclipse.help.webapp/index.jsp b/org.eclipse.help.webapp/index.jsp
index 5aee9d033..34571db63 100644
--- a/org.eclipse.help.webapp/index.jsp
+++ b/org.eclipse.help.webapp/index.jsp
@@ -18,7 +18,7 @@
}
RequestData data = new RequestData(application,request);
- if(data.isIE() || (data.isMozilla() && data.isGecko()) ){
+ if((data.isIE() && "5.5".compareTo(data.getIEVersion()) <=0) || (data.isMozilla() && data.isGecko()) ){
request.getRequestDispatcher("/advanced/index.jsp").forward(request, response);
}else{
request.getRequestDispatcher("/basic/index.jsp").forward(request, response);
diff --git a/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.java b/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.java
index 28dc1c823..90de23524 100644
--- a/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.java
+++ b/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.java
@@ -69,7 +69,7 @@ public class WebappResources {
// break the string into tokens to get the Locale object
StringTokenizer locales = new StringTokenizer(nl,"_");
if (locales.countTokens() == 1)
- return new Locale(locales.nextToken(), "");
+ return new Locale(locales.nextToken());
else if (locales.countTokens() == 2)
return new Locale(locales.nextToken(), locales.nextToken());
else if (locales.countTokens() == 3)
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/BookmarksData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/BookmarksData.java
index e1026a538..82bf301b0 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/BookmarksData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/BookmarksData.java
@@ -10,13 +10,12 @@
*******************************************************************************/
package org.eclipse.help.internal.webapp.data;
+import java.util.*;
-import java.util.StringTokenizer;
+import javax.servlet.*;
+import javax.servlet.http.*;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-
-import org.eclipse.core.runtime.Preferences;
+import org.eclipse.core.runtime.*;
import org.eclipse.help.internal.*;
import org.eclipse.help.internal.util.*;
@@ -48,7 +47,7 @@ public class BookmarksData extends RequestData {
if (bookmarkURL != null
&& bookmarkURL.length() > 0
&& !bookmarkURL.equals("about:blank")) {
- String title = getDBCSParameter("title");
+ String title = request.getParameter("title");
Preferences prefs = HelpPlugin.getDefault().getPluginPreferences();
String bookmarks = prefs.getString(HelpSystem.BOOKMARKS);
@@ -69,7 +68,7 @@ public class BookmarksData extends RequestData {
if (bookmarkURL != null
&& bookmarkURL.length() > 0
&& !bookmarkURL.equals("about:blank")) {
- String title = getDBCSParameter("title");
+ String title = request.getParameter("title");
Preferences prefs = HelpPlugin.getDefault().getPluginPreferences();
String bookmarks = prefs.getString(HelpSystem.BOOKMARKS);
String removeString =
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/RequestData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/RequestData.java
index f521ae3ed..c3d5621d3 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/RequestData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/RequestData.java
@@ -10,10 +10,10 @@
*******************************************************************************/
package org.eclipse.help.internal.webapp.data;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.*;
+import javax.servlet.http.*;
-import org.eclipse.help.internal.HelpSystem;
+import org.eclipse.help.internal.*;
/**
* Helper class for contents.jsp initialization
@@ -55,6 +55,10 @@ public class RequestData {
return UrlUtil.isIE(request);
}
+ public String getIEVersion() {
+ return UrlUtil.getIEVersion(request);
+ }
+
public boolean isKonqueror() {
return UrlUtil.isKonqueror(request);
}
@@ -79,32 +83,4 @@ public class RequestData {
return HelpSystem.getMode();
}
- public String getDBCSParameter(String name) {
- if (UrlUtil.isIE(request)
- && request.getParameter("encoding") != null) {
- // parameter is escaped using JavaScript
- return UrlUtil.unescape(
- UrlUtil.getRawRequestParameter(request, name));
- } else {
- return request.getParameter(name);
- }
- }
-
- public String[] getDBCSParameters(String name) {
- if (UrlUtil.isIE(request)
- && request.getParameter("encoding") != null) {
- // parameter is escaped using JavaScript
- String[] rawValues = UrlUtil.getRawRequestParameters(request, name);
- if (rawValues == null || rawValues.length == 0) {
- return null;
- } else {
- String[] values = new String[rawValues.length];
- for (int i = 0; i < rawValues.length; i++)
- values[i] = UrlUtil.unescape(rawValues[i]);
- return values;
- }
- } else {
- return request.getParameterValues(name);
- }
- }
}
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
index 9ad78250a..7648b6bab 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
@@ -48,7 +48,7 @@ public class SearchData extends RequestData {
if (topicHref != null && topicHref.length() == 0)
topicHref = null;
- searchWord = getDBCSParameter("searchWord");
+ searchWord = request.getParameter("searchWord");
// try loading search results or get the indexing progress info.
if (isSearchRequest() && !isScopeRequest()) {
@@ -187,12 +187,12 @@ public class SearchData extends RequestData {
return workingSetName;
if (isScopeRequest()) {
- workingSetName = getDBCSParameter("workingSet");
+ workingSetName = request.getParameter("workingSet");
} else if (isSearchRequest()) {
- workingSetName = getDBCSParameter("scope");
+ workingSetName = request.getParameter("scope");
// if we have already set the working set, then use it.
if (workingSetName == null)
- workingSetName = getDBCSParameter("workingSet");
+ workingSetName = request.getParameter("workingSet");
} else {
workingSetName =
HelpPlugin.getDefault().getPluginPreferences().getString(
@@ -216,7 +216,7 @@ public class SearchData extends RequestData {
if (getMode() == MODE_INFOCENTER)
return;
// if a working set is defined, set it in the preferences
- String workingSet = getDBCSParameter("scope");
+ String workingSet = request.getParameter("scope");
String lastWS =
HelpPlugin.getDefault().getPluginPreferences().getString(
HelpSystem.WORKING_SET);
@@ -225,7 +225,8 @@ public class SearchData extends RequestData {
HelpSystem.WORKING_SET,
workingSet);
HelpPlugin.getDefault().savePluginPreferences();
- } else if (workingSet == null && lastWS != null && lastWS.length() > 0) {
+ } else if (
+ workingSet == null && lastWS != null && lastWS.length() > 0) {
HelpPlugin.getDefault().getPluginPreferences().setValue(
HelpSystem.WORKING_SET,
"");
@@ -277,7 +278,7 @@ public class SearchData extends RequestData {
getLocale());
}
private SearchResults createHitCollector() {
- String[] scopes = getDBCSParameters("scope");
+ String[] scopes = request.getParameterValues("scope");
Collection scopeCol = null;
if (scopes != null) {
if (scopes.length
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/UrlUtil.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/UrlUtil.java
index 7100946c2..d376773bc 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/UrlUtil.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/UrlUtil.java
@@ -10,14 +10,14 @@
*******************************************************************************/
package org.eclipse.help.internal.webapp.data;
import java.io.*;
-import java.net.InetAddress;
+import java.net.*;
import java.util.*;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.help.internal.HelpSystem;
-import org.eclipse.help.internal.util.TString;
+import org.eclipse.core.boot.*;
+import org.eclipse.help.internal.*;
+import org.eclipse.help.internal.util.*;
public class UrlUtil {
// XML escaped characters mapping
@@ -26,121 +26,6 @@ public class UrlUtil {
{ "&amp;", "&gt;", "&lt;", "&quot;" };
/**
- * Decodes strings encoded with Javascript 1.3 escape
- * Handles DBCS charactes that escape encoded as %uHHLL.
- */
- public static String unescape(String encodedURL) {
- if (encodedURL == null)
- return null;
- int len = encodedURL.length();
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < len;) {
- ByteArrayOutputStream tempOs;
- switch (encodedURL.charAt(i)) {
- case '%' :
- if ((len > i + 1) && encodedURL.charAt(i + 1) != 'u') {
- // byte encoded as %XX
- if (len >= i + 3) {
- tempOs = new ByteArrayOutputStream(1);
- tempOs.write(
- Integer.parseInt(
- encodedURL.substring(i + 1, i + 3),
- 16));
- try {
- buf.append(
- new String(
- tempOs.toByteArray(),
- "ISO8859_1"));
- } catch (UnsupportedEncodingException uee) {
- return null;
- }
- }
- i += 3;
-
- } else {
- // char escaped to the form %uHHLL
- if (len >= i + 6) {
- tempOs = new ByteArrayOutputStream(2);
- tempOs.write(
- Integer.parseInt(
- encodedURL.substring(i + 2, i + 4),
- 16));
- tempOs.write(
- Integer.parseInt(
- encodedURL.substring(i + 4, i + 6),
- 16));
- try {
- buf.append(
- new String(
- tempOs.toByteArray(),
- "UnicodeBigUnmarked"));
- } catch (UnsupportedEncodingException uee) {
- return null;
- }
- }
- i += 6;
-
- }
-
- break;
- case '+' : //exception from standard
- buf.append(' ');
- i++;
- break;
- default :
- tempOs = new ByteArrayOutputStream(1);
- tempOs.write(encodedURL.charAt(i++));
- try {
- buf.append(new String(tempOs.toByteArray(), "UTF8"));
- } catch (UnsupportedEncodingException uee) {
- return null;
- }
-
- break;
- }
-
- }
- return buf.toString();
- }
- /**
- * Obtains parameter from request without decoding it
- */
- public static String getRawRequestParameter(
- HttpServletRequest request,
- String parameterName) {
- String[] values = getRawRequestParameters(request, parameterName);
- if (values.length > 0) {
- return values[0];
- }
- return null;
- }
- /**
- * Obtains values of a parameter from request query string
- * withoud decoding them
- * @return String[]
- */
- public static String[] getRawRequestParameters(
- HttpServletRequest request,
- String parameterName) {
- String query = request.getQueryString();
- if (query == null || "".equals(query)) {
- return new String[0];
- }
- List values = new ArrayList();
- StringTokenizer stok = new StringTokenizer(query, "&");
- while (stok.hasMoreTokens()) {
- String nameEqValue = stok.nextToken();
- int equalsPosition = nameEqValue.indexOf("=");
- if (equalsPosition >= 0
- && parameterName.equals(
- nameEqValue.substring(0, equalsPosition))) {
- String val = nameEqValue.substring(equalsPosition + 1);
- values.add(val);
- }
- }
- return (String[]) values.toArray(new String[values.size()]);
- }
- /**
* Encodes string for embedding in JavaScript source
*/
public static String JavaScriptEncode(String str) {
@@ -231,6 +116,17 @@ public class UrlUtil {
return (agent.indexOf("msie") >= 0);
}
+ public static String getIEVersion(HttpServletRequest request) {
+ String agent = request.getHeader("User-Agent").toLowerCase();
+ int start = agent.indexOf("msie ") + "msie ".length();
+ if (start < "msie ".length() || start >= agent.length())
+ return "0";
+ int end = agent.indexOf(";", start);
+ if (end <= start)
+ return "0";
+ return agent.substring(start, end);
+ }
+
public static boolean isKonqueror(HttpServletRequest request) {
String agent = request.getHeader("User-Agent").toLowerCase();
return agent.indexOf("konqueror") >= 0;
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetData.java
index d78d5cf82..3579a5f28 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetData.java
@@ -11,10 +11,10 @@
package org.eclipse.help.internal.webapp.data;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.*;
+import javax.servlet.http.*;
-import org.eclipse.help.internal.HelpSystem;
+import org.eclipse.help.internal.*;
import org.eclipse.help.internal.workingset.*;
/**
@@ -44,7 +44,7 @@ public class WorkingSetData extends RequestData {
}
public String getWorkingSetName() {
- String name = getDBCSParameter("workingSet");
+ String name = request.getParameter("workingSet");
if (name == null)
name = "";
return name;
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetManagerData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetManagerData.java
index 6447243d3..db6e3b832 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetManagerData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/WorkingSetManagerData.java
@@ -11,10 +11,10 @@
package org.eclipse.help.internal.webapp.data;
-import java.util.ArrayList;
+import java.util.*;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.*;
+import javax.servlet.http.*;
import org.eclipse.help.internal.*;
import org.eclipse.help.internal.workingset.*;
@@ -40,7 +40,7 @@ public class WorkingSetManagerData extends RequestData {
HttpServletRequest request) {
super(context, request);
- name = getDBCSParameter("workingSet");
+ name = request.getParameter("workingSet");
if (!workingSetsSynchronized && getMode() == MODE_WORKBENCH) {
// upon startup in workbench mode, make sure working sets are in synch with those from UI
@@ -106,7 +106,7 @@ public class WorkingSetManagerData extends RequestData {
if (name != null && name.length() > 0) {
- String oldName = getDBCSParameter("oldName");
+ String oldName = request.getParameter("oldName");
if (oldName == null || oldName.length() == 0)
oldName = name;
WorkingSet ws = wsmgr.getWorkingSet(oldName);
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/servlet/SearchServlet.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/servlet/SearchServlet.java
index 0058d9f77..57b2e13c8 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/servlet/SearchServlet.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/servlet/SearchServlet.java
@@ -88,17 +88,7 @@ public class SearchServlet extends HttpServlet {
}
private ISearchQuery createSearchQuery(HttpServletRequest request) {
- String searchWord = "";
- if (UrlUtil.isIE(request)
- && request.getParameter("encoding") != null) {
- // parameter is escaped using JavaScript
- searchWord =
- UrlUtil.unescape(
- UrlUtil.getRawRequestParameter(request, "searchWord"));
- } else {
- searchWord = request.getParameter("searchWord");
- }
-
+ String searchWord = request.getParameter("searchWord");
String fieldSearchStr = request.getParameter("fieldSearch");
boolean fieldSearch =
fieldSearchStr != null

Back to the top