Remove zookeeper reference
[music.git] / src / main / java / org / onap / music / rest / RestMusicDataAPI.java
index ff44abf..a7522b9 100755 (executable)
@@ -444,90 +444,90 @@ public class RestMusicDataAPI {
                   else fieldsString.append("," + entry.getKey() + " " + entry.getValue() + "");
             }
 
-             if (counter != (fields.size() - 1) ) {
-              
-              counter = counter + 1; 
-             } else {
-        
-               if((primaryKey != null) && (partitionKey == null)) {
-                  primaryKey = primaryKey.trim();
-                  int count1 = StringUtils.countMatches(primaryKey, ')');
-                  int count2 = StringUtils.countMatches(primaryKey, '(');
-                  if (count1 != count2) {
+            if (counter != (fields.size() - 1) ) {
+
+                counter = counter + 1; 
+            } else {
+
+                if((primaryKey != null) && (partitionKey == null)) {
+                    primaryKey = primaryKey.trim();
+                    int count1 = StringUtils.countMatches(primaryKey, ')');
+                    int count2 = StringUtils.countMatches(primaryKey, '(');
+                    if (count1 != count2) {
                         return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE)
-                             .setError("Create Table Error: primary key '(' and ')' do not match, primary key=" + primaryKey)
-                                   .toMap()).build();
-                  }
+                                .setError("Create Table Error: primary key '(' and ')' do not match, primary key=" + primaryKey)
+                                .toMap()).build();
+                    }
 
-                if ( primaryKey.indexOf('(') == -1  || ( count2 == 1 && (primaryKey.lastIndexOf(')') +1) ==  primaryKey.length() ) )
-                  {
-                         if (primaryKey.contains(",") ) {
+                    if ( primaryKey.indexOf('(') == -1  || ( count2 == 1 && (primaryKey.lastIndexOf(')') +1) ==  primaryKey.length() ) )
+                    {
+                        if (primaryKey.contains(",") ) {
                             partitionKey= primaryKey.substring(0,primaryKey.indexOf(','));
-                             partitionKey=partitionKey.replaceAll("[\\(]+","");
-                             clusterKey=primaryKey.substring(primaryKey.indexOf(',')+1);  // make sure index
-                             clusterKey=clusterKey.replaceAll("[)]+", "");
-                         } else {
-                          partitionKey=primaryKey;
-                          partitionKey=partitionKey.replaceAll("[\\)]+","");
-                             partitionKey=partitionKey.replaceAll("[\\(]+","");
-                          clusterKey="";
+                            partitionKey=partitionKey.replaceAll("[\\(]+","");
+                            clusterKey=primaryKey.substring(primaryKey.indexOf(',')+1);  // make sure index
+                            clusterKey=clusterKey.replaceAll("[)]+", "");
+                        } else {
+                            partitionKey=primaryKey;
+                            partitionKey=partitionKey.replaceAll("[\\)]+","");
+                            partitionKey=partitionKey.replaceAll("[\\(]+","");
+                            clusterKey="";
+                        }
+                    } else {   // not null and has ) before the last char
+                        partitionKey= primaryKey.substring(0,primaryKey.indexOf(')'));
+                        partitionKey=partitionKey.replaceAll("[\\(]+","");
+                        partitionKey = partitionKey.trim();
+                        clusterKey= primaryKey.substring(primaryKey.indexOf(')'));
+                        clusterKey=clusterKey.replaceAll("[\\(]+","");
+                        clusterKey=clusterKey.replaceAll("[\\)]+","");
+                        clusterKey = clusterKey.trim();
+                        if (clusterKey.indexOf(',') == 0) clusterKey=clusterKey.substring(1);
+                        clusterKey = clusterKey.trim();
+                        if (clusterKey.equals(",") ) clusterKey=""; // print error if needed    ( ... ),)
                     }
-                } else {   // not null and has ) before the last char
-                       partitionKey= primaryKey.substring(0,primaryKey.indexOf(')'));
-                       partitionKey=partitionKey.replaceAll("[\\(]+","");
-                       partitionKey = partitionKey.trim();
-                       clusterKey= primaryKey.substring(primaryKey.indexOf(')'));
-                       clusterKey=clusterKey.replaceAll("[\\(]+","");
-                       clusterKey=clusterKey.replaceAll("[\\)]+","");
-                       clusterKey = clusterKey.trim();
-                       if (clusterKey.indexOf(',') == 0) clusterKey=clusterKey.substring(1);
-                       clusterKey = clusterKey.trim();
-                       if (clusterKey.equals(",") ) clusterKey=""; // print error if needed    ( ... ),)
-              }
-
-              if (!(partitionKey.isEmpty() || clusterKey.isEmpty())
-                    && (partitionKey.equalsIgnoreCase(clusterKey) ||
-                      clusterKey.contains(partitionKey) || partitionKey.contains(clusterKey)) )
-               {
-                  logger.error("DataAPI createTable partition/cluster key ERROR: partitionKey="+partitionKey+", clusterKey=" + clusterKey + " and primary key=" + primaryKey );
-                      return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(
-                            "Create Table primary key error: clusterKey(" + clusterKey + ") equals/contains/overlaps partitionKey(" +partitionKey+ ")  of"
-                                    + " primary key=" + primaryKey)
-                              .toMap()).build();
 
-            }
+                    if (!(partitionKey.isEmpty() || clusterKey.isEmpty())
+                            && (partitionKey.equalsIgnoreCase(clusterKey) ||
+                                    clusterKey.contains(partitionKey) || partitionKey.contains(clusterKey)) )
+                    {
+                        logger.error("DataAPI createTable partition/cluster key ERROR: partitionKey="+partitionKey+", clusterKey=" + clusterKey + " and primary key=" + primaryKey );
+                        return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(
+                                "Create Table primary key error: clusterKey(" + clusterKey + ") equals/contains/overlaps partitionKey(" +partitionKey+ ")  of"
+                                        + " primary key=" + primaryKey)
+                                .toMap()).build();
+
+                    }
 
-            if (partitionKey.isEmpty() )  primaryKey="";
-            else  if (clusterKey.isEmpty() ) primaryKey=" (" + partitionKey  + ")";
-            else  primaryKey=" (" + partitionKey + ")," + clusterKey;
-
-            
-            if (primaryKey != null) fieldsString.append(", PRIMARY KEY (" + primaryKey + " )");
-
-      } // end of length > 0
-              else {
-                 if (!(partitionKey.isEmpty() || clusterKey.isEmpty())
-                        && (partitionKey.equalsIgnoreCase(clusterKey) ||
-                          clusterKey.contains(partitionKey) || partitionKey.contains(clusterKey)) )
-                   {
-                     logger.error("DataAPI createTable partition/cluster key ERROR: partitionKey="+partitionKey+", clusterKey=" + clusterKey);
-                     return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(
+                    if (partitionKey.isEmpty() )  primaryKey="";
+                    else  if (clusterKey.isEmpty() ) primaryKey=" (" + partitionKey  + ")";
+                    else  primaryKey=" (" + partitionKey + ")," + clusterKey;
+
+
+                    if (primaryKey != null) fieldsString.append(", PRIMARY KEY (" + primaryKey + " )");
+
+                } // end of length > 0
+                else {
+                    if (!(partitionKey.isEmpty() || clusterKey.isEmpty())
+                            && (partitionKey.equalsIgnoreCase(clusterKey) ||
+                                    clusterKey.contains(partitionKey) || partitionKey.contains(clusterKey)) )
+                    {
+                        logger.error("DataAPI createTable partition/cluster key ERROR: partitionKey="+partitionKey+", clusterKey=" + clusterKey);
+                        return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(
                                 "Create Table primary key error: clusterKey(" + clusterKey + ") equals/contains/overlaps partitionKey(" +partitionKey+ ")")
                                 .toMap()).build();
-                }
+                    }
 
-                if (partitionKey.isEmpty() )  primaryKey="";
-                else  if (clusterKey.isEmpty() ) primaryKey=" (" + partitionKey  + ")";
-                else  primaryKey=" (" + partitionKey + ")," + clusterKey;
+                    if (partitionKey.isEmpty() )  primaryKey="";
+                    else  if (clusterKey.isEmpty() ) primaryKey=" (" + partitionKey  + ")";
+                    else  primaryKey=" (" + partitionKey + ")," + clusterKey;
 
-                
-                if (primaryKey != null) fieldsString.append(", PRIMARY KEY (" + primaryKey + " )");
-            }
-      fieldsString.append(")");
 
-     } // end of last field check
+                    if (primaryKey != null) fieldsString.append(", PRIMARY KEY (" + primaryKey + " )");
+                }
+                fieldsString.append(")");
 
-    } // end of for each
+            } // end of last field check
+
+        } // end of for each
         // information about the name-value style properties
         Map<String, Object> propertiesMap = tableObj.getProperties();
         StringBuilder propertiesString = new StringBuilder();
@@ -555,40 +555,40 @@ public class RestMusicDataAPI {
         String clusteringOrder = tableObj.getClusteringOrder();
 
         if (clusteringOrder != null && !(clusteringOrder.isEmpty())) {
-           String[] arrayClusterOrder = clusteringOrder.split("[,]+");
+            String[] arrayClusterOrder = clusteringOrder.split("[,]+");
 
-        for (int i = 0; i < arrayClusterOrder.length; i++) {
-        String[] clusterS = arrayClusterOrder[i].trim().split("[ ]+");
-        if ( (clusterS.length ==2)  && (clusterS[1].equalsIgnoreCase("ASC") || clusterS[1].equalsIgnoreCase("DESC"))) {
-            continue;
-        } else {
-            return response.status(Status.BAD_REQUEST)
-                .entity(new JsonResponse(ResultType.FAILURE)
-                .setError("createTable/Clustering Order vlaue ERROR: valid clustering order is ASC or DESC or expecting colname  order; please correct clusteringOrder:"+ clusteringOrder+".")
-                .toMap()).build();
-        }
+            for (int i = 0; i < arrayClusterOrder.length; i++) {
+                String[] clusterS = arrayClusterOrder[i].trim().split("[ ]+");
+                if ( (clusterS.length ==2)  && (clusterS[1].equalsIgnoreCase("ASC") || clusterS[1].equalsIgnoreCase("DESC"))) {
+                    continue;
+                } else {
+                    return response.status(Status.BAD_REQUEST)
+                            .entity(new JsonResponse(ResultType.FAILURE)
+                                    .setError("createTable/Clustering Order vlaue ERROR: valid clustering order is ASC or DESC or expecting colname  order; please correct clusteringOrder:"+ clusteringOrder+".")
+                                    .toMap()).build();
+                }
                 // add validation for column names in cluster key
-        }
+            }
 
-       if (!(clusterKey.isEmpty())) {
-            clusteringOrder = "CLUSTERING ORDER BY (" +clusteringOrder +")";
-            //cjc check if propertiesString.length() >0 instead propertiesMap
-            if (propertiesMap != null) {
-                propertiesString.append(" AND  "+ clusteringOrder);
+            if (!(clusterKey.isEmpty())) {
+                clusteringOrder = "CLUSTERING ORDER BY (" +clusteringOrder +")";
+                //cjc check if propertiesString.length() >0 instead propertiesMap
+                if (propertiesMap != null) {
+                    propertiesString.append(" AND  "+ clusteringOrder);
+                } else {
+                    propertiesString.append(clusteringOrder);
+                }
             } else {
-                propertiesString.append(clusteringOrder);
-            }
-       } else {
                 logger.warn("Skipping clustering order=("+clusteringOrder+ ") since clustering key is empty ");
-       }
-    } //if non empty
+            }
+        } //if non empty
 
-    queryObject.appendQueryString(
-        "CREATE TABLE " + keyspace + "." + tablename + " " + fieldsString);
+        queryObject.appendQueryString(
+                "CREATE TABLE " + keyspace + "." + tablename + " " + fieldsString);
 
 
-    if (propertiesString != null &&  propertiesString.length()>0 )
-        queryObject.appendQueryString(" WITH " + propertiesString);
+        if (propertiesString != null &&  propertiesString.length()>0 )
+            queryObject.appendQueryString(" WITH " + propertiesString);
         queryObject.appendQueryString(";");
         ResultType result = ResultType.FAILURE;
         try {
@@ -862,10 +862,6 @@ public class RestMusicDataAPI {
                 result = MusicCore.atomicPut(keyspace, tablename, primaryKey, queryObject, null);
 
             }
-            else if (consistency.equalsIgnoreCase(MusicUtil.ATOMICDELETELOCK)) {
-                result = MusicCore.atomicPutWithDeleteLock(keyspace, tablename, primaryKey, queryObject, null);
-
-            }
         } catch (Exception ex) {
             logger.error(EELFLoggerDelegate.errorLogger,ex.getMessage(), AppMessages.UNKNOWNERROR  ,ErrorSeverity.WARN, ErrorTypes.MUSICSERVICEERROR);
             return response.status(Status.BAD_REQUEST).entity(new JsonResponse(ResultType.FAILURE).setError(ex.getMessage()).toMap()).build();
@@ -1238,11 +1234,7 @@ public class RestMusicDataAPI {
             } else if (consistency.equalsIgnoreCase(MusicUtil.ATOMIC)) {
                     operationResult = MusicCore.atomicPut(keyspace, tablename, rowId.primarKeyValue,
                                     queryObject, conditionInfo);
-            }
-            else if (consistency.equalsIgnoreCase(MusicUtil.ATOMICDELETELOCK)) {
-                    operationResult = MusicCore.atomicPutWithDeleteLock(keyspace, tablename, rowId.primarKeyValue,
-                                    queryObject, conditionInfo);
-            }else if(consistency.equalsIgnoreCase(MusicUtil.EVENTUAL_NB)) {
+            } else if(consistency.equalsIgnoreCase(MusicUtil.EVENTUAL_NB)) {
                 
                 operationResult = MusicCore.eventualPut_nb(queryObject, keyspace, tablename, rowId.primarKeyValue);
             }
@@ -1397,10 +1389,6 @@ public class RestMusicDataAPI {
         } else if (consistency.equalsIgnoreCase(MusicUtil.ATOMIC)) {
             results = MusicCore.atomicGet(keyspace, tablename, rowId.primarKeyValue, queryObject);
         }
-
-        else if (consistency.equalsIgnoreCase(MusicUtil.ATOMICDELETELOCK)) {
-            results = MusicCore.atomicGetWithDeleteLock(keyspace, tablename, rowId.primarKeyValue, queryObject);
-        }
         if(results!=null && results.getAvailableWithoutFetching() >0) {
             return response.status(Status.OK).entity(new JsonResponse(ResultType.SUCCESS).setDataResult(MusicDataStoreHandle.marshallResults(results)).toMap()).build();
         }