From 09e24871777be79a7cb89bf00ca1f131be6793f1 Mon Sep 17 00:00:00 2001 From: Simon Hohl Date: Wed, 2 Oct 2024 10:25:31 +0200 Subject: [PATCH] Adjust image comparator function --- .../uni_koeln/arachne/dao/jdbc/GenericSQLDao.java | 3 ++- .../java/de/uni_koeln/arachne/response/Image.java | 13 +++++++++++++ .../uni_koeln/arachne/service/ContextService.java | 1 + .../de/uni_koeln/arachne/service/ImageService.java | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/de/uni_koeln/arachne/dao/jdbc/GenericSQLDao.java b/backend/src/main/java/de/uni_koeln/arachne/dao/jdbc/GenericSQLDao.java index 352006368..94f6336f4 100644 --- a/backend/src/main/java/de/uni_koeln/arachne/dao/jdbc/GenericSQLDao.java +++ b/backend/src/main/java/de/uni_koeln/arachne/dao/jdbc/GenericSQLDao.java @@ -271,7 +271,7 @@ public List> getPathConnectedEntities(final long entityId, f */ public List getImageList(final String type, final long internalId) { List result = query(con -> { - final String sql = "SELECT `marbilder`.`DateinameMarbilder`, `arachneentityidentification`.`ArachneEntityID` " + final String sql = "SELECT `marbilder`.`DateinameMarbilder`, `arachneentityidentification`.`ArachneEntityID`, `marbilder`.`EntityOrder`" + "FROM `marbilder` " + "LEFT JOIN `arachneentityidentification` " + "ON (`arachneentityidentification`.`TableName` = 'marbilder' " + "AND `arachneentityidentification`.`ForeignKey` = `marbilder`.`PS_MARBilderID`) " + "WHERE " @@ -290,6 +290,7 @@ public List getImageList(final String type, final long internalId) { dataIntegrityLogService.logWarning(rs.getLong(2), "PS_MARBilderID", "Image without filename."); } image.setImageId(rs.getLong(2)); + image.setEntityOrder(rs.getInteger(3)); return image; }); diff --git a/backend/src/main/java/de/uni_koeln/arachne/response/Image.java b/backend/src/main/java/de/uni_koeln/arachne/response/Image.java index 1880eacc3..c5640b37e 100644 --- a/backend/src/main/java/de/uni_koeln/arachne/response/Image.java +++ b/backend/src/main/java/de/uni_koeln/arachne/response/Image.java @@ -29,6 +29,11 @@ public class Image { * The category of the record, the image is assigned to */ protected String sourceContext; + + /** + * Defines the order when displayed together with images linked to same entity. + */ + protected Integer entityOrder = 0; public Long getImageId() { @@ -39,6 +44,14 @@ public void setImageId(final Long imageId) { this.imageId = imageId; } + public Integer getEntityOrder() { + return entityOrder; + } + + public void setEntityOrder(final Integer order) { + this.entityOrder = order; + } + public String getImageSubtitle() { return imageSubtitle; } diff --git a/backend/src/main/java/de/uni_koeln/arachne/service/ContextService.java b/backend/src/main/java/de/uni_koeln/arachne/service/ContextService.java index 1652dd881..caff75ff2 100644 --- a/backend/src/main/java/de/uni_koeln/arachne/service/ContextService.java +++ b/backend/src/main/java/de/uni_koeln/arachne/service/ContextService.java @@ -187,6 +187,7 @@ private void addContextImages(final Dataset parent, final String lang) throws Tr final long imageId = Long.parseLong(currentContext.get("SemanticConnection.EntityID")); image.setImageId(imageId); image.setImageSubtitle(currentContext.get("marbilder.DateinameMarbilder")); + image.setEntityOrder(currentContext.get("marbilder.EntityOrder")) image.setSourceContext(ts.transl8(contextName, lang)); final long sourceRecordId = Long.parseLong(currentContext.get("SemanticConnection.ForeignKeyTarget")); image.setSourceRecordId(sourceRecordId); diff --git a/backend/src/main/java/de/uni_koeln/arachne/service/ImageService.java b/backend/src/main/java/de/uni_koeln/arachne/service/ImageService.java index 4a2379670..8a71b41b7 100644 --- a/backend/src/main/java/de/uni_koeln/arachne/service/ImageService.java +++ b/backend/src/main/java/de/uni_koeln/arachne/service/ImageService.java @@ -62,6 +62,7 @@ public void addImages(final Dataset dataset) { image.setImageId(arachneId.getArachneEntityID()); String fileName = dataset.getField("marbilder.DateinameMarbilder"); image.setImageSubtitle(fileName.substring(0, fileName.lastIndexOf('.'))); + image.setEntityOrder(dataset.getField("marbilder.EntityOrder")); final List imageList = new ArrayList(); imageList.add(image); dataset.setImages(imageList);