Skip to content

Commit

Permalink
BRMO-374: opruimen ongebruikte functie om BRK verwijderberichten te h…
Browse files Browse the repository at this point in the history
…erhalen
  • Loading branch information
mprins committed Nov 26, 2024
1 parent 1909e11 commit 4150b28
Showing 1 changed file with 2 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,6 @@ public void cleanupBerichten(String config, String soort) throws Exception {
}

public void deleteBerichten(String config, String soort) throws Exception {
final MutableInt processed = new MutableInt(0);
final DataSource dataSourceStaging = ConfigUtil.getDataSourceStaging();
final Connection conn = dataSourceStaging.getConnection();
final GeometryJdbcConverter geomToJdbc =
Expand Down Expand Up @@ -637,143 +636,10 @@ public void replayNHRVerwerking(String soort, String status)
rsgb.close();
}

/**
* Deze actie loopt door de lijst brk verwijderberichten (={@code <empty/>} br_xml) met status
* RSGB_OK om ze nogmaals naar de rsgb te transformeren.
*
* @param status bericht status
* @param soort soort bericht
* @throws SQLException if any
* @throws BrmoException if any
* @throws Exception if any
*/
public void replayBRKVerwijderBerichten(String soort, String status)
throws SQLException, BrmoException, Exception {
int offset = 0;
int batch = 1000;
final MutableInt processed = new MutableInt(0);
final DataSource dataSourceStaging = ConfigUtil.getDataSourceStaging();
final DataSource dataSourceRsgb = ConfigUtil.getDataSourceRsgb();
final Connection conn = dataSourceStaging.getConnection();
final GeometryJdbcConverter geomToJdbc =
GeometryJdbcConverterFactory.getGeometryJdbcConverter(conn);
final RowProcessor processor = new StagingRowHandler();

LOG.debug("staging datasource: " + dataSourceStaging);
LOG.debug("rsgb datasource: " + dataSourceRsgb);

String countsql =
"select count(id) from "
+ BrmoFramework.BERICHT_TABLE
+ " where soort='"
+ soort
+ "'"
+ " and status='"
+ status
+ "'"
// gebruik like (en niet =) omdat anders ORA-00932 want br_xml is clob
+ " and br_xml like '<empty/>'";
LOG.debug("SQL voor tellen van berichten batch: " + countsql);
Number o =
new QueryRunner(geomToJdbc.isPmdKnownBroken()).query(conn, countsql, new ScalarHandler<>());
LOG.debug("Totaal te verwerken verwijder berichten: " + o);

if (o instanceof BigDecimal) {
total(o.longValue());
} else if (o instanceof Integer) {
total(o.longValue());
} else {
total((Long) o);
}

StagingProxy staging = new StagingProxy(dataSourceStaging);
RsgbProxy rsgb = new RsgbProxy(dataSourceRsgb, null, staging, Bericht.STATUS.RSGB_OK, this);
rsgb.setOrderBerichten(true);
rsgb.init();

do {
LOG.debug(String.format("Ophalen berichten batch met offset %d, limit %d", offset, batch));
String sql =
"select * from "
+ BrmoFramework.BERICHT_TABLE
+ " where soort='"
+ soort
+ "'"
+ " and status='"
+ status
+ "'"
+ " and br_xml like '<empty/>'"
+ " order by id";
sql = geomToJdbc.buildPaginationSql(sql, offset, batch);
LOG.debug("SQL voor ophalen berichten batch: " + sql);

processed.setValue(0);
Exception e =
new QueryRunner(geomToJdbc.isPmdKnownBroken())
.query(
conn,
sql,
rs -> {
while (rs.next()) {
try {
Bericht bericht = processor.toBean(rs, Bericht.class);
LOG.debug("Opnieuw verwerken van bericht: " + bericht);
// bewaar oude log
String oudeOpmerkingen = bericht.getOpmerking();
// forceer verwerking door bericht op STAGING_OK te
// zetten en dan opnieuw te verwerken
bericht.setStatus(Bericht.STATUS.STAGING_OK);
new QueryRunner(geomToJdbc.isPmdKnownBroken())
.update(
conn,
"update "
+ BrmoFramework.BERICHT_TABLE
+ " set status_datum = ?, status = ? where id = ?",
new Timestamp(bericht.getStatusDatum().getTime()),
bericht.getStatus().toString(),
bericht.getId());

rsgb.handle(bericht, rsgb.transformToTableData(bericht), true);

bericht.setOpmerking(
"Opnieuw verwerkt met geavanceerde functies optie.\nNieuwe verwerkingslog (oude log daaronder)\n"
+ bericht.getOpmerking()
+ "\n\nOude verwerkingslog\n\n"
+ oudeOpmerkingen);
bericht.setStatusDatum(new Date());
new QueryRunner(geomToJdbc.isPmdKnownBroken())
.update(
conn,
"update "
+ BrmoFramework.BERICHT_TABLE
+ " set opmerking = ? where id = ?",
bericht.getOpmerking(),
bericht.getId());
} catch (Exception e1) {
return e1;
}
processed.increment();
}
return null;
});
offset += processed.intValue();

progress(offset);

// If handler threw exception processing row, rethrow it
if (e != null) {
closeQuietly(conn);
throw e;
}
} while (processed.intValue() > 0);
closeQuietly(conn);
rsgb.close();
}

/**
* Verwijderen van enkele aanhalingstekens van typering en clazz van sommige nHR persoon records
* dmv SQL update. fix voor issue #527, {@code 'INGESCHREVEN NIET-NATUURLIJK PERSOON'} moet worden
* {@code INGESCHREVEN NIET-NATUURLIJK PERSOON} (evt. afgekort op 35 char voor de
* door middel van SQL update. Fix voor issue #527, {@code 'INGESCHREVEN NIET-NATUURLIJK PERSOON'}
* moet worden {@code INGESCHREVEN NIET-NATUURLIJK PERSOON} (evt. afgekort op 35 char voor de
* 'ingeschr_niet_nat_prs' tabel/'typering' kolom)
*
* @param soort soort bericht
Expand Down

0 comments on commit 4150b28

Please sign in to comment.