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 :

http://dive4elements.wald.intevation.org