Mercurial > dive4elements > river
annotate flys-aft/src/main/java/de/intevation/aft/Sync.java @ 4075:dbd0b3b1b8b8
Sync each river.
flys-aft/trunk@3419 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 14 Dec 2011 17:53:15 +0000 |
parents | 2c70fae83d0c |
children | 97de7a552b79 |
rev | line source |
---|---|
4067
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.aft; |
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
3 import java.io.File; |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
4 |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
5 import java.sql.SQLException; |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
6 |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
7 import org.w3c.dom.Document; |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
8 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
9 import de.intevation.utils.XML; |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
10 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
11 import de.intevation.db.ConnectionBuilder; |
4075
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
12 import de.intevation.db.ConnectedStatements; |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
13 |
4067
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 public class Sync |
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 { |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
16 public static final String FLYS = "flys"; |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
17 public static final String AFT = "aft"; |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
18 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
19 public static final String CONFIG_FILE = |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
20 System.getProperty("config.file", "config.xml"); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
21 |
4067
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 public static void main(String [] args) { |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
23 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
24 File configFile = new File(CONFIG_FILE); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
25 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
26 if (!configFile.isFile() || !configFile.canRead()) { |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
27 System.err.println("cannot read config file"); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
28 System.exit(1); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
29 } |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
30 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
31 Document config = XML.parseDocument(configFile, Boolean.FALSE); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
32 |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
33 if (config == null) { |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
34 System.err.println("cannot load config"); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
35 System.exit(1); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
36 } |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
37 |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
38 ConnectionBuilder aftConnectionBuilder = |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
39 new ConnectionBuilder(AFT, config); |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
40 |
4072
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
41 ConnectionBuilder flysConnectionBuilder = |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
42 new ConnectionBuilder(FLYS, config); |
88f801888d85
load configuration an setup db connections.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4067
diff
changeset
|
43 |
4075
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
44 ConnectedStatements aftStatements = null; |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
45 ConnectedStatements flysStatements = null; |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
46 try { |
4075
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
47 aftStatements = aftConnectionBuilder.getConnectedStatements(); |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
48 flysStatements = flysConnectionBuilder.getConnectedStatements(); |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
49 Rivers rivers = new Rivers(); |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
50 rivers.sync(aftStatements, flysStatements); |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
51 } |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
52 catch (SQLException sqle) { |
4075
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
53 sqle.printStackTrace(); |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
54 System.err.println("syncing failed: " + sqle.getMessage()); |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
55 } |
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
56 finally { |
4075
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
57 if (aftStatements != null) { |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
58 aftStatements.close(); |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
59 } |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
60 if (flysStatements != null) { |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
61 flysStatements.close(); |
dbd0b3b1b8b8
Sync each river.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4073
diff
changeset
|
62 } |
4073
2c70fae83d0c
start syncing at river level.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
4072
diff
changeset
|
63 } |
4067
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 } |
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 } |
d5aed044ca0d
Added AFT sync module.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
66 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |