Concurrency improvements 97/3097/3
authorPatrikBuhr <patrik.buhr@est.tech>
Wed, 1 Apr 2020 13:43:03 +0000 (15:43 +0200)
committerPatrikBuhr <patrik.buhr@est.tech>
Thu, 2 Apr 2020 06:08:01 +0000 (08:08 +0200)
commitae4206bbd7437adda91fc429efef03a13da2b702
treed18bcbb5758edc51193ac46be773287b7bfc500b
parentf717be406eb84bfcd42d844e4791cfd74dd2ad02
Concurrency improvements

The test for concurrency is improved so it involves RIC
synchronizations.

The principles for synchronization is simplified so that
classes in repository always returns copies of collections.

RIC syncronization is taking an exclusive lock during syncronization,
which leads to that a client will not get an HTTP error when accessing
a RIC that is synched. Instead, the client will be kept waiting until
the synch is completed.

Change-Id: I67568e8ef63b4b559a341ed8136e41119c9b7e6b
Issue-ID: NONRTRIC-164
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
16 files changed:
policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java
policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java
policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceController.java
policy-agent/src/main/java/org/oransc/policyagent/repository/Policies.java
policy-agent/src/main/java/org/oransc/policyagent/repository/PolicyTypes.java
policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java
policy-agent/src/main/java/org/oransc/policyagent/repository/Services.java
policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java
policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSynchronizationTask.java
policy-agent/src/main/java/org/oransc/policyagent/tasks/ServiceSupervision.java
policy-agent/src/test/java/org/oransc/policyagent/ApplicationTest.java
policy-agent/src/test/java/org/oransc/policyagent/ConcurrencyTestRunnable.java [new file with mode: 0644]
policy-agent/src/test/java/org/oransc/policyagent/MockPolicyAgent.java
policy-agent/src/test/java/org/oransc/policyagent/tasks/RicSynchronizationTaskTest.java
policy-agent/src/test/java/org/oransc/policyagent/utils/MockA1Client.java
policy-agent/src/test/java/org/oransc/policyagent/utils/MockA1ClientFactory.java