Minor change to standardize on more canonical "UTF8" name for encoding in Java
[zxing.git] / zxingorg / src / com / google / zxing / web / DecodeServlet.java
index a50719a..e60536c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2008 Google Inc.
+ * Copyright 2008 ZXing authors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,7 +22,8 @@ import com.google.zxing.Reader;
 import com.google.zxing.ReaderException;
 import com.google.zxing.Result;
 import com.google.zxing.client.j2se.BufferedImageMonochromeBitmapSource;
-import com.google.zxing.client.result.ParsedReaderResult;
+import com.google.zxing.client.result.ParsedResult;
+import com.google.zxing.client.result.ResultParser;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
@@ -58,6 +59,8 @@ import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.UnknownHostException;
+import java.util.Arrays;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Timer;
@@ -72,7 +75,7 @@ import java.util.logging.Logger;
 public final class DecodeServlet extends HttpServlet {
 
   private static final long MAX_IMAGE_SIZE = 500000L;
-  private static final long EMAIL_CHECK_INTERVAL = 60000L;
+  private static final long EMAIL_CHECK_INTERVAL = 2L * 60 * 1000;
 
   private static final Logger log = Logger.getLogger(DecodeServlet.class.getName());
 
@@ -163,6 +166,9 @@ public final class DecodeServlet extends HttpServlet {
     } catch (HttpException he) {
       getRequest.abort();
       response.sendRedirect("badurl.jspx");
+    } catch (UnknownHostException uhe) {
+      getRequest.abort();
+      response.sendRedirect("badurl.jspx");
     }
 
   }
@@ -223,8 +229,8 @@ public final class DecodeServlet extends HttpServlet {
 
     if (request.getParameter("full") == null) {
       response.setContentType("text/plain");
-      response.setCharacterEncoding("UTF-8");
-      Writer out = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
+      response.setCharacterEncoding("UTF8");
+      Writer out = new OutputStreamWriter(response.getOutputStream(), "UTF8");
       try {
         out.write(result.getText());
       } finally {
@@ -232,8 +238,14 @@ public final class DecodeServlet extends HttpServlet {
       }
     } else {
       request.setAttribute("result", result);
-      ParsedReaderResult parsedReaderResult = ParsedReaderResult.parseReaderResult(result);
-      request.setAttribute("parsedReaderResult", parsedReaderResult);
+      byte[] rawBytes = result.getRawBytes();
+      if (rawBytes != null) {
+        request.setAttribute("rawBytesString", Arrays.toString(rawBytes));
+      } else {
+        request.setAttribute("rawBytesString", "(Not applicable)");
+      }
+      ParsedResult parsedResult = ResultParser.parseReaderResult(result);
+      request.setAttribute("parsedResult", parsedResult);
       request.getRequestDispatcher("decoderesult.jspx").forward(request, response);
     }
   }