From 10f12221c9f661423a290d99ff2baf1b4961ac61 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 21 Apr 2023 09:42:04 +0100 Subject: [PATCH] Fixed exception in readJson(), and removed some duplicated code. --- .../metadata/ArbitraryDataMetadata.java | 12 ++++++++--- .../metadata/ArbitraryDataMetadataCache.java | 3 ++- .../metadata/ArbitraryDataMetadataPatch.java | 3 ++- .../metadata/ArbitraryDataQortalMetadata.java | 20 +------------------ .../ArbitraryDataTransactionMetadata.java | 3 ++- 5 files changed, 16 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadata.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadata.java index 127fefb5..07f6032c 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadata.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadata.java @@ -2,6 +2,7 @@ package org.qortal.arbitrary.metadata; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.json.JSONException; import org.qortal.repository.DataException; import java.io.BufferedWriter; @@ -34,7 +35,7 @@ public class ArbitraryDataMetadata { this.filePath = filePath; } - protected void readJson() throws DataException { + protected void readJson() throws DataException, JSONException { // To be overridden } @@ -44,8 +45,13 @@ public class ArbitraryDataMetadata { public void read() throws IOException, DataException { - this.loadJson(); - this.readJson(); + try { + this.loadJson(); + this.readJson(); + + } catch (JSONException e) { + throw new DataException(String.format("Unable to read JSON: %s", e.getMessage())); + } } public void write() throws IOException, DataException { diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataCache.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataCache.java index bd6bb219..e9b49298 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataCache.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataCache.java @@ -1,5 +1,6 @@ package org.qortal.arbitrary.metadata; +import org.json.JSONException; import org.json.JSONObject; import org.qortal.repository.DataException; import org.qortal.utils.Base58; @@ -22,7 +23,7 @@ public class ArbitraryDataMetadataCache extends ArbitraryDataQortalMetadata { } @Override - protected void readJson() throws DataException { + protected void readJson() throws DataException, JSONException { if (this.jsonString == null) { throw new DataException("Patch JSON string is null"); } diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java index 954dcb03..46a1f57e 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java @@ -3,6 +3,7 @@ package org.qortal.arbitrary.metadata; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import org.qortal.arbitrary.ArbitraryDataDiff.*; import org.qortal.repository.DataException; @@ -40,7 +41,7 @@ public class ArbitraryDataMetadataPatch extends ArbitraryDataQortalMetadata { } @Override - protected void readJson() throws DataException { + protected void readJson() throws DataException, JSONException { if (this.jsonString == null) { throw new DataException("Patch JSON string is null"); } diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java index 4c188843..df23655c 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java @@ -2,6 +2,7 @@ package org.qortal.arbitrary.metadata; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.json.JSONException; import org.qortal.repository.DataException; import java.io.BufferedWriter; @@ -46,20 +47,6 @@ public class ArbitraryDataQortalMetadata extends ArbitraryDataMetadata { return null; } - protected void readJson() throws DataException { - // To be overridden - } - - protected void buildJson() { - // To be overridden - } - - - @Override - public void read() throws IOException, DataException { - this.loadJson(); - this.readJson(); - } @Override public void write() throws IOException, DataException { @@ -94,9 +81,4 @@ public class ArbitraryDataQortalMetadata extends ArbitraryDataMetadata { } } - - public String getJsonString() { - return this.jsonString; - } - } diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataTransactionMetadata.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataTransactionMetadata.java index d3cc5a45..004e0ed3 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataTransactionMetadata.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataTransactionMetadata.java @@ -1,6 +1,7 @@ package org.qortal.arbitrary.metadata; import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import org.qortal.arbitrary.misc.Category; import org.qortal.repository.DataException; @@ -33,7 +34,7 @@ public class ArbitraryDataTransactionMetadata extends ArbitraryDataMetadata { } @Override - protected void readJson() throws DataException { + protected void readJson() throws DataException, JSONException { if (this.jsonString == null) { throw new DataException("Transaction metadata JSON string is null"); }