From 3c86680e532b959bd637b6c093b3916ae5bcee11 Mon Sep 17 00:00:00 2001 From: "Thomas Nelson Jr (arthurdent3) tn1381@att.com" Date: Tue, 13 Mar 2018 20:10:04 -0400 Subject: Docker update and POM fix Update the docker for cassandra to change ownership of imported files. Update the POM to fix bug Numerous bug fixes fro Logging and Error reporting. Change-Id: I518807f9796734134341ebefd109219050a84b51 Issue-ID: MUSIC-56, MUSIC-57, MUSIC-58 Signed-off-by: Thomas Nelson Jr (arthurdent3) tn1381@att.com --- .../java/org/onap/music/rest/RestMusicDataAPI.java | 321 ++++++++++----------- 1 file changed, 154 insertions(+), 167 deletions(-) (limited to 'src/main/java/org/onap/music/rest/RestMusicDataAPI.java') diff --git a/src/main/java/org/onap/music/rest/RestMusicDataAPI.java b/src/main/java/org/onap/music/rest/RestMusicDataAPI.java index e7af8f9f..bcdb8dd2 100755 --- a/src/main/java/org/onap/music/rest/RestMusicDataAPI.java +++ b/src/main/java/org/onap/music/rest/RestMusicDataAPI.java @@ -151,34 +151,37 @@ public class RestMusicDataAPI { @ApiParam(value = "Keyspace Name", required = true) @PathParam("name") String keyspaceName, @Context HttpServletResponse response) { - Map resultMap = CachingUtil.verifyOnboarding(ns, userId, password); + Map authMap = CachingUtil.verifyOnboarding(ns, userId, password); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (!resultMap.isEmpty()) { - return resultMap; + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } + if(kspObject == null || kspObject.getReplicationInfo() == null) { + authMap.put(ResultType.EXCEPTION.getResult(), ResultType.BODYMISSING.getResult()); + return authMap; + } try { - resultMap = MusicCore.autheticateUser(ns, userId, password, keyspaceName, aid, + authMap = MusicCore.autheticateUser(ns, userId, password, keyspaceName, aid, "createKeySpace"); } catch (Exception e) { logger.error(EELFLoggerDelegate.applicationLogger, "Exception while authenting the user."); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError("Unable to authenticate.").toMap(); } String newAid = null; - if (!resultMap.isEmpty()) { - if (resultMap.containsKey("aid")) { - newAid = (String) resultMap.get("aid"); - } else - return resultMap; + if (!authMap.isEmpty()) { + if (authMap.containsKey("aid")) { + newAid = (String) authMap.get("aid"); + } else { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); + } } String consistency = MusicUtil.EVENTUAL;// for now this needs only - // eventual - // consistency + // eventual consistency PreparedQueryObject queryObject = new PreparedQueryObject(); - boolean result = false; long start = System.currentTimeMillis(); Map replicationInfo = kspObject.getReplicationInfo(); String repString = null; @@ -199,34 +202,32 @@ public class RestMusicDataAPI { logger.info(EELFLoggerDelegate.applicationLogger, "Time taken for setting up query in create keyspace:" + (end - start)); + ResultType result = ResultType.FAILURE; try { result = MusicCore.nonKeyRelatedPut(queryObject, consistency); logger.error(EELFLoggerDelegate.errorLogger, "resulta = " + result); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put("Exception", "Couldn't create keyspace. Please make sure all the information is correct."); - + return new JsonResponse(ResultType.FAILURE) + .setError("Couldn't create keyspace. Please make sure all the information is correct.").toMap(); } - logger.debug("result = " + result); - if (!result) { - resultMap.put("Status", String.valueOf(result)); - if(!resultMap.containsKey("Exception")) - resultMap.put("Exception", "Keyspace already exists. Please contact admin."); - if (resultMap.get("uuid").equals("new")) { + + if (result==ResultType.FAILURE) { + logger.info(EELFLoggerDelegate.applicationLogger, "Cannot create keyspace, cleaning up"); + JsonResponse resultJson = new JsonResponse(ResultType.FAILURE); + resultJson.setError("Keyspace already exists. Please contact admin."); + if (authMap.get("uuid").equals("new")) { queryObject = new PreparedQueryObject(); queryObject.appendQueryString( "DELETE FROM admin.keyspace_master where uuid = " + newAid); queryObject.appendQueryString(";"); try { - result = MusicCore.nonKeyRelatedPut(queryObject, consistency); + MusicCore.nonKeyRelatedPut(queryObject, consistency); } catch (MusicServiceException e) { - logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put("Exception", e.getMessage()); + logger.error(EELFLoggerDelegate.errorLogger, + "Error cleaning up createKeyspace. Cannot DELETE uuid. " + e.getMessage()); } - resultMap.remove("aid"); - resultMap.remove("uuid"); - return resultMap; - + return resultJson.toMap(); } else { queryObject = new PreparedQueryObject(); queryObject.appendQueryString( @@ -236,50 +237,33 @@ public class RestMusicDataAPI { MusicUtil.DEFAULTKEYSPACENAME)); queryObject.addValue(MusicUtil.convertToActualDataType(DataType.uuid(), newAid)); } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put("Exception", "Unable to process input data. Invalid input data type. " - + "Please check keyspace_name and aid.. "); + logger.error(EELFLoggerDelegate.errorLogger, + "Error cleaning up createKeyspace. Cannot get correct data types" + e.getMessage()); } try { - result = MusicCore.nonKeyRelatedPut(queryObject, consistency); + MusicCore.nonKeyRelatedPut(queryObject, consistency); } catch (MusicServiceException e) { - e.printStackTrace(); logger.error(EELFLoggerDelegate.errorLogger, "Unable to process operation. Error: "+e.getMessage()); - resultMap.put("Exception", "Unable to process operation. Error: "+e.getMessage()); - return resultMap; } - resultMap.remove("aid"); - resultMap.remove("uuid"); - return resultMap; + return resultJson.toMap(); } - } + try { queryObject = new PreparedQueryObject(); queryObject.appendQueryString("CREATE ROLE IF NOT EXISTS '" + userId + "' WITH PASSWORD = '" + password + "' AND LOGIN = true;"); - result = MusicCore.nonKeyRelatedPut(queryObject, consistency); + MusicCore.nonKeyRelatedPut(queryObject, consistency); queryObject = new PreparedQueryObject(); queryObject.appendQueryString("GRANT ALL PERMISSIONS on KEYSPACE " + keyspaceName + " to '" + userId + "'"); queryObject.appendQueryString(";"); - result = MusicCore.nonKeyRelatedPut(queryObject, consistency); + MusicCore.nonKeyRelatedPut(queryObject, consistency); } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger,e.getMessage(), AppMessages.UNKNOWNERROR ,ErrorSeverity.WARN, ErrorTypes.MUSICSERVICEERROR); + logger.error(EELFLoggerDelegate.errorLogger,e.getMessage(), AppMessages.UNKNOWNERROR,ErrorSeverity.WARN, ErrorTypes.MUSICSERVICEERROR); } - resultMap.remove("uuid"); - try { - if (CachingUtil.isAAFApplication(ns)) - resultMap.remove("aid"); - } catch (MusicServiceException e) { - e.printStackTrace(); - logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put("Exception", e.getMessage()); - return resultMap; - } - resultMap.put("Status", String.valueOf(result)); - return resultMap; - + + return new JsonResponse(ResultType.SUCCESS).toMap(); } /** @@ -312,13 +296,13 @@ public class RestMusicDataAPI { @ApiParam(value = "Keyspace Name", required = true) @PathParam("name") String keyspaceName, @Context HttpServletResponse response) throws Exception { - Map resultMap = MusicCore.autheticateUser(ns, userId, password, + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspaceName, aid, "dropKeySpace"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return authMap; } String consistency = MusicUtil.EVENTUAL;// for now this needs only @@ -334,8 +318,7 @@ public class RestMusicDataAPI { long count = row.getLong(0); if (count == 0) { - resultMap.put("Exception", "Keyspace not found. Please make sure keyspace exists."); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError("Keyspace not found. Please make sure keyspace exists.").toMap(); } else if (count == 1) { pQuery = new PreparedQueryObject(); pQuery.appendQueryString( @@ -353,8 +336,7 @@ public class RestMusicDataAPI { PreparedQueryObject queryObject = new PreparedQueryObject(); queryObject.appendQueryString("DROP KEYSPACE " + keyspaceName + ";"); - return new JsonResponse(MusicCore.nonKeyRelatedPut(queryObject, consistency), "", "") - .toMap(); + return new JsonResponse(MusicCore.nonKeyRelatedPut(queryObject, consistency)).toMap(); } /** @@ -391,18 +373,17 @@ public class RestMusicDataAPI { required = true) @PathParam("tablename") String tablename, @Context HttpServletResponse response) throws Exception { - Map resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "createTable"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } String consistency = MusicUtil.EVENTUAL; // for now this needs only eventual consistency PreparedQueryObject queryObject = new PreparedQueryObject(); - boolean result = false; // first read the information about the table fields Map fields = tableObj.getFields(); StringBuilder fieldsString = new StringBuilder("(vector_ts text,"); @@ -457,13 +438,16 @@ public class RestMusicDataAPI { queryObject.appendQueryString(" WITH " + propertiesString); queryObject.appendQueryString(";"); + ResultType result = ResultType.FAILURE; + try { result = MusicCore.nonKeyRelatedPut(queryObject, consistency); } catch (MusicServiceException ex) { - return new JsonResponse(false, ex.getMessage(), "").toMap(); + response.setStatus(400); + return new JsonResponse(result).toMap(); } - return new JsonResponse(result, "", "").toMap(); + return new JsonResponse(result).toMap(); } /** @@ -499,13 +483,13 @@ public class RestMusicDataAPI { @ApiParam(value = "Field Name", required = true) @PathParam("field") String fieldName, @Context UriInfo info, @Context HttpServletResponse response) throws Exception { - Map resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "createIndex"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); MultivaluedMap rowParams = info.getQueryParameters(); String indexName = ""; if (rowParams.getFirst("index_name") != null) @@ -513,8 +497,15 @@ public class RestMusicDataAPI { PreparedQueryObject query = new PreparedQueryObject(); query.appendQueryString("Create index " + indexName + " if not exists on " + keyspace + "." + tablename + " (" + fieldName + ");"); - return new JsonResponse(MusicCore.nonKeyRelatedPut(query, "eventual"), "", "").toMap(); + + ResultType result = ResultType.FAILURE; + try { + result = MusicCore.nonKeyRelatedPut(query, "eventual"); + } catch (MusicServiceException ex) { + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); + } + return new JsonResponse(result).toMap(); } /** @@ -550,33 +541,33 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context HttpServletResponse response) { - Map resultMap = null; + Map authMap = null; try { - resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "insertIntoTable"); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } - ReturnType result = null; + Map valuesMap = insObj.getValues(); PreparedQueryObject queryObject = new PreparedQueryObject(); TableMetadata tableInfo = null; try { tableInfo = MusicCore.returnColumnMetadata(keyspace, tablename); - if(tableInfo == null) - throw new MusicServiceException("Table name doesn't exists. Please check the table name."); + if(tableInfo == null) { + return new JsonResponse(ResultType.FAILURE) + .setError("Table name doesn't exists. Please check the table name.").toMap(); + } } catch (MusicServiceException e) { - e.printStackTrace(); logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put(ResultType.SYNTAXERROR.getResult(), e.getMessage()); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } String primaryKeyName = tableInfo.getPrimaryKey().get(0).getName(); StringBuilder fieldsString = new StringBuilder("(vector_ts,"); @@ -602,7 +593,6 @@ public class RestMusicDataAPI { formattedValue = MusicUtil.convertToActualDataType(colType, valueObj); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - //return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); } valueString.append("?"); queryObject.addValue(formattedValue); @@ -616,6 +606,11 @@ public class RestMusicDataAPI { } counter = counter + 1; } + + if(primaryKey == null || primaryKey.length() <= 0) { + logger.error(EELFLoggerDelegate.errorLogger, "Some required partition key parts are missing: "+primaryKeyName ); + return new JsonResponse(ResultType.SYNTAXERROR).setError("Some required partition key parts are missing: "+primaryKeyName).toMap(); + } queryObject.appendQueryString("INSERT INTO " + keyspace + "." + tablename + " " + fieldsString + " VALUES " + valueString); @@ -644,6 +639,7 @@ public class RestMusicDataAPI { queryObject.appendQueryString(";"); + ReturnType result = null; String consistency = insObj.getConsistencyInfo().get("type"); try { if (consistency.equalsIgnoreCase(MusicUtil.EVENTUAL)) { @@ -660,13 +656,15 @@ public class RestMusicDataAPI { result = MusicCore.atomicPutWithDeleteLock(keyspace, tablename, primaryKey, queryObject, null); } - return (result != null) ? result.toMap() - : new ReturnType(ResultType.FAILURE, - "Null result - Please Contact admin").toMap(); } catch (Exception ex) { logger.error(EELFLoggerDelegate.errorLogger,ex.getMessage(), AppMessages.UNKNOWNERROR ,ErrorSeverity.WARN, ErrorTypes.MUSICSERVICEERROR); - return new ReturnType(ResultType.FAILURE, ex.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); + } + + if (result==null) { + return new JsonResponse(ResultType.FAILURE).setError("Null result - Please Contact admin").toMap(); } + return new JsonResponse(result.getResult()).toMap(); } /** @@ -703,19 +701,19 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context UriInfo info, @Context HttpServletResponse response) { - Map resultMap; + Map authMap; try { - resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "updateTable"); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } long startTime = System.currentTimeMillis(); String operationId = UUID.randomUUID().toString();// just for infoging @@ -732,14 +730,12 @@ public class RestMusicDataAPI { try { tableInfo = MusicCore.returnColumnMetadata(keyspace, tablename); } catch (MusicServiceException e) { - e.printStackTrace(); logger.error(EELFLoggerDelegate.errorLogger, e.getMessage()); - resultMap.put("Exception", e.getMessage()); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } if (tableInfo == null) { - return new ReturnType(ResultType.FAILURE, - "Table information not found. Please check input for table name= " + return new JsonResponse(ResultType.FAILURE) + .setError("Table information not found. Please check input for table name= " + keyspace + "." + tablename).toMap(); } String vectorTs = @@ -755,7 +751,6 @@ public class RestMusicDataAPI { valueString = MusicUtil.convertToActualDataType(colType, valueObj); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - //return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); } fieldValueString.append(entry.getKey() + "= ?"); queryObject.addValue(valueString); @@ -791,12 +786,13 @@ public class RestMusicDataAPI { try { rowId = getRowIdentifier(keyspace, tablename, info.getQueryParameters(), queryObject); if(rowId == null || rowId.primarKeyValue.isEmpty()) { - resultMap.put(ResultType.SYNTAXERROR.getResult(), "Mandatory WHERE clause is missing. Please check the input request."); - return resultMap; + + return new JsonResponse(ResultType.FAILURE) + .setError("Mandatory WHERE clause is missing. Please check the input request.").toMap(); } } catch (MusicServiceException ex) { logger.error(EELFLoggerDelegate.errorLogger,ex.getMessage()); - return new ReturnType(ResultType.FAILURE, ex.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } queryObject.appendQueryString( @@ -831,7 +827,7 @@ public class RestMusicDataAPI { rowId.primarKeyValue, queryObject, conditionInfo); } catch (MusicLockingException e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } } else if (consistency.equalsIgnoreCase(MusicUtil.ATOMIC)) { try { @@ -839,7 +835,7 @@ public class RestMusicDataAPI { queryObject, conditionInfo); } catch (MusicLockingException e) { logger.error(EELFLoggerDelegate.errorLogger,e.getMessage()); - return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } } long actualUpdateCompletionTime = System.currentTimeMillis(); @@ -856,9 +852,11 @@ public class RestMusicDataAPI { timingString = timingString + lockManagementTime; } logger.info(EELFLoggerDelegate.applicationLogger, timingString); - return (operationResult != null) ? operationResult.toMap() - : new ReturnType(ResultType.FAILURE, "Null result - Please Contact admin") - .toMap(); + + if (operationResult==null) { + return new JsonResponse(ResultType.FAILURE).setError("Null result - Please Contact admin").toMap(); + } + return new JsonResponse(operationResult.getResult()).toMap(); } /** @@ -895,23 +893,21 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context UriInfo info, @Context HttpServletResponse response) { - Map resultMap = null; + Map authMap = null; try { - resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "deleteFromTable"); } catch (Exception e) { - resultMap.put("Exception", e.getMessage()); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError(e.getMessage()).toMap(); } response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } if(delObj == null) { - resultMap.put("Exception", "Request body is missing. Please check your input data and retry."); - return resultMap; + return new JsonResponse(ResultType.FAILURE).setError("Required HTTP Request body is missing.").toMap(); } PreparedQueryObject queryObject = new PreparedQueryObject(); StringBuilder columnString = new StringBuilder(); @@ -932,7 +928,7 @@ public class RestMusicDataAPI { try { rowId = getRowIdentifier(keyspace, tablename, info.getQueryParameters(), queryObject); } catch (MusicServiceException ex) { - return new ReturnType(ResultType.FAILURE, ex.getMessage()).toMap(); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } String rowSpec = rowId.rowIdString.toString(); @@ -983,14 +979,13 @@ public class RestMusicDataAPI { queryObject, conditionInfo); } } catch (MusicLockingException e) { - resultMap.put("Exception", "Unable to perform Delete operation. Exception from music: "+e.getMessage()); - return resultMap; + return new JsonResponse(ResultType.FAILURE) + .setError("Unable to perform Delete operation. Exception from music").toMap(); } - try { - return operationResult.toMap(); - } catch (NullPointerException e) { - return new ReturnType(ResultType.FAILURE, e.getMessage()).toMap(); + if (operationResult==null) { + return new JsonResponse(ResultType.FAILURE).toMap(); } + return new JsonResponse(operationResult.getResult()).toMap(); } /** @@ -1025,22 +1020,22 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context HttpServletResponse response) throws Exception { - Map resultMap = + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "dropTable"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { - return resultMap; + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } String consistency = "eventual";// for now this needs only eventual // consistency PreparedQueryObject query = new PreparedQueryObject(); query.appendQueryString("DROP TABLE " + keyspace + "." + tablename + ";"); try { - return new JsonResponse(MusicCore.nonKeyRelatedPut(query, consistency), "", "").toMap(); + return new JsonResponse(MusicCore.nonKeyRelatedPut(query, consistency)).toMap(); } catch (MusicServiceException ex) { - return new JsonResponse(false, ex.getMessage(), "").toMap(); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } } @@ -1058,7 +1053,7 @@ public class RestMusicDataAPI { @ApiOperation(value = "Select Critical", response = Map.class) @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - public Map> selectCritical( + public Map selectCritical( @ApiParam(value = "Major Version", required = true) @PathParam("version") String version, @ApiParam(value = "Minor Version", @@ -1078,18 +1073,14 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context UriInfo info, @Context HttpServletResponse response) throws Exception { - Map resultMap = MusicCore.autheticateUser(ns, userId, password, keyspace, + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "selectCritical"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { logger.error("Error while authentication... "); - HashMap tempMap = new HashMap<>(); - tempMap.putAll(resultMap); - Map> results = new HashMap<>(); - results.put("Result", tempMap); - return results; + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } String lockId = selObj.getConsistencyInfo().get("lockId"); @@ -1099,7 +1090,7 @@ public class RestMusicDataAPI { try { rowId = getRowIdentifier(keyspace, tablename, info.getQueryParameters(), queryObject); } catch (MusicServiceException ex) { - return MusicUtil.setErrorResponse(ex); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } queryObject.appendQueryString( "SELECT * FROM " + keyspace + "." + tablename + " WHERE " + rowId.rowIdString + ";"); @@ -1119,7 +1110,7 @@ public class RestMusicDataAPI { results = MusicCore.atomicGetWithDeleteLock(keyspace, tablename, rowId.primarKeyValue, queryObject); } - return MusicCore.marshallResults(results); + return new JsonResponse(ResultType.SUCCESS).setDataResult(MusicCore.marshallResults(results)).toMap(); } /** @@ -1132,9 +1123,9 @@ public class RestMusicDataAPI { */ @GET @Path("/{keyspace}/tables/{tablename}/rows") - @ApiOperation(value = "Select All or Select Specivic", response = Map.class) + @ApiOperation(value = "Select All or Select Specific", response = Map.class) @Produces(MediaType.APPLICATION_JSON) - public Map> select( + public Map select( @ApiParam(value = "Major Version", required = true) @PathParam("version") String version, @ApiParam(value = "Minor Version", @@ -1153,18 +1144,14 @@ public class RestMusicDataAPI { @ApiParam(value = "Table Name", required = true) @PathParam("tablename") String tablename, @Context UriInfo info, @Context HttpServletResponse response) throws Exception { - Map resultMap = + Map authMap = MusicCore.autheticateUser(ns, userId, password, keyspace, aid, "select"); response.addHeader(xLatestVersion, MusicUtil.getVersion()); - if (resultMap.containsKey("aid")) - resultMap.remove("aid"); - if (!resultMap.isEmpty()) { + if (authMap.containsKey("aid")) + authMap.remove("aid"); + if (!authMap.isEmpty()) { logger.error(EELFLoggerDelegate.errorLogger,"", AppMessages.AUTHENTICATIONERROR ,ErrorSeverity.WARN, ErrorTypes.AUTHENTICATIONERROR); - HashMap tempMap = new HashMap<>(); - tempMap.putAll(resultMap); - Map> results = new HashMap<>(); - results.put("Result", tempMap); - return results; + return new JsonResponse(ResultType.FAILURE).setError(String.valueOf(authMap.get("Exception"))).toMap(); } PreparedQueryObject queryObject = new PreparedQueryObject(); @@ -1176,16 +1163,16 @@ public class RestMusicDataAPI { queryObject = selectSpecificQuery(version, minorVersion, patchVersion, aid, ns, userId, password, keyspace, tablename, info, limit); } catch (MusicServiceException ex) { - return MusicUtil.setErrorResponse(ex); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } } try { ResultSet results = MusicCore.get(queryObject); - return MusicCore.marshallResults(results); + return new JsonResponse(ResultType.SUCCESS).setDataResult(MusicCore.marshallResults(results)).toMap(); } catch (MusicServiceException ex) { logger.error(EELFLoggerDelegate.errorLogger,"", AppMessages.UNKNOWNERROR ,ErrorSeverity.ERROR, ErrorTypes.MUSICSERVICEERROR); - return MusicUtil.setErrorResponse(ex); + return new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap(); } } -- cgit 1.2.3-korg