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.Projektgruppen;
32
33 /***
34 * Abstrakte Klasse für die OJB Kapselung der Datenbankoperationen
35 *
36 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37 * @version Version 1.0 16.05.2004
38 */
39 public class UseCaseProjektgruppen extends AbstractUseCase
40 {
41 /*** Konstruktor
42 *
43 * @param broker Instanz des Persistence Brokers
44 */
45 public UseCaseProjektgruppen(PersistenceBroker broker)
46 {
47 super(broker);
48 }
49
50 /***
51 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#erzeugen(java.lang.Object)
52 */
53 public final boolean erzeugen(Object arg)
54 {
55 Projektgruppen newProjektgruppen = (Projektgruppen) arg;
56 return anlegen(newProjektgruppen);
57 }
58
59 /***
60 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#editieren(java.lang.Object)
61 */
62 public final boolean editieren(Object arg)
63 {
64 boolean retval = true;
65 Projektgruppen editProjektgruppenTemp = (Projektgruppen) arg;
66 Projektgruppen editProjektgruppen = null;
67
68 Collection liste = null;
69
70 Criteria criteria = new Criteria();
71
72 if (editProjektgruppenTemp.getGruppennummer() != null)
73 criteria.addEqualTo("Gruppennummer", editProjektgruppenTemp.getGruppennummer());
74 if (editProjektgruppenTemp.getProjekte() != null && ((Projekte) editProjektgruppenTemp.getProjekte()).getProjektnummer() != null)
75 criteria.addEqualTo("Projektnummer", (editProjektgruppenTemp.getProjekte()).getProjektnummer());
76
77 liste = sucheQBC(Projektgruppen.class, criteria, null);
78
79 if (log.isDebugEnabled())
80 {
81 log.debug(" Found " + liste.size() + " Datasets");
82 }
83
84 if(liste != null && liste.size() == 1)
85 editProjektgruppen = (Projektgruppen) liste.iterator().next();
86
87
88 editProjektgruppen.setGruppenname(editProjektgruppenTemp.getGruppenname());
89 editProjektgruppen.setAktiv(editProjektgruppenTemp.getAktiv());
90
91 retval = beginTransaction();
92 if(retval != false)
93 retval = storeAndEndTransaction(editProjektgruppen);
94
95 return retval;
96 }
97
98 /***
99 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
100 */
101 public final boolean loeschen(Object arg)
102 {
103 boolean retval = true;
104
105 Projektgruppen deleteProjektgruppen = (Projektgruppen) arg;
106
107 Collection liste = null;
108 Projektgruppen objekt = null;
109
110 Criteria criteria = new Criteria();
111
112 if (deleteProjektgruppen.getGruppennummer() != null)
113 criteria.addEqualTo("Gruppennummer", deleteProjektgruppen.getGruppennummer());
114 if (((Projekte) deleteProjektgruppen.getProjekte()).getProjektnummer() != null)
115 criteria.addEqualTo("Projektnummer", (deleteProjektgruppen.getProjekte()).getProjektnummer());
116
117 liste = sucheQBC(Projektgruppen.class, criteria, null);
118
119 if (log.isDebugEnabled())
120 {
121 log.debug(" Found " + liste.size() + " Datasets");
122 }
123
124 if(liste != null && liste.size() == 1)
125 objekt = (Projektgruppen) liste.iterator().next();
126
127 retval = beginTransaction();
128 if(retval != false)
129 retval = deleteAndEndTransaction(objekt);
130
131 return retval;
132 }
133
134 /***
135 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
136 */
137 public final Object sucheObjekt(Object arg)
138 {
139 Projektgruppen suchProjektgruppen = (Projektgruppen) arg;
140 Collection liste = null;
141 Object rueckgabeWert = null;
142
143 Criteria criteria = new Criteria();
144
145 if (suchProjektgruppen.getGruppennummer() != null)
146 criteria.addEqualTo("Gruppennummer", suchProjektgruppen.getGruppennummer());
147 if (suchProjektgruppen.getProjekte() != null && ((Projekte) suchProjektgruppen.getProjekte()).getProjektnummer() != null)
148 criteria.addEqualTo("Projektnummer", (suchProjektgruppen.getProjekte()).getProjektnummer());
149
150 liste = sucheQBC(Projektgruppen.class, criteria, null);
151
152 if(liste != null && liste.size() == 1)
153 rueckgabeWert = (Projektgruppen) liste.iterator().next();
154
155 if (log.isDebugEnabled())
156 {
157 log.debug(" Found " + liste.size() + " Datasets -> Return " + rueckgabeWert);
158 }
159
160 return rueckgabeWert;
161 }
162
163 /***
164 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekte(java.lang.Object)
165 */
166 public final Collection sucheObjekte(Object arg)
167 {
168 Projektgruppen suchProjektgruppen = (Projektgruppen) arg;
169 Collection rueckgabeWert = null;
170 ArrayList orderBy = new ArrayList();
171
172 Criteria criteria = new Criteria();
173
174 if (suchProjektgruppen.getGruppennummer() != null)
175 criteria.addEqualTo("Gruppennummer", suchProjektgruppen.getGruppennummer());
176 if (suchProjektgruppen.getProjekte() != null && ((Projekte) suchProjektgruppen.getProjekte()).getProjektnummer() != null)
177 criteria.addEqualTo("Projektnummer", (suchProjektgruppen.getProjekte()).getProjektnummer());
178 if (suchProjektgruppen.getGruppenname() != null)
179 criteria.addLike("Gruppenname", "%"+suchProjektgruppen.getGruppenname()+"%");
180 if (suchProjektgruppen.getPasswort() != null)
181 criteria.addEqualTo("Passwort", suchProjektgruppen.getPasswort());
182 if (suchProjektgruppen.getAktiv() != null)
183 criteria.addEqualTo("Aktiv", suchProjektgruppen.getAktiv());
184
185 orderBy.add(0, new FieldHelper("Projektnummer", true));
186 orderBy.add(1, new FieldHelper("Gruppennummer", true));
187
188 rueckgabeWert = sucheQBC(Projektgruppen.class, criteria, orderBy);
189
190 if (log.isDebugEnabled())
191 {
192 log.debug(" Found " + rueckgabeWert.size() + " Objects.");
193 }
194
195 return rueckgabeWert;
196 }
197 }