comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportUnit.java @ 2346:f834b411ca57

Added db table, model class and importer stuff for units. flys-backend/trunk@2877 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 04 Oct 2011 06:47:00 +0000
parents
children 0acf28a3d28a
comparison
equal deleted inserted replaced
2345:c3ea91aee989 2346:f834b411ca57
1 package de.intevation.flys.importer;
2
3 import java.util.List;
4
5 import org.apache.log4j.Logger;
6
7 import org.hibernate.Session;
8 import org.hibernate.Query;
9
10 import de.intevation.flys.model.River;
11 import de.intevation.flys.model.Unit;
12
13
14 public class ImportUnit
15 {
16 private static final Logger log = Logger.getLogger(ImportUnit.class);
17
18 protected String name;
19
20 protected Unit peer;
21
22
23 public ImportUnit(String name) {
24 this.name = name;
25 }
26
27
28 public String getName() {
29 return name;
30 }
31
32
33 public void storeDependencies(River river) {
34 log.info("store '" + name + "'");
35 getPeer(river);
36 }
37
38 public Unit getPeer(River river) {
39 if (peer == null) {
40 Session session = ImporterSession.getInstance().getDatabaseSession();
41 Query query = session.createQuery("from Unit where name=:name");
42 query.setParameter("name", name);
43
44 List<Unit> units = query.list();
45 if (units.isEmpty()) {
46 peer = new Unit(name);
47 session.save(peer);
48 }
49 else {
50 peer = units.get(0);
51 }
52
53 }
54 return peer;
55 }
56 }
57 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org