You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/08/23 09:39:19 UTC
[10/12] ignite git commit: Minors.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7694fbe7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7694fbe7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7694fbe7
Branch: refs/heads/ignite-3716-1
Commit: 7694fbe72c6edca9d1e0dedbf285ed0065a86eaf
Parents: cc8f1e9
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 23 12:13:36 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 23 12:13:36 2016 +0300
----------------------------------------------------------------------
.../processors/odbc/escape/OdbcParser.java | 109 ++++++++++---------
.../OdbcScalarFunctionEscapeSequenceTest.java | 5 +-
2 files changed, 59 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7694fbe7/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
index 3d5eff61..f4d822a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
@@ -116,6 +116,9 @@ public class OdbcParser {
curPos++;
}
+ if (openPos != -1)
+ throw new IgniteException("Malformed escape sequence (closing curly brace missing): " + text);
+
if (curPos > plainPos)
res.append(text, plainPos, curPos);
@@ -123,37 +126,6 @@ public class OdbcParser {
}
/**
- * Append nested results.
- *
- * @param text Original text.
- * @param startPos Start position.
- * @param endPos End position.
- * @param nestedRess Nested results.
- * @return Result.
- */
- private static String appendNested(String text, int startPos, int endPos, LinkedList<ParseResult> nestedRess) {
- StringBuilder res = new StringBuilder();
-
- int curPos = startPos;
-
- for (ParseResult nestedRes : nestedRess) {
- // Append text between current position and replace.
- res.append(text, curPos, nestedRes.originalStart);
-
- // Append replaced text.
- res.append(nestedRes.res);
-
- // Advance position.
- curPos = nestedRes.originalStart + nestedRes.originalLen;
- }
-
- // Append remainder.
- res.append(text, curPos, endPos);
-
- return res.toString();
- }
-
- /**
* Parse concrete expression.
*
* @param text Text.
@@ -196,43 +168,48 @@ public class OdbcParser {
}
/**
- * Perform "substring" using start position and length.
+ * Parse concrete expression.
*
* @param text Text.
* @param startPos Start position.
* @param len Length.
- * @return Substring.
+ * @return Parsed expression.
*/
- private static String substring(String text, int startPos, int len) {
+ private static String parseScalarExpression(String text, int startPos, int len) {
assert validSubstring(text, startPos, len);
- return text.substring(startPos, startPos + len);
+ return substring(text, startPos + 3, len - 3).trim();
}
/**
- * Check whether substring is valid.
+ * Append nested results.
*
- * @param text Substring.
+ * @param text Original text.
* @param startPos Start position.
- * @param len Length.
- * @return {@code True} if valid.
+ * @param endPos End position.
+ * @param nestedRess Nested results.
+ * @return Result.
*/
- private static boolean validSubstring(String text, int startPos, int len) {
- return text != null && startPos + len <= text.length();
- }
+ private static String appendNested(String text, int startPos, int endPos, LinkedList<ParseResult> nestedRess) {
+ StringBuilder res = new StringBuilder();
- /**
- * Parse concrete expression.
- *
- * @param text Text.
- * @param startPos Start position.
- * @param len Length.
- * @return Parsed expression.
- */
- private static String parseScalarExpression(String text, int startPos, int len) {
- assert validSubstring(text, startPos, len);
+ int curPos = startPos;
- return substring(text, startPos + 3, len - 3).trim();
+ for (ParseResult nestedRes : nestedRess) {
+ // Append text between current position and replace.
+ res.append(text, curPos, nestedRes.originalStart);
+
+ // Append replaced text.
+ res.append(nestedRes.res);
+
+ // Advance position.
+ curPos = nestedRes.originalStart + nestedRes.originalLen;
+ }
+
+ // Append remainder.
+ res.append(text, curPos, endPos);
+
+ return res.toString();
}
/**
@@ -253,6 +230,32 @@ public class OdbcParser {
}
/**
+ * Perform "substring" using start position and length.
+ *
+ * @param text Text.
+ * @param startPos Start position.
+ * @param len Length.
+ * @return Substring.
+ */
+ private static String substring(String text, int startPos, int len) {
+ assert validSubstring(text, startPos, len);
+
+ return text.substring(startPos, startPos + len);
+ }
+
+ /**
+ * Check whether substring is valid.
+ *
+ * @param text Substring.
+ * @param startPos Start position.
+ * @param len Length.
+ * @return {@code True} if valid.
+ */
+ private static boolean validSubstring(String text, int startPos, int len) {
+ return text != null && startPos + len <= text.length();
+ }
+
+ /**
* Escape sequence type.
*/
private enum SequenceType {
http://git-wip-us.apache.org/repos/asf/ignite/blob/7694fbe7/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
index 4aa62c4..19e8bf1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.odbc;
import java.util.concurrent.Callable;
import junit.framework.TestCase;
+import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.odbc.escape.OdbcEscapeSequenceUtils;
import org.apache.ignite.internal.processors.odbc.escape.OdbcParser;
import org.apache.ignite.testframework.GridTestUtils;
@@ -171,7 +172,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
return null;
}
- }, IllegalStateException.class, null);
+ }, IgniteException.class, null);
}
/** */
@@ -186,6 +187,6 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
return null;
}
- }, IllegalStateException.class, null);
+ }, IgniteException.class, null);
}
}