Mercurial > dive4elements > river
comparison etl/src/main/java/org/dive4elements/river/etl/aft/River.java @ 5930:33e514a0c6b7
Delete discharge tables which are in AFT but not in FLYS. Fixed Oracle specific pom.xml
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 08 May 2013 17:04:49 +0200 |
parents | 8bd9b551456c |
children | dcbd63e35815 |
comparison
equal
deleted
inserted
replaced
5929:4d526e313fa0 | 5930:33e514a0c6b7 |
---|---|
13 | 13 |
14 import java.sql.ResultSet; | 14 import java.sql.ResultSet; |
15 import java.sql.SQLException; | 15 import java.sql.SQLException; |
16 | 16 |
17 import java.util.ArrayList; | 17 import java.util.ArrayList; |
18 import java.util.Collections; | |
18 import java.util.HashMap; | 19 import java.util.HashMap; |
19 import java.util.List; | 20 import java.util.List; |
20 import java.util.Map; | 21 import java.util.Map; |
21 | 22 |
22 import org.apache.log4j.Logger; | 23 import org.apache.log4j.Logger; |
321 + "' not found in FLYS. -> create"); | 322 + "' not found in FLYS. -> create"); |
322 createDTs.add(aftDT); | 323 createDTs.add(aftDT); |
323 } | 324 } |
324 } | 325 } |
325 | 326 |
327 modified |= deleteDischargeTables(context, bfgId2FlysDT); | |
328 | |
326 for (String bfgId: bfgId2FlysDT.keySet()) { | 329 for (String bfgId: bfgId2FlysDT.keySet()) { |
327 log.info("FLYS: Discharge table '" + bfgId | 330 log.info("FLYS: Discharge table '" + bfgId |
328 + "' found in FLYS but not in AFT. -> ignore"); | 331 + "' found in FLYS but not in AFT. -> ignore"); |
329 } | 332 } |
330 | 333 |
447 | 450 |
448 aftDT.loadAftValues(context); | 451 aftDT.loadAftValues(context); |
449 aftDT.storeFlysValues(context, flysId); | 452 aftDT.storeFlysValues(context, flysId); |
450 } | 453 } |
451 | 454 |
455 protected boolean deleteDischargeTables( | |
456 SyncContext context, | |
457 Map<String, DischargeTable> tables | |
458 ) | |
459 throws SQLException | |
460 { | |
461 ConnectedStatements flysStatements = context.getFlysStatements(); | |
462 | |
463 SymbolicStatement.Instance deleteDischargeTableValues = | |
464 flysStatements.getStatement("delete.discharge.table.values"); | |
465 | |
466 SymbolicStatement.Instance deleteDischargeTable = | |
467 flysStatements.getStatement("delete.discharge.table"); | |
468 | |
469 boolean modified = false; | |
470 | |
471 for (Map.Entry<String, DischargeTable> entry: tables.entrySet()) { | |
472 log.info("FLYS: Discharge table '" + entry.getKey() | |
473 + "' found in FLYS but not in AFT. -> delete"); | |
474 int id = entry.getValue().getId(); | |
475 | |
476 deleteDischargeTableValues | |
477 .clearParameters() | |
478 .setInt("id", id); | |
479 deleteDischargeTableValues.execute(); | |
480 | |
481 deleteDischargeTable | |
482 .clearParameters() | |
483 .setInt("id", id); | |
484 deleteDischargeTable.execute(); | |
485 | |
486 modified = true; | |
487 } | |
488 return modified; | |
489 } | |
490 | |
452 protected void createDischargeTables( | 491 protected void createDischargeTables( |
453 SyncContext context, | 492 SyncContext context, |
454 DIPSGauge gauge | 493 DIPSGauge gauge |
455 ) | 494 ) |
456 throws SQLException | 495 throws SQLException |