diff options
Diffstat (limited to 'src/main/java/org/onap/music/service/MusicCoreService.java')
-rw-r--r-- | src/main/java/org/onap/music/service/MusicCoreService.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/org/onap/music/service/MusicCoreService.java b/src/main/java/org/onap/music/service/MusicCoreService.java index 61e4905e..a50e7c2a 100644 --- a/src/main/java/org/onap/music/service/MusicCoreService.java +++ b/src/main/java/org/onap/music/service/MusicCoreService.java @@ -29,6 +29,7 @@ import org.onap.music.datastore.PreparedQueryObject; import org.onap.music.exceptions.MusicLockingException; import org.onap.music.exceptions.MusicQueryException; import org.onap.music.exceptions.MusicServiceException; +import org.onap.music.lockingservice.cassandra.LockType; import org.onap.music.lockingservice.cassandra.MusicLockState; import org.onap.music.main.ResultType; import org.onap.music.main.ReturnType; @@ -72,8 +73,22 @@ public interface MusicCoreService { // Core Music Locking Service Methods + /** + * Create a lock ref in the music lock store. + * Default is write as this is the safest semantically + * + * @param fullyQualifiedKey the key to create a lock on + * @see {@link #creatLockReference(String, LockType)} + */ public String createLockReference(String fullyQualifiedKey) throws MusicLockingException; // lock name + /** + * Create a lock ref in the music lock store + * @param fullyQualifiedKey the key to create a lock on + * @param locktype the type of lock create, see {@link LockType} + */ + public String createLockReference(String fullyQualifiedKey, LockType locktype) throws MusicLockingException; + public ReturnType acquireLockWithLease(String key, String lockReference, long leasePeriod) throws MusicLockingException, MusicQueryException, MusicServiceException; // key,lock id,time @@ -85,7 +100,19 @@ public interface MusicCoreService { public ResultSet quorumGet(PreparedQueryObject query); + /** + * Gets top of queue for fullyQualifiedKey + * @param fullyQualifiedKey + * @return + */ public String whoseTurnIsIt(String fullyQualifiedKey);// lock name + + /** + * Gets the current lockholder(s) for lockName + * @param lockName + * @return + */ + public List<String> getCurrentLockHolders(String fullyQualifiedKey); public void destroyLockRef(String lockId) throws MusicLockingException; @@ -107,4 +134,5 @@ public interface MusicCoreService { public Map<String, Object> validateLock(String lockName); public MusicLockState releaseLock(String lockId, boolean voluntaryRelease) throws MusicLockingException; + } |