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
32 /***
33 * Abstrakte Klasse für die OJB Kapselung der Datenbankoperationen
34 *
35 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
36 * @version Version 1.0 13.04.2004
37 */
38 public class UseCaseProjekte extends AbstractUseCase
39 {
40 /*** Konstruktor
41 *
42 * @param broker Instanz des Persistence Brokers
43 */
44 public UseCaseProjekte(PersistenceBroker broker)
45 {
46 super(broker);
47 }
48
49 /***
50 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#erzeugen(java.lang.Object)
51 */
52 public final boolean erzeugen(Object arg)
53 {
54 Projekte newProjekt = (Projekte) arg;
55 return anlegen(newProjekt);
56 }
57
58 /***
59 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#editieren(java.lang.Object)
60 */
61 public final boolean editieren(Object arg)
62 {
63 boolean retval = true;
64 Projekte editProjektTemp = (Projekte) arg;
65 Projekte editProjekt = null;
66
67 retval = beginTransaction();
68
69 editProjekt = (Projekte) sucheQBE(editProjektTemp);
70
71
72 editProjekt.setProjektname(editProjektTemp.getProjektname());
73 editProjekt.setAktuellesQuartal(editProjektTemp.getAktuellesQuartal());
74 editProjekt.setAktiv(editProjektTemp.getAktiv());
75
76 if(retval != false)
77 retval = storeAndEndTransaction(editProjekt);
78
79 return retval;
80 }
81
82 /***
83 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
84 */
85 public final boolean loeschen(Object arg)
86 {
87 boolean retval = true;
88
89 Projekte deleteProjekt = (Projekte) arg;
90
91 retval = beginTransaction();
92
93 deleteProjekt = (Projekte) sucheQBE(deleteProjekt);
94
95 if(retval != false)
96 retval = deleteAndEndTransaction(deleteProjekt);
97
98 return retval;
99 }
100
101 /***
102 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
103 */
104 public final Object sucheObjekt(Object arg)
105 {
106 Projekte suchProjekt = (Projekte) arg;
107 Object rueckgabeWert = null;
108
109 beginTransaction();
110
111 suchProjekt = (Projekte) sucheQBE(suchProjekt);
112
113 endTransaction();
114
115 rueckgabeWert = suchProjekt;
116
117 return rueckgabeWert;
118 }
119
120 /***
121 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekte(java.lang.Object)
122 */
123 public final Collection sucheObjekte(Object arg)
124 {
125 Projekte suchProjekt = (Projekte) arg;
126 Collection rueckgabeWert = null;
127 ArrayList orderBy = new ArrayList();
128
129 Criteria criteria = new Criteria();
130
131 if (suchProjekt.getProjektnummer() != null)
132 criteria.addEqualTo("Projektnummer", suchProjekt.getProjektnummer());
133 if (suchProjekt.getProjektname() != null)
134 criteria.addLike("Projektname", "%"+suchProjekt.getProjektname()+"%");
135 if (suchProjekt.getAktuellesQuartal() != null)
136 criteria.addEqualTo("AktuellesQuartal", suchProjekt.getAktuellesQuartal());
137 if (suchProjekt.getAktiv() != null)
138 criteria.addEqualTo("Aktiv", suchProjekt.getAktiv());
139
140 orderBy.add(0, new FieldHelper("Projektnummer", true));
141
142 rueckgabeWert = sucheQBC(Projekte.class, criteria, orderBy);
143
144 return rueckgabeWert;
145 }
146 }