From e182a6b6cb4a87b4f461adf83fe60a65948fc230 Mon Sep 17 00:00:00 2001 From: "puthuparambil.aditya" Date: Thu, 10 Dec 2020 16:49:53 +0000 Subject: Retrieve All anchors for a given Dataspace Issue-ID: CPS-8 Signed-off-by: puthuparambil.aditya Change-Id: Idb2e4f83d390f078345e556d89781e0bf4a9a41f --- cps-ri/pom.xml | 4 ++++ .../onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java | 13 +++++++++++++ .../org/onap/cps/spi/repository/FragmentRepository.java | 11 +++++++++++ 3 files changed, 28 insertions(+) (limited to 'cps-ri') diff --git a/cps-ri/pom.xml b/cps-ri/pom.xml index b5fe933818..89b19d5ffa 100644 --- a/cps-ri/pom.xml +++ b/cps-ri/pom.xml @@ -36,6 +36,10 @@ org.projectlombok lombok + + org.modelmapper + modelmapper + org.springframework.boot diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java index f119507214..48e7303593 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation. All rights reserved. + * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +21,10 @@ package org.onap.cps.spi.impl; +import java.lang.reflect.Type; +import java.util.Collection; +import org.modelmapper.ModelMapper; +import org.modelmapper.TypeToken; import org.onap.cps.spi.CpsAdminPersistenceService; import org.onap.cps.spi.entities.Dataspace; import org.onap.cps.spi.entities.Fragment; @@ -61,4 +66,12 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic throw new AnchorAlreadyDefinedException(anchor.getDataspaceName(), anchorName, ex); } } + + @Override + public Collection getAnchors(final String dataspaceName) { + final Dataspace dataspace = dataspaceRepository.getByName(dataspaceName); + final Collection fragments = fragmentRepository.findFragmentsThatAreAnchorsByDataspace(dataspace); + final Type anchorListType = new TypeToken>() {}.getType(); + return new ModelMapper().map(fragments, anchorListType); + } } diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java index ba83f15881..7ae7c13b73 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation. All rights reserved. + * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,10 +21,20 @@ package org.onap.cps.spi.repository; +import java.util.Collection; +import org.onap.cps.spi.entities.Dataspace; import org.onap.cps.spi.entities.Fragment; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository public interface FragmentRepository extends JpaRepository { + + default Collection findFragmentsThatAreAnchorsByDataspace(Dataspace dataspace) { + return findFragmentsByDataspaceAndParentFragmentIsNull(dataspace); + } + + Collection findFragmentsByDataspaceAndParentFragmentIsNull(Dataspace dataspace); } \ No newline at end of file -- cgit 1.2.3-korg