diff --git a/metasvc-server/business/src/main/java/io/github/dbmdz/metadata/server/business/impl/service/identifiable/entity/DigitalObjectServiceImpl.java b/metasvc-server/business/src/main/java/io/github/dbmdz/metadata/server/business/impl/service/identifiable/entity/DigitalObjectServiceImpl.java index 267194e28..20a63a67b 100644 --- a/metasvc-server/business/src/main/java/io/github/dbmdz/metadata/server/business/impl/service/identifiable/entity/DigitalObjectServiceImpl.java +++ b/metasvc-server/business/src/main/java/io/github/dbmdz/metadata/server/business/impl/service/identifiable/entity/DigitalObjectServiceImpl.java @@ -373,7 +373,23 @@ private void expandByWemiObjects(DigitalObject digitalObject) throws ServiceExce manifestationsWithWorks.parallelStream() .filter(m -> Objects.equals(m.getUuid(), item.getManifestation().getUuid())) .findFirst() - .get(); // must be there otherwise the SQL in getAllManifestationAndWorkUuids is wrong + // must be there otherwise the SQL in getAllManifestationAndWorkUuids is wrong + .orElseThrow( + () -> + new ServiceException( + """ + The item's manifestation could not be found although there must be one! + Item: %s; + Manifestation acc. to item: %s; + DigitalObject: %s + """ + .formatted( + item.getUuid().toString(), + Optional.ofNullable(item.getManifestation()) + .map(Manifestation::getUuid) + .map(UUID::toString) + .orElse(""), + digitalObject.getUuid().toString()))); item.setManifestation(manifestation); setNewestLastModified.accept(digitalObject, manifestation);