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.Berechnungsauftraege;
31 import org.fhw.cabaweb.ojb.dataobjects.Projekte;
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 03.05.2004
38 */
39 public class UseCaseBerechnungsauftraege extends AbstractUseCase
40 {
41 /*** Konstruktor
42 *
43 * @param broker Instanz des Persistence Brokers
44 */
45 public UseCaseBerechnungsauftraege(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 Berechnungsauftraege newBerechnungsauftraege = (Berechnungsauftraege) arg;
56 return anlegen(newBerechnungsauftraege);
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
66 Berechnungsauftraege editBerechnungsauftraegeTemp = (Berechnungsauftraege) arg;
67 Berechnungsauftraege editBerechnungsauftraege = null;
68
69 Collection liste = null;
70
71 Criteria criteria = new Criteria();
72
73 if (((Projekte) editBerechnungsauftraegeTemp.getProjekte()).getProjektnummer() != null)
74 criteria.addEqualTo("Projektnummer", (editBerechnungsauftraegeTemp.getProjekte()).getProjektnummer());
75
76 liste = sucheQBC(Berechnungsauftraege.class, criteria, null);
77 if(liste != null && liste.size() == 1)
78 editBerechnungsauftraege = (Berechnungsauftraege) liste.iterator().next();
79
80
81 editBerechnungsauftraege.setDatum(editBerechnungsauftraegeTemp.getDatum());
82 editBerechnungsauftraege.setUhrzeit(editBerechnungsauftraegeTemp.getUhrzeit());
83 editBerechnungsauftraege.setArtDerBerechnung(editBerechnungsauftraegeTemp.getArtDerBerechnung());
84 editBerechnungsauftraege.setWiederholung(editBerechnungsauftraegeTemp.getWiederholung());
85
86 retval = beginTransaction();
87
88 if(retval != false)
89 retval = storeAndEndTransaction(editBerechnungsauftraege);
90
91 return retval;
92 }
93
94 /***
95 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
96 */
97 public final boolean loeschen(Object arg)
98 {
99 boolean retval = true;
100
101 Berechnungsauftraege deleteBerechnungsauftraege = (Berechnungsauftraege) arg;
102
103 Collection liste = null;
104 Berechnungsauftraege objekt = null;
105
106 Criteria criteria = new Criteria();
107
108 if (((Projekte) deleteBerechnungsauftraege.getProjekte()).getProjektnummer() != null)
109 criteria.addEqualTo("Projektnummer", (deleteBerechnungsauftraege.getProjekte()).getProjektnummer());
110
111 liste = sucheQBC(Berechnungsauftraege.class, criteria, null);
112 if(liste != null && liste.size() == 1)
113 objekt = (Berechnungsauftraege) liste.iterator().next();
114
115 retval = beginTransaction();
116 if(retval != false)
117 retval = deleteAndEndTransaction(objekt);
118
119 return retval;
120 }
121
122 /***
123 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
124 */
125 public final Object sucheObjekt(Object arg)
126 {
127 Berechnungsauftraege suchBerechnungsauftraege = (Berechnungsauftraege) arg;
128 Collection liste = null;
129 Object rueckgabeWert = null;
130
131 Criteria criteria = new Criteria();
132
133 if (((Projekte) suchBerechnungsauftraege.getProjekte()).getProjektnummer() != null)
134 criteria.addEqualTo("Projektnummer", (suchBerechnungsauftraege.getProjekte()).getProjektnummer());
135
136 liste = sucheQBC(Berechnungsauftraege.class, criteria, null);
137
138 if(liste != null && liste.size() == 1)
139 {
140 rueckgabeWert = (Berechnungsauftraege) liste.iterator().next();
141 }
142
143 return rueckgabeWert;
144 }
145
146 /***
147 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekte(java.lang.Object)
148 */
149 public final Collection sucheObjekte(Object arg)
150 {
151 Berechnungsauftraege suchBerechnungsauftraege = (Berechnungsauftraege) arg;
152 Collection rueckgabeWert = null;
153 ArrayList orderBy = new ArrayList();
154
155 Criteria criteria = new Criteria();
156
157 if (suchBerechnungsauftraege.getProjekte() != null && ((Projekte) suchBerechnungsauftraege.getProjekte()).getProjektnummer() != null)
158 criteria.addEqualTo("Projektnummer", (suchBerechnungsauftraege.getProjekte()).getProjektnummer());
159 if (suchBerechnungsauftraege.getDatum() != null)
160 criteria.addLessOrEqualThan("Datum", suchBerechnungsauftraege.getDatum());
161 if (suchBerechnungsauftraege.getUhrzeit() != null)
162 criteria.addLessOrEqualThan("Uhrzeit", suchBerechnungsauftraege.getUhrzeit());
163 if (suchBerechnungsauftraege.getArtDerBerechnung() != null)
164 criteria.addEqualTo("ArtDerBerechnung", suchBerechnungsauftraege.getArtDerBerechnung());
165 if (suchBerechnungsauftraege.getWiederholung() != null)
166 criteria.addEqualTo("Wiederholung", suchBerechnungsauftraege.getWiederholung());
167
168 orderBy.add(0, new FieldHelper("Projektnummer", true));
169
170 rueckgabeWert = sucheQBC(Berechnungsauftraege.class, criteria, orderBy);
171
172 return rueckgabeWert;
173 }
174 }