X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fspi%2FCpsAdminPersistenceService.java;h=dd4059d88ce97490a6a81f759e9320e7b0a1599f;hb=5427ef054effb1aadfaaab300282545c99c37a61;hp=4e88d49a6364675ab8b8d93f4154b8f566896bbc;hpb=e182a6b6cb4a87b4f461adf83fe60a65948fc230;p=cps.git 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 old mode 100644 new mode 100755 index 4e88d49a6..dd4059d88 --- a/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java +++ b/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java @@ -1,7 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= - * Copyright (C) 2020 Nordix Foundation. All rights reserved. - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * Copyright (C) 2020 Nordix Foundation. + * Modifications Copyright (C) 2020-2022 Bell Canada. + * Modifications Copyright (C) 2021 Pantheon.tech * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +23,7 @@ package org.onap.cps.spi; import java.util.Collection; +import org.onap.cps.spi.exceptions.AlreadyDefinedException; import org.onap.cps.spi.model.Anchor; /* @@ -29,13 +31,38 @@ import org.onap.cps.spi.model.Anchor; */ public interface CpsAdminPersistenceService { + /** + * Create dataspace. + * + * @param dataspaceName dataspace name + * @throws AlreadyDefinedException if dataspace with same name already exists + */ + void createDataspace(String dataspaceName); + + /** + * Delete dataspace. + * + * @param dataspaceName the name of the dataspace to delete + */ + void deleteDataspace(String dataspaceName); + /** * Create an Anchor. * - * @param anchor the anchorDetails object. - * @return the anchor name. + * @param dataspaceName dataspace name + * @param schemaSetName schema set name + * @param anchorName anchor name + */ + void createAnchor(String dataspaceName, String schemaSetName, String anchorName); + + /** + * Read all anchors associated the given schema-set in the given dataspace. + * + * @param dataspaceName dataspace name + * @param schemaSetName schema-set name + * @return a collection of anchors */ - String createAnchor(Anchor anchor); + Collection getAnchors(String dataspaceName, String schemaSetName); /** * Read all anchors in the given a dataspace. @@ -44,4 +71,32 @@ public interface CpsAdminPersistenceService { * @return a collection of anchors */ Collection getAnchors(String dataspaceName); + + /** + * Query anchor names for the given module names in the provided dataspace. + * + * + * @param dataspaceName dataspace name + * @param moduleNames a collection of module names + * @return a collection of anchor names in the given dataspace. The schema set for each anchor must include all the + * given module names + */ + Collection queryAnchors(String dataspaceName, Collection moduleNames); + + /** + * Get an anchor in the given dataspace using the anchor name. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @return an anchor + */ + Anchor getAnchor(String dataspaceName, String anchorName); + + /** + * Delete anchor by name in given dataspace. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + */ + void deleteAnchor(String dataspaceName, String anchorName); }