1
2
3
4
5
6 package fr.ifremer.quadrige2.core.dao.system;
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import fr.ifremer.quadrige2.core.dao.PrincipalStore;
30 import fr.ifremer.quadrige2.core.dao.PropertySearch;
31 import fr.ifremer.quadrige2.core.dao.Search;
32 import fr.ifremer.quadrige2.core.dao.administration.user.Quser;
33 import fr.ifremer.quadrige2.core.dao.referential.ObjectType;
34 import fr.ifremer.quadrige2.core.dao.technical.hibernate.HibernateDaoSupport;
35 import java.security.Principal;
36 import java.sql.Timestamp;
37 import java.util.Collection;
38 import java.util.LinkedHashSet;
39 import java.util.List;
40 import java.util.Set;
41 import javax.annotation.Resource;
42 import org.andromda.spring.PaginationResult;
43 import org.apache.commons.collections.CollectionUtils;
44 import org.apache.commons.collections.Transformer;
45 import org.hibernate.Criteria;
46 import org.hibernate.HibernateException;
47 import org.hibernate.Query;
48 import org.hibernate.ScrollableResults;
49
50
51
52
53
54
55
56
57
58 public abstract class ValidationHistoryDaoBase
59 extends HibernateDaoSupport
60 implements ValidationHistoryDao
61 {
62
63
64
65 @Override
66 public Object get(final int transform, final Integer validHistId)
67 {
68 if (validHistId == null)
69 {
70 throw new IllegalArgumentException(
71 "ValidationHistory.get - 'validHistId' can not be null");
72 }
73 final ValidationHistory entity = get(ValidationHistoryImpl.class, validHistId);
74 return transformEntity(transform, entity);
75 }
76
77
78
79 @Override
80 public ValidationHistory get(Integer validHistId)
81 {
82 return (ValidationHistory)this.get(TRANSFORM_NONE, validHistId);
83 }
84
85
86
87
88 @Override
89 public Object load(final int transform, final Integer validHistId)
90 {
91 if (validHistId == null)
92 {
93 throw new IllegalArgumentException(
94 "ValidationHistory.load - 'validHistId' can not be null");
95 }
96 final ValidationHistory entity = get(ValidationHistoryImpl.class, validHistId);
97 return transformEntity(transform, entity);
98 }
99
100
101
102
103 @Override
104 public ValidationHistory load(Integer validHistId)
105 {
106 return (ValidationHistory)this.load(TRANSFORM_NONE, validHistId);
107 }
108
109
110
111
112 @Override
113 @SuppressWarnings({"unchecked"})
114 public Collection<ValidationHistory> loadAll()
115 {
116 return (Collection<ValidationHistory>) this.loadAll(ValidationHistoryDao.TRANSFORM_NONE);
117 }
118
119
120
121
122 @Override
123 public Collection<?> loadAll(final int transform)
124 {
125 return this.loadAll(transform, -1, -1);
126 }
127
128
129
130
131 @Override
132 public Collection<?> loadAll(final int pageNumber, final int pageSize)
133 {
134 return this.loadAll(ValidationHistoryDao.TRANSFORM_NONE, pageNumber, pageSize);
135 }
136
137
138
139
140 @Override
141 public Collection<?> loadAll(final int transform, final int pageNumber, final int pageSize)
142 {
143 try
144 {
145 final Criteria criteria = this.getSession().createCriteria(ValidationHistoryImpl.class);
146 if (pageNumber > 0 && pageSize > 0)
147 {
148 criteria.setFirstResult(this.calculateFirstResult(pageNumber, pageSize));
149 criteria.setMaxResults(pageSize);
150 }
151 final Collection<?> results = criteria.list();
152 this.transformEntities(transform, results);
153 return results;
154 }
155 catch (HibernateException ex)
156 {
157 throw ex;
158 }
159 }
160
161
162
163
164
165
166
167 protected int calculateFirstResult(int pageNumber, int pageSize)
168 {
169 int firstResult = 0;
170 if (pageNumber > 0)
171 {
172 firstResult = (pageNumber - 1) * pageSize;
173 }
174 return firstResult;
175 }
176
177
178
179
180 @Override
181 public ValidationHistory create(ValidationHistory validationHistory)
182 {
183 return (ValidationHistory)this.create(ValidationHistoryDao.TRANSFORM_NONE, validationHistory);
184 }
185
186
187
188
189 @Override
190 public Object create(final int transform, final ValidationHistory validationHistory)
191 {
192 if (validationHistory == null)
193 {
194 throw new IllegalArgumentException(
195 "ValidationHistory.create - 'validationHistory' can not be null");
196 }
197 this.getSessionFactory().getCurrentSession().save(validationHistory);
198 return this.transformEntity(transform, validationHistory);
199 }
200
201
202
203
204 @Override
205 @SuppressWarnings({"unchecked"})
206 public Collection<ValidationHistory> create(final Collection<ValidationHistory> entities)
207 {
208 return (Collection<ValidationHistory>) create(ValidationHistoryDao.TRANSFORM_NONE, entities);
209 }
210
211
212
213
214 @Override
215 public Collection<?> create(final int transform, final Collection<ValidationHistory> entities)
216 {
217 if (entities == null)
218 {
219 throw new IllegalArgumentException(
220 "ValidationHistory.create - 'entities' can not be null");
221 }
222 for (ValidationHistory entity : entities)
223 {
224 create(transform, entity);
225 }
226 return entities;
227 }
228
229
230
231
232 @Override
233 public ValidationHistory create(
234 Integer validHistElementId,
235 String validHistOperationCm,
236 String validHistPreviousCm,
237 Timestamp updateDt)
238 {
239 return (ValidationHistory)this.create(ValidationHistoryDao.TRANSFORM_NONE, validHistElementId, validHistOperationCm, validHistPreviousCm, updateDt);
240 }
241
242
243
244
245 @Override
246 public Object create(
247 final int transform,
248 Integer validHistElementId,
249 String validHistOperationCm,
250 String validHistPreviousCm,
251 Timestamp updateDt)
252 {
253 ValidationHistory entity = new ValidationHistoryImpl();
254 entity.setValidHistElementId(validHistElementId);
255 entity.setValidHistOperationCm(validHistOperationCm);
256 entity.setValidHistPreviousCm(validHistPreviousCm);
257 entity.setUpdateDt(updateDt);
258 return this.create(transform, entity);
259 }
260
261
262
263
264 @Override
265 public ValidationHistory create(
266 ObjectType objectType,
267 Quser quser,
268 Timestamp updateDt,
269 Integer validHistElementId)
270 {
271 return (ValidationHistory)this.create(ValidationHistoryDao.TRANSFORM_NONE, objectType, quser, updateDt, validHistElementId);
272 }
273
274
275
276
277 @Override
278 public Object create(
279 final int transform,
280 ObjectType objectType,
281 Quser quser,
282 Timestamp updateDt,
283 Integer validHistElementId)
284 {
285 ValidationHistory entity = new ValidationHistoryImpl();
286 entity.setObjectType(objectType);
287 entity.setQuser(quser);
288 entity.setUpdateDt(updateDt);
289 entity.setValidHistElementId(validHistElementId);
290 return this.create(transform, entity);
291 }
292
293
294
295
296 @Override
297 public void update(ValidationHistory validationHistory)
298 {
299 if (validationHistory == null)
300 {
301 throw new IllegalArgumentException(
302 "ValidationHistory.update - 'validationHistory' can not be null");
303 }
304 this.getSessionFactory().getCurrentSession().update(validationHistory);
305 }
306
307
308
309
310 @Override
311 public void update(final Collection<ValidationHistory> entities)
312 {
313 if (entities == null)
314 {
315 throw new IllegalArgumentException(
316 "ValidationHistory.update - 'entities' can not be null");
317 }
318 for (ValidationHistory entity : entities)
319 {
320 update(entity);
321 }
322 }
323
324
325
326
327 @Override
328 public void remove(ValidationHistory validationHistory)
329 {
330 if (validationHistory == null)
331 {
332 throw new IllegalArgumentException(
333 "ValidationHistory.remove - 'validationHistory' can not be null");
334 }
335 this.getSessionFactory().getCurrentSession().delete(validationHistory);
336 }
337
338
339
340
341 @Override
342 public void remove(Integer validHistId)
343 {
344 if (validHistId == null)
345 {
346 throw new IllegalArgumentException(
347 "ValidationHistory.remove - 'validHistId' can not be null");
348 }
349 ValidationHistory entity = this.get(validHistId);
350 if (entity != null)
351 {
352 this.remove(entity);
353 }
354 }
355
356
357
358
359 @Override
360 public void remove(Collection<ValidationHistory> entities)
361 {
362 if (entities == null)
363 {
364 throw new IllegalArgumentException(
365 "ValidationHistory.remove - 'entities' can not be null");
366 }
367 deleteAll(entities);
368 }
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383 public Object transformEntity(final int transform, final ValidationHistory entity)
384 {
385 Object target = null;
386 if (entity != null)
387 {
388 switch (transform)
389 {
390 case ValidationHistoryDao.TRANSFORM_NONE :
391 default:
392 target = entity;
393 }
394 }
395 return target;
396 }
397
398
399
400
401 @Override
402 public void transformEntities(final int transform, final Collection<?> entities)
403 {
404 switch (transform)
405 {
406 case ValidationHistoryDao.TRANSFORM_NONE :
407 default:
408
409 }
410 }
411
412
413
414
415 public void toEntities(final Collection<?> results)
416 {
417 if (results != null)
418 {
419 CollectionUtils.transform(results, this.ENTITYTRANSFORMER);
420 }
421 }
422
423
424
425
426
427
428 private Transformer ENTITYTRANSFORMER =
429 new Transformer()
430 {
431 public Object transform(Object input)
432 {
433 Object result = null;
434 if (input instanceof Object[])
435 {
436 result = toEntity((Object[])input);
437 }
438 else if (input instanceof ValidationHistory)
439 {
440 result = input;
441 }
442 return result;
443 }
444 };
445
446
447
448
449
450 protected ValidationHistory toEntity(Object[] row)
451 {
452 ValidationHistory target = null;
453 if (row != null)
454 {
455 final int numberOfObjects = row.length;
456 for (int ctr = 0; ctr < numberOfObjects; ctr++)
457 {
458 final Object object = row[ctr];
459 if (object instanceof ValidationHistory)
460 {
461 target = (ValidationHistory)object;
462 break;
463 }
464 }
465 }
466 return target;
467 }
468
469
470
471
472
473
474
475 protected Principal getPrincipal()
476 {
477 return PrincipalStore.get();
478 }
479
480
481
482
483 @Override
484 @SuppressWarnings({ "unchecked" })
485 public PaginationResult search(final int transform, final int pageNumber, final int pageSize, final Search search)
486 {
487 try
488 {
489 search.setPageNumber(pageNumber);
490 search.setPageSize(pageSize);
491 final PropertySearch propertySearch = new PropertySearch(
492 this.getSession(), ValidationHistoryImpl.class, search);
493 final List results = propertySearch.executeAsList();
494 this.transformEntities(transform, results);
495 return new PaginationResult(results.toArray(new Object[results.size()]), propertySearch.getTotalCount());
496 }
497 catch (HibernateException ex)
498 {
499 throw ex;
500 }
501 }
502
503
504
505
506 @Override
507 public PaginationResult search(final int pageNumber, final int pageSize, final Search search)
508 {
509 return this.search(ValidationHistoryDao.TRANSFORM_NONE, pageNumber, pageSize, search);
510 }
511
512
513
514
515 @Override
516 public Set<?> search(final int transform, final Search search)
517 {
518 try
519 {
520 final PropertySearch propertySearch = new PropertySearch(
521 this.getSession(), ValidationHistoryImpl.class, search);
522 final Set<?> results = propertySearch.executeAsSet();
523 this.transformEntities(transform, results);
524 return results;
525 }
526 catch (HibernateException ex)
527 {
528 throw ex;
529 }
530 }
531
532
533
534
535 @Override
536 @SuppressWarnings("unchecked")
537 public Set<ValidationHistory> search(final Search search)
538 {
539 return (Set<ValidationHistory>) this.search(ValidationHistoryDao.TRANSFORM_NONE, search);
540 }
541
542
543
544
545
546
547
548
549
550 @SuppressWarnings({ "unchecked" })
551 protected PaginationResult getPaginationResult(
552 final Query queryObject,
553 final int transform, int pageNumber, int pageSize)
554 {
555 try
556 {
557 final ScrollableResults scrollableResults = queryObject.scroll();
558 scrollableResults.last();
559 int totalCount = scrollableResults.getRowNumber();
560 totalCount = totalCount >= 0 ? totalCount + 1 : 0;
561 if (pageNumber > 0 && pageSize > 0)
562 {
563 queryObject.setFirstResult(this.calculateFirstResult(pageNumber, pageSize));
564 queryObject.setMaxResults(pageSize);
565 }
566
567 Set results = new LinkedHashSet(queryObject.list());
568 transformEntities(transform, results);
569 return new PaginationResult(results.toArray(new Object[results.size()]), totalCount);
570 }
571 catch (HibernateException ex)
572 {
573 throw ex;
574 }
575 }
576
577
578 }