1   package ch.ige.edossier.util;
2   
3   import java.util.List;
4   import org.apache.log4j.Logger;
5   import ch.ige.edossier.web.server.EDossierControl;
6   import ch.ige.edossier.web.vo.DossierOverviewVO;
7   
8   /**
9    * B32.03 - eDossier-Interceptions - Diplomarbeit an der Software-Schule Schweiz<br>
10   * KANN-ZIEL [K2] - Beanstandungen Fristen (Pflichtenheft b32.03_PF_eDossier.pdf, Seite 17)<br>
11   * KANN-ZIEL [K3] - Beanstandungen Status (Pflichtenheft b32.03_PF_eDossier.pdf, Seite 17)<br>
12   * Die Klasse RefreshState kapselt die Aufbereitung der Session-Objekte nach dem ändern
13   * des Status einer Beanstandung.
14   * <p>
15   * Copyright (c) 2004, Eidgenössisches Institut für Geistiges Eigentum
16   * @author    Anita Rueegsegger, Marc Bouquet
17   * @version   $Id: RefreshState.java,v 1.5 2004/11/03 14:46:38 bouquet Exp $
18   */
19  public class RefreshState
20  {
21    // Attribute für Log4j-Logging
22    private static final Logger LOG = Logger.getLogger( RefreshState.class );
23  
24    /**
25     * Standard-Konstruktor
26     */
27    public RefreshState()
28    {
29    }
30  
31    /**
32     * Mit dieser Methode wird der Status der Beanstandung mit dem übergebenen Wert gesetzt.
33     * @param interceptionId int Nummer zum selektieren des Datensatzes
34     * @param status int Status der in die Datenbank geschrieben wird
35     * @return boolean true = Status wurde aktualisiert, false = Status konnte nicht aktualisiert werden
36     */
37    public boolean setState( int interceptionId, int status )
38    {
39      try
40      {
41        LOG.info( "Der Status wurde auf (" + status + ") aktualisiert!" );
42        return new EDossierControl().setState( interceptionId, status );
43      }
44      catch( Exception sqlex )
45      {
46        LOG.warn( "Der Status der Interception (" + interceptionId + ") mit dem Status (" + status + ") konnte nicht aktualisiert werden: " + sqlex.getMessage() );
47        return false;
48      }
49    }
50  
51    /**
52     * Diese Methode aktualisiert die Dossiers aufgrund der Status-Änderung in der Beanstandung
53     * @param accountId int Nummer zum selektieren der Datensätze
54     * @return DossierOverviewVO Value-Object mit Dossier-Listen sortiert nach Stati
55     */
56    public DossierOverviewVO updateDossiers( int accountId )
57    {
58      try
59      {
60        LOG.info( "Die Dossiers wurden mit der Account-Id (" + accountId + ") aktualisiert!" );
61        return new EDossierControl().getDossiers( accountId );
62      }
63      catch( Exception ex )
64      {
65        LOG.warn( "Die aktualisierten Dossiers mit der Account-Id (" + accountId + ") konnten nicht geladen werden: " + ex.getMessage() );
66      }
67      return null;
68    }
69  
70    /**
71     * Diese Methode aktualisiert die Interceptions aufgrund der Status-Änderung in der Beanstandung
72     * @param dossierId int Nummer zum selektieren der Datensätze
73     * @return List Liste mit Interception-Value-Objects
74     */
75    public List updateInterceptions( int dossierId )
76    {
77      try
78      {
79        LOG.info( "Die Interceptions wurden mit der Dossier-Id (" + dossierId + ") aktualisiert!" );
80        return new EDossierControl().getInterceptions( dossierId );
81      }
82      catch( Exception ex )
83      {
84        LOG.warn( "Die aktualisierten Interceptions mit der Dossier-Id (" + dossierId + ") konnten nicht geladen werden: " + ex.getMessage() );
85      }
86      return null;
87    }
88  }
89