From 2c80d0933cddbf768980c390d0edf61bf6d39df9 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 3 Dec 2025 20:04:34 +0200 Subject: [PATCH 1/2] fix for #94 --- .../java/org/etsi/osl/tmf/BootstrapResources.java | 10 ++++++++-- .../reposervices/ResourceCandidateRepoService.java | 3 ++- .../reposervices/ResourceCatalogRepoService.java | 13 +++++++++---- .../reposervices/ResourceCategoryRepoService.java | 8 ++++++++ .../ResourceSpecificationRepoService.java | 1 + 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/BootstrapResources.java b/src/main/java/org/etsi/osl/tmf/BootstrapResources.java index 9fdf7d78..20026d93 100644 --- a/src/main/java/org/etsi/osl/tmf/BootstrapResources.java +++ b/src/main/java/org/etsi/osl/tmf/BootstrapResources.java @@ -36,6 +36,7 @@ import org.etsi.osl.tmf.rcm634.model.ResourceSpecification; import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationCreate; import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationRef; import org.etsi.osl.tmf.rcm634.repo.ResourceCatalogRepository; +import org.etsi.osl.tmf.rcm634.repo.ResourceCategoriesRepository; import org.etsi.osl.tmf.rcm634.repo.ResourceSpecificationRepository; import org.etsi.osl.tmf.rcm634.reposervices.ResourceCandidateRepoService; import org.etsi.osl.tmf.rcm634.reposervices.ResourceCatalogRepoService; @@ -70,6 +71,9 @@ public class BootstrapResources { @Autowired ResourceSpecificationRepository resourceSpecificationRepo; + + @Autowired + ResourceCategoriesRepository resourceCategoriesRepository; @Autowired ObjectMapper objectMapper; @@ -248,7 +252,8 @@ public class BootstrapResources { } - + + @Transactional private void createBootResourceSpec( ResourceCategory scategory, String aname, String afile) { ResourceSpecificationCreate rsc = this.resourceSpecRepoService.readFromLocalLogicalResourceSpec( afile ); @@ -258,7 +263,8 @@ public class BootstrapResources { addToCategory(scategory, resourceSpecificationObj); } - + + @Transactional private void addToCategory(ResourceCategory scategory, ResourceSpecification resourceSpecificationObj) { //Turn the ResourceSpecification to a ResourceCanditate to save it to the ResourceCatalogRepo diff --git a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCandidateRepoService.java b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCandidateRepoService.java index c508efd1..09551d7b 100644 --- a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCandidateRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCandidateRepoService.java @@ -40,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional; import jakarta.validation.Valid; @Service +@Transactional public class ResourceCandidateRepoService { @@ -157,7 +158,7 @@ public class ResourceCandidateRepoService { if ( catObj!=null){ catObj.getResourceCandidateObj().add(savedCand); //add candidate ref to category - catObj = this.categsRepoService.categsRepo.save(catObj); + catObj = this.categsRepoService.categsRepoSave(catObj); } } diff --git a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCatalogRepoService.java b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCatalogRepoService.java index efc1b006..3a9350eb 100644 --- a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCatalogRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCatalogRepoService.java @@ -33,9 +33,11 @@ import org.etsi.osl.tmf.rcm634.model.ResourceCategoryRef; import org.etsi.osl.tmf.rcm634.repo.ResourceCatalogRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import jakarta.validation.Valid; @Service +@Transactional public class ResourceCatalogRepoService { @Autowired @@ -89,10 +91,12 @@ public class ResourceCatalogRepoService { sc = updateCatalogDataFromAPICall(sc, serviceCatalog); return this.catalogRepo.save(sc); } - - public ResourceCatalog updateCatalog(ResourceCatalog serviceCatalog) { + + @Transactional + public ResourceCatalog updateCatalog(ResourceCatalog resourceCatalog) { - return this.catalogRepo.save(serviceCatalog); + resourceCatalog.getCategoryObj().size(); + return this.catalogRepo.save(resourceCatalog); } public ResourceCatalog updateCatalogDataFromAPICall(ResourceCatalog rc, ResourceCatalogUpdate resCatalog) { @@ -172,7 +176,8 @@ public class ResourceCatalogRepoService { } ---------------------------------------------------------------------------------------------------------------*/ - + + @Transactional public ResourceCatalog findByName(String aName) { Optional optionalCat = this.catalogRepo.findByName( aName ); if ( optionalCat.isPresent()) { diff --git a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCategoryRepoService.java b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCategoryRepoService.java index c141b8c9..485d31b1 100644 --- a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCategoryRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCategoryRepoService.java @@ -43,10 +43,12 @@ import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import jakarta.persistence.EntityManagerFactory; import jakarta.validation.Valid; @Service +@Transactional public class ResourceCategoryRepoService { @@ -91,6 +93,7 @@ public class ResourceCategoryRepoService { } + @Transactional public List findAll() { return (List) this.categsRepo.findAll(); } @@ -294,4 +297,9 @@ public class ResourceCategoryRepoService { } + public ResourceCategory categsRepoSave(ResourceCategory catObj) { + return categsRepo.save(catObj); + } + + } diff --git a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceSpecificationRepoService.java index 69214b40..6ba12172 100644 --- a/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceSpecificationRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceSpecificationRepoService.java @@ -76,6 +76,7 @@ import jakarta.persistence.EntityManagerFactory; import jakarta.validation.Valid; @Service +@Transactional public class ResourceSpecificationRepoService { private static final transient Log logger = LogFactory.getLog(ResourceSpecificationRepoService.class.getName()); -- GitLab From 02974da91c3b07283a1270daaa18d19b87f7bfeb Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Thu, 4 Dec 2025 00:40:14 +0200 Subject: [PATCH 2/2] for search (asxeto..xaxa) --- .../tmf/pcm620/reposervices/ProductOfferingRepoService.java | 4 ++-- .../scm633/reposervices/ServiceSpecificationRepoService.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/pcm620/reposervices/ProductOfferingRepoService.java b/src/main/java/org/etsi/osl/tmf/pcm620/reposervices/ProductOfferingRepoService.java index ed1a1fbf..da72a33e 100644 --- a/src/main/java/org/etsi/osl/tmf/pcm620/reposervices/ProductOfferingRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/pcm620/reposervices/ProductOfferingRepoService.java @@ -716,13 +716,13 @@ public class ProductOfferingRepoService { // Build the name LIKE clause - StringJoiner nameJoiner = new StringJoiner(" AND "); + StringJoiner nameJoiner = new StringJoiner(" OR "); for (String term : searchList) { nameJoiner.add("p.name LIKE '%" + term + "%'"); } // Build the description LIKE clause - StringJoiner descriptionJoiner = new StringJoiner(" AND "); + StringJoiner descriptionJoiner = new StringJoiner(" OR "); for (String term : searchList) { descriptionJoiner.add("p.description LIKE '%" + term + "%'"); } diff --git a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java index e365e0a1..ba4efc3f 100644 --- a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java @@ -1546,13 +1546,13 @@ public class ServiceSpecificationRepoService { // Build the name LIKE clause - StringJoiner nameJoiner = new StringJoiner(" AND "); + StringJoiner nameJoiner = new StringJoiner(" OR "); for (String term : searchList) { nameJoiner.add("s.name LIKE '%" + term + "%'"); } // Build the description LIKE clause - StringJoiner descriptionJoiner = new StringJoiner(" AND "); + StringJoiner descriptionJoiner = new StringJoiner(" OR "); for (String term : searchList) { descriptionJoiner.add("s.description LIKE '%" + term + "%'"); } -- GitLab