aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/music/rest/RestMusicLocksAPI.java
diff options
context:
space:
mode:
authorNelson, Thomas (arthurdent3) <nelson24@att.com>2019-05-09 14:16:37 +0000
committerTschaen, Brendan <ctschaen@att.com>2019-05-13 14:34:05 -0400
commitd6e7b63cc580e7b3822be61fe92a493ad5e222a3 (patch)
tree5a055529781a2989585075e13426979464f5fb33 /src/main/java/org/onap/music/rest/RestMusicLocksAPI.java
parent9a8b8ae8d7c8d6931f99def68068f8936a8cc0b3 (diff)
Changes Listed below:
- Added build version API - Updated Keyspace active to use Properties setting - Update Libraries Netty,jbcrypt,Jackson Databind and log4j - Removed some irrelivant files - Updated some usint tests to ignore some tests(This will be updated soon) - Bugfixes - Missing Values, inform user. - Respond with proper error - Fix Locking Contention issue. - Add locking retry for atomic calls. Change-Id: Ie218dd92edb0c20e4a0efe33eeaaec84e5293c44 Issue-ID: MUSIC-393 Signed-off-by: Nelson, Thomas (arthurdent3) <nelson24@att.com>
Diffstat (limited to 'src/main/java/org/onap/music/rest/RestMusicLocksAPI.java')
-rw-r--r--src/main/java/org/onap/music/rest/RestMusicLocksAPI.java38
1 files changed, 15 insertions, 23 deletions
diff --git a/src/main/java/org/onap/music/rest/RestMusicLocksAPI.java b/src/main/java/org/onap/music/rest/RestMusicLocksAPI.java
index 77c6ef1f..49b2d816 100644
--- a/src/main/java/org/onap/music/rest/RestMusicLocksAPI.java
+++ b/src/main/java/org/onap/music/rest/RestMusicLocksAPI.java
@@ -47,6 +47,7 @@ import org.onap.music.eelf.logging.EELFLoggerDelegate;
import org.onap.music.eelf.logging.format.AppMessages;
import org.onap.music.eelf.logging.format.ErrorSeverity;
import org.onap.music.eelf.logging.format.ErrorTypes;
+import org.onap.music.exceptions.MusicLockingException;
import org.onap.music.lockingservice.cassandra.MusicLockState;
import org.onap.music.main.MusicCore;
import org.onap.music.main.MusicUtil;
@@ -67,7 +68,7 @@ public class RestMusicLocksAPI {
private static final String XMINORVERSION = "X-minorVersion";
private static final String XPATCHVERSION = "X-patchVersion";
private static final String VERSION = "v2";
-
+
private MusicAuthenticator authenticator = new MusicAAFAuthentication();
/**
@@ -113,7 +114,12 @@ public class RestMusicLocksAPI {
}
ResultType status = ResultType.SUCCESS;
- String lockId = MusicCore.createLockReference(lockName);
+ String lockId;
+ try {
+ lockId= MusicCore.createLockReference(lockName);
+ } catch (MusicLockingException e) {
+ return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap()).build();
+ }
if (lockId == null) {
status = ResultType.FAILURE;
@@ -328,28 +334,13 @@ public class RestMusicLocksAPI {
return response.status(Status.OK).entity(new JsonResponse(status).setError(error).setLock(lockName).setLockHolder(who).toMap()).build();
} finally {
EELFLoggerDelegate.mdcRemove("keyspace");
- }
-
- //MusicLockState mls = MusicZKCore.getMusicLockState(lockName);
-// Map<String,Object> returnMap = null;
-// JsonResponse jsonResponse = new JsonResponse(ResultType.FAILURE).setLock(lockName);
-// if(mls == null) {
-// jsonResponse.setError("");
-// jsonResponse.setMessage("No lock object created yet..");
-// logger.error(EELFLoggerDelegate.errorLogger,"", AppMessages.INCORRECTDATA ,ErrorSeverity.CRITICAL, ErrorTypes.GENERALSERVICEERROR);
-// return response.status(Status.BAD_REQUEST).entity(jsonResponse.toMap()).build();
-// } else {
-// jsonResponse.setStatus(ResultType.SUCCESS);
-// jsonResponse.setLockStatus(mls.getLockStatus());
-// jsonResponse.setLockHolder(mls.getLockHolder());
-// return response.status(Status.OK).entity(jsonResponse.toMap()).build();
-// }
+ }
}
/**
*
- * deletes the process from the zk queue
+ * deletes the process from the lock queue
*
* @param lockId
* @throws Exception
@@ -357,7 +348,7 @@ public class RestMusicLocksAPI {
@DELETE
@Path("/release/{lockreference}")
@ApiOperation(value = "Release Lock",
- notes = "deletes the process from the zk queue",
+ notes = "deletes the process from the lock queue",
response = Map.class)
@Produces(MediaType.APPLICATION_JSON)
public Response unLock(@PathParam("lockreference") String lockId,
@@ -412,14 +403,15 @@ public class RestMusicLocksAPI {
}
/**
- *
+ * @deprecated
* @param lockName
* @throws Exception
*/
@DELETE
@Path("/delete/{lockname}")
- @ApiOperation(value = "Delete Lock", response = Map.class)
- @Produces(MediaType.APPLICATION_JSON)
+ @ApiOperation(value = "Delete Lock", response = Map.class, hidden = true, notes = "Deprecated")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Deprecated
public Response deleteLock(@PathParam("lockname") String lockName,
@ApiParam(value = "Minor Version",required = false) @HeaderParam(XMINORVERSION) String minorVersion,
@ApiParam(value = "Patch Version",required = false) @HeaderParam(XPATCHVERSION) String patchVersion,