1
2
3
4
5
6 package fr.ifremer.quadrige2.core.dao.sandre;
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.technical.hibernate.HibernateDaoSupport;
33 import java.security.Principal;
34 import java.util.Collection;
35 import java.util.LinkedHashSet;
36 import java.util.List;
37 import java.util.Set;
38 import javax.annotation.Resource;
39 import org.andromda.spring.PaginationResult;
40 import org.apache.commons.collections.CollectionUtils;
41 import org.apache.commons.collections.Transformer;
42 import org.hibernate.Criteria;
43 import org.hibernate.HibernateException;
44 import org.hibernate.Query;
45 import org.hibernate.ScrollableResults;
46
47
48
49
50
51
52
53
54
55 public abstract class SandreBaliseEqDaoBase
56 extends HibernateDaoSupport
57 implements SandreBaliseEqDao
58 {
59
60
61
62 @Override
63 public Object get(final int transform, final Integer sandreBalEqId)
64 {
65 if (sandreBalEqId == null)
66 {
67 throw new IllegalArgumentException(
68 "SandreBaliseEq.get - 'sandreBalEqId' can not be null");
69 }
70 final SandreBaliseEq entity = get(SandreBaliseEqImpl.class, sandreBalEqId);
71 return transformEntity(transform, entity);
72 }
73
74
75
76 @Override
77 public SandreBaliseEq get(Integer sandreBalEqId)
78 {
79 return (SandreBaliseEq)this.get(TRANSFORM_NONE, sandreBalEqId);
80 }
81
82
83
84
85 @Override
86 public Object load(final int transform, final Integer sandreBalEqId)
87 {
88 if (sandreBalEqId == null)
89 {
90 throw new IllegalArgumentException(
91 "SandreBaliseEq.load - 'sandreBalEqId' can not be null");
92 }
93 final SandreBaliseEq entity = get(SandreBaliseEqImpl.class, sandreBalEqId);
94 return transformEntity(transform, entity);
95 }
96
97
98
99
100 @Override
101 public SandreBaliseEq load(Integer sandreBalEqId)
102 {
103 return (SandreBaliseEq)this.load(TRANSFORM_NONE, sandreBalEqId);
104 }
105
106
107
108
109 @Override
110 @SuppressWarnings({"unchecked"})
111 public Collection<SandreBaliseEq> loadAll()
112 {
113 return (Collection<SandreBaliseEq>) this.loadAll(SandreBaliseEqDao.TRANSFORM_NONE);
114 }
115
116
117
118
119 @Override
120 public Collection<?> loadAll(final int transform)
121 {
122 return this.loadAll(transform, -1, -1);
123 }
124
125
126
127
128 @Override
129 public Collection<?> loadAll(final int pageNumber, final int pageSize)
130 {
131 return this.loadAll(SandreBaliseEqDao.TRANSFORM_NONE, pageNumber, pageSize);
132 }
133
134
135
136
137 @Override
138 public Collection<?> loadAll(final int transform, final int pageNumber, final int pageSize)
139 {
140 try
141 {
142 final Criteria criteria = this.getSession().createCriteria(SandreBaliseEqImpl.class);
143 if (pageNumber > 0 && pageSize > 0)
144 {
145 criteria.setFirstResult(this.calculateFirstResult(pageNumber, pageSize));
146 criteria.setMaxResults(pageSize);
147 }
148 final Collection<?> results = criteria.list();
149 this.transformEntities(transform, results);
150 return results;
151 }
152 catch (HibernateException ex)
153 {
154 throw ex;
155 }
156 }
157
158
159
160
161
162
163
164 protected int calculateFirstResult(int pageNumber, int pageSize)
165 {
166 int firstResult = 0;
167 if (pageNumber > 0)
168 {
169 firstResult = (pageNumber - 1) * pageSize;
170 }
171 return firstResult;
172 }
173
174
175
176
177 @Override
178 public SandreBaliseEq create(SandreBaliseEq sandreBaliseEq)
179 {
180 return (SandreBaliseEq)this.create(SandreBaliseEqDao.TRANSFORM_NONE, sandreBaliseEq);
181 }
182
183
184
185
186 @Override
187 public Object create(final int transform, final SandreBaliseEq sandreBaliseEq)
188 {
189 if (sandreBaliseEq == null)
190 {
191 throw new IllegalArgumentException(
192 "SandreBaliseEq.create - 'sandreBaliseEq' can not be null");
193 }
194 this.getSessionFactory().getCurrentSession().save(sandreBaliseEq);
195 return this.transformEntity(transform, sandreBaliseEq);
196 }
197
198
199
200
201 @Override
202 @SuppressWarnings({"unchecked"})
203 public Collection<SandreBaliseEq> create(final Collection<SandreBaliseEq> entities)
204 {
205 return (Collection<SandreBaliseEq>) create(SandreBaliseEqDao.TRANSFORM_NONE, entities);
206 }
207
208
209
210
211 @Override
212 public Collection<?> create(final int transform, final Collection<SandreBaliseEq> entities)
213 {
214 if (entities == null)
215 {
216 throw new IllegalArgumentException(
217 "SandreBaliseEq.create - 'entities' can not be null");
218 }
219 for (SandreBaliseEq entity : entities)
220 {
221 create(transform, entity);
222 }
223 return entities;
224 }
225
226
227
228
229 @Override
230 public SandreBaliseEq create(
231 String sandreBalEqTableImportNm,
232 String sandreBalEqAttrImportNm,
233 String sandreBalEqTableMandatory,
234 String sandreBalEqTableCd,
235 String sandreBalEqTableExportNm,
236 String sandreBalEqAttrExportNm)
237 {
238 return (SandreBaliseEq)this.create(SandreBaliseEqDao.TRANSFORM_NONE, sandreBalEqTableImportNm, sandreBalEqAttrImportNm, sandreBalEqTableMandatory, sandreBalEqTableCd, sandreBalEqTableExportNm, sandreBalEqAttrExportNm);
239 }
240
241
242
243
244 @Override
245 public Object create(
246 final int transform,
247 String sandreBalEqTableImportNm,
248 String sandreBalEqAttrImportNm,
249 String sandreBalEqTableMandatory,
250 String sandreBalEqTableCd,
251 String sandreBalEqTableExportNm,
252 String sandreBalEqAttrExportNm)
253 {
254 SandreBaliseEq entity = new SandreBaliseEqImpl();
255 entity.setSandreBalEqTableImportNm(sandreBalEqTableImportNm);
256 entity.setSandreBalEqAttrImportNm(sandreBalEqAttrImportNm);
257 entity.setSandreBalEqTableMandatory(sandreBalEqTableMandatory);
258 entity.setSandreBalEqTableCd(sandreBalEqTableCd);
259 entity.setSandreBalEqTableExportNm(sandreBalEqTableExportNm);
260 entity.setSandreBalEqAttrExportNm(sandreBalEqAttrExportNm);
261 return this.create(transform, entity);
262 }
263
264
265
266
267 @Override
268 public SandreBaliseEq create(
269 String sandreBalEqTableCd,
270 String sandreBalEqTableMandatory,
271 SandreXmlBalise sandreXmlUpperBalId)
272 {
273 return (SandreBaliseEq)this.create(SandreBaliseEqDao.TRANSFORM_NONE, sandreBalEqTableCd, sandreBalEqTableMandatory, sandreXmlUpperBalId);
274 }
275
276
277
278
279 @Override
280 public Object create(
281 final int transform,
282 String sandreBalEqTableCd,
283 String sandreBalEqTableMandatory,
284 SandreXmlBalise sandreXmlUpperBalId)
285 {
286 SandreBaliseEq entity = new SandreBaliseEqImpl();
287 entity.setSandreBalEqTableCd(sandreBalEqTableCd);
288 entity.setSandreBalEqTableMandatory(sandreBalEqTableMandatory);
289 entity.setSandreXmlUpperBalId(sandreXmlUpperBalId);
290 return this.create(transform, entity);
291 }
292
293
294
295
296 @Override
297 public void update(SandreBaliseEq sandreBaliseEq)
298 {
299 if (sandreBaliseEq == null)
300 {
301 throw new IllegalArgumentException(
302 "SandreBaliseEq.update - 'sandreBaliseEq' can not be null");
303 }
304 this.getSessionFactory().getCurrentSession().update(sandreBaliseEq);
305 }
306
307
308
309
310 @Override
311 public void update(final Collection<SandreBaliseEq> entities)
312 {
313 if (entities == null)
314 {
315 throw new IllegalArgumentException(
316 "SandreBaliseEq.update - 'entities' can not be null");
317 }
318 for (SandreBaliseEq entity : entities)
319 {
320 update(entity);
321 }
322 }
323
324
325
326
327 @Override
328 public void remove(SandreBaliseEq sandreBaliseEq)
329 {
330 if (sandreBaliseEq == null)
331 {
332 throw new IllegalArgumentException(
333 "SandreBaliseEq.remove - 'sandreBaliseEq' can not be null");
334 }
335 this.getSessionFactory().getCurrentSession().delete(sandreBaliseEq);
336 }
337
338
339
340
341 @Override
342 public void remove(Integer sandreBalEqId)
343 {
344 if (sandreBalEqId == null)
345 {
346 throw new IllegalArgumentException(
347 "SandreBaliseEq.remove - 'sandreBalEqId' can not be null");
348 }
349 SandreBaliseEq entity = this.get(sandreBalEqId);
350 if (entity != null)
351 {
352 this.remove(entity);
353 }
354 }
355
356
357
358
359 @Override
360 public void remove(Collection<SandreBaliseEq> entities)
361 {
362 if (entities == null)
363 {
364 throw new IllegalArgumentException(
365 "SandreBaliseEq.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 SandreBaliseEq entity)
384 {
385 Object target = null;
386 if (entity != null)
387 {
388 switch (transform)
389 {
390 case SandreBaliseEqDao.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 SandreBaliseEqDao.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 SandreBaliseEq)
439 {
440 result = input;
441 }
442 return result;
443 }
444 };
445
446
447
448
449
450 protected SandreBaliseEq toEntity(Object[] row)
451 {
452 SandreBaliseEq 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 SandreBaliseEq)
460 {
461 target = (SandreBaliseEq)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(), SandreBaliseEqImpl.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(SandreBaliseEqDao.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(), SandreBaliseEqImpl.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<SandreBaliseEq> search(final Search search)
538 {
539 return (Set<SandreBaliseEq>) this.search(SandreBaliseEqDao.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 }