| EDossierControl.java |
1 package ch.ige.edossier.web.server;
2
3 import java.util.Collection;
4 import java.util.List;
5 import java.util.Properties;
6 import ch.ige.edossier.util.MailSender;
7 import ch.ige.edossier.util.ServerProperties;
8 import ch.ige.edossier.web.struts.EDossierFacade;
9 import ch.ige.edossier.web.vo.*;
10
11 /**
12 * B32.03 - eDossier-Interceptions - Diplomarbeit an der Software-Schule Schweiz<br>
13 * Die Klasse EDossierControl ist der Controller für die Business-Logik.
14 * <p>
15 * Copyright (c) 2004, Eidgenössisches Institut für Geistiges Eigentum
16 * @author Anita Rueegsegger, Marc Bouquet
17 * @version $Id: EDossierControl.java,v 1.26 2004/11/03 14:46:36 bouquet Exp $
18 * @see EDossierFacade
19 */
20 public class EDossierControl implements EDossierFacade
21 {
22 /**
23 * Standard-Konstruktor
24 */
25 public EDossierControl()
26 {}
27
28 /**
29 * Diese Methode überprüft den Benutzernamen und das Passwort und gibt das Account-Value-Object zurück.
30 * @param accountVO AccountVO Value-Object
31 * @throws Exception Unerwarteter Fehler
32 * @return AccountVO Value-Object
33 */
34 public AccountVO checkPassword( AccountVO accountVO ) throws Exception
35 {
36 return new AccountAssembler().checkPasswort( accountVO );
37 }
38
39 /**
40 * Diese Methode sendet dem Benutzer seine Benutzerdaten per Email.
41 * @param loginName String Benutzername zum selektieren des Datensatzes
42 * @param languageCd String Sprachcode
43 * @throws Exception Unerwarteter Fehler
44 * @return boolean true = wurde gesendet, false = wurde nicht gesendet
45 */
46 public boolean sendPassword( String loginName, String languageCd ) throws Exception
47 {
48 return sendMail( new AccountAssembler().sendPassword( loginName, languageCd ) );
49 }
50
51 /**
52 * Diese Methode gibt ein DossierOverviewVO zurück, welches in Listen Dossier-Value-Object kapselt.
53 * @param accountId int Nummer zum selektieren der Datensätze
54 * @throws Exception Unerwarteter Fehler
55 * @return DossierOverviewVO beinhaltet Dossier-Value-Objects
56 */
57 public DossierOverviewVO getDossiers( int accountId ) throws Exception
58 {
59 return new DossierAssembler().getDossiers( accountId );
60 }
61
62 /**
63 * Diese Methode gibt ein Dossier-Value-Object zurück mit allen benötigten Daten zu einem Dossier.
64 * @param dossierId int Nummer zum selektieren der Datensätze
65 * @throws Exception Unerwarteter Fehler
66 * @return DossierVO Value-Object
67 */
68 public DossierVO getDossier( int dossierId ) throws Exception
69 {
70 return new DossierAssembler().getDossier( dossierId );
71 }
72
73 /**
74 * Diese Methode gibt eine Liste von Interception-Value-Objects zurück.
75 * @param dossierId int Nummer zum selektieren der Datensätze
76 * @throws Exception Unerwarteter Fehler
77 * @return List Liste mit Interceptions-Value-Objects
78 */
79 public List getInterceptions( int dossierId ) throws Exception
80 {
81 return new InterceptionAssembler().getInterceptions( dossierId );
82 }
83
84 /**
85 * Diese Methode gibt ein Value-Object einer Beanstandung zurück.
86 * @param interceptionId int Nummer zum selektieren des Datensatzes
87 * @throws Exception Unerwarteter Fehler
88 * @return InterceptionVO Value-Object
89 */
90 public InterceptionVO getInterception( int interceptionId ) throws Exception
91 {
92 return new InterceptionAssembler().getInterception( interceptionId );
93 }
94
95 /**
96 * Diese Methode liest alle neuen Interceptions des heutigen Tages aus.
97 * @param today String Datum des heutigen Tages
98 * @throws Exception Unerwarteter Fehler
99 * @return Collection mit Newsletter-Value-Objects
100 */
101 public Collection getNewInterceptions( String today ) throws Exception
102 {
103 return new InterceptionAssembler().getNewInterceptions( today );
104 }
105
106 /**
107 * Mit dieser Methode wird der Status der Beanstandung mit dem übergebenen Wert gesetzt.
108 * @param interceptionId int Nummer zum selektieren des Datensatzes
109 * @param status int Status der in die Datenbank geschrieben wird
110 * @throws Exception Unerwarteter Fehler
111 * @return boolean true = Status wurde aktualisiert, false = Status konnte nicht aktualisiert werden
112 */
113 public boolean setState( int interceptionId, int status ) throws Exception
114 {
115 return new InterceptionAssembler().setState( interceptionId, status );
116 }
117
118 /**
119 * Diese Methode gibt ein Value-Object für die Anzeige einer Antwort zurück.
120 * @param interceptionId int Nummer zum selektieren eines Datensatzes
121 * @throws Exception Unerwarteter Fehler
122 * @return AnswerVO Value-Object
123 */
124 public AnswerVO getAnswer( int interceptionId ) throws Exception
125 {
126 return new AnswerAssembler().getAnswer( interceptionId );
127 }
128
129 /**
130 * Diese Methode speichert in der Tabelle Answer die Antwort des Benutzers.
131 * @param answerVO AnswerVO Value-Object
132 * @param languageCd String Sprachcode
133 * @throws Exception Unerwarteter Fehler
134 * @return boolean true = wurde gesendet, false = wurde nicht gesendet
135 */
136 public boolean saveAnswer( AnswerVO answerVO, String languageCd ) throws Exception
137 {
138 return sendMail( new AnswerAssembler().saveAnswer( answerVO, languageCd ) );
139 }
140
141 /**
142 * Diese Methode gibt ein Value-Object mit den Anzeige-Daten des Attachment zurück.
143 * @param answerVO AnswerVO Value-Object
144 * @throws Exception Unerwarteter Fehler
145 * @return ImageVO Value-Object
146 */
147 public ImageVO getAttachement( AnswerVO answerVO ) throws Exception
148 {
149 return new AnswerAssembler().getAttachement( answerVO );
150 }
151
152 /**
153 * Diese Methode versendet das erhaltene Mail-Value-Object per Mail an die
154 * enthaltenen Daten im Value-Object.
155 * @param mailVO MailSenderVO Value-Object
156 * @throws Exception Unerwarteter Fehler
157 * @return boolean true = wurde gesendet, false = wurde nicht gesendet
158 */
159 public boolean sendMail( MailSenderVO mailVO ) throws Exception
160 {
161 Properties properties = ServerProperties.loadServerProperties();
162
163 if( mailVO != null && properties != null )
164 {
165 // Holt anhand der übergebene Mail-Adresse via edossier.properties die benötigte Standard-Mail-Adresse.
166 String addressTo = properties.getProperty( mailVO.getAdressTo().trim() );
167 /* Gibt es keine Property, wird null in das Attribut addressTo geschieben, es handelt sich
168 * daher nicht um eine Standard-Adresse und in diesem Fall wird die übergebene Adresse eingesetzt. */
169 if( mailVO.getAdressTo() != null && addressTo == null )
170 {
171 addressTo = mailVO.getAdressTo();
172 }
173 mailVO.setAdressTo( addressTo );
174 return MailSender.sendMail( mailVO, false );
175 }
176 return false;
177 }
178 }
179 | EDossierControl.java |