Author: echatellier Date: 2010-04-20 17:12:05 +0200 (Tue, 20 Apr 2010) New Revision: 7 Log: Fix requires generation on wikitty. Also fix extensions list order. Modified: trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityBeanGenerator.java trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityGenerator.java trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityInterfaceGenerator.java Modified: trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityBeanGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityBeanGenerator.java 2010-04-20 10:05:45 UTC (rev 6) +++ trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityBeanGenerator.java 2010-04-20 15:12:05 UTC (rev 7) @@ -107,7 +107,7 @@ super(); } - }*/ +}*/ if (generatePropertyChangeListener) { /*{ protected transient PropertyChangeSupport propertyChange = new PropertyChangeSupport(this); @@ -196,7 +196,7 @@ String attrName = EXT_NAME + "$" + attr.getName(); /*{ public <%=attrType%> <%=attrName%>; - }*/ +}*/ } private void generateWikittyAttributeAccessors(Writer output, Modified: trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityGenerator.java 2010-04-20 10:05:45 UTC (rev 6) +++ trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityGenerator.java 2010-04-20 15:12:05 UTC (rev 7) @@ -168,13 +168,30 @@ if ( version == null ) { version = "1"; } -/*{ - static final public List<WikittyExtension> extensions; + + // get requires from parent + String requires = null; + String separator = ""; + for (ObjectModelClass parent : clazz.getSuperclasses()) { + if (EugengoUtils.isBusinessEntity(parent)) { + String parentExtName = "EXT_" + parent.getName().toUpperCase(); + + if (requires == null) { + requires = ""; + } + + requires += separator + parent.getName() + "." + parentExtName; + // dans le cas où on aurait un heritage multiple :) + separator = " + \",\" + "; + } + } + +/*{ static final protected List<WikittyExtension> extensions; static final public WikittyExtension extension<%=clazz.getName()%> = - new WikittyExtension(<%=EXT_NAME%>, "<%=version%>", null, + new WikittyExtension(<%=EXT_NAME%>, "<%=version%>", <%=requires%>, WikittyUtil.buildFieldMapExtension(}*/ - String separator = ""; + separator = ""; for (ObjectModelAttribute attr : clazz.getAttributes()) { if (attr.isNavigable() && !attr.isStatic() && (attr.getStereotypes() == null || attr.getStereotypes().isEmpty())) { @@ -187,18 +204,21 @@ /*{)); static { ArrayList<WikittyExtension> exts = new ArrayList<WikittyExtension>(); - exts.add(extension<%=clazz.getName()%>); }*/ for (ObjectModelClass parent : clazz.getSuperclasses()) { if (EugengoUtils.isBusinessEntity(parent)) { /*{ - exts.addAll(<%=parent.getName()%>Impl.extensions);}*/ + exts.addAll(<%=parent.getName()%>Impl.extensions); +}*/ } } /*{ + // EC-20100420 add current extension after parent ones + exts.add(extension<%=clazz.getName()%>); + extensions = Collections.unmodifiableList(exts); } - }*/ +}*/ } private void generateAttribute(Writer output, ObjectModelAttribute attr) @@ -213,7 +233,7 @@ String attrName = attr.getName(); String card = ""; - //TODO ymartel 20090812: a better way to manage those DataTypes in the model? + //TODO ymartel 20090812: a better way to manage those DataTypes in the model? if (attrType.contains("Collection") || attrType.contains("List") || attrType.contains("Set")) { card = "[0-*]"; // List<String> Modified: trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityInterfaceGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityInterfaceGenerator.java 2010-04-20 10:05:45 UTC (rev 6) +++ trunk/wikitty-generators/src/main/java/org/sharengo/wikitty/generator/BusinessEntityInterfaceGenerator.java 2010-04-20 15:12:05 UTC (rev 7) @@ -66,7 +66,7 @@ /*{public interface <%=name%> <%=extendsString%> { - static final public String <%=EXT_NAME%> = "<%=clazz.getName()%>"; + static final public String <%=EXT_NAME%> = "<%=clazz.getName()%>"; }*/ generateFieldNameConstant(output, clazz);