branch develop updated (b7aabc3 -> 9a667bf)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git from b7aabc3 fixes #3731: Authorise multiple parent for WikittyAuthorisation new 9a667bf fixes #3733: Simplify field cardinality migration The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 9a667bfd586bcb9dbc5deec0e560406ac4ba03d1 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 02:22:55 2015 +0200 fixes #3733: Simplify field cardinality migration Summary of changes: .../java/org/nuiton/wikitty/entities/FieldType.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git commit 9a667bfd586bcb9dbc5deec0e560406ac4ba03d1 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 02:22:55 2015 +0200 fixes #3733: Simplify field cardinality migration --- .../java/org/nuiton/wikitty/entities/FieldType.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java b/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java index 939dd26..8ee6b63 100644 --- a/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java +++ b/wikitty-api/src/main/java/org/nuiton/wikitty/entities/FieldType.java @@ -32,6 +32,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -130,6 +131,18 @@ public class FieldType implements WikittyTagValue, Serializable { * @return object in type of this FieldType */ public Object getContainedValidObject( Object value ) { + // to permit simple migration from cardinality N to 1 for field + if (value != null && (value instanceof Collection || value.getClass().isArray())) { + int size = CollectionUtils.size(value); + if (size > 0) { + value = CollectionUtils.get(value, 0); + if (size > 1) { + log.warn("migrate field cardinality N to 1, but collection contains " + + size + " values, only first is migrate, all other are loose"); + } + } + } + Object result = null; switch (type) { case BINARY: @@ -171,8 +184,9 @@ public class FieldType implements WikittyTagValue, Serializable { result = null; } else if (isCollection()) { if ( !(value instanceof Collection || value.getClass().isArray()) ) { - throw new WikittyException( "A collection or array is expected for type " - + type.name() + "[" + lowerBound + " - " + upperBound + "]" ); + // to simplify migration from field with cardinality 1 to N + // create collection with value + value = new Object[]{value}; } Collection<Object> col; if (isUnique()) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm