Author: echatellier Date: 2010-06-24 16:09:22 +0200 (Thu, 24 Jun 2010) New Revision: 153 Url: http://nuiton.org/repositories/revision/wikitty/153 Log: Restore old field type definition parsing (unique, not null). Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-06-23 16:17:59 UTC (rev 152) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-06-24 14:09:22 UTC (rev 153) @@ -96,13 +96,15 @@ * <li>group 1: type (string) * <li>group 2: name (string) * <li>group 3: lower bound (number) can be null - * <li>group 4: upper bound (number) can be null, mutualy exclusif with group 5 + * <li>group 4: upper bound (number) can be null, mutually exclusive with group 5 * <li>group 5: upper bound (n or *) can be null - * <li>group 6: all tag/value (toto=titi tutu=tata;lala tata="truc bidulle") + * <li>group 6: unique can be null (legacy configuration, prefer use of {@code unique="true"} + * <li>group 7: not null can be null (legacy configuration, prefer use of {@code notNull="true"} + * <li>group 8: all tag/value (toto=titi tutu=tata;lala tata="truc bidulle") */ static protected Pattern fieldPattern = Pattern .compile( - "\\s*(\\w+)\\s+(\\w+)(?:\\s*\\[(\\d+)-(?:(\\d+)|([\\*n]))\\])?((?:\\s+" + "\\s*(\\w+)\\s+(\\w+)(?:\\s*\\[(\\d+)-(?:(\\d+)|([\\*n]))\\])?(?:\\s+(unique))?(?:\\s+(not null))?((?:\\s+" + tagValuesPatternString + ")*)", Pattern.DOTALL); /** @@ -133,8 +135,22 @@ fieldType.upperBound = FieldType.NOLIMIT; } - String tagValues = match.group(6); + // parse group 8 before + String tagValues = match.group(8); Map<String, String> tagValuesMap = tagValuesToMap(tagValues); + + // legacy field definition : unique + String uniqueString = match.group(6); + if (uniqueString != null) { + tagValuesMap.put(FieldType.UNIQUE, "true"); + } + + // legacy field definition : not null + String notNullString = match.group(7); + if (notNullString != null) { + tagValuesMap.put(FieldType.NOT_NULL, "true"); + } + fieldType.setTagValues(tagValuesMap); return name;