From 6c48d38bb116d1649349f8e4e01e96564d0e06c4 Mon Sep 17 00:00:00 2001
From: Christos Tranoris <tranoris@ece.upatras.gr>
Date: Thu, 7 Dec 2023 00:37:14 +0200
Subject: [PATCH] closes #8

---
 .../osl/tmf/sim638/repo/ServiceActionQueueRepository.java | 8 ++++++++
 .../etsi/osl/tmf/sim638/service/ServiceRepoService.java   | 6 ++++++
 src/main/resources/application.yml                        | 2 +-
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/etsi/osl/tmf/sim638/repo/ServiceActionQueueRepository.java b/src/main/java/org/etsi/osl/tmf/sim638/repo/ServiceActionQueueRepository.java
index af5de0e..d6d7549 100644
--- a/src/main/java/org/etsi/osl/tmf/sim638/repo/ServiceActionQueueRepository.java
+++ b/src/main/java/org/etsi/osl/tmf/sim638/repo/ServiceActionQueueRepository.java
@@ -21,6 +21,7 @@ package org.etsi.osl.tmf.sim638.repo;
 
 import java.util.List;
 import java.util.Optional;
+import org.etsi.osl.tmf.sim638.model.ServiceActionQueueAction;
 import org.etsi.osl.tmf.sim638.model.ServiceActionQueueItem;
 import org.springframework.data.repository.CrudRepository;
 import org.springframework.data.repository.PagingAndSortingRepository;
@@ -35,4 +36,11 @@ public interface ServiceActionQueueRepository extends CrudRepository<ServiceActi
 	Optional<ServiceActionQueueItem> findByUuid(String id);
 
 	List<ServiceActionQueueItem> findFirst10ByOrderByInsertedDate();
+
+  List<ServiceActionQueueItem> findByServiceRefIdAndAction(String serviceRefId,
+      ServiceActionQueueAction action);
+  
+
+  void deleteByServiceRefIdAndAction(String serviceRefId,
+      ServiceActionQueueAction action);
 }
diff --git a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java
index 261fbab..412b287 100644
--- a/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java
+++ b/src/main/java/org/etsi/osl/tmf/sim638/service/ServiceRepoService.java
@@ -799,6 +799,12 @@ public class ServiceRepoService {
 	
 	public ServiceActionQueueItem  addServiceActionQueueItem(@Valid ServiceActionQueueItem item) {
 		logger.debug("Will add ServiceActionQueueItem ServiceRefId: " + item.getServiceRefId() );
+		
+		//find any similar action inqueue and delete them, so to keep this one as the most recent
+		//List<ServiceActionQueueItem> result = this.serviceActionQueueRepo.findByServiceRefIdAndAction(item.getServiceRefId(), item.getAction());
+        //logger.debug("Will add ServiceActionQueueItem ServiceRefId result: " +result.size() );
+        this.serviceActionQueueRepo.deleteByServiceRefIdAndAction(item.getServiceRefId(), item.getAction());
+        
 		return this.serviceActionQueueRepo.save( item);
 	}
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e9d32ce..fb8fddc 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
-origins: http://localhost,http://localhost:13082,http://127.0.0.1:13082,https://localhost, 
+origins: http://localhost,http://localhost:8888,http://localhost:13082,http://127.0.0.1:13082,https://localhost, 
 permit-all: /tmf-api/**
 
 
-- 
GitLab