notification:\r
data-updated:\r
enabled: false\r
- topic: ${CPS_CHANGE_EVENT_TOPIC:cps.cfg-state-events}\r
+ topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events}\r
filters:\r
- enabled-dataspaces: ${DATASPACE_FILTER_PATTERNS:""}\r
+ enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}\r
+ async-executor:\r
+ core-pool-size: 2\r
+ max-pool-size: 10\r
+ queue-capacity: 500\r
+ wait-for-tasks-to-complete-on-shutdown: true\r
+ thread-name-prefix: Async-\r
+ \r
\r
springdoc:\r
swagger-ui:\r
final var dataNode = buildDataNodeFromJson(dataspaceName, anchorName, parentNodeXpath, jsonData);
cpsDataPersistenceService
.updateDataLeaves(dataspaceName, anchorName, dataNode.getXpath(), dataNode.getLeaves());
- notificationService.processDataUpdatedEvent(dataspaceName, anchorName);
+ processDataUpdatedEventAsync(dataspaceName, anchorName);
}
+ @Override
+ public void updateNodeLeavesAndExistingDescendantLeaves(final String dataspaceName, final String anchorName,
+ final String parentNodeXpath,
+ final String dataNodeUpdatesAsJson) {
+ final Collection<DataNode> dataNodeUpdates =
+ buildDataNodeCollectionFromJson(dataspaceName, anchorName, parentNodeXpath, dataNodeUpdatesAsJson);
+ for (final DataNode dataNodeUpdate : dataNodeUpdates) {
+ processDataNodeUpdate(dataspaceName, anchorName, dataNodeUpdate);
+ }
+ notificationService.processDataUpdatedEvent(dataspaceName, anchorName);
+ }
+
@Override
public void replaceNodeTree(final String dataspaceName, final String anchorName, final String parentNodeXpath,
final String jsonData) {
import org.springframework.stereotype.Component;
@Component
- class CpsDataUpdatedEventFactory {
+ public class CpsDataUpdatedEventFactory {
+ private static final URI EVENT_SCHEMA;
private static final URI EVENT_SOURCE;
private static final String EVENT_TYPE = "org.onap.cps.data-updated-event";
private static final DateTimeFormatter dateTimeFormatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
- static {
+ static {
try {
+ EVENT_SCHEMA = new URI("urn:cps:org.onap.cps:data-updated-event-schema:v1");
EVENT_SOURCE = new URI("urn:cps:org.onap.cps");
} catch (final URISyntaxException e) {
// As it is fixed string, I don't expect to see this error