Author: fdesbois Date: 2010-04-08 12:18:07 +0200 (Thu, 08 Apr 2010) New Revision: 855 Log: Ano #474 : Don't manage imports on attribute defaultValue, must be managed manually in Transformer Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2010-04-07 15:59:30 UTC (rev 854) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2010-04-08 10:18:07 UTC (rev 855) @@ -267,7 +267,9 @@ String value, ObjectModelModifier... modifiers) { this.addImport(classifier, type); - this.addImport(classifier, value); + // ANO#474 FD-20100408 : problem with import from defaultValue, will + // not be supported from version 2.0.1 + //this.addImport(classifier, value); return modelBuilder.addAttribute(classifier, name, type, value, modifiers); } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java 2010-04-07 15:59:30 UTC (rev 854) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java 2010-04-08 10:18:07 UTC (rev 855) @@ -28,6 +28,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.Set; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.eugene.GeneratorUtil; @@ -387,9 +388,12 @@ String attrType = GeneratorUtil.getSimpleName(attr.getType()); String attrStatic = attr.isStatic() ? " static" : ""; String attrFinal = attr.isFinal() ? " final" : ""; - String attrValue = attr.getDefaultValue() != null && - !attr.getDefaultValue().isEmpty() ? - " = " + GeneratorUtil.getSimpleName(attr.getDefaultValue()) : ""; + String attrValue = StringUtils.isNotEmpty(attr.getDefaultValue()) ? + // ANO#474 FD-20100408 : Don't do any simplification for + // defaultValue, must be managed when the attribute is added + // to the class in the Transformer. + " = " + attr.getDefaultValue() : ""; +// " = " + GeneratorUtil.getSimpleName(attr.getDefaultValue()) : ""; /*{<%=prefix%> <%=attrVisibility%><%=attrStatic%><%=attrFinal%> <%=attrType%> <%=attrName%><%=attrValue%>; }*/ Modified: trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2010-04-07 15:59:30 UTC (rev 854) +++ trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2010-04-08 10:18:07 UTC (rev 855) @@ -21,9 +21,8 @@ package org.nuiton.eugene.java; -import java.util.Iterator; +import java.util.ArrayList; import java.util.List; -import java.util.Set; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; @@ -36,7 +35,6 @@ import org.nuiton.eugene.models.object.ObjectModelClassifier; import org.nuiton.eugene.models.object.ObjectModelModifier; import org.nuiton.eugene.models.object.ObjectModelOperation; -import org.nuiton.eugene.models.object.ObjectModelParameter; import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; /** @@ -228,15 +226,19 @@ ObjectModelModifier.PUBLIC); builder.addAttribute(classifier, "roles", "java.util.List<org.chorem.bonzoms.Role>", - "new java.util.ArrayList<org.chorem.bonzoms.Role>()", + "new ArrayList<Role>()", ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC); + // ANO#474 : manage manually imports for defaultValue + builder.addImport(classifier, "java.util.ArrayList"); + // Check imports ImportsManagerExtension ext = builder.getModel().getExtension( ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class); List<String> imports = ext.getImports(classifier); - assertEquals(2, imports.size()); // no imports for org.chorem.bonzoms.Role and java.lang.String + // no imports for org.chorem.bonzoms.Role and java.lang.String + assertEquals(2, imports.size()); assertTrue(imports.contains("java.util.ArrayList")); assertTrue(imports.contains("java.util.List")); }