Add api-resource-locks feature 53/40253/8
authorJim Hahn <jrh3@att.com>
Thu, 29 Mar 2018 19:07:36 +0000 (15:07 -0400)
committerJim Hahn <jrh3@att.com>
Tue, 3 Apr 2018 14:55:19 +0000 (10:55 -0400)
commit3a80de9806cbdd0461716e814f5e674e259d42b3
treee48400fcfee10f363538bad7efa177911b0c316c
parentca3efc7d2ee9522f995adc55baa6fff3279bba70
Add api-resource-locks feature

Added ResourceLockFeatureAPI, to provide an interface for PolicyGuard
to use to access other locking mechanisms.
Move lock API to policy-core.
Changed the interface and added Callback support.  Added a class to
invoke the API implementers.
Changed to set a future instead of expecting the callback to implement
the future interface. Also refactored, creating "lock" sub-package.
Add junit tests.
Increase junit coverage.
IsLocked & isLockedBy should check all arguments.
Make ImplFuture protected instead of public.
Simplify locking - move callback support to an optional feature.
Move Reference class to policy-utils.
Return plain Future instead of LockRequestFuture.

Change-Id: I65154d33833914b4332e02d1ef2512f4c5f09b16
Issue-ID: POLICY-577
Signed-off-by: Jim Hahn <jrh3@att.com>
14 files changed:
policy-core/pom.xml
policy-core/src/main/java/org/onap/policy/drools/core/lock/Lock.java [new file with mode: 0644]
policy-core/src/main/java/org/onap/policy/drools/core/lock/LockRequestFuture.java [new file with mode: 0644]
policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPI.java [new file with mode: 0644]
policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockManager.java [new file with mode: 0644]
policy-core/src/main/java/org/onap/policy/drools/core/lock/SimpleLockManager.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/LockRequestFutureTest.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/LockTest.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPITest.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/PolicyResourceLockManagerTest.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/SimpleLockManagerTest.java [new file with mode: 0644]
policy-core/src/test/java/org/onap/policy/drools/core/lock/TestUtils.java [new file with mode: 0644]
policy-utils/src/main/java/org/onap/policy/drools/utils/Reference.java [new file with mode: 0644]
policy-utils/src/test/java/org/onap/policy/drools/utils/ReferenceTest.java [new file with mode: 0644]