1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.fhw.cabaweb.calculation.common;
21
22 import java.util.ArrayList;
23
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26 import org.fhw.cabaweb.data.DataInterfaceErgebnissdaten;
27 import org.fhw.cabaweb.data.dataobjects.Ergebniss;
28 import org.fhw.cabaweb.data.dataobjects.Voreinstellung;
29 import org.fhw.cabaweb.math.Common;
30
31 /***
32 * Klasse für mehrfach verwendete Methoden.
33 *
34 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
35 * @version Version 1.0 18.08.2004
36 */
37 public final class CommonCalculation
38 {
39 /*** Commons Logging Instanz */
40 private static Log log = LogFactory.getLog("org.fhw.cabaweb.calculation.CommonCalculation");
41
42
43
44 /***
45 * Standardkonstruktor der nicht zugänglich sein soll, da dies eine Utility Klasse ist
46 */
47 protected CommonCalculation()
48 {
49 throw new UnsupportedOperationException();
50 }
51
52 /***
53 * Sucht in der übergebenen ArrayList nach einem Feldnamen
54 * Gibt das Element zurück (Falls nicht gefunden null)
55 *
56 * @param liste Die Liste
57 * @param feldname Der zu suchende Feldname
58 * @return Der Inhalt
59 */
60 public static final Ergebniss SucheErgebnissFeldname(ArrayList liste, String feldname)
61 {
62 Ergebniss inhalt = null;
63
64 if (log.isDebugEnabled())
65 {
66 log.debug(" Suche Feld : " + feldname);
67 }
68
69 for (int i = 0; i < liste.size(); i++)
70 {
71 inhalt = (Ergebniss) liste.get(i);
72
73 if (inhalt != null && ((String) inhalt.getFeldname()).compareTo(feldname) == 0)
74 {
75 break;
76 }
77 else
78 {
79 inhalt = null;
80 }
81 }
82
83 if (log.isDebugEnabled() && inhalt != null)
84 {
85 log.debug(" Feld : " + inhalt.getFeldname() + "(" + inhalt.getFeldnummer() + ")" + " - Wert : " + inhalt.getStringWert());
86 }
87 else if (inhalt == null)
88 {
89 log.error(" Liste hat keinen Inhalt");
90 }
91
92 feldname = null;
93
94 if (inhalt.getObjectWert() == null)
95 {
96 if (inhalt.getTabellenname().compareTo("Ergebnissdaten_Double") == 0)
97 {
98 inhalt.setObjectWert(new Double(0.0));
99 }
100 else if (inhalt.getTabellenname().compareTo("Ergebnissdaten_Integer") == 0)
101 {
102 inhalt.setObjectWert(new Integer(0));
103 }
104 }
105
106 return inhalt;
107 }
108
109 /***
110 * Sucht in der übergebenen ArrayList nach einem Feldnamen
111 * Gibt das Element zurück (Falls nicht gefunden null)
112 *
113 * @param liste Die Liste
114 * @param feldname Der zu suchende Feldname
115 * @return Der Inhalt
116 */
117 public static final Voreinstellung SucheVoreinstellungFeldname(ArrayList liste, String feldname)
118 {
119 Voreinstellung inhalt = null;
120
121 if (log.isDebugEnabled())
122 {
123 log.debug(" Suche Feld : " + feldname);
124 }
125
126 for (int i = 0; i < liste.size(); i++)
127 {
128 inhalt = (Voreinstellung) liste.get(i);
129
130 if (inhalt != null && ((String) inhalt.getFeldname()).compareTo(feldname) == 0)
131 {
132 break;
133 }
134 else
135 {
136 inhalt = null;
137 }
138 }
139
140 if (log.isDebugEnabled())
141 {
142 log.debug(" Feld : " + inhalt.getFeldname() + "(" + inhalt.getFeldnummer() + ")" + " - Wert : " + inhalt.getWertString());
143 }
144
145 feldname = null;
146
147 return inhalt;
148 }
149
150 /***
151 * Trägt eine Voreinstellung in die Ergebnisse ein.
152 *
153 * @param wert Das Ergebnisobjekt
154 * @param gruppennummer Die Gruppennummer
155 * @param quartal Das Quartal
156 */
157 public static final void WertEintragen(Ergebniss wert, Integer gruppennummer, Integer quartal)
158 {
159 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
160 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
161
162 boolean rueckgabewert = false;
163
164 if (wert != null && wert.getFeldnummer() != null)
165 {
166 if (log.isDebugEnabled())
167 {
168 log.debug("--> W Gruppe " + gruppennummer + " Quartal " + quartal + " '" + wert.getFeldname() + "(" + wert.getFeldnummer() + ") = " + wert.getObjectWert().toString() + "'");
169 }
170
171 rueckgabewert = die.editieren(wert.getFeldnummer(), gruppennummer, quartal, wert.getObjectWert().toString());
172 }
173
174 if (rueckgabewert != true && wert != null)
175 {
176 log.error(" Fehler beim eintragen des Wertes '" + wert.getObjectWert().toString() + "' in '" + wert.getFeldname() + "'");
177 }
178 else if (rueckgabewert != true && wert == null)
179 {
180 log.error(" NULL - Fehler beim eintragen des Wertes");
181 }
182
183 wert = null;
184 }
185
186 /***
187 * Trägt eine Voreinstellung in die Ergebnisse ein.
188 *
189 * @param voreinstellung Das Voreinstellungsobjekt
190 * @param ergebnis Das Ergebnisobjekt
191 * @param gruppennummer Die Gruppennummer
192 * @param quartal Das Quartal
193 */
194 public static final void VoreinstellungWertEintragen(Voreinstellung voreinstellung, Ergebniss ergebnis, Integer gruppennummer, Integer quartal)
195 {
196 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
197 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
198
199 boolean rueckgabewert = false;
200
201 if (ergebnis != null && ergebnis.getFeldnummer() != null && voreinstellung != null && voreinstellung.getWertObject() != null)
202 {
203 if (log.isDebugEnabled())
204 {
205 log.debug(" Gruppe " + gruppennummer + " Quartal " + quartal + " '" + ergebnis.getFeldname() + "(" + ergebnis.getFeldnummer() + ") = " + voreinstellung.getWertObject().toString() + "'");
206 }
207
208 rueckgabewert = die.editieren(ergebnis.getFeldnummer(), gruppennummer, quartal, voreinstellung.getWertObject().toString());
209 }
210
211 if (rueckgabewert != true && ergebnis != null)
212 {
213 log.error(" Fehler beim eintragen des Wertes '" + voreinstellung.getWertObject().toString() + "' in '" + ergebnis.getFeldname() + "'");
214 }
215 else if (rueckgabewert != true && ergebnis == null)
216 {
217 log.error(" NULL - Fehler beim eintragen des Wertes '" + voreinstellung.getWertObject().toString() + "'");
218 }
219
220 voreinstellung = null;
221 ergebnis = null;
222 }
223
224 /***
225 * Trägt eine Voreinstellung in die Ergebnisse ein.
226 *
227 * @param voreinstellung Das Voreinstellungsobjekt
228 * @param ergebnis Das Ergebnisobjekt
229 * @param gruppennummer Die Gruppennummer
230 * @param quartal Das Quartal
231 */
232 public static final void VoreinstellungWertDurch1000Eintragen(Voreinstellung voreinstellung, Ergebniss ergebnis, Integer gruppennummer, Integer quartal)
233 {
234 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
235 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
236
237 boolean rueckgabewert = false;
238 Integer wert = new Integer(Common.aufIntegerDurchEinTausendAufrunden(new Double(((Object) voreinstellung.getWertObject()).toString()).doubleValue()));
239
240 if (ergebnis != null && ergebnis.getFeldnummer() != null && voreinstellung != null && voreinstellung.getWertObject() != null)
241 {
242 if (log.isDebugEnabled())
243 {
244 log.debug("--> V Gruppe " + gruppennummer + " Quartal " + quartal + " '" + ergebnis.getFeldname() + "(" + ergebnis.getFeldnummer() + ") = " + wert.toString() + "'");
245 }
246
247 rueckgabewert = die.editieren(ergebnis.getFeldnummer(), gruppennummer, quartal, wert.toString());
248 }
249
250 if (rueckgabewert != true && ergebnis != null)
251 {
252 log.error(" Fehler beim eintragen des Wertes '" + voreinstellung.getWertObject().toString() + "' in '" + ergebnis.getFeldname() + "'");
253 }
254 else if (rueckgabewert != true && ergebnis == null)
255 {
256 log.error(" NULL - Fehler beim eintragen des Wertes '" + voreinstellung.getWertObject().toString() + "'");
257 }
258
259 voreinstellung = null;
260 ergebnis = null;
261 }
262 }