00001
package com.quadcap.app.dbimage;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
import java.io.File;
00042
import java.io.IOException;
00043
00044
import java.sql.Connection;
00045
import java.sql.SQLException;
00046
00047
import javax.servlet.RequestDispatcher;
00048
import javax.servlet.ServletConfig;
00049
import javax.servlet.ServletContext;
00050
import javax.servlet.ServletException;
00051
00052
import javax.servlet.http.HttpServletRequest;
00053
import javax.servlet.http.HttpServletResponse;
00054
00055
00056
00057
00058
00059
00060
00061
00062 public class ActionLoad implements Action {
00063 ServletConfig
config;
00064
00065
00066
00067
00068
00069 static final String
errorPage =
"/error.jsp";
00070 static final String
successPage =
"/show.jsp";
00071
00072 public ActionLoad() {}
00073
00074 public void init(ServletConfig config) {
00075
this.config = config;
00076 }
00077
00078 public void service(HttpServletRequest request,
00079 HttpServletResponse response)
00080
throws Exception
00081 {
00082 String root = request.getParameter(
"root");
00083
if (root == null || root.length() == 0) {
00084 request.setAttribute(
"error-message",
00085
"no 'root' parameter specified");
00086
forward(request, response,
errorPage);
00087 }
else {
00088 File f =
new File(root);
00089
00090
if (!f.exists()) {
00091 request.setAttribute(
"error-message",
00092
"Can't read: " + root);
00093
forward(request, response,
errorPage);
00094
return;
00095 }
00096
00097
DbImageLoader loader =
new DbImageLoader();
00098
try {
00099 Connection conn =
getConnection();
00100
try {
00101 loader.
loadImages(conn, root);
00102 } finally {
00103 conn.close();
00104 }
00105
forward(request, response,
successPage);
00106 }
catch (Throwable th) {
00107 request.setAttribute(
"exception", th);
00108
forward(request, response,
errorPage);
00109 }
00110 }
00111 }
00112
00113 public Connection
getConnection() throws SQLException {
00114 ServletContext application =
config.getServletContext();
00115
DbImageServlet s = (
DbImageServlet)application.getAttribute(
"servlet");
00116
return s.
getConnection();
00117 }
00118
00119 public void forward(HttpServletRequest request,
00120 HttpServletResponse response,
00121 String page)
00122
throws ServletException, IOException
00123 {
00124 ServletContext context =
config.getServletContext();
00125 RequestDispatcher rd = context.getRequestDispatcher(page);
00126 rd.forward(request, response);
00127 }
00128 }