r3080 - trunk/topia-templates/src/main/java/org/nuiton/topia/templates
Author: tchemit Date: 2014-04-22 21:08:44 +0200 (Tue, 22 Apr 2014) New Revision: 3080 Url: http://forge.nuiton.org/projects/topia/repository/revisions/3080 Log: refs #3168 Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java 2014-04-22 10:33:34 UTC (rev 3079) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java 2014-04-22 19:08:44 UTC (rev 3080) @@ -24,6 +24,7 @@ * #L% */ +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAttribute; @@ -69,8 +70,7 @@ if (!isJavaIdentifier(attr.getName())) { isValid = false; - addError(attr, "Attribute name " + attr.getName() - + " is not valid java identifier"); + addError(attr, "Attribute name " + attr.getName() + " is not valid java identifier"); } // test sur les mots réservés ? @@ -94,8 +94,7 @@ } String attrName = attr.getName(); if (!attributesName.add(attrName)) { - addError(attr, "Attribute name " + attrName - + " already exists"); + addError(attr, "Attribute name " + attrName + " already exists"); isValid = false; } @@ -103,24 +102,31 @@ if (TopiaGeneratorUtil.isEntity(clazz)) { - Set<String> methodsName = new HashSet<String>(); + Set<String> gettersName = new HashSet<String>(); + Set<String> settersName = new HashSet<String>(); for (ObjectModelAttribute attr : clazz.getAttributes()) { String capitalizeAttrName = StringUtils.capitalize(attr.getName()); - methodsName.add(TopiaGeneratorUtil.OPERATION_GETTER_BOOLEAN_PREFIX + capitalizeAttrName); - methodsName.add(TopiaGeneratorUtil.OPERATION_GETTER_DEFAULT_PREFIX + capitalizeAttrName); - methodsName.add("set" + capitalizeAttrName); + gettersName.add(TopiaGeneratorUtil.OPERATION_GETTER_BOOLEAN_PREFIX + capitalizeAttrName); + gettersName.add(TopiaGeneratorUtil.OPERATION_GETTER_DEFAULT_PREFIX + capitalizeAttrName); + settersName.add("set" + capitalizeAttrName); } // test if there is a method an already reserved name for (ObjectModelOperation operation : clazz.getOperations()) { String operationName = operation.getName(); - if (methodsName.contains(operationName)) { + if (gettersName.contains(operationName) && CollectionUtils.isEmpty(operation.getParameters())) { addError(operation, "Operation name " + operationName - + " is already reserved for a getter/setter of an entity attribute"); + + " is already reserved for a getter of an entity attribute"); isValid = false; } + if (settersName.contains(operationName) && operation.getParameters().size() == 1) { + addError(operation, "Operation name " + operationName + + " is already reserved for a setter of an entity attribute"); + + isValid = false; + } } }
participants (1)
-
tchemit@users.nuiton.org