/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation
+ * Copyright (C) 2020-2022 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
* Modifications Copyright (C) 2021-2022 Bell Canada
* ================================================================================
package org.onap.cps.api;
import java.time.OffsetDateTime;
+import java.util.Collection;
import org.onap.cps.spi.FetchDescendantsOption;
import org.onap.cps.spi.model.DataNode;
void replaceListContent(String dataspaceName, String anchorName, String parentNodeXpath, String jsonData,
OffsetDateTime observedTimestamp);
+ /**
+ * Replaces list content by removing all existing elements and inserting the given new elements as data nodes
+ * under given parent, anchor and dataspace.
+ *
+ * @param dataspaceName dataspace-name
+ * @param anchorName anchor name
+ * @param parentNodeXpath parent node xpath
+ * @param dataNodes datanodes representing the updated data
+ * @param observedTimestamp observedTimestamp
+ */
+ void replaceListContent(String dataspaceName, String anchorName, String parentNodeXpath,
+ Collection<DataNode> dataNodes, OffsetDateTime observedTimestamp);
+
/**
* Deletes data node for given anchor and dataspace.
*
*/
void updateNodeLeavesAndExistingDescendantLeaves(String dataspaceName, String anchorName, String parentNodeXpath,
String dataNodeUpdatesAsJson, OffsetDateTime observedTimestamp);
+
+ /**
+ * Starts a session which allows use of locks and batch interaction with the persistence service.
+ *
+ * @return Session ID string
+ */
+ String startSession();
+
+ /**
+ * Close session.
+ *
+ * @param sessionId session ID
+ *
+ */
+ void closeSession(String sessionId);
}