X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fspi%2FCpsDataPersistenceService.java;h=fd660e67560cf6d27f27c41a085498b9785ae958;hb=a0b8fb72f9ab872ec554b812db10758592b5a294;hp=fdcf15bee66ee341ded6c901b10817fd89249163;hpb=512f7ab93af18ed1f2bd93da18879666906521f6;p=cps.git diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java index fdcf15bee..fd660e675 100644 --- a/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java +++ b/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2020 Nordix Foundation. + * Copyright (C) 2020-2022 Nordix Foundation. * Modifications Copyright (C) 2021 Pantheon.tech * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ @@ -23,6 +23,7 @@ package org.onap.cps.spi; import java.util.Collection; +import java.util.List; import java.util.Map; import org.onap.cps.spi.model.DataNode; @@ -145,8 +146,8 @@ public interface CpsDataPersistenceService { * included in the output * @return the data nodes found i.e. 0 or more data nodes */ - Collection queryDataNodes(String dataspaceName, String anchorName, - String cpsPath, FetchDescendantsOption fetchDescendantsOption); + List queryDataNodes(String dataspaceName, String anchorName, + String cpsPath, FetchDescendantsOption fetchDescendantsOption); /** * Starts a session which allows use of locks and batch interaction with the persistence service. @@ -161,4 +162,16 @@ public interface CpsDataPersistenceService { * @param sessionId session ID */ void closeSession(String sessionId); + + /** + * Lock anchor. + * To release locks(s), the session holding the lock(s) must be closed. + * + * @param sessionID session ID + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @param timeoutInMilliseconds lock attempt timeout in milliseconds + */ + void lockAnchor(String sessionID, String dataspaceName, String anchorName, Long timeoutInMilliseconds); + }