ViewAllSightsAction.java
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