X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fapi%2FCpsAdminService.java;h=7ba95995a5344cd48aef3cc08700614ac875f70a;hb=1a07fc039140525af388d6b8c30fbbce9e1ebf9f;hp=a2c05bfe5a6884012c5ec71382fe69c21717190a;hpb=e182a6b6cb4a87b4f461adf83fe60a65948fc230;p=cps.git 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 old mode 100644 new mode 100755 index a2c05bfe5..7ba95995a --- a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java @@ -1,13 +1,15 @@ /* - * ============LICENSE_START======================================================= + * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * Modifications Copyright (C) 2020 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. * 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. @@ -21,6 +23,8 @@ package org.onap.cps.api; import java.util.Collection; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.onap.cps.spi.exceptions.AlreadyDefinedException; import org.onap.cps.spi.exceptions.CpsException; import org.onap.cps.spi.model.Anchor; @@ -30,19 +34,65 @@ import org.onap.cps.spi.model.Anchor; public interface CpsAdminService { /** - * Create an anchor using provided anchorDetails object. + * Create dataspace. + * + * @param dataspaceName dataspace name + * @throws AlreadyDefinedException if dataspace with same name already exists + */ + void createDataspace(@NonNull String dataspaceName); + + /** + * Delete dataspace. + * + * @param dataspaceName the name of the dataspace to delete + */ + void deleteDataspace(@NonNull String dataspaceName); + + /** + * Create an Anchor. * - * @param anchor the anchor details object. - * @return the anchor name. + * @param dataspaceName dataspace name + * @param schemaSetName schema set name + * @param anchorName anchor name * @throws CpsException if input data is invalid. */ - String createAnchor(Anchor anchor); + void createAnchor(@NonNull String dataspaceName, @NonNull String schemaSetName, @NonNull String anchorName); /** - * Read all anchors in the given a dataspace. + * Read all anchors in the given dataspace. * * @param dataspaceName dataspace name * @return a collection of anchors */ - Collection getAnchors(String dataspaceName); + @NonNull + Collection getAnchors(@NonNull String dataspaceName); + + /** + * Get an anchor in the given dataspace using the anchor name. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @return an anchor + */ + @NonNull + Anchor getAnchor(@NonNull String dataspaceName, @NonNull String anchorName); + + /** + * Delete anchor by name in given dataspace. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + */ + void deleteAnchor(@NonNull String dataspaceName, @NonNull String anchorName); + + /** + * 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 queryAnchorNames(String dataspaceName, Collection moduleNames); }