Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/importer/ImportBedHeightType.java @ 8974:a275ddf7a3a1
Added some trim and lowercase in the where clauses of the selects of existing recordsets; added AnnotationType select
author | mschaefer |
---|---|
date | Tue, 03 Apr 2018 10:37:30 +0200 |
parents | 5e38e2924c07 |
children |
comparison
equal
deleted
inserted
replaced
8973:35afa0349782 | 8974:a275ddf7a3a1 |
---|---|
9 package org.dive4elements.river.importer; | 9 package org.dive4elements.river.importer; |
10 | 10 |
11 import java.util.List; | 11 import java.util.List; |
12 | 12 |
13 import org.apache.log4j.Logger; | 13 import org.apache.log4j.Logger; |
14 | 14 import org.dive4elements.river.model.BedHeightType; |
15 import org.hibernate.Query; | |
15 import org.hibernate.Session; | 16 import org.hibernate.Session; |
16 import org.hibernate.Query; | |
17 | |
18 import org.dive4elements.river.model.BedHeightType; | |
19 | 17 |
20 | 18 |
21 public class ImportBedHeightType { | 19 public class ImportBedHeightType { |
22 | 20 |
23 private static final Logger log = | 21 private static final Logger log = |
24 Logger.getLogger(ImportBedHeightType.class); | 22 Logger.getLogger(ImportBedHeightType.class); |
25 | 23 |
26 protected String name; | 24 protected String name; |
27 | 25 |
28 protected BedHeightType peer; | 26 protected BedHeightType peer; |
29 | 27 |
30 public ImportBedHeightType(BedHeightType peer) { | 28 public ImportBedHeightType(final BedHeightType peer) { |
31 this.peer = peer; | 29 this.peer = peer; |
32 name = peer.getName(); | 30 this.name = peer.getName(); |
33 } | 31 } |
34 | 32 |
35 | 33 |
36 public ImportBedHeightType(String name) { | 34 public ImportBedHeightType(final String name) { |
37 this.name = name; | 35 this.name = name; |
38 } | 36 } |
39 | 37 |
40 | 38 |
41 public void storeDependencies() { | 39 public void storeDependencies() { |
42 getPeer(); | 40 getPeer(); |
43 } | 41 } |
44 | 42 |
45 | 43 |
46 public BedHeightType getPeer() { | 44 public BedHeightType getPeer() { |
47 if (peer == null) { | 45 if (this.peer != null) |
48 Session session = ImporterSession.getInstance() | 46 return this.peer; |
49 .getDatabaseSession(); | 47 final Session session = ImporterSession.getInstance().getDatabaseSession(); |
50 | 48 final Query query = session.createQuery("FROM BedHeightType WHERE (trim(name)=:name) AND (trim(description)=:description)"); |
51 Query query = session.createQuery("from BedHeightType " | 49 query.setParameter("name", this.name); |
52 + "where name=:name and description=:description"); | 50 final List<BedHeightType> types = query.list(); |
53 | 51 if (types.isEmpty()) { |
54 query.setParameter("name", name); | 52 this.peer = new BedHeightType(this.name); |
55 | 53 session.save(this.peer); |
56 List<BedHeightType> types = query.list(); | 54 } else { |
57 | 55 this.peer = types.get(0); |
58 if (types.isEmpty()) { | |
59 peer = new BedHeightType(name); | |
60 session.save(peer); | |
61 } | |
62 else { | |
63 peer = types.get(0); | |
64 } | |
65 } | 56 } |
66 | 57 return this.peer; |
67 return peer; | |
68 } | 58 } |
69 } | 59 } |
70 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 60 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |