comparison backend/src/main/java/org/dive4elements/river/backend/SpatialInfo.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-backend/src/main/java/org/dive4elements/river/backend/SpatialInfo.java@18619c1e7c2a
children 4dd33b86dc61
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.backend;
2
3 import java.util.List;
4
5 import org.apache.log4j.Logger;
6
7 import org.hibernate.HibernateException;
8 import org.hibernate.Query;
9 import org.hibernate.Session;
10
11 import org.dive4elements.river.model.Building;
12 import org.dive4elements.river.model.CrossSectionTrack;
13 import org.dive4elements.river.model.Fixpoint;
14 import org.dive4elements.river.model.River;
15 import org.dive4elements.river.model.RiverAxis;
16 import org.dive4elements.river.model.HWSLine;
17
18
19 public class SpatialInfo {
20
21 private static Logger logger = Logger.getLogger(SpatialInfo.class);
22
23 protected static String RIVERNAME = System.getProperty(
24 "flys.backend.spatial.river", "Saar");
25
26 protected Session session;
27
28
29 public static void main(String[] args) {
30 logger.info("Start SpatialInfo application.");
31
32 SpatialInfo spatial = null;
33
34 try {
35 spatial = new SpatialInfo();
36
37 River river = spatial.getRiver(RIVERNAME);
38 if (river == null) {
39 logger.warn("Could not find river '" + RIVERNAME + "'!");
40 return;
41 }
42
43 logger.info("Spatial information of River '" + RIVERNAME + "'");
44 spatial.doRiverAxisInfo(river);
45 spatial.doCrossSectionTracksInfo(river);
46 spatial.doBuildingsInfo(river);
47 spatial.doFixpointsInfo(river);
48 }
49 finally {
50 if (spatial != null) {
51 spatial.close();
52 }
53 }
54
55 logger.info("Finish SpatialInfo application.");
56 }
57
58
59 public SpatialInfo() {
60 session = SessionFactoryProvider
61 .createSessionFactory()
62 .openSession();
63 }
64
65
66 public void close() {
67 session.close();
68 }
69
70
71 protected River getRiver(String rivername) {
72 Query query = session.createQuery(
73 "from River where name =:name");
74 query.setParameter("name", rivername);
75
76 List<River> list = query.list();
77
78 if (list == null || list.size() == 0) {
79 logger.warn("No river '" + rivername + "' found!");
80 return null;
81 }
82
83 return list.get(0);
84 }
85
86
87 protected void doRiverAxisInfo(River river) {
88 try {
89 List<RiverAxis> axis = RiverAxis.getRiverAxis(river.getName());
90 if (axis != null && axis.size() > 0) {
91 logger.debug("TODO: Compute length and boundary.");
92 }
93 else {
94 logger.warn("River has no RiverAxis.");
95 }
96 }
97 catch(HibernateException iae) {
98 logger.warn("No vaild river axis found for " + river.getName());
99 return;
100 }
101
102 }
103
104
105 protected void doCrossSectionTracksInfo(River river) {
106 Query query = session.createQuery(
107 "from CrossSectionTrack where river =:river");
108 query.setParameter("river", river);
109
110 List<CrossSectionTrack> list = query.list();
111
112 if (list == null || list.size() == 0) {
113 logger.warn("No CrossSectionTracks for '" + river.getName() + "' found!");
114 return;
115 }
116 else {
117 logger.info("River contains " + list.size() + " CrossSectionTracks.");
118 }
119 }
120
121
122 protected void doBuildingsInfo(River river) {
123 Query query = session.createQuery(
124 "from Building where river =:river");
125 query.setParameter("river", river);
126
127 List<Building> list = query.list();
128
129 if (list == null || list.size() == 0) {
130 logger.warn("No Buildings for '" + river.getName() + "' found!");
131 return;
132 }
133 else {
134 logger.info("River contains " + list.size() + " Buildings.");
135 }
136 }
137
138
139 protected void doFixpointsInfo(River river) {
140 Query query = session.createQuery(
141 "from Fixpoint where river =:river");
142 query.setParameter("river", river);
143
144 List<Fixpoint> list = query.list();
145
146 if (list == null || list.size() == 0) {
147 logger.warn("No Fixpoints for '" + river.getName() + "' found!");
148 return;
149 }
150 else {
151 logger.info("River contains " + list.size() + " Fixpoints.");
152 }
153 }
154
155 @Deprecated
156 protected void doLinesInfo(River river) {
157 doHWSLinesInfo(river);
158 }
159
160 protected void doHWSLinesInfo(River river) {
161 Query query = session.createQuery(
162 "from hws_lines where river =:river");
163 query.setParameter("river", river);
164
165 List<HWSLine> list = query.list();
166
167 if (list == null || list.size() == 0) {
168 logger.warn("No Lines for '" + river.getName() + "' found!");
169 return;
170 }
171 else {
172 logger.info("River contains " + list.size() + " Lines.");
173 }
174 }
175 }
176 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org