Revision: 2809
Author:
stephan...@continuent.com
Date: Wed Apr 8 16:14:33 2015 UTC
Log: Update issue 1112
Handling parentheses inside values by catching the last of the string
instead of the first
https://code.google.com/p/tungsten-replicator/source/detail?r=2809
Modified:
/branches/3.0.0-maintenance/replicator/src/java/com/continuent/tungsten/replicator/filter/EnumToStringFilter.java
/branches/3.0.0-maintenance/replicator/test/java/com/continuent/tungsten/replicator/filter/EnumToStringFilterTest.java
=======================================
---
/branches/3.0.0-maintenance/replicator/src/java/com/continuent/tungsten/replicator/filter/EnumToStringFilter.java
Sun Jul 6 05:09:28 2014 UTC
+++
/branches/3.0.0-maintenance/replicator/src/java/com/continuent/tungsten/replicator/filter/EnumToStringFilter.java
Wed Apr 8 16:14:33 2015 UTC
@@ -333,7 +333,7 @@
// Parse out what's inside brackets.
String keyword = colType + "(";
int iA = definition.toLowerCase().indexOf(keyword);
- int iB = definition.indexOf(')', iA);
+ int iB = definition.lastIndexOf(')');
String list = definition.substring(iA + keyword.length(), iB);
// Split by comma, remove quotes and save into array.
=======================================
---
/branches/3.0.0-maintenance/replicator/test/java/com/continuent/tungsten/replicator/filter/EnumToStringFilterTest.java
Fri Jan 25 13:24:26 2013 UTC
+++
/branches/3.0.0-maintenance/replicator/test/java/com/continuent/tungsten/replicator/filter/EnumToStringFilterTest.java
Wed Apr 8 16:14:33 2015 UTC
@@ -124,4 +124,15 @@
+ enumValues[parsedLargestPos] + ")", largest.length(),
parsedLargestLen);
}
+
+ public void testParseEnumWithParenthesis() throws Exception
+ {
+ String enumDefinition = "ENUM('test (1)','test (2)','test (3)')";
+ String[] enumValues = EnumToStringFilter
+ .parseEnumeration(enumDefinition);
+ Assert.assertEquals("Failed to extract correct number of enum
values",
+ 3, enumValues.length);
+
+ }
+
}