comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportAnnotationType.java @ 763:8076f6a689d0

First part of flys/issue18 flys-backend/trunk@2124 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 15 Jun 2011 09:22:00 +0000
parents
children aa9e3da95c31
comparison
equal deleted inserted replaced
762:23fe9ac1c3b4 763:8076f6a689d0
1 package de.intevation.flys.importer;
2
3 import de.intevation.flys.model.AnnotationType;
4
5 import org.hibernate.Session;
6 import org.hibernate.Query;
7
8 import java.util.List;
9
10 public class ImportAnnotationType
11 implements Comparable<ImportAnnotationType>
12 {
13 protected String name;
14 protected AnnotationType peer;
15
16 public ImportAnnotationType() {
17 }
18
19 public ImportAnnotationType(String name) {
20 this.name = name;
21 }
22
23 public int compareTo(ImportAnnotationType other) {
24 return name.compareTo(other.name);
25 }
26
27 public AnnotationType getPeer() {
28 if (peer == null) {
29 Session session = ImporterSession.getInstance().getDatabaseSession();
30 Query query = session.createQuery(
31 "from AnnotationType where name=:name");
32 query.setParameter("name", name);
33 List<AnnotationType> types = query.list();
34 if (types.isEmpty()) {
35 peer = new AnnotationType(name);
36 session.save(peer);
37 }
38 else {
39 peer = types.get(0);
40 }
41 }
42 return peer;
43 }
44 }
45 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org