1   package ch.ige.edossier.web.struts;
2   
3   import javax.servlet.http.HttpServletRequest;
4   import javax.servlet.http.HttpServletResponse;
5   import org.apache.log4j.Logger;
6   import org.apache.struts.action.*;
7   import ch.ige.edossier.web.server.EDossierControl;
8   
9   /**
10   * B32.03 - eDossier-Interceptions - Diplomarbeit an der Software-Schule Schweiz<br>
11   * KANN-ZIEL [K5] - Passwort vergessen (Pflichtenheft b32.03_PF_eDossier.pdf, Seite 17)<br>
12   * Die Klasse PasswordAction verarbeitet die Daten der PasswordForm.
13   * <p>
14   * Copyright (c) 2004, Eidgenössisches Institut für Geistiges Eigentum
15   * @author    Anita Rueegsegger, Marc Bouquet
16   * @version   $Id: PasswordAction.java,v 1.6 2004/10/22 01:58:23 bouquet Exp $
17   */
18  public class PasswordAction extends Action
19  {
20    // Attribute für Log4j-Logging
21    private static final Logger LOG = Logger.getLogger( PasswordAction.class );
22  
23    /**
24     * Die Methode execute wird aufgerufen, wenn auf der JavaServerPage der Link "Haben Sie ihr Kennwort vergessen?" gedrückt wird.
25     * Durch die Methode wird der Benutzername und das Passwort an den Benutzer gesendet.
26     * @param actionMapping ActionMapping
27     * @param actionForm ActionForm
28     * @param httpServletRequest HttpServletRequest
29     * @param httpServletResponse HttpServletResponse
30     * @return ActionForward
31     */
32    public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse )
33    {
34      ActionErrors errors = new ActionErrors();
35      PasswordForm pwdForm = ( PasswordForm )actionForm;
36      EDossierFacade eFacade = new EDossierControl();
37  
38      try
39      {
40        if( eFacade.sendPassword( pwdForm.getTxfEmail(), getLocale( httpServletRequest ).getLanguage() ) )
41        {
42          errors.add( "password", new ActionError( "text.password.send" ) );
43          saveErrors( httpServletRequest, errors );
44          return( actionMapping.findForward( "self" ) );
45        }
46        else
47        {
48          errors.add( "password", new ActionError( "error.password.account" ) );
49          saveErrors( httpServletRequest, errors );
50          return( actionMapping.findForward( "self" ) );
51        }
52      }
53      catch( Exception ex )
54      {
55        LOG.error( "Fehler: " + ex.getMessage() );
56        errors.add( "password", new ActionError( "error.password.send", ex.getMessage() ) );
57        saveErrors( httpServletRequest, errors );
58        return( new ActionForward( actionMapping.getInput() ) );
59      }
60    }
61  }
62