Author: bleny Date: 2010-09-30 10:18:10 +0200 (Thu, 30 Sep 2010) New Revision: 370 Url: http://nuiton.org/repositories/revision/wikitty/370 Log: make generated classes bean (setter returns void) ; add some methods for meta-extensions Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-09-29 12:41:13 UTC (rev 369) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-09-30 08:18:10 UTC (rev 370) @@ -340,16 +340,16 @@ <%=attributeType%> value = <%=helperClassName%>.<%=getterName%>(getWikitty()); return value; }*/); - + String setterName = "set" + StringUtils.capitalize(attributeName); - ObjectModelOperation setter = addOperation(abstractClass, setterName, attributeType); + ObjectModelOperation setter = addOperation(abstractClass, setterName, "void"); addAnnotation(abstractClass, setter, "Override"); addParameter(setter, attributeType, attributeName); setOperationBody(setter, "" /*{ - <%=attributeType%> oldValue = <%=helperClassName%>.<%=setterName%>(getWikitty(), <%=attributeName%>); + <%=attributeType%> oldValue = <%=getterName%>(); + <%=helperClassName%>.<%=setterName%>(getWikitty(), <%=attributeName%>); getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=getter.getName()%>()); - return oldValue; }*/); } @@ -499,7 +499,7 @@ if (extensionForMetaExtension == null) { result = <%=helperClassName%>.<%=getterName%>(getWikitty()); } else { - result = <%=helperClassName%>.<%=getterName%>(extensionForMetaExtension, getWikitty()); + result = <%=helperClassName%>.<%=getterName%>(extensionForMetaExtension.getName(), getWikitty()); } return result; }*/; @@ -515,7 +515,7 @@ <%=helperClassName%>.<%=addName%>(getWikitty(), element); getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>()); } else { - <%=helperClassName%>.<%=addName%>(extensionForMetaExtension, getWikitty(), element); + <%=helperClassName%>.<%=addName%>(extensionForMetaExtension.getName(), getWikitty(), element); String fieldName = <%=helperClassName%>.getMetaFieldName(extensionForMetaExtension, "<%=attributeName%>"); getPropertyChangeSupport().firePropertyChange(fieldName, null, <%=getter.getName()%>()); } @@ -532,7 +532,7 @@ <%=helperClassName%>.<%=removeName%>(getWikitty(), element); getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>()); } else { - <%=helperClassName%>.<%=removeName%>(extensionForMetaExtension, getWikitty(), element); + <%=helperClassName%>.<%=removeName%>(extensionForMetaExtension.getName(), getWikitty(), element); String fieldName = <%=helperClassName%>.getMetaFieldName(extensionForMetaExtension, "<%=attributeName%>"); getPropertyChangeSupport().firePropertyChange(fieldName, null, <%=getter.getName()%>()); } @@ -548,7 +548,7 @@ <%=helperClassName%>.<%=clearName%>(getWikitty()); getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>()); } else { - <%=helperClassName%>.<%=clearName%>(extensionForMetaExtension, getWikitty()); + <%=helperClassName%>.<%=clearName%>(extensionForMetaExtension.getName(), getWikitty()); String fieldName = <%=helperClassName%>.getMetaFieldName(extensionForMetaExtension, "<%=attributeName%>"); getPropertyChangeSupport().firePropertyChange(fieldName, null, <%=getter.getName()%>()); } @@ -569,23 +569,25 @@ if (extensionForMetaExtension == null) { value = <%=helperClassName%>.<%=getterName%>(getWikitty()); } else { - value = <%=helperClassName%>.<%=getterName%>(extensionForMetaExtension, getWikitty()); + value = <%=helperClassName%>.<%=getterName%>(extensionForMetaExtension.getName(), getWikitty()); } return value; }*/); String setterName = "set" + StringUtils.capitalize(attributeName); - ObjectModelOperation setter = addOperation(abstractClassForThisMetaExtension, setterName, attributeType); + ObjectModelOperation setter = addOperation(abstractClassForThisMetaExtension, setterName, "void"); addAnnotation(abstractClassForThisMetaExtension, setter, "Override"); addParameter(setter, attributeType, attributeName); setOperationBody(setter, "" /*{ <%=attributeType%> oldValue; if (extensionForMetaExtension == null) { - oldValue = <%=helperClassName%>.<%=setterName%>(getWikitty(), <%=attributeName%>); + oldValue = <%=getterName%>(); + <%=helperClassName%>.<%=setterName%>(getWikitty(), <%=attributeName%>); getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=getter.getName()%>()); } else { - oldValue = <%=helperClassName%>.<%=setterName%>(extensionForMetaExtension, getWikitty(), <%=attributeName%>); + oldValue = <%=getterName%>(); + <%=helperClassName%>.<%=setterName%>(extensionForMetaExtension.getName(), getWikitty(), <%=attributeName%>); String fieldName = <%=helperClassName%>.getMetaFieldName(extensionForMetaExtension, "<%=attributeName%>"); getPropertyChangeSupport().firePropertyChange(fieldName, oldValue, <%=getter.getName()%>()); } Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-09-29 12:41:13 UTC (rev 369) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-09-30 08:18:10 UTC (rev 370) @@ -204,7 +204,7 @@ getter = addOperation(contract, getterName, attributeType); String setterName = "set" + StringUtils.capitalize(attributeName); - ObjectModelOperation setter = addOperation(contract, setterName, attributeType); + ObjectModelOperation setter = addOperation(contract, setterName, "void"); addParameter(setter, attributeType, attributeName); } Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-09-29 12:41:13 UTC (rev 369) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-09-30 08:18:10 UTC (rev 370) @@ -194,13 +194,22 @@ - // finally, adding isExtention and addExtension + // finally, adding isExtension, hasExtension and addExtension ObjectModelOperation isExtension = addOperation(helper, "isExtension", "boolean", ObjectModelModifier.STATIC); addParameter(isExtension, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); - setDocumentation(isExtension, "Check if wikitty has current extension"); + addAnnotation(helper, isExtension, "Deprecated"); + setDocumentation(isExtension, "@deprecated renamed to keep consistency, use hasExtension instead"); setOperationBody(isExtension, "" /*{ + return hasExtension(wikitty); +}*/); + + ObjectModelOperation hasExtension = addOperation(helper, "hasExtension", "boolean", ObjectModelModifier.STATIC); + addParameter(hasExtension, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); + setDocumentation(hasExtension, "check if wikitty has current extension"); + setOperationBody(hasExtension, "" +/*{ return wikitty.hasExtension(<%=extensionVariableName%>); }*/); @@ -219,21 +228,34 @@ /** add needed operations if input model element has stereotype "meta" */ protected void createOperationForMetaExtension(ObjectModelClass metaExtension, ObjectModelClass helper) { + + String abstractName = WikittyTransformerUtil.businessEntityToAbstractName(metaExtension); + String contractName = WikittyTransformerUtil.businessEntityToContractName(metaExtension); + ObjectModelOperation addMetaExtension = addOperation(helper, "addMetaExtension", "void", ObjectModelModifier.STATIC); addParameter(addMetaExtension, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); addParameter(addMetaExtension, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); setDocumentation(addMetaExtension, String.format( "add %s meta-extension on given extension to the given wikitty", metaExtension.getName())); - String abstractName = WikittyTransformerUtil.businessEntityToAbstractName(metaExtension); - String contractName = WikittyTransformerUtil.businessEntityToContractName(metaExtension); setOperationBody(addMetaExtension, "" /*{ wikitty.addMetaExtension(<%=abstractName%>.extension<%=contractName%>, extension); }*/); + ObjectModelOperation hasMetaExtension = addOperation(helper, "hasMetaExtension", "boolean", ObjectModelModifier.STATIC); + addParameter(hasMetaExtension, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(hasMetaExtension, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); + setDocumentation(hasMetaExtension, String.format( + "true if given wikitty has %s meta-extension on given extension", + metaExtension.getName())); + setOperationBody(hasMetaExtension, "" +/*{ + wikitty.hasMetaExtension(<%=abstractName%>.extension<%=contractName%>, extension); +}*/); + // now adding getMetaFielName, both implementations @@ -257,7 +279,7 @@ metaExtension.getName())); setOperationBody(getMetaFieldNameFromExtensionName, "" /*{ - String metaFieldName = String.format("%s<%=META_EXTENSION_SEPARATOR%><%=metaExtension.getName()%>.%s", extensionName, fieldName); + String metaFieldName = WikittyUtil.getMetaFieldName("<%=metaExtension.getName()%>", extensionName, fieldName); return metaFieldName; }*/); @@ -288,11 +310,11 @@ // adding operations to contract String getterName = "get" + StringUtils.capitalize(attributeName); ObjectModelOperation getter = addOperation(helper, getterName, attributeTypeSimpleNameInSet, ObjectModelModifier.STATIC); - addParameter(getter, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(getter, "String", "extensionName"); addParameter(getter, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); String getterBody = "" /*{ - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); <%=attributeTypeSimpleNameInSet%> result = (<%=attributeTypeSimpleNameInSet%>) wikitty.getFqField(fieldName); return result; }*/; @@ -300,35 +322,35 @@ String addName = "add" + StringUtils.capitalize(attributeName); ObjectModelOperation adder = addOperation(helper, addName, "void", ObjectModelModifier.STATIC); - addParameter(adder, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(adder, "String", "extensionName"); addParameter(adder, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); addParameter(adder, attributeType, "element"); String adderBody = "" /*{ - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); wikitty.addToField(fieldName, element); }*/; setOperationBody(adder, adderBody); String removeName = "remove" + StringUtils.capitalize(attributeName); ObjectModelOperation remover = addOperation(helper, removeName, "void", ObjectModelModifier.STATIC); - addParameter(remover, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(remover, "String", "extensionName"); addParameter(remover, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); addParameter(remover, attributeType, "element"); String removerBody = "" /*{ - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); wikitty.removeFromField(fieldName, element); }*/; setOperationBody(remover, removerBody); String clearName = "clear" + StringUtils.capitalize(attributeName); ObjectModelOperation clear = addOperation(helper, clearName, "void", ObjectModelModifier.STATIC); - addParameter(clear, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(clear, "String", "extensionName"); addParameter(clear, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); String clearBody = "" /*{ - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); wikitty.clearField(fieldName); }*/; setOperationBody(clear, clearBody); @@ -340,24 +362,24 @@ // adding getter and setter to contract String getterName = "get" + StringUtils.capitalize(attributeName); ObjectModelOperation getter = addOperation(helper, getterName, attributeType, ObjectModelModifier.STATIC); - addParameter(getter, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(getter, "String", "extensionName"); addParameter(getter, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); setOperationBody(getter, "" /*{ - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); <%=attributeType%> value = (<%=attributeType%>) wikitty.getFqField(fieldName); return value; }*/); String setterName = "set" + StringUtils.capitalize(attributeName); ObjectModelOperation setter = addOperation(helper, setterName, attributeType, ObjectModelModifier.STATIC); - addParameter(setter, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + addParameter(setter, "String", "extensionName"); addParameter(setter, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty"); addParameter(setter, attributeType, attributeName); setOperationBody(setter, "" /*{ - <%=attributeType%> oldValue = <%=getter.getName()%>(extension, wikitty); - String fieldName = getMetaFieldName(extension, "<%=attributeName%>"); + <%=attributeType%> oldValue = <%=getter.getName()%>(extensionName, wikitty); + String fieldName = getMetaFieldName(extensionName, "<%=attributeName%>"); wikitty.setFqField(fieldName, <%=attributeName%>); return oldValue; }*/);