You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by il...@apache.org on 2020/05/26 07:57:47 UTC

[ignite] branch master updated: IGNITE-10970 Replace hardcode in msg with enum values - Fixes #7822.

This is an automated email from the ASF dual-hosted git repository.

ilyak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new d4fccf3  IGNITE-10970 Replace hardcode in msg with enum values - Fixes #7822.
d4fccf3 is described below

commit d4fccf30fe03172874960c20e29df4eec6125666
Author: Maksim Timonin <ti...@gmail.com>
AuthorDate: Tue May 26 10:57:08 2020 +0300

    IGNITE-10970 Replace hardcode in msg with enum values - Fixes #7822.
    
    Signed-off-by: Ilya Kasnacheev <il...@gmail.com>
---
 .../processors/query/h2/sql/GridSqlQueryParser.java | 21 ++++++++++-----------
 .../cache/index/H2DynamicTableSelfTest.java         |  3 ++-
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
index 9d14aae..8a05953 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.query.h2.sql;
 
 import java.lang.reflect.Field;
 import java.sql.PreparedStatement;
+import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -29,6 +30,7 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 import javax.cache.CacheException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.IgniteLogger;
@@ -1550,21 +1552,18 @@ public class GridSqlQueryParser {
             case PARAM_ATOMICITY:
                 ensureNotEmpty(name, val);
 
-                CacheAtomicityMode atomicityMode;
+                try {
+                    res.atomicityMode(CacheAtomicityMode.valueOf(val.toUpperCase()));
+                } catch (IllegalArgumentException e) {
+                    String validVals = Arrays.stream(CacheAtomicityMode.values())
+                        .map(Enum::name)
+                        .collect(Collectors.joining(", "));
 
-                if (CacheAtomicityMode.TRANSACTIONAL.name().equalsIgnoreCase(val))
-                    atomicityMode = CacheAtomicityMode.TRANSACTIONAL;
-                else if (CacheAtomicityMode.ATOMIC.name().equalsIgnoreCase(val))
-                    atomicityMode = CacheAtomicityMode.ATOMIC;
-                else if (CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT.name().equalsIgnoreCase(val))
-                    atomicityMode = CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT;
-                else {
                     throw new IgniteSQLException("Invalid value of \"" + PARAM_ATOMICITY + "\" parameter " +
-                        "(should be either TRANSACTIONAL or ATOMIC): " + val, IgniteQueryErrorCode.PARSING);
+                        "(should be either " + validVals + "): " + val,
+                        IgniteQueryErrorCode.PARSING, e);
                 }
 
-                res.atomicityMode(atomicityMode);
-
                 break;
 
             case PARAM_CACHE_NAME:
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
index 49f8b93..6a3b72b 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
@@ -757,7 +757,8 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
     @Test
     public void testInvalidAtomicity() {
         assertCreateTableWithParamsThrows("atomicity=InvalidValue",
-            "Invalid value of \"ATOMICITY\" parameter (should be either TRANSACTIONAL or ATOMIC): InvalidValue");
+            "Invalid value of \"ATOMICITY\" parameter (should be either TRANSACTIONAL, ATOMIC, " +
+            "TRANSACTIONAL_SNAPSHOT): InvalidValue");
     }
 
     /**