1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.fhw.cabaweb.ojb;
21
22 import java.util.ArrayList;
23 import java.util.Collection;
24
25 import org.apache.ojb.broker.metadata.FieldHelper;
26 import org.apache.ojb.broker.query.Criteria;
27 import org.apache.ojb.broker.PersistenceBroker;
28
29 import org.fhw.cabaweb.ojb.abstracts.AbstractUseCase;
30 import org.fhw.cabaweb.ojb.dataobjects.Projekte;
31 import org.fhw.cabaweb.ojb.dataobjects.Reporterzeugung;
32 import org.fhw.cabaweb.ojb.dataobjects.Sprachen;
33
34 /***
35 * Abstrakte Klasse für die OJB Kapselung der Datenbankoperationen
36 *
37 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
38 * @version Version 1.0 17.05.2004
39 */
40 public class UseCaseReporterzeugung extends AbstractUseCase
41 {
42 /*** Konstruktor
43 *
44 * @param broker Instanz des Persistence Brokers
45 */
46 public UseCaseReporterzeugung(PersistenceBroker broker)
47 {
48 super(broker);
49 }
50
51 /***
52 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#erzeugen(java.lang.Object)
53 */
54 public final boolean erzeugen(Object arg)
55 {
56 Reporterzeugung newReporterzeugung = (Reporterzeugung) arg;
57 return anlegen(newReporterzeugung);
58 }
59
60 /***
61 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#editieren(java.lang.Object)
62 */
63 public final boolean editieren(Object arg)
64 {
65 boolean retval = true;
66 Reporterzeugung editReporterzeugungTemp = (Reporterzeugung) arg;
67 Reporterzeugung editReporterzeugung = null;
68
69 Collection liste = null;
70
71 Criteria criteria = new Criteria();
72
73 if (editReporterzeugungTemp.getReportnamen().getReportnummer() != null)
74 criteria.addEqualTo("Reportnummer", editReporterzeugungTemp.getReportnamen().getReportnummer());
75 if (((Projekte) editReporterzeugungTemp.getReportnamen().getProjekte()).getProjektnummer() != null)
76 criteria.addEqualTo("Projektnummer", (editReporterzeugungTemp.getReportnamen().getProjekte()).getProjektnummer());
77 if (editReporterzeugungTemp.getSeite() != null)
78 criteria.addEqualTo("Seite", editReporterzeugungTemp.getSeite());
79 if (editReporterzeugungTemp.getPosition() != null)
80 criteria.addEqualTo("Position", editReporterzeugungTemp.getPosition());
81 if (((Sprachen) editReporterzeugungTemp.getSprachen()).getSprachnummer() != null)
82 criteria.addEqualTo("Sprachnummer", (editReporterzeugungTemp.getSprachen()).getSprachnummer());
83
84 liste = sucheQBC(Reporterzeugung.class, criteria, null);
85 if(liste != null && liste.size() == 1)
86 editReporterzeugung = (Reporterzeugung) liste.iterator().next();
87
88
89 editReporterzeugung.setGruppierungsname(editReporterzeugungTemp.getGruppierungsname());
90 editReporterzeugung.setUntergruppierungsname(editReporterzeugungTemp.getUntergruppierungsname());
91 editReporterzeugung.setFeldname(editReporterzeugungTemp.getFeldname());
92 editReporterzeugung.setText(editReporterzeugungTemp.getText());
93
94 retval = beginTransaction();
95 if(retval != false)
96 retval = storeAndEndTransaction(editReporterzeugung);
97
98 return retval;
99 }
100
101 /***
102 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
103 */
104 public final boolean loeschen(Object arg)
105 {
106 boolean retval = true;
107
108 Reporterzeugung deleteReporterzeugung = (Reporterzeugung) arg;
109
110 Collection liste = null;
111 Reporterzeugung objekt = null;
112
113 Criteria criteria = new Criteria();
114
115 if (deleteReporterzeugung.getReportnamen().getReportnummer() != null)
116 criteria.addEqualTo("Reportnummer", deleteReporterzeugung.getReportnamen().getReportnummer());
117 if (((Projekte) deleteReporterzeugung.getReportnamen().getProjekte()).getProjektnummer() != null)
118 criteria.addEqualTo("Projektnummer", (deleteReporterzeugung.getReportnamen().getProjekte()).getProjektnummer());
119 if (deleteReporterzeugung.getSeite() != null)
120 criteria.addEqualTo("Seite", deleteReporterzeugung.getSeite());
121 if (deleteReporterzeugung.getPosition() != null)
122 criteria.addEqualTo("Position", deleteReporterzeugung.getPosition());
123 if (((Sprachen) deleteReporterzeugung.getSprachen()).getSprachnummer() != null)
124 criteria.addEqualTo("Sprachnummer", (deleteReporterzeugung.getSprachen()).getSprachnummer());
125
126 liste = sucheQBC(Reporterzeugung.class, criteria, null);
127 if(liste != null && liste.size() == 1)
128 objekt = (Reporterzeugung) liste.iterator().next();
129
130 retval = beginTransaction();
131 if(retval != false)
132 retval = deleteAndEndTransaction(objekt);
133
134 return retval;
135 }
136
137 /***
138 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
139 */
140 public final Object sucheObjekt(Object arg)
141 {
142 Reporterzeugung suchReporterzeugung = (Reporterzeugung) arg;
143 Collection liste = null;
144 Object rueckgabeWert = null;
145
146 Criteria criteria = new Criteria();
147
148 if (suchReporterzeugung.getReportnamen().getReportnummer() != null)
149 criteria.addEqualTo("Reportnummer", suchReporterzeugung.getReportnamen().getReportnummer());
150 if (((Projekte) suchReporterzeugung.getReportnamen().getProjekte()).getProjektnummer() != null)
151 criteria.addEqualTo("Projektnummer", (suchReporterzeugung.getReportnamen().getProjekte()).getProjektnummer());
152 if (suchReporterzeugung.getSeite() != null)
153 criteria.addEqualTo("Seite", suchReporterzeugung.getSeite());
154 if (suchReporterzeugung.getPosition() != null)
155 criteria.addEqualTo("Position", suchReporterzeugung.getPosition());
156 if (((Sprachen) suchReporterzeugung.getSprachen()).getSprachnummer() != null)
157 criteria.addEqualTo("Sprachnummer", (suchReporterzeugung.getSprachen()).getSprachnummer());
158
159 liste = sucheQBC(Reporterzeugung.class, criteria, null);
160 if(liste != null && liste.size() == 1)
161 rueckgabeWert = (Reporterzeugung) liste.iterator().next();
162
163 return rueckgabeWert;
164 }
165
166 /***
167 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekte(java.lang.Object)
168 */
169 public final Collection sucheObjekte(Object arg)
170 {
171 Reporterzeugung suchReporterzeugung = (Reporterzeugung) arg;
172 Collection rueckgabeWert = null;
173 ArrayList orderBy = new ArrayList();
174
175 Criteria criteria = new Criteria();
176
177 if (suchReporterzeugung.getReportnamen() != null && suchReporterzeugung.getReportnamen().getReportnummer() != null)
178 criteria.addEqualTo("Reportnummer", suchReporterzeugung.getReportnamen().getReportnummer());
179 if (suchReporterzeugung.getReportnamen() != null && suchReporterzeugung.getReportnamen().getProjekte() != null && ((Projekte) suchReporterzeugung.getReportnamen().getProjekte()).getProjektnummer() != null)
180 criteria.addEqualTo("Projektnummer", (suchReporterzeugung.getReportnamen().getProjekte()).getProjektnummer());
181 if (suchReporterzeugung.getSeite() != null)
182 criteria.addEqualTo("Seite", suchReporterzeugung.getSeite());
183 if (suchReporterzeugung.getPosition() != null)
184 criteria.addEqualTo("Position", suchReporterzeugung.getPosition());
185 if (suchReporterzeugung.getSprachen() != null && ((Sprachen) suchReporterzeugung.getSprachen()).getSprachnummer() != null)
186 criteria.addEqualTo("Sprachnummer", (suchReporterzeugung.getSprachen()).getSprachnummer());
187 if (suchReporterzeugung.getGruppierungsname() != null)
188 criteria.addLike("Gruppierungsname", "%"+suchReporterzeugung.getGruppierungsname()+"%");
189 if (suchReporterzeugung.getUntergruppierungsname() != null)
190 criteria.addLike("Untergruppierungsname", "%"+suchReporterzeugung.getUntergruppierungsname()+"%");
191 if (suchReporterzeugung.getFeldname() != null)
192 criteria.addLike("Feldname", "%"+suchReporterzeugung.getFeldname()+"%");
193 if (suchReporterzeugung.getText() != null)
194 criteria.addLike("Text", "%"+suchReporterzeugung.getText()+"%");
195
196 orderBy.add(0, new FieldHelper("Reportnummer", true));
197 orderBy.add(1, new FieldHelper("Projektnummer", true));
198 orderBy.add(2, new FieldHelper("Seite", true));
199 orderBy.add(3, new FieldHelper("Position", true));
200
201 rueckgabeWert = sucheQBC(Reporterzeugung.class, criteria, orderBy);
202
203 return rueckgabeWert;
204 }
205 }