UebernimmSightGruppenProfilAction.java
001 /*
002  * Created on 28.04.2004
003  */
004 package de.fub.tip.actions;
005 
006 import java.sql.SQLException;
007 
008 import javax.servlet.http.HttpServletRequest;
009 import javax.servlet.http.HttpServletResponse;
010 import javax.sql.DataSource;
011 
012 import org.apache.log4j.Logger;
013 import org.apache.struts.action.Action;
014 import org.apache.struts.action.ActionForm;
015 import org.apache.struts.action.ActionForward;
016 import org.apache.struts.action.ActionMapping;
017 import org.apache.struts.action.ActionMessage;
018 import org.apache.struts.action.ActionMessages;
019 
020 import de.fub.tip.actionforms.ChangeProfilActionForm;
021 import de.fub.tip.datenanzeige.ormapper.UserdataVO;
022 import de.fub.tip.datenbank.factory.SightGruppenBearbeiterFactory;
023 import de.fub.tip.datenbank.logik.SightGruppenBearbeiter;
024 import de.fub.tip.exceptions.NoDataFoundException;
025 import de.fub.tip.exceptions.NoUserLoggedInException;
026 
027 /**
028  * Sinn: Diese Aktion führt etwaige Änderungen am 
029  * Sehenswürdigkeitsgruppenprofil eines Benutzers durch,
030  * speichert das neue Profil in der Datenbank ab und informiert über 
031  * Erfolg/Misserfolg der Aktion.
032  
033  @author hirsch, 28.04.2004
034  @version 2004-04-29
035  
036  * $Id: UebernimmSightGruppenProfilAction.java,v 1.6 2004/05/01 15:31:25 hirsch Exp $
037  */
038 public class UebernimmSightGruppenProfilAction extends Action {
039     /** Logger zur Fehlersuche */
040   private static Logger logger = 
041       Logger.getLogger(UebernimmSightGruppenProfilAction.class);
042 
043   /**
044    * ändert das Sehenswürdigkeitsgruppenprofil eines Benutzers
045    *
046    @param actionMapping ActionMapping
047    @param actionForm zugehörige ActionForm
048    @param request der aktuelle Request
049    @param response ServletResponse
050    *
051    @return ActionForward nächstes Ziel
052    */
053   public ActionForward execute(ActionMapping actionMapping,
054       ActionForm actionForm, HttpServletRequest request,
055       HttpServletResponse response ) { 
056 
057     logger.info("UebernimmSightGruppenProfilAction.execute() called.");
058     
059     DataSource dataSource = null;
060     ChangeProfilActionForm form = null;
061     ActionMessages messages = new ActionMessages();
062     ActionMessage message = null;
063 
064     try {
065             dataSource = this.getDataSource(request, "tip")
066             SightGruppenBearbeiter logik = (SightGruppenBearbeiter)
067               SightGruppenBearbeiterFactory.getInstance(dataSource).
068               getLogicObject();  
069 
070             form = (ChangeProfilActionFormactionForm;
071             
072             // Attribute aus der Session holen
073             UserdataVO user = (UserdataVOrequest.getSession().
074               getAttribute("user");
075             
076              logik.setSightGroupProfileForUser(user, form.getSelnames());
077               
078         catch (SQLException e) {
079         logger.debug("UebernimmSightGruppenProfilAction.SQLException " 
080                 e + ", " + e.getLocalizedMessage());
081 
082         return actionMapping.findForward("dbproblem");
083 
084         catch (NoUserLoggedInException e) {
085         logger.debug("UebernimmSightGruppenProfilAction." +
086             "NoUserLoggedIn "+ e + ", " + e.getLocalizedMessage());
087 
088         return actionMapping.findForward("loginproblem");
089         
090       catch (NoDataFoundException e) {
091       logger.debug("UebernimmSightGruppenProfilAction." +
092           "nichts gefunden  "+ e + ", " + e.getLocalizedMessage());
093 
094         message = new ActionMessage("changeprofil.sgroup.failure");
095       messages.addActionMessages.GLOBAL_MESSAGE, message );
096       
097       saveMessagesrequest, messages );
098 
099       return actionMapping.findForward("success");
100       
101       // end of catch    
102     
103       // ActionMessage für Erfolgsfall schreiben
104     message =new ActionMessage("changeprofil.sgroup.meta");
105     messages.addActionMessages.GLOBAL_MESSAGE, message );
106 
107     if (form.getSelnames() != null) {
108         message = new ActionMessage("changeprofil.sgroup.success"
109             ""+form.getSelnames().length)
110     else {
111       message = new ActionMessage("changeprofil.sgroup.empty")
112     // end if
113     messages.addActionMessages.GLOBAL_MESSAGE, message );
114     
115     saveMessagesrequest, messages );
116         return actionMapping.findForward("success");
117   // end of execute
118 // end of class