Author: bleny Date: 2010-08-16 18:12:57 +0200 (Mon, 16 Aug 2010) New Revision: 264 Url: http://nuiton.org/repositories/revision/wikitty/264 Log: bugfixes ; removing static equals Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-16 14:00:32 UTC (rev 263) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-16 16:12:57 UTC (rev 264) @@ -64,8 +64,6 @@ addConstructors(processedClasses.get(businessEntity)); - addStaticEquals(businessEntity, processedClasses.get(businessEntity)); - addConstants(businessEntity, processedClasses.get(businessEntity)); } @@ -104,7 +102,6 @@ "long", serialVersionUIDs.toString() + "L", ObjectModelModifier.PRIVATE); - } protected void addConstructors(ObjectModelClass clazz) { @@ -229,44 +226,6 @@ } - protected void addStaticEquals(ObjectModelClass businessEntity, ObjectModelClass abstractClass) { - - ObjectModelOperation equals = addOperation(abstractClass, "equals", "boolean", ObjectModelModifier.STATIC); - addParameter(equals, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "w1"); - addParameter(equals, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "w2"); - - // the body of the equals method, will be assembled while reading attributes - String equalsBody = "" -/*{ - boolean result = true; -}*/; - String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(businessEntity, true); - for(ObjectModelAttribute attribute : businessEntity.getAttributes()) { - if (attribute.isNavigable()) { - // two variables needed below - String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute, true); - - // considering field in equals body - equalsBody += "" -/*{ - if (result) { - Object f1 = w1.getFieldAsObject(<%= extensionVariableName %>, <%= fieldVariableName %>); - Object f2 = w2.getFieldAsObject(<%= extensionVariableName %>, <%= fieldVariableName %>); - result = f1 == f2 || (f1 != null && f1.equals(f2)); - }; -}*/; - } - } - - // finishing equals body - equalsBody += "" -/*{ - return result; -}*/; - setOperationBody(equals, equalsBody); - - } - protected void addOperations(ObjectModelClass businessEntity, ObjectModelClass abstractClass) { String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(businessEntity, true); @@ -287,6 +246,7 @@ // attributed is a collection, we will generate operations get, add, remove and clear String attributeTypeSimpleNameInSet = WikittyTransformerUtil.generateResultType(attribute, true); + String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute); // now, for this attribute, we will generate add, remove and clear methods // adding operations to contract @@ -295,7 +255,7 @@ addAnnotation(abstractClass, getter, "Override"); String getterBody = "" /*{ - <%= attributeTypeSimpleNameInSet %> result = getWikitty().getFieldAsSet(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeType %>.class); + <%= attributeTypeSimpleNameInSet %> result = getWikitty().<%=getFieldMethodName%>(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeType %>.class); return result; }*/; setOperationBody(getter, getterBody); @@ -334,7 +294,7 @@ } else { - String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute.getType()); + String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute); // adding getter and setter to contract String getterName = "get" + StringUtils.capitalize(attributeName); @@ -353,8 +313,8 @@ setOperationBody(setter, "" /*{ Object oldValue = getField(<%=extensionVariableName%>, <%=fieldVariableName%>); - getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>); - getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attribute.getName()%>); + getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeName%>); + getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attributeName%>); }*/); } } Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-16 14:00:32 UTC (rev 263) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-16 16:12:57 UTC (rev 264) @@ -65,6 +65,7 @@ // attributed is a collection, we will generate operations get, add, remove and clear String attributeTypeSimpleNameInSet = WikittyTransformerUtil.generateResultType(attribute, true); + String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute); // now, for this attribute, we will generate add, remove and clear methods // adding operations to contract @@ -73,7 +74,7 @@ addParameter(getter, "Wikitty", "wikitty"); String getterBody = "" /*{ - <%=attributeTypeSimpleNameInSet%> result = wikitty.getFieldAsSet(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeType%>.class); + <%=attributeTypeSimpleNameInSet%> result = wikitty.<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeType%>.class); return result; }*/; setOperationBody(getter, getterBody); @@ -109,7 +110,7 @@ } else { - String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute.getType()); + String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute); // adding getter and setter to contract String getterName = "get" + StringUtils.capitalize(attributeName); @@ -127,7 +128,7 @@ addParameter(setter, attributeType, attributeName); setOperationBody(setter, "" /*{ - wikitty.setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>); + wikitty.setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeName%>); }*/); } } Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java 2010-08-16 14:00:32 UTC (rev 263) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java 2010-08-16 16:12:57 UTC (rev 264) @@ -3,6 +3,7 @@ import java.util.HashSet; import java.util.Set; +import org.apache.commons.lang.StringUtils; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; @@ -77,54 +78,46 @@ * @param typeName a name of a business entity or "String", "Integer" etc. * @return the name of a method "getFieldAsInt" for example */ - protected static String generateGetFieldAsCall(String typeName) { - String asWhat = FQNtoSimpleName(typeName); - if ("boolean".equals(asWhat)) { - asWhat = "Boolean"; - } else if ("int".equals(asWhat) || "Integer".equals(asWhat)) { - asWhat = "Int"; - } else if ("Date".equals(asWhat)) { - // asWhat = "Date"; - } else if (commonStrings.contains(asWhat)) { - asWhat = "String"; + protected static String generateGetFieldAsCall(ObjectModelAttribute attribute) { + String asWhat = null; + if (isAttributeCollection(attribute)) { + asWhat = getCollectionTypeName(attribute); } else { - asWhat = "String"; + String simpleTypeName = FQNtoSimpleName(attribute.getType()); + if (commonTypes.contains(simpleTypeName)) { + asWhat = StringUtils.capitalize(simpleTypeName); + } else { + asWhat = "Wikitty"; + } } return "getFieldAs" + asWhat; } - + /** for a given type of attribute, the getter returned type must be... */ protected static String generateResultType(ObjectModelAttribute attribute, boolean considerMultiplicity) { - String type = FQNtoSimpleName(attribute.getType()); - - if ("boolean".equals(type) || "Boolean".equals(type)) { - // - } else if ("int".equals(type) || "Integer".equals(type)) { - // - } else if ("Date".equals(type)) { - // - } else { - type = "String"; + String simpleTypeName = FQNtoSimpleName(attribute.getType()); + if (! commonTypes.contains(simpleTypeName)) { + simpleTypeName = "String"; // return a wikitty Id } - String result = type; if (considerMultiplicity && isAttributeCollection(attribute)) { - result = "Collection<" + type + ">"; - if (attribute.isUnique()) { - if (attribute.isOrdered()) { - result = "LinkedHashSet<" + type + ">"; - } else { - result = "Set<" + type + ">"; - } - } else { - result = "List<" + type + ">"; - } + simpleTypeName = getCollectionTypeName(attribute) + "<" + simpleTypeName + ">"; } - return result; + return simpleTypeName; } + protected static String getCollectionTypeName(ObjectModelAttribute attribute) { + String result = null; + if (attribute.isUnique()) { + result = "Set"; + } else { + result = "List"; + } + return result; + } + public static boolean isAttributeCollection(ObjectModelAttribute attribute) { return attribute.getMaxMultiplicity() == -1 // -1 is infinity || attribute.getMaxMultiplicity() > 1; @@ -133,21 +126,16 @@ protected static String typeToWikittyColumn(String type) { String simpleType = FQNtoSimpleName(type); String result = null; - if ("Date".equals(simpleType)) { - result = "Date"; - } else if ("String".equals(simpleType)) { - result = "String"; - } else if ("boolean".equals(simpleType)) { - result = "boolean"; - } else if ("int".equals(simpleType) || - "Integer".equals(simpleType)) { - result = "Numeric"; - } else { + if (!commonTypes.contains(simpleType)) { result = "Wikitty"; + } else if(commonNumerics.contains(simpleType)) { + result = "Numeric"; + } else if(commonStrings.contains(simpleType)) { + result = "String"; } return result; } - + private static Set<String> commonNumerics; static { commonNumerics = new HashSet<String>(); @@ -182,6 +170,4 @@ commonTypes.add("Boolean"); commonTypes.add("Date"); } - - }
participants (1)
-
bleny@users.nuiton.org