KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > efs > openreports > dispatcher > ServletDispatcher


1 /*
2  * Copyright (C) 2004 Erik Swenson - erik@oreports.com
3  *
4  * This program is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU General Public License as published by the Free Software
6  * Foundation; either version 2 of the License, or (at your option) any later
7  * version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
16  * Place - Suite 330, Boston, MA 02111-1307, USA.
17  *
18  */

19
20 package org.efs.openreports.dispatcher;
21
22 import java.io.IOException JavaDoc;
23
24 import javax.servlet.ServletConfig JavaDoc;
25 import javax.servlet.ServletException JavaDoc;
26 import javax.servlet.http.HttpServletRequest JavaDoc;
27
28 import org.apache.log4j.Logger;
29 import org.efs.openreports.providers.BirtProvider;
30 import org.efs.openreports.providers.HibernateProvider;
31 import org.efs.openreports.providers.QuartzProvider;
32
33 import com.opensymphony.webwork.config.Configuration;
34 import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequest;
35 import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper;
36
37 public class ServletDispatcher
38         extends
39             com.opensymphony.webwork.dispatcher.ServletDispatcher
40 {
41     protected static Logger log = Logger.getLogger(ServletDispatcher.class);
42     
43     private String JavaDoc saveDirectory;
44     
45     private HibernateProvider hibernateProvider;
46     private QuartzProvider quartzProvider;
47     private BirtProvider birtProvider;
48
49     public void init(ServletConfig JavaDoc servletConfig) throws ServletException JavaDoc
50     {
51         super.init(servletConfig);
52
53         try
54         {
55             hibernateProvider = new HibernateProvider();
56             quartzProvider = new QuartzProvider();
57             birtProvider = new BirtProvider();
58         }
59         catch (Exception JavaDoc e)
60         {
61             log.error(e.toString());
62         }
63     }
64     
65     public void destroy()
66     {
67         super.destroy();
68         
69         quartzProvider.destroy();
70         hibernateProvider.destroy();
71         birtProvider.destroy();
72     }
73     
74     protected void setSaveDirectory()
75     {
76         saveDirectory = Configuration.getString("webwork.multipart.saveDir").trim();
77         log.info("Report Upload Path: " + saveDirectory);
78     }
79
80     protected HttpServletRequest JavaDoc wrapRequest(HttpServletRequest JavaDoc request) throws IOException JavaDoc
81     {
82         // don't wrap more than once
83
if (request instanceof MultiPartRequestWrapper)
84         {
85             return request;
86         }
87
88         if (MultiPartRequest.isMultiPart(request))
89         {
90             if (saveDirectory == null) setSaveDirectory();
91             request = new MultiPartRequestWrapper(request, saveDirectory, Integer.MAX_VALUE);
92         }
93
94         return request;
95     }
96 }
Popular Tags