This is an automated email from the git hooks/post-receive script. New commit to branch feature/ligthTopiaIdFactory in repository topia. See http://git.nuiton.org/topia.git commit 8fcde20b1c50a753a79280e988ea99399bbd6f46 Author: Arnaud Thimel <thimel@codelutin.com> Date: Fri Sep 5 16:32:43 2014 +0200 fixes #3495 Make sure class name does not contain the separator --- .../nuiton/topia/persistence/internal/DefaultTopiaIdFactory.java | 6 +++++- .../org/nuiton/topia/persistence/internal/ShortTopiaIdFactory.java | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/DefaultTopiaIdFactory.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/DefaultTopiaIdFactory.java index 2f888d5..59ea58e 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/DefaultTopiaIdFactory.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/DefaultTopiaIdFactory.java @@ -33,6 +33,8 @@ import org.nuiton.topia.persistence.TopiaIdFactory; import java.util.UUID; +import com.google.common.base.Preconditions; + /** * Default implementation of {@link TopiaIdFactory}. Generates a FQN followed by a random UUID. * @@ -56,7 +58,9 @@ public class DefaultTopiaIdFactory implements TopiaIdFactory { throw new IllegalArgumentException( "Only interface is permit to create id: " + entityClass); } - String result = entityClass.getName() + getSeparator() + randomPart; + String className = entityClass.getName(); + Preconditions.checkArgument(!className.contains(getSeparator()), "Your entity class name must not contains the separator"); + String result = className + getSeparator() + randomPart; return result; } diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/ShortTopiaIdFactory.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/ShortTopiaIdFactory.java index 62981b4..eec24eb 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/ShortTopiaIdFactory.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/ShortTopiaIdFactory.java @@ -11,6 +11,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.TopiaIdFactory; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; @@ -49,7 +50,9 @@ public class ShortTopiaIdFactory implements TopiaIdFactory { throw new IllegalArgumentException( "Only interface is permit to create id: " + entityClass); } - String result = entityClass.getSimpleName() + getSeparator() + randomPart; + String simpleName = entityClass.getSimpleName(); + Preconditions.checkArgument(!simpleName.contains(getSeparator()), "Your entity class name must not contains the separator"); + String result = simpleName + getSeparator() + randomPart; return result; } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.