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.Projektbeschreibungen;
31 import org.fhw.cabaweb.ojb.dataobjects.Projekte;
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 13.04.2004
39 */
40 public class UseCaseProjektbeschreibungen extends AbstractUseCase
41 {
42 /*** Konstruktor
43 *
44 * @param broker Instanz des Persistence Brokers
45 */
46 public UseCaseProjektbeschreibungen(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 Projektbeschreibungen newProjektbeschreibungen = (Projektbeschreibungen) arg;
57 return anlegen(newProjektbeschreibungen);
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 Projektbeschreibungen editProjektbeschreibungenTemp = (Projektbeschreibungen) arg;
67 Projektbeschreibungen editProjektbeschreibungen = null;
68
69 Collection liste = null;
70
71 Criteria criteria = new Criteria();
72
73 if (((Projekte) editProjektbeschreibungenTemp.getProjekte()).getProjektnummer() != null)
74 criteria.addEqualTo("Projektnummer", (editProjektbeschreibungenTemp.getProjekte()).getProjektnummer());
75 if (((Sprachen) editProjektbeschreibungenTemp.getSprachen()).getSprachnummer() != null)
76 criteria.addEqualTo("Sprachnummer", (editProjektbeschreibungenTemp.getSprachen()).getSprachnummer());
77
78 liste = sucheQBC(Projektbeschreibungen.class, criteria, null);
79 if(liste != null && liste.size() == 1)
80 editProjektbeschreibungen = (Projektbeschreibungen) liste.iterator().next();
81
82
83 editProjektbeschreibungen.setKurzbeschreibung(editProjektbeschreibungenTemp.getKurzbeschreibung());
84 editProjektbeschreibungen.setBeschreibung(editProjektbeschreibungenTemp.getBeschreibung());
85
86 retval = beginTransaction();
87 if(retval != false)
88 retval = storeAndEndTransaction(editProjektbeschreibungen);
89
90 return retval;
91 }
92
93 /***
94 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
95 */
96 public final boolean loeschen(Object arg)
97 {
98 boolean retval = true;
99
100 Projektbeschreibungen deleteProjektbeschreibungen = (Projektbeschreibungen) arg;
101
102 Collection liste = null;
103 Projektbeschreibungen objekt = null;
104
105 Criteria criteria = new Criteria();
106
107 if (((Projekte) deleteProjektbeschreibungen.getProjekte()).getProjektnummer() != null)
108 criteria.addEqualTo("Projektnummer", (deleteProjektbeschreibungen.getProjekte()).getProjektnummer());
109 if (((Sprachen) deleteProjektbeschreibungen.getSprachen()).getSprachnummer() != null)
110 criteria.addEqualTo("Sprachnummer", (deleteProjektbeschreibungen.getSprachen()).getSprachnummer());
111
112 liste = sucheQBC(Projektbeschreibungen.class, criteria, null);
113 if(liste != null && liste.size() == 1)
114 objekt = (Projektbeschreibungen) liste.iterator().next();
115
116 retval = beginTransaction();
117 if(retval != false)
118 retval = deleteAndEndTransaction(objekt);
119
120 return retval;
121 }
122
123 /***
124 * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
125 */
126 public final Object sucheObjekt(Object arg)
127 {
128 Projektbeschreibungen suchProjektbeschreibungen = (Projektbeschreibungen) arg;
129 Collection liste = null;
130 Object rueckgabeWert = null;
131
132 Criteria criteria = new Criteria();
133
134 if (((Projekte) suchProjektbeschreibungen.getProjekte()).getProjektnummer() != null)
135 criteria.addEqualTo("Projektnummer", (suchProjektbeschreibungen.getProjekte()).getProjektnummer());
136 if (((Sprachen) suchProjektbeschreibungen.getSprachen()).getSprachnummer() != null)
137 criteria.addEqualTo("Sprachnummer", (suchProjektbeschreibungen.getSprachen()).getSprachnummer());
138
139 liste = sucheQBC(Projektbeschreibungen.class, criteria, null);
140 if(liste != null && liste.size() == 1)
141 rueckgabeWert = (Projektbeschreibungen) liste.iterator().next();
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 Projektbeschreibungen suchProjektbeschreibungen = (Projektbeschreibungen) arg;
152 Collection rueckgabeWert = null;
153 ArrayList orderBy = new ArrayList();
154
155 Criteria criteria = new Criteria();
156
157 if (suchProjektbeschreibungen.getProjekte() != null && ((Projekte) suchProjektbeschreibungen.getProjekte()).getProjektnummer() != null)
158 criteria.addEqualTo("Projektnummer", (suchProjektbeschreibungen.getProjekte()).getProjektnummer());
159 if (suchProjektbeschreibungen.getSprachen() != null && ((Sprachen) suchProjektbeschreibungen.getSprachen()).getSprachnummer() != null)
160 criteria.addEqualTo("Sprachnummer", (suchProjektbeschreibungen.getSprachen()).getSprachnummer());
161 if (suchProjektbeschreibungen.getKurzbeschreibung() != null)
162 criteria.addLike("Kurzbeschreibung", "%"+suchProjektbeschreibungen.getKurzbeschreibung()+"%");
163 if (suchProjektbeschreibungen.getBeschreibung() != null)
164 criteria.addLike("Beschreibung", "%"+suchProjektbeschreibungen.getBeschreibung()+"%");
165
166 orderBy.add(0, new FieldHelper("Projektnummer", true));
167 orderBy.add(1, new FieldHelper("Sprachnummer", true));
168
169 rueckgabeWert = sucheQBC(Projektbeschreibungen.class, criteria, orderBy);
170
171 return rueckgabeWert;
172 }
173 }