From 72b74e7b958b3eaac700ac72c3ecde0fed34474e Mon Sep 17 00:00:00 2001 From: Bartosz Litwiniuk <> Date: Sat, 21 Dec 2024 21:25:12 +0100 Subject: [PATCH 1/2] Resolve TODO - batch null --- .../services/BacktraceDatabaseContext.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java b/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java index bebd2bbe..d164a772 100644 --- a/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java +++ b/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java @@ -88,7 +88,7 @@ private void setupBatch() { } for (int i = 0; i < _retryNumber; i++) { - this.batchRetry.put(i, new ArrayList()); + this.batchRetry.put(i, new ArrayList<>()); } } @@ -126,7 +126,7 @@ public BacktraceDatabaseRecord add(BacktraceDatabaseRecord backtraceDatabaseReco } backtraceDatabaseRecord.locked = true; this.totalSize += backtraceDatabaseRecord.getSize(); - this.batchRetry.get(0).add(backtraceDatabaseRecord); // TODO: null + this.addToFirstBatch(backtraceDatabaseRecord); this.totalRecords++; return backtraceDatabaseRecord; } @@ -344,7 +344,6 @@ private BacktraceDatabaseRecord getLastRecord() { return getRecordFromCache(true); } - /** * Get record in in-cache BacktraceDatabase * @@ -372,4 +371,21 @@ private BacktraceDatabaseRecord getRecordFromCache(boolean reverse) { } return null; } + + private void addToFirstBatch(BacktraceDatabaseRecord backtraceDatabaseRecord) { + final int firstBatch = 0; + + if (this.batchRetry.isEmpty()) { + this.batchRetry.put(firstBatch, new ArrayList<>()); + } + + List batch = this.batchRetry.get(firstBatch); + + if (batch == null) { + batch = new ArrayList<>(); + this.batchRetry.put(firstBatch, batch); + } + + batch.add(backtraceDatabaseRecord); + } } From 1713861d1267bf1101d1a1da7ce8189e9727d7bc Mon Sep 17 00:00:00 2001 From: Bartosz Litwiniuk <> Date: Wed, 8 Jan 2025 18:18:41 +0100 Subject: [PATCH 2/2] Fix condition --- .../library/services/BacktraceDatabaseContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java b/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java index d164a772..8cf4d013 100644 --- a/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java +++ b/backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java @@ -83,7 +83,7 @@ private BacktraceDatabaseContext(Context context, String path, int retryNumber, * Setup cache */ private void setupBatch() { - if (this._retryNumber == 0) { + if (this._retryNumber <= 0) { throw new IllegalArgumentException("Retry number must be greater than 0!"); } @@ -304,7 +304,7 @@ public boolean removeOldestRecord() { private void incrementBatches() { for (int i = this._retryNumber - 2; i >= 0; i--) { List currentBatch = this.batchRetry.get(i); - batchRetry.put(i, new ArrayList()); + batchRetry.put(i, new ArrayList<>()); batchRetry.put(i + 1, currentBatch); } }