diff --git a/src/main/java/fi/hsl/transitdata/pubtransredisconnect/processor/StopResultSetProcessor.java b/src/main/java/fi/hsl/transitdata/pubtransredisconnect/processor/StopResultSetProcessor.java index 94b3ef1..726e9c1 100644 --- a/src/main/java/fi/hsl/transitdata/pubtransredisconnect/processor/StopResultSetProcessor.java +++ b/src/main/java/fi/hsl/transitdata/pubtransredisconnect/processor/StopResultSetProcessor.java @@ -1,12 +1,14 @@ package fi.hsl.transitdata.pubtransredisconnect.processor; import fi.hsl.common.transitdata.TransitdataProperties; +import fi.hsl.transitdata.pubtransredisconnect.model.StopResult; import fi.hsl.transitdata.pubtransredisconnect.util.QueryUtils; import fi.hsl.transitdata.pubtransredisconnect.util.RedisUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.ResultSet; +import java.util.ArrayList; public class StopResultSetProcessor extends AbstractResultSetProcessor { @@ -17,13 +19,23 @@ public StopResultSetProcessor(final RedisUtils redisUtils, final QueryUtils quer } public void processResultSet(final ResultSet resultSet) throws Exception { - int rowCounter = 0; - int redisCounter = 0; + ArrayList results = new ArrayList<>(); while(resultSet.next()) { - rowCounter++; - String key = TransitdataProperties.REDIS_PREFIX_JPP + resultSet.getString("Gid"); - String response = redisUtils.setValue(key, resultSet.getString("Number")); + results.add(new StopResult( + resultSet.getString("Gid"), + resultSet.getString("Number") + )); + } + + saveToRedis(results); + } + + private void saveToRedis(ArrayList results) { + int redisCounter = 0; + for (StopResult result : results) { + String key = TransitdataProperties.REDIS_PREFIX_JPP + result.getGid(); + String response = redisUtils.setValue(key, result.getNumber()); if (redisUtils.checkResponse(response)) { redisCounter++; } else { @@ -31,7 +43,7 @@ public void processResultSet(final ResultSet resultSet) throws Exception { } } - log.info("Inserted {} redis stop id keys (jpp-id) for {} DB rows", redisCounter, rowCounter); + log.info("Inserted {} redis stop id keys (jpp-id) for {} DB rows", redisCounter, results.size()); } protected String getQuery() {