1 |
package dk.thoerup.traininfoservice; |
package dk.thoerup.traininfoservice.db; |
2 |
|
|
3 |
import java.sql.Array; |
import java.sql.Array; |
4 |
import java.sql.Connection; |
import java.sql.Connection; |
9 |
import java.util.logging.Logger; |
import java.util.logging.Logger; |
10 |
|
|
11 |
import dk.thoerup.android.traininfo.common.StationBean; |
import dk.thoerup.android.traininfo.common.StationBean; |
12 |
import dk.thoerup.android.traininfo.common.StationBean.StationEntry; |
import dk.thoerup.android.traininfo.common.StationEntry; |
13 |
|
|
14 |
public class StationDAO { |
public class StationDAO { |
15 |
|
|
165 |
return result; |
return result; |
166 |
} |
} |
167 |
|
|
168 |
//the "hack" with max 0.4 degrees latitude and 0.75 degrees longitude is only valid since we only service danish trains, |
//Latitude (horizonal), longitude(vertical) so |
169 |
|
// 1 degree latitude is ~ 111320 meters, since the distance between the horizonal lines is always the same |
170 |
|
// 1 degree longitude is ~111320 meters at equator but gets shorter as we get closer to the poles. |
171 |
|
// the "hack" with max 0.4 degrees latitude and 0.75 degrees longitude is only valid since we only service danish trains, |
172 |
// in denmark 0.4dg latitude ~ 44km, 0.75dg longitude ~ 47km |
// in denmark 0.4dg latitude ~ 44km, 0.75dg longitude ~ 47km |
173 |
|
|
174 |
// the ultra fast method (and only slightly inaccurate as long as we only cover a limited geographically area) |
// the ultra fast method (and only slightly inaccurate as long as we only cover a limited geographically area) |
258 |
return result; |
return result; |
259 |
|
|
260 |
} |
} |
261 |
|
@Deprecated |
262 |
public static String getStationName(int stationID) { |
public static String getStationName(int stationID) { |
263 |
String station = ""; |
String station = ""; |
264 |
|
|
281 |
|
|
282 |
return station; |
return station; |
283 |
} |
} |
284 |
|
|
285 |
|
public StationEntry getSimpleByName(String name) throws SQLException { |
286 |
|
String SQL = "SELECT id,name,latitude,longitude,stationcode_fjrn,stationcode_stog, stationcode_metro, address, 0.0 " + |
287 |
|
"FROM trainstations " + |
288 |
|
"WHERE name = ? AND enabled = true " + |
289 |
|
"LIMIT 1 "; |
290 |
|
|
291 |
|
StationBean result; |
292 |
|
Connection conn = null; |
293 |
|
PreparedStatement stmt = null; |
294 |
|
ResultSet res = null; |
295 |
|
try { |
296 |
|
conn = DBConnection.getConnection(); |
297 |
|
stmt = conn.prepareStatement(SQL); |
298 |
|
|
299 |
|
stmt.setString(1, name ); |
300 |
|
|
301 |
|
res = stmt.executeQuery(); |
302 |
|
result = convertResultset(res); |
303 |
|
|
304 |
|
} finally { |
305 |
|
if (res != null) |
306 |
|
res.close(); |
307 |
|
if (stmt != null) |
308 |
|
stmt.close(); |
309 |
|
if (conn!= null) |
310 |
|
conn.close(); |
311 |
|
} |
312 |
|
|
313 |
|
if (result.entries.size() == 1) { |
314 |
|
return result.entries.get(0); |
315 |
|
} else { |
316 |
|
return null; |
317 |
|
} |
318 |
|
} |
319 |
|
|
320 |
|
@Deprecated |
321 |
public int getIdByName(String name) throws SQLException { |
public int getIdByName(String name) throws SQLException { |
322 |
String SQL = "SELECT id,name,latitude,longitude,stationcode_fjrn,stationcode_stog, stationcode_metro, address, 0.0 " + |
String SQL = "SELECT id,name,latitude,longitude,stationcode_fjrn,stationcode_stog, stationcode_metro, address, 0.0 " + |
323 |
"FROM trainstations " + |
"FROM trainstations " + |