diff --git a/src/main/java/org/etsi/osl/tmf/BootstrapResources.java b/src/main/java/org/etsi/osl/tmf/BootstrapResources.java index 9fdf7d78bef6387c0785fa72049565c20b547ef8..20026d93e5756c7939e8373dfe2d87d2e2e5c386 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/pcm620/reposervices/ProductOfferingRepoService.java b/src/main/java/org/etsi/osl/tmf/pcm620/reposervices/ProductOfferingRepoService.java index ed1a1fbfa3af51a4a6bc9525f6ce12d08be96316..da72a33ef8866fd1a514377402c75261750a9deb 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/rcm634/reposervices/ResourceCandidateRepoService.java b/src/main/java/org/etsi/osl/tmf/rcm634/reposervices/ResourceCandidateRepoService.java index c508efd17f2a4fb709653758a34221f9d6bbe158..09551d7b6c29fdc1853b2a7dace65045502b2125 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 efc1b006d6189d9aaab5301d68f2f7513ded420b..3a9350ebd55a53ba4d49f283a4386374b72892be 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 c141b8c9f3d4e48729efa1d47ee0e6612cde945e..485d31b19f15f7e0d64a8cb760f3f17f3e278c9e 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 69214b4098061e1c66b4ae5cab7789b6c76c014a..6ba12172e6aa5465a363a7675ce87461269f4b3e 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()); 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 e365e0a1af83fedf216ca53b87e73f034fe1c758..ba4efc3f571f682b27d52b39ed7a143c790faaa3 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 + "%'"); }