From c0f29f848ff74232f797e9a4822acbda1453fd67 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sun, 7 May 2023 12:27:51 +0100 Subject: [PATCH] Fixed more bugs. --- .../arbitrary/ArbitraryResourceMetadata.java | 4 ++++ .../org/qortal/repository/RepositoryManager.java | 6 +++--- .../hsqldb/HSQLDBArbitraryRepository.java | 16 ++++++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/qortal/data/arbitrary/ArbitraryResourceMetadata.java b/src/main/java/org/qortal/data/arbitrary/ArbitraryResourceMetadata.java index 614a8e69..c6f0ae62 100644 --- a/src/main/java/org/qortal/data/arbitrary/ArbitraryResourceMetadata.java +++ b/src/main/java/org/qortal/data/arbitrary/ArbitraryResourceMetadata.java @@ -101,6 +101,10 @@ public class ArbitraryResourceMetadata { return this.category; } + public boolean hasMetadata() { + return title != null || description != null || tags != null || category != null || files != null || mimeType != null; + } + public void setArbitraryResourceData(ArbitraryResourceData arbitraryResourceData) { this.arbitraryResourceData = arbitraryResourceData; } diff --git a/src/main/java/org/qortal/repository/RepositoryManager.java b/src/main/java/org/qortal/repository/RepositoryManager.java index e4a287c0..d7608401 100644 --- a/src/main/java/org/qortal/repository/RepositoryManager.java +++ b/src/main/java/org/qortal/repository/RepositoryManager.java @@ -115,15 +115,15 @@ public abstract class RepositoryManager { } repository.saveChanges(); - LOGGER.info("Completed build of initial arbitrary resources cache."); + LOGGER.info("Completed build of arbitrary resources cache."); return true; } catch (DataException e) { - LOGGER.info("Unable to build initial arbitrary resources cache: {}. The database may have been left in an inconsistent state.", e.getMessage()); + LOGGER.info("Unable to build arbitrary resources cache: {}. The database may have been left in an inconsistent state.", e.getMessage()); // Throw an exception so that the node startup is halted, allowing for a retry next time. repository.discardChanges(); - throw new DataException("Build of initial arbitrary resources cache failed."); + throw new DataException("Build of arbitrary resources cache failed."); } } diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java index 2ee49fa0..05633e0a 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java @@ -391,7 +391,9 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { if (tag5 != null) tags.add(tag5); metadata.setTags(!tags.isEmpty() ? tags : null); - arbitraryResourceData.metadata = metadata; + if (metadata.hasMetadata()) { + arbitraryResourceData.metadata = metadata; + } return arbitraryResourceData; } catch (SQLException e) { @@ -465,7 +467,9 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { if (tag5 != null) tags.add(tag5); metadata.setTags(!tags.isEmpty() ? tags : null); - arbitraryResourceData.metadata = metadata; + if (metadata.hasMetadata()) { + arbitraryResourceData.metadata = metadata; + } arbitraryResources.add(arbitraryResourceData); } while (resultSet.next()); @@ -608,7 +612,9 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { if (tag5 != null) tags.add(tag5); metadata.setTags(!tags.isEmpty() ? tags : null); - arbitraryResourceData.metadata = metadata; + if (metadata.hasMetadata()) { + arbitraryResourceData.metadata = metadata; + } } arbitraryResources.add(arbitraryResourceData); @@ -782,7 +788,9 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { if (tag5 != null) tags.add(tag5); metadata.setTags(!tags.isEmpty() ? tags : null); - arbitraryResourceData.metadata = metadata; + if (metadata.hasMetadata()) { + arbitraryResourceData.metadata = metadata; + } } arbitraryResources.add(arbitraryResourceData);