Skip to content

Commit

Permalink
fix persistBatch catch
Browse files Browse the repository at this point in the history
  • Loading branch information
AlvaroVega committed Nov 18, 2024
1 parent 651d5c9 commit c4b1338
Showing 1 changed file with 26 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ protected int featuresBatched() {
* @return The persistence backend
* @throws CygnusRuntimeError
*/
protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) throws CygnusRuntimeError {
protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) throws CygnusPersistenceError, CygnusRuntimeError {

LOGGER.debug("Current persistenceBackend has " + arcgisPersistenceBackend.size() +" tables ");

Expand All @@ -187,7 +187,7 @@ protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) thr

if (newTable.hasError() || !newTable.connected()) {
LOGGER.error("Error creating new persistence Backend. " + newTable.getErrorDesc());
throw new CygnusRuntimeError("[" + this.getName() + "Error creating Persistence backend: "
throw new CygnusPersistenceError("[" + this.getName() + "Error creating Persistence backend: "
+ newTable.getErrorCode() + " - " + newTable.getErrorDesc());
} else {
arcgisPersistenceBackend.put(featureServiceUrl, newTable);
Expand All @@ -199,7 +199,7 @@ protected ArcgisFeatureTable getPersistenceBackend(String featureServiceUrl) thr
LOGGER.error("Error creating new persistence Backend. " +e.getClass().getSimpleName());
LOGGER.debug(stackTrace);

throw new CygnusRuntimeError("Error creating new persistence Backend. ", e.getClass().getName(),
throw new CygnusPersistenceError("Error creating new persistence Backend. ", e.getClass().getName(),
e.getMessage());
}
}
Expand Down Expand Up @@ -306,34 +306,29 @@ void persistBatch(NGSIBatch batch)
return;
} // if

try {
// Iterate on the destinations
batch.startIterator();
// Iterate on the destinations
batch.startIterator();

while (batch.hasNext()) {
String destination = batch.getNextDestination();
LOGGER.debug(
"[" + this.getName() + "] Processing sub-batch regarding the " + destination + " destination");
while (batch.hasNext()) {
String destination = batch.getNextDestination();
LOGGER.debug(
"[" + this.getName() + "] Processing sub-batch regarding the " + destination + " destination");

// Get the events within the current sub-batch
ArrayList<NGSIEvent> events = batch.getNextEvents();
// Get the events within the current sub-batch
ArrayList<NGSIEvent> events = batch.getNextEvents();

// Get an aggregator for this destination and initialize it
NGSIArcgisAggregator aggregator = new NGSIArcgisAggregator(getrAcgisServicesUrl(), enableNameMappings);

for (NGSIEvent event : events) {
aggregator.aggregate(event);
} // for
// Get an aggregator for this destination and initialize it
NGSIArcgisAggregator aggregator = new NGSIArcgisAggregator(getrAcgisServicesUrl(), enableNameMappings);

// Persist the aggregation
persistAggregation(aggregator);
batch.setNextPersisted(true);
for (NGSIEvent event : events) {
aggregator.aggregate(event);
} // for

} // while
} catch (Exception e) {
LOGGER.error("[" + this.getName() + "] Error persisting batch, " + e.getClass().getSimpleName() + "." + e.getMessage());
throw new CygnusRuntimeError(e.getMessage());
}
// Persist the aggregation
persistAggregation(aggregator);
batch.setNextPersisted(true);

} // while
} // persistBatch

/*
Expand Down Expand Up @@ -422,7 +417,11 @@ public void persistAggregation(NGSIArcgisAggregator aggregator) throws CygnusPer
}
} catch (CygnusRuntimeError e) {
String stackTrace = ExceptionUtils.getFullStackTrace(e);
LOGGER.debug(" PersistAggregation Error: " + stackTrace);
LOGGER.debug(" PersistAggregation CygnusRuntimeError: " + stackTrace);
throw (e);
} catch (CygnusPersistenceError e) {
String stackTrace = ExceptionUtils.getFullStackTrace(e);
LOGGER.debug(" PersistAggregation CygnusPersistenceError: " + stackTrace);
throw (e);
} catch (ArcgisException e) {
LOGGER.error("[" + this.getName() + "] Error persisting batch, " + e.getClass().getSimpleName() + " - "
Expand Down

0 comments on commit c4b1338

Please sign in to comment.