From cec0cb7254ede8a790ec6f70ad5e31d10e2d32d7 Mon Sep 17 00:00:00 2001 From: "rajesh.kumar" Date: Tue, 6 Sep 2022 11:47:18 +0000 Subject: Added get APIs for dataspace. Issue-ID: CPS-1186 Change-ID: I73f97f986a817d423f93a8d922dcd9647b0829aa Signed-off-by: rajesh.kumar --- .../java/org/onap/cps/api/CpsAdminService.java | 18 ++++++++++ .../org/onap/cps/api/impl/CpsAdminServiceImpl.java | 13 +++++++ .../onap/cps/spi/CpsAdminPersistenceService.java | 17 +++++++++ .../java/org/onap/cps/spi/model/Dataspace.java | 42 ++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 cps-service/src/main/java/org/onap/cps/spi/model/Dataspace.java (limited to 'cps-service/src/main/java/org') diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java index ab3373248..b0e68cf8f 100755 --- a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java @@ -3,6 +3,7 @@ * Copyright (C) 2020-2022 Nordix Foundation * Modifications Copyright (C) 2020-2022 Bell Canada. * Modifications Copyright (C) 2021 Pantheon.tech + * Modifications Copyright (C) 2022 TechMahindra Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +27,7 @@ import java.util.Collection; import org.onap.cps.spi.exceptions.AlreadyDefinedException; import org.onap.cps.spi.exceptions.CpsException; import org.onap.cps.spi.model.Anchor; +import org.onap.cps.spi.model.Dataspace; /** * CPS Admin Service. @@ -47,6 +49,22 @@ public interface CpsAdminService { */ void deleteDataspace(String dataspaceName); + /** + * Get dataspace by given dataspace name. + * + * @param dataspaceName dataspace name + * @return a dataspace + */ + Dataspace getDataspace(String dataspaceName); + + /** + * Get All Dataspaces. + * + * + * @return a collection of dataspaces + */ + Collection getAllDataspaces(); + /** * Create an Anchor. * diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java index 56f424164..ece3eb95c 100755 --- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java +++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java @@ -3,6 +3,7 @@ * Copyright (C) 2020-2022 Nordix Foundation * Modifications Copyright (C) 2020-2022 Bell Canada. * Modifications Copyright (C) 2021 Pantheon.tech + * Modifications Copyright (C) 2022 TechMahindra Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,6 +31,7 @@ import org.onap.cps.api.CpsAdminService; import org.onap.cps.api.CpsDataService; import org.onap.cps.spi.CpsAdminPersistenceService; import org.onap.cps.spi.model.Anchor; +import org.onap.cps.spi.model.Dataspace; import org.onap.cps.spi.utils.CpsValidator; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; @@ -55,6 +57,17 @@ public class CpsAdminServiceImpl implements CpsAdminService { cpsAdminPersistenceService.deleteDataspace(dataspaceName); } + @Override + public Dataspace getDataspace(final String dataspaceName) { + cpsValidator.validateNameCharacters(dataspaceName); + return cpsAdminPersistenceService.getDataspace(dataspaceName); + } + + @Override + public Collection getAllDataspaces() { + return cpsAdminPersistenceService.getAllDataspaces(); + } + @Override public void createAnchor(final String dataspaceName, final String schemaSetName, final String anchorName) { cpsValidator.validateNameCharacters(dataspaceName, schemaSetName, anchorName); diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java index db2d2b2d4..6bcb69844 100755 --- a/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java +++ b/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java @@ -3,6 +3,7 @@ * Copyright (C) 2020-2022 Nordix Foundation. * Modifications Copyright (C) 2020-2022 Bell Canada. * Modifications Copyright (C) 2021 Pantheon.tech + * Modifications Copyright (C) 2022 TechMahindra Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +26,7 @@ package org.onap.cps.spi; import java.util.Collection; import org.onap.cps.spi.exceptions.AlreadyDefinedException; import org.onap.cps.spi.model.Anchor; +import org.onap.cps.spi.model.Dataspace; /* Service for handling CPS admin data. @@ -46,6 +48,21 @@ public interface CpsAdminPersistenceService { */ void deleteDataspace(String dataspaceName); + /** + * Get dataspace. + * + * @param dataspaceName dataspace name + * @return a dataspace + */ + Dataspace getDataspace(String dataspaceName); + + /** + * Get all dataspaces. + * + * @return a collection of dataspaces. + */ + Collection getAllDataspaces(); + /** * Create an Anchor. * diff --git a/cps-service/src/main/java/org/onap/cps/spi/model/Dataspace.java b/cps-service/src/main/java/org/onap/cps/spi/model/Dataspace.java new file mode 100644 index 000000000..23c6d6906 --- /dev/null +++ b/cps-service/src/main/java/org/onap/cps/spi/model/Dataspace.java @@ -0,0 +1,42 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 TechMahindra Ltd. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.spi.model; + +import java.io.Serializable; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +public class Dataspace implements Serializable { + + private static final long serialVersionUID = 1464791062718603291L; + + private String name; +} -- cgit 1.2.3-korg n61'>61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193