From 74c6c85f2352c5d06646b0f90c36508687c6f7fd Mon Sep 17 00:00:00 2001 From: Sascha Szott Date: Mon, 11 Aug 2025 13:03:53 +0200 Subject: [PATCH 1/3] bugfix of issue #514 --- .../dspace/content/dao/impl/BitstreamDAOImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java index 99b3c59815c5..bb01d38b2ea3 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java @@ -147,16 +147,16 @@ public Iterator findByItem(Context context, Item item) throws SQLExce @Override public Iterator findShowableByItem(Context context, UUID itemId, String bundleName) throws SQLException { Query query = createQuery( - context, - "select b.id from Bitstream b " + - "join b.bundles bitBundle " + - "join bitBundle.items item " + + context, + "select bitstream.id from Bundle bundle " + + "join bundle.items item " + + "join bundle.bitstreams bitstream " + "WHERE item.id = :itemId " + "and NOT EXISTS( " + " select 1 from MetadataValue mv " + " join mv.metadataField mf " + " join mf.metadataSchema ms " + - " where mv.dSpaceObject = b and " + + " where mv.dSpaceObject = bitstream and " + " ms.name = 'bitstream' and " + " mf.element = 'hide' and " + " mf.qualifier is null and " + @@ -169,7 +169,7 @@ public Iterator findShowableByItem(Context context, UUID itemId, Stri " from MetadataValue mvB " + " join mvB.metadataField mfB " + " join mfB.metadataSchema msB " + - " where mvB.dSpaceObject = bitBundle and " + + " where mvB.dSpaceObject = bundle and " + " msB.name = 'dc' and " + " mfB.element = 'title' and " + " mfB.qualifier is null and " + From 266298d455f9322a5ee5983b070ffe6005c88c46 Mon Sep 17 00:00:00 2001 From: Sascha Szott Date: Mon, 11 Aug 2025 13:06:55 +0200 Subject: [PATCH 2/3] formatting change: remove trailing whitespace --- .../main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java index bb01d38b2ea3..1267c9771c6c 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java @@ -147,7 +147,7 @@ public Iterator findByItem(Context context, Item item) throws SQLExce @Override public Iterator findShowableByItem(Context context, UUID itemId, String bundleName) throws SQLException { Query query = createQuery( - context, + context, "select bitstream.id from Bundle bundle " + "join bundle.items item " + "join bundle.bitstreams bitstream " + From 6981603295c21e5b66d90c6ee923c71f27a0e8f2 Mon Sep 17 00:00:00 2001 From: Sascha Szott Date: Mon, 11 Aug 2025 21:00:39 +0200 Subject: [PATCH 3/3] added ORDER clause to sort bitstreams of given bundle by bitstream_order --- .../java/org/dspace/content/dao/impl/BitstreamDAOImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java index 1267c9771c6c..9e8913e4a2a7 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java @@ -175,7 +175,8 @@ public Iterator findShowableByItem(Context context, UUID itemId, Stri " mfB.qualifier is null and " + " mvB.value = :bundleName " + " )" + - ")" + ")" + + " ORDER BY INDEX(bitstream)" ); query.setParameter("itemId", itemId);