View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   //CabaWeb
3   //Copyright (C) 2004  Thomas Vogt <Thomas.Vogt@TVC-Software.com>
4   //
5   //This library is free software; you can redistribute it and/or
6   //modify it under the terms of the GNU Lesser General Public
7   //License as published by the Free Software Foundation; either
8   //version 2.1 of the License, or (at your option) any later version.
9   //
10  //This library is distributed in the hope that it will be useful,
11  //but WITHOUT ANY WARRANTY; without even the implied warranty of
12  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  //Lesser General Public License for more details.
14  //
15  //You should have received a copy of the GNU Lesser General Public
16  //License along with this library; if not, write to the Free Software
17  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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.Ergebnissdaten_Gruppierungsbeschreibungen;
31  
32  /***
33   * Abstrakte Klasse f&uuml;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 20.05.2004
37   */
38  public class UseCaseErgebnissdatenGruppierungsbeschreibungen extends AbstractUseCase
39  {
40      /*** Konstruktor
41       * 
42       * @param broker Instanz des Persistence Brokers
43       */
44      public UseCaseErgebnissdatenGruppierungsbeschreibungen(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          Ergebnissdaten_Gruppierungsbeschreibungen newErgebnissdaten_Gruppierungsbeschreibungen = (Ergebnissdaten_Gruppierungsbeschreibungen) arg;
55          return anlegen(newErgebnissdaten_Gruppierungsbeschreibungen);
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          Ergebnissdaten_Gruppierungsbeschreibungen editErgebnissdaten_GruppierungsbeschreibungenTemp = (Ergebnissdaten_Gruppierungsbeschreibungen) arg;
65          Ergebnissdaten_Gruppierungsbeschreibungen editErgebnissdaten_Gruppierungsbeschreibungen = null;
66  
67          Collection liste =  null;
68  
69          Criteria criteria = new Criteria();
70  
71          if (editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen() != null &&
72              editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer() != null) 
73              criteria.addEqualTo("Gruppierungsnummer", editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer());
74          if (editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen() != null && 
75              editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen().getProjekte() != null && 
76              editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer() != null)
77              criteria.addEqualTo("Projektnummer", editErgebnissdaten_GruppierungsbeschreibungenTemp.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer());
78          if (editErgebnissdaten_GruppierungsbeschreibungenTemp.getSprachen() != null && 
79              editErgebnissdaten_GruppierungsbeschreibungenTemp.getSprachen().getSprachnummer() != null)
80              criteria.addEqualTo("Sprachnummer", editErgebnissdaten_GruppierungsbeschreibungenTemp.getSprachen().getSprachnummer());
81  
82          liste = sucheQBC(Ergebnissdaten_Gruppierungsbeschreibungen.class, criteria, null);
83          if(liste != null && liste.size() == 1)
84              editErgebnissdaten_Gruppierungsbeschreibungen = (Ergebnissdaten_Gruppierungsbeschreibungen) liste.iterator().next();
85  
86          // Editieren des existierenden Eintrags
87          editErgebnissdaten_Gruppierungsbeschreibungen.setKurzbeschreibung(editErgebnissdaten_GruppierungsbeschreibungenTemp.getKurzbeschreibung());
88          editErgebnissdaten_Gruppierungsbeschreibungen.setBeschreibung(editErgebnissdaten_GruppierungsbeschreibungenTemp.getBeschreibung());
89  
90          retval = beginTransaction();
91          if(retval != false)
92              retval = storeAndEndTransaction(editErgebnissdaten_Gruppierungsbeschreibungen);
93          
94          return retval;
95      }
96  
97      /***
98        * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#loeschen(java.lang.Object)
99        */
100     public final boolean loeschen(Object arg)
101     {
102         boolean retval = true;
103 
104         Ergebnissdaten_Gruppierungsbeschreibungen deleteErgebnissdaten_Gruppierungsbeschreibungen = (Ergebnissdaten_Gruppierungsbeschreibungen) arg;
105 
106         Collection liste =  null;
107         Ergebnissdaten_Gruppierungsbeschreibungen objekt =  null;
108 
109         Criteria criteria = new Criteria();
110 
111         if (deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null &&
112             deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer() != null) 
113             criteria.addEqualTo("Gruppierungsnummer", deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer());
114         if (deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null && 
115             deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte() != null && 
116             deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer() != null)
117             criteria.addEqualTo("Projektnummer", deleteErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer());
118         if (deleteErgebnissdaten_Gruppierungsbeschreibungen.getSprachen() != null && 
119             deleteErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer() != null)
120             criteria.addEqualTo("Sprachnummer", deleteErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer());
121 
122         liste = sucheQBC(Ergebnissdaten_Gruppierungsbeschreibungen.class, criteria, null);
123         if(liste != null && liste.size() == 1)
124             objekt = (Ergebnissdaten_Gruppierungsbeschreibungen) liste.iterator().next();
125 
126         retval = beginTransaction();
127         if(retval != false)
128             retval = deleteAndEndTransaction(objekt);
129         
130         return retval;
131     }
132 
133     /***
134       * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekt(java.lang.Object)
135       */
136     public final Object sucheObjekt(Object arg)
137     {
138         Ergebnissdaten_Gruppierungsbeschreibungen suchErgebnissdaten_Gruppierungsbeschreibungen = (Ergebnissdaten_Gruppierungsbeschreibungen) arg;
139         Collection liste =  null;
140         Object rueckgabeWert =  null;
141 
142         Criteria criteria = new Criteria();
143 
144         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null &&
145             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer() != null) 
146             criteria.addEqualTo("Gruppierungsnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer());
147         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null && 
148             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte() != null && 
149             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer() != null)
150             criteria.addEqualTo("Projektnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer());
151         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen() != null && 
152             suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer() != null)
153             criteria.addEqualTo("Sprachnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer());
154 
155         liste = sucheQBC(Ergebnissdaten_Gruppierungsbeschreibungen.class, criteria, null);
156         if(liste != null && liste.size() == 1)
157             rueckgabeWert = (Ergebnissdaten_Gruppierungsbeschreibungen) liste.iterator().next();
158 
159         return rueckgabeWert;
160     }
161 
162     /***
163       * @see org.fhw.cabaweb.ojb.abstracts.AbstractUseCase#sucheObjekte(java.lang.Object)
164       */
165     public final Collection sucheObjekte(Object arg)
166     {
167         Ergebnissdaten_Gruppierungsbeschreibungen suchErgebnissdaten_Gruppierungsbeschreibungen = (Ergebnissdaten_Gruppierungsbeschreibungen) arg;
168         Collection rueckgabeWert =  null;
169         ArrayList orderBy = new ArrayList();
170 
171         Criteria criteria = new Criteria();
172 
173         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null &&
174             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer() != null) 
175             criteria.addEqualTo("Gruppierungsnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getGruppierungsnummer());
176         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen() != null && 
177             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte() != null && 
178             suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer() != null)
179             criteria.addEqualTo("Projektnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getErgebnissdaten_gruppierungsnamen().getProjekte().getProjektnummer());
180         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen() != null && 
181             suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer() != null)
182             criteria.addEqualTo("Sprachnummer", suchErgebnissdaten_Gruppierungsbeschreibungen.getSprachen().getSprachnummer());
183         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getKurzbeschreibung() != null)
184             criteria.addLike("Kurzbeschreibung", "%"+suchErgebnissdaten_Gruppierungsbeschreibungen.getKurzbeschreibung()+"%");
185         if (suchErgebnissdaten_Gruppierungsbeschreibungen.getBeschreibung() != null)
186             criteria.addLike("Beschreibung", "%"+suchErgebnissdaten_Gruppierungsbeschreibungen.getBeschreibung()+"%");
187             
188         orderBy.add(0, new FieldHelper("Gruppierungsnummer", true));
189         orderBy.add(1, new FieldHelper("Projektnummer", true));
190         orderBy.add(2, new FieldHelper("Sprachnummer", true));
191 
192         rueckgabeWert = sucheQBC(Ergebnissdaten_Gruppierungsbeschreibungen.class, criteria, orderBy);
193 
194         return rueckgabeWert;
195     }
196 }