Merge "Performance Improvement: Temporal event"
diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml
index ea1b93b..1755134 100644
--- a/cps-application/src/main/resources/application.yml
+++ b/cps-application/src/main/resources/application.yml
@@ -107,8 +107,8 @@
             enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}

     async:

         executor:

-            core-pool-size: 10

-            max-pool-size: 100

+            core-pool-size: 2

+            max-pool-size: 10

             queue-capacity: 500

             wait-for-tasks-to-complete-on-shutdown: true

             thread-name-prefix: Async-

diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy
index 863977a..81268cb 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy
@@ -21,12 +21,11 @@
 
 package org.onap.cps.ncmp.api.inventory.sync
 
-import org.mockito.Mock
+
 import org.onap.cps.ncmp.api.impl.event.lcm.LcmEventsCmHandleStateHandler
 import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle
 import org.onap.cps.ncmp.api.inventory.CmHandleState
 import org.onap.cps.ncmp.api.inventory.CompositeState
-import org.onap.cps.ncmp.api.inventory.DataStoreSyncState
 import org.onap.cps.ncmp.api.inventory.InventoryPersistence
 import org.onap.cps.ncmp.api.inventory.LockReasonCategory
 import org.onap.cps.ncmp.api.inventory.CompositeStateBuilder
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy
index 82e9d33..fb4ca39 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy
@@ -62,13 +62,25 @@
     @Shared
     def dataNode = new DataNode(leaves: ['id': 'cm-handle-123'])
 
+    @Shared
+    def dataNodeAdditionalProperties = new DataNode(leaves: ['name': 'dmiProp1', 'value': 'dmiValue1'])
+
+
     def 'Get an advised Cm-Handle where ADVISED cm handle #scenario'() {
         given: 'the inventory persistence service returns a collection of data nodes'
             mockCmHandleQueries.getCmHandlesByState(CmHandleState.ADVISED) >> dataNodeCollection
+        and: 'we have some additional (dmi, private) properties'
+            dataNodeAdditionalProperties.xpath = dataNode.xpath + '/additional-properties[@name="dmiProp1"]'
+            dataNode.childDataNodes = [dataNodeAdditionalProperties]
         when: 'get advised cm handles are fetched'
             def yangModelCmHandles = objectUnderTest.getAdvisedCmHandles()
         then: 'the returned data node collection is the correct size'
             yangModelCmHandles.size() == expectedDataNodeSize
+        and: 'if there is a data node the additional (dmi, private) properties are included'
+            if (expectedDataNodeSize > 0) {
+                assert yangModelCmHandles[0].dmiProperties[0].name == 'dmiProp1'
+                assert yangModelCmHandles[0].dmiProperties[0].value == 'dmiValue1'
+            }
         and: 'yang model collection contains the correct data'
             yangModelCmHandles.stream().map(yangModel -> yangModel.id).collect(Collectors.toSet()) ==
                 dataNodeCollection.stream().map(dataNode -> dataNode.leaves.get("id")).collect(Collectors.toSet())
diff --git a/docs/cps-events.rst b/docs/cps-events.rst
index a28d4b0..34b5a5f 100644
--- a/docs/cps-events.rst
+++ b/docs/cps-events.rst
@@ -8,12 +8,6 @@
 CPS Events
 ##########
 
-CPS Core
-********
-..
-   Cps core events yet to be written
-
-
 CPS-NCMP
 ********
 
@@ -23,16 +17,7 @@
 
 Overview
 --------
-Lifecycle management events are published as cm handle state transitions from one state to another.
-
-
-LCM events and state handler
-----------------------------
-The LCM events are triggered under the state handler which has the following responsibilities:
-
-#. Updating and persisting cm handle state based on the target state of the cm handle
-
-#. Create and calls to publish the LCM event based on the cm handle state transition that occured
+LCM events for CM Handles are published when a CM Handle is created, deleted or another change in the cm handle state occurs.
 
 	**3 possible event types:**
 
@@ -40,8 +25,6 @@
 	* Update
 	* Delete
 
-
-
 LCM Event Schema
 ----------------
 The current published LCM event is based on the following schema: