01 /*
02 * Created on 03.03.2004
03 */
04 package de.fub.tip.actions.admin;
05
06 import java.sql.SQLException;
07
08 import javax.servlet.http.HttpServletRequest;
09 import javax.servlet.http.HttpServletResponse;
10 import javax.sql.DataSource;
11
12 import org.apache.log4j.Logger;
13 import org.apache.struts.action.Action;
14 import org.apache.struts.action.ActionForm;
15 import org.apache.struts.action.ActionForward;
16 import org.apache.struts.action.ActionMapping;
17
18 import de.fub.tip.datenanzeige.container.SightVOContainer;
19 import de.fub.tip.datenbank.factory.NachSehenswuerdigkeitenPrueferFactory;
20 import de.fub.tip.datenbank.logik.NachSehenswuerdigkeitenPruefer;
21 import de.fub.tip.exceptions.NoSightsAvailableException;
22
23 /**
24 * Sinn: zeigt alle in der Datenbank enthaltenen Sehenswürdigkeiten an,<br>
25 * so dass es möglich ist, gezielt Koordinaten einzugeben
26 *
27 * @author hirsch, 03.03.2004
28 * @version 2004-03-21
29 * $Id: ViewAllSightsAction.java,v 1.2 2004/04/20 12:33:30 hirsch Exp $
30 *
31 * @see de.fub.tip.datenanzeige.container.SightVOContainer
32 * @see de.fub.tip.datenanzeige.ormapper.SightVO
33 * @see de.fub.tip.datenbank.logik.NachSehenswuerdigkeitenPruefer
34 */
35 public class ViewAllSightsAction extends Action {
36 /** Logger zur Fehlersuche */
37 private static Logger logger = Logger.getLogger(ViewAllSightsAction.class);
38 /** das ist die eigentliche Logik dieser Action */
39 private NachSehenswuerdigkeitenPruefer nsp = null;
40 /** die eigentlichen aus der Datenbank gelesenenden Daten */
41 private SightVOContainer containerErgebnis = null;
42 /** zum Herstellen einer Datenbankverbindung
43 * wird die Datenquelle von Struts übergeben
44 */
45 private DataSource dataSource = null;
46
47 /**
48 * sammelt die Daten der Umgebung zusammen und leitet an
49 * Anzeige weiter, wenn Daten gefunden wurden
50 *
51 * @param actionMapping ActionMapping
52 * @param actionForm zugehörige ActionForm
53 * @param request der aktuelle Request
54 * @param response ServletResponse
55 *
56 * @return ActionForward nächstes Ziel
57 */
58 public ActionForward execute(ActionMapping actionMapping,
59 ActionForm actionForm, HttpServletRequest request,
60 HttpServletResponse response ) {
61
62 try {
63 dataSource = this.getDataSource(request, "tip");
64 this.nsp = (NachSehenswuerdigkeitenPruefer)
65 NachSehenswuerdigkeitenPrueferFactory.getInstance(
66 dataSource).getLogicObject();
67
68 this.containerErgebnis = this.nsp.getAllSights();
69
70 } catch (NoSightsAvailableException e) {
71 logger.debug("ViewAllSightsAction.NoSightsAvailableException: "+e);
72 logger.debug(e.getMessage());
73
74 return actionMapping.getInputForward();
75
76 } catch (SQLException e) {
77 logger.debug("ViewAllSightsAction.SQLException: "+e);
78 logger.debug(e.getMessage());
79
80 return actionMapping.findForward("dbproblem");
81 } // end of catch
82
83 request.setAttribute("sights", this.containerErgebnis);
84 logger.debug("ViewAllSightsAction.Container " +
85 "als Parameter sights gespeichert.");
86
87 return actionMapping.findForward("success");
88 } // end of execute
89 } // end of class
|