Author: bpoussin Date: 2010-12-29 18:32:33 +0100 (Wed, 29 Dec 2010) New Revision: 673 Url: http://nuiton.org/repositories/revision/wikitty/673 Log: Anomalie #1182: WikittyException when copying a wikitty with a lower bound > 0 bad set implementation,, we must use set that support correctly set for collection, and not clear + addAll Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java 2010-12-29 14:31:51 UTC (rev 672) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java 2010-12-29 17:32:33 UTC (rev 673) @@ -194,6 +194,14 @@ col.add( getContainedValidObject(o) ); } result = col; + + // check bound condition + if (!(getLowerBound() <= col.size() && col.size() <= getUpperBound())) { + // if upper bound reached, throw an exception + throw new WikittyException(String.format( + "Can't set collection value, bad size collection: %s <= %s <= %s is false", + getLowerBound(), col.size(), getUpperBound())); + } } else { result = getContainedValidObject(value); } Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-12-29 14:31:51 UTC (rev 672) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-12-29 17:32:33 UTC (rev 673) @@ -143,8 +143,7 @@ addParameter(setter, attributeTypeSimpleNameInSet, attributeName); String setterBody = "" /*{ - clear<%=attributeNameCapitalized%>(wikitty); - addAll<%=attributeNameCapitalized%>(wikitty, <%=attributeName%>); + wikitty.setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeName%>); }*/; setOperationBody(setter, setterBody);
participants (1)
-
bpoussin@users.nuiton.org