r1329 - in trunk: eugene/src/main/java/org/nuiton/eugene/java eugene-java-templates/src/main/java/org/nuiton/eugene/java eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator
Author: bleny Date: 2014-04-15 17:20:21 +0200 (Tue, 15 Apr 2014) New Revision: 1329 Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1329 Log: fixes #3147 Review implications of ordering and uniqueness in collections Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/AbstractJavaBeanTransformer.java trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2014-04-15 13:20:57 UTC (rev 1328) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2014-04-15 15:20:21 UTC (rev 1329) @@ -501,7 +501,7 @@ @Override public String toString(ObjectModelParameter param) { - return new StringBuilder(getAttributeType(param)). + return new StringBuilder(getAttributeInterfaceType(param)). append(' '). append(param.getName()). toString(); @@ -519,7 +519,7 @@ Collection<ObjectModelAttribute> params = clazz.getAttributes(); for (Iterator<ObjectModelAttribute> j = params.iterator(); j.hasNext(); ) { ObjectModelAttribute attr = j.next(); - result.append(getAttributeType(attr, true)).append(" ").append(attr.getName()); + result.append(getAttributeInterfaceType(attr, true)).append(" ").append(attr.getName()); if (j.hasNext()) { result.append(", "); } @@ -530,10 +530,10 @@ /** * @param attribute the attribute to test * @return the type of the given attribute - * @see #getAttributeType(ObjectModelParameter, boolean) + * @see #getAttributeInterfaceType(ObjectModelParameter, boolean) */ - public static String getAttributeType(ObjectModelParameter attribute) { - return getAttributeType(attribute, false); + public static String getAttributeInterfaceType(ObjectModelParameter attribute) { + return getAttributeInterfaceType(attribute, false); } /** @@ -544,9 +544,9 @@ * @param useGenerics {@code true} if the attribute use a generic type * @return attribute type */ - public static String getAttributeType(ObjectModelParameter attribute, - boolean useGenerics) { - return getAttributeType(attribute, attribute.getType(), useGenerics); + public static String getAttributeInterfaceType(ObjectModelParameter attribute, + boolean useGenerics) { + return getAttributeInterfaceType(attribute, attribute.getType(), useGenerics); } /** @@ -558,9 +558,9 @@ * @param useGenerics {@code true} if the attribute use a generic type * @return attribute type */ - public static String getAttributeType(ObjectModelParameter attribute, - String attributeType, - boolean useGenerics) { + public static String getAttributeInterfaceType(ObjectModelParameter attribute, + String attributeType, + boolean useGenerics) { String result; if (attribute instanceof ObjectModelAttribute && isNMultiplicity((ObjectModelAttribute) attribute)) { @@ -574,4 +574,27 @@ } return result; } + + public static String getAttributeImplementationType(ObjectModelParameter attribute, + String attributeType, + boolean useGenerics) { + String result; + if (attribute instanceof ObjectModelAttribute + && isNMultiplicity((ObjectModelAttribute) attribute)) { + + result = getCollectionInstanceType((ObjectModelAttribute) attribute).getName(); + if (useGenerics) { + result += "<" + attributeType + ">"; + } + } else { + result = attributeType; + } + return result; + } + + public static String getAttributeImplementationType(ObjectModelParameter attribute, + boolean useGenerics) { + return getAttributeImplementationType(attribute, attribute.getType(), useGenerics); + } + } Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/AbstractJavaBeanTransformer.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/AbstractJavaBeanTransformer.java 2014-04-15 13:20:57 UTC (rev 1328) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/AbstractJavaBeanTransformer.java 2014-04-15 15:20:21 UTC (rev 1329) @@ -181,7 +181,7 @@ ); // Change type for Multiple attribute - attrType = JavaGeneratorUtil.getAttributeType(attr, true); + attrType = JavaGeneratorUtil.getAttributeInterfaceType(attr, true); simpleType = JavaGeneratorUtil.getSimpleName(attrType); } Modified: trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java =================================================================== --- trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java 2014-04-15 13:20:57 UTC (rev 1328) +++ trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java 2014-04-15 15:20:21 UTC (rev 1329) @@ -358,7 +358,7 @@ attrType = attrType.substring(dot + 1); } if (GeneratorUtil.isNMultiplicity(attr)) { - attrType = JavaGeneratorUtil.getAttributeType(attr, attrType, true); + attrType = JavaGeneratorUtil.getAttributeInterfaceType(attr, attrType, true); } /*{ <%=attrVisibility%> <%=attrType%> <%=attrName%>; @@ -407,7 +407,7 @@ attrType = attrType.substring(dot + 1); } if (GeneratorUtil.isNMultiplicity(attr)) { - attrType = JavaGeneratorUtil.getAttributeType(attr, attrType, true); + attrType = JavaGeneratorUtil.getAttributeInterfaceType(attr, attrType, true); } /*{ public <%=attrType%> get<%=attrNameCapitalized%>() { return <%=attrName%>; @@ -441,7 +441,7 @@ attrType = attrType.substring(dot + 1); } if (GeneratorUtil.isNMultiplicity(attr)) { - attrType = JavaGeneratorUtil.getAttributeType(attr, attrType, true); + attrType = JavaGeneratorUtil.getAttributeInterfaceType(attr, attrType, true); } /*{ public void set<%=attrNameCapitalized%>(<%=attrType%> newValue) { <%=attrType%> oldValue = get<%=attrNameCapitalized%>(); Modified: trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java =================================================================== --- trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2014-04-15 13:20:57 UTC (rev 1328) +++ trunk/eugene-maven-plugin/src/it/generate/generators/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2014-04-15 15:20:21 UTC (rev 1329) @@ -50,9 +50,7 @@ import org.nuiton.eugene.java.ObjectModelTransformerToJava; import org.nuiton.eugene.models.object.*; -import java.util.Collection; import java.util.Iterator; -import java.util.List; /*{generator option: parentheses = false}*/ @@ -178,7 +176,7 @@ ); // Change type for Multiple attribute - attrType = JavaGeneratorUtil.getAttributeType(attr, true); + attrType = JavaGeneratorUtil.getAttributeInterfaceType(attr, true); simpleType = GeneratorUtil.getSimpleName(attrType); }
participants (1)
-
bleny@users.nuiton.org