diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/image/ImageClusteringService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/image/ImageClusteringService.java deleted file mode 100644 index 62bd9ed33..000000000 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/image/ImageClusteringService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.iqser.red.service.persistence.management.v1.processor.service.image; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.math3.ml.clustering.Cluster; -import org.apache.commons.math3.ml.clustering.DBSCANClusterer; -import org.apache.commons.math3.ml.distance.DistanceMeasure; -import org.apache.commons.math3.ml.distance.ManhattanDistance; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService; -import com.knecon.fforesight.tenantcommons.TenantContext; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Service -@RequiredArgsConstructor -public class ImageClusteringService { - - private final ObjectMapper objectMapper; - private final double eps = 26; - private final int minPts = 3; - - private final int fixedLength = 25; - private final DistanceMeasure distanceMeasure = new ManhattanDistance(); - - @Autowired - FileManagementStorageService fileManagementStorageService; - - - public void clusterImages(String storageId) throws Exception { - - DBSCANClusterer dbscanClusterer = new DBSCANClusterer<>(eps, minPts, distanceMeasure); - - try (InputStream inputStream = fileManagementStorageService.getObject(TenantContext.getTenantId(), storageId)) { - ImageServiceResponse imageServiceResponse = objectMapper.readValue(inputStream, ImageServiceResponse.class); - List imageMetadataList = imageServiceResponse.getData(); - List imageList = new ArrayList<>(); - for (ImageMetadata metadata : imageMetadataList) { - Image image = new Image(metadata.getRepresentation(), fixedLength); - imageList.add(image); - } - if (imageList.isEmpty()) { - throw new IllegalArgumentException("The image list is empty. Unable to perform clustering."); - } - List> clusters = dbscanClusterer.cluster(imageList); - for (Cluster cluster : clusters) { - List clusterImages = cluster.getPoints(); - log.info("cluster: {}", clusterImages.get(0)); - } - } - - } - -} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/ImageMessageReceiver.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/ImageMessageReceiver.java index d9d04d628..a1807c6b5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/ImageMessageReceiver.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/ImageMessageReceiver.java @@ -47,6 +47,7 @@ public class ImageMessageReceiver { fileStatusService.setStatusAnalyse(dossierId, fileId, false); log.info("Received message from {} for dossierId {} and fileId {}", MessagingConfiguration.IMAGE_SERVICE_RESPONSE_QUEUE, dossierId, fileId); + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/LayoutParsingFinishedMessageReceiver.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/LayoutParsingFinishedMessageReceiver.java index a4f9e7568..1fe318e96 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/LayoutParsingFinishedMessageReceiver.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/queue/LayoutParsingFinishedMessageReceiver.java @@ -13,6 +13,7 @@ import com.iqser.red.service.persistence.management.v1.processor.migration.SaasM import com.iqser.red.service.persistence.management.v1.processor.model.websocket.AnalyseStatus; import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusProcessingUpdateService; import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService; +import com.iqser.red.service.persistence.management.v1.processor.service.image.ImageSimilarityService; import com.iqser.red.service.persistence.management.v1.processor.service.WebsocketService; import com.iqser.red.service.persistence.management.v1.processor.service.image.ImageSimilarityService; import com.iqser.red.service.persistence.management.v1.processor.service.layoutparsing.LayoutParsingRequestIdentifierService; @@ -28,6 +29,13 @@ import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Service; + +import java.time.OffsetDateTime; +import java.time.temporal.ChronoUnit; + @Slf4j @Service @RequiredArgsConstructor @@ -67,7 +75,6 @@ public class LayoutParsingFinishedMessageReceiver { imageSimiliarityService.saveImages(templateId, dossierId, fileId, storageId); log.info("Received message {} in {}", response, LayoutParsingQueueNames.LAYOUT_PARSING_FINISHED_EVENT_QUEUE); - }