Wikitty-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
August 2010
- 7 participants
- 66 discussions
13 Aug '10
Author: bbrossaud
Date: 2010-08-13 15:40:59 +0200 (Fri, 13 Aug 2010)
New Revision: 260
Url: http://nuiton.org/repositories/revision/wikitty/260
Log:
addition proxy restore method which returns a wikitty object
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-08-13 12:52:59 UTC (rev 259)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-08-13 13:40:59 UTC (rev 260)
@@ -151,6 +151,17 @@
/**
* Restore wikitty entity with specified id or {@code null} if entity can't be found.
*
+ * @param id entity id
+ * @return wikitty entity with specified id or {@code null} if entity can't be found
+ */
+ public Wikitty restore(String id) {
+ Wikitty wikitty = wikittyService.restore(securityToken, id);
+ return wikitty;
+ }
+
+ /**
+ * Restore wikitty entity with specified id or {@code null} if entity can't be found.
+ *
* @param <E> object type
* @param clazz entity class
* @param id entity id
1
0
13 Aug '10
Author: sletellier
Date: 2010-08-13 14:52:59 +0200 (Fri, 13 Aug 2010)
New Revision: 259
Url: http://nuiton.org/repositories/revision/wikitty/259
Log:
Redefine equals and hashCode mothods
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/BusinessEntityWikitty.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/BusinessEntityWikitty.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/BusinessEntityWikitty.java 2010-08-13 09:33:35 UTC (rev 258)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/BusinessEntityWikitty.java 2010-08-13 12:52:59 UTC (rev 259)
@@ -116,9 +116,26 @@
return Collections.emptyList();
}
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!BusinessEntityWikitty.class.isAssignableFrom(obj.getClass())) {
+ return false;
+ }
+ BusinessEntityWikitty wikitty = (BusinessEntityWikitty) obj;
+ return getWikittyId().equals(wikitty.getWikittyId());
+ }
+
+ @Override
+ public int hashCode() {
+ return getWikittyId().hashCode();
+ }
+
/*
- * @see org.nuiton.wikitty.BusinessEntity#addPropertyChangeListener(java.beans.PropertyChangeListener)
- */
+ * @see org.nuiton.wikitty.BusinessEntity#addPropertyChangeListener(java.beans.PropertyChangeListener)
+ */
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
getPropertyChangeSupport().addPropertyChangeListener(listener);
1
0
r258 - in branches/wikitty-eugene-migration/wikitty-generators: . src/main/java/org/nuiton/wikitty/generator
by bleny@users.nuiton.org 13 Aug '10
by bleny@users.nuiton.org 13 Aug '10
13 Aug '10
Author: bleny
Date: 2010-08-13 11:33:35 +0200 (Fri, 13 Aug 2010)
New Revision: 258
Url: http://nuiton.org/repositories/revision/wikitty/258
Log:
complete migration to transformers
Modified:
branches/wikitty-eugene-migration/wikitty-generators/pom.xml
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/WikittyContractGenerator.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/WikittyMetaTransformer.java
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
Modified: branches/wikitty-eugene-migration/wikitty-generators/pom.xml
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/pom.xml 2010-08-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/pom.xml 2010-08-13 09:33:35 UTC (rev 258)
@@ -22,6 +22,10 @@
<artifactId>eugene</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
</dependencies>
<!-- ************************************************************* -->
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-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-13 09:33:35 UTC (rev 258)
@@ -5,6 +5,7 @@
import java.util.List;
import java.util.Random;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.Transformer;
@@ -201,6 +202,7 @@
requires = superClass.getName() + "." + WikittyTransformerUtil.classToExtensionVariableName(superClass);
}
+ String buildFieldMapExtensionParametersInLine = StringUtils.join(buildFieldMapExtensionParameters, ", \n");
String staticInitializationBody = ""
/*{
extension<%=clazz.getName()%> =
@@ -208,7 +210,7 @@
"<%=extensionVersion%>", // version
<%= requires %>,
WikittyUtil.buildFieldMapExtension( // building field map
-<%=StringUtils.join(buildFieldMapExtensionParameters, ", \n")%>));
+<%=buildFieldMapExtensionParametersInLine%>));
// init extensions
List<WikittyExtension> exts = new ArrayList<WikittyExtension>();
@@ -230,6 +232,96 @@
}*/;
setOperationBody(staticInitialization, staticInitializationBody);
+
+
+ // generating operations with bodies to realize contract
+ for (ObjectModelAttribute attribute : clazz.getAttributes()) {
+ if (attribute.isNavigable()) {
+ // needed below, in templates
+ String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute);
+ String attributeType = WikittyTransformerUtil.generateResultType(attribute.getType());
+
+ String attributeName = attribute.getName();
+ if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
+ // there is a conflict, purifier transformer give as the right name to use
+ attributeName = attribute.getTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME);
+ }
+
+ if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
+ // attributed is a collection, we will generate operations get, add, remove and clear
+
+ String attributeTypeSimpleNameInSet = "Set<" + attributeType + ">";
+
+ // now, for this attribute, we will generate add, remove and clear methods
+ // adding operations to contract
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation getter = addOperation(abstractClass, getterName, attributeTypeSimpleNameInSet);
+ addAnnotation(abstractClass, getter, "Override");
+ String getterBody = ""
+/*{
+ <%= attributeTypeSimpleNameInSet %> result = getWikitty().getFieldAsSet(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeType %>.class);
+ return result;
+}*/;
+ setOperationBody(getter, getterBody);
+
+ String addName = "add" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation adder = addOperation(abstractClass, addName, "void");
+ addAnnotation(abstractClass, adder, "Override");
+ addParameter(adder, "String", "element");
+ String adderBody = ""
+/*{
+ getWikitty().addToField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
+ getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%= getter.getName() %>());
+}*/;
+ setOperationBody(adder, adderBody);
+
+ String removeName = "remove" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation remover = addOperation(abstractClass, removeName, "void");
+ addAnnotation(abstractClass, remover, "Override");
+ addParameter(remover, "String", "element");
+ String removerBody = ""
+/*{
+ getWikitty().removeFromField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
+ getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
+}*/;
+ setOperationBody(remover, removerBody);
+
+ String clearName = "clear" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation clear = addOperation(abstractClass, clearName, "void");
+ addAnnotation(abstractClass, clear, "Override");
+ String clearBody = ""
+/*{
+ getWikitty().clearField(<%=extensionVariableName%>, <%=fieldVariableName%>);
+ getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
+}*/;
+ setOperationBody(clear, clearBody);
+
+
+ } else {
+ String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute.getType());
+
+ // adding getter and setter to contract
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation getter = addOperation(abstractClass, getterName, attributeType);
+ addAnnotation(abstractClass, getter, "Override");
+ setOperationBody(getter, ""
+/*{
+ <%=attributeType%> result = getWikitty().<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
+ return result;
+}*/);
+
+ String setterName = "set" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation setter = addOperation(abstractClass, setterName, "void");
+ addAnnotation(abstractClass, setter, "Override");
+ addParameter(setter, attributeType, attributeName);
+ setOperationBody(setter, ""
+/*{
+ Object oldValue = getField(<%=extensionVariableName%>, <%=fieldVariableName%>);
+ getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>);
+ getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attribute.getName()%>);
+}*/);
+ }
+ }
+ }
}
-
}
Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-13 09:33:35 UTC (rev 258)
@@ -2,6 +2,7 @@
import java.util.Collection;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.Transformer;
@@ -12,6 +13,8 @@
import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.eugene.models.object.ObjectModelInterface;
import org.nuiton.eugene.models.object.ObjectModelModifier;
+import org.nuiton.eugene.models.object.ObjectModelOperation;
+import org.nuiton.util.StringUtil;
/*{generator option: writeString = }*/
/*{generator option: parentheses = false}*/
@@ -89,6 +92,52 @@
extensionVariableName + " + \"." + attribute.getName() + "\"",
ObjectModelModifier.PUBLIC);
}
- }
+ }
+
+ for (ObjectModelAttribute attribute : clazz.getAttributes()) {
+ if (attribute.isNavigable()) {
+ // needed below, in templates
+ String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute);
+ String attributeType = WikittyTransformerUtil.generateResultType(attribute.getType());
+
+ String attributeName = attribute.getName();
+ if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
+ // there is a conflict, purifier transformer give as the right name to use
+ attributeName = attribute.getTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME);
+ }
+
+ if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
+ // attributed is a collection, we will generate operations get, add, remove and clear
+
+ String attributeTypeSimpleNameInSet = "Set<" + attributeType + ">";
+
+ // now, for this attribute, we will generate add, remove and clear methods
+ // adding operations to contract
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ addOperation(contract, getterName, attributeTypeSimpleNameInSet);
+
+ String addName = "add" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation adder = addOperation(contract, addName, "void");
+ addParameter(adder, "String", "element");
+
+ String removeName = "remove" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation remover = addOperation(contract, removeName, "void");
+ addParameter(remover, "String", "element");
+
+ String clearName = "clear" + StringUtils.capitalize(attributeName);
+ addOperation(contract, clearName, "void");
+
+
+ } else {
+ // attribute is not a collection, we generate a getter and a setter
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ addOperation(contract, getterName, attributeType);
+
+ String setterName = "set" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation setter = addOperation(contract, setterName, "void");
+ addParameter(setter, attributeType, 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-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-13 09:33:35 UTC (rev 258)
@@ -1,6 +1,8 @@
package org.nuiton.wikitty.generator;
+import org.apache.commons.lang.StringUtils;
import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
@@ -44,5 +46,100 @@
// making constructor for helper class (empty and private)
ObjectModelOperation constructor = addConstructor(helper, ObjectModelModifier.PRIVATE);
setOperationBody(constructor, "\n// utility class\n"); // empty implementation
+
+
+
+ String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(clazz);
+
+ // generating operations with bodies to realize contract
+ for (ObjectModelAttribute attribute : clazz.getAttributes()) {
+ if (attribute.isNavigable()) {
+ // needed below, in templates
+ String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute);
+ String attributeType = WikittyTransformerUtil.generateResultType(attribute.getType());
+
+ String attributeName = attribute.getName();
+ if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
+ // there is a conflict, purifier transformer give as the right name to use
+ attributeName = attribute.getTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME);
+ }
+
+ if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
+ // attributed is a collection, we will generate operations get, add, remove and clear
+
+ String attributeTypeSimpleNameInSet = "Set<" + attributeType + ">";
+
+ // now, for this attribute, we will generate add, remove and clear methods
+ // adding operations to contract
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation getter = addOperation(helper, getterName, attributeTypeSimpleNameInSet);
+ addAnnotation(helper, getter, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ String getterBody = ""
+/*{
+ <%=attributeTypeSimpleNameInSet%> result = wikitty.getFieldAsSet(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeType%>.class);
+ return result;
+}*/;
+ setOperationBody(getter, getterBody);
+
+ String addName = "add" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation adder = addOperation(helper, addName, "void");
+ addAnnotation(helper, adder, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ addParameter(adder, "String", "element");
+ String adderBody = ""
+/*{
+ wikitty.addToField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
+}*/;
+ setOperationBody(adder, adderBody);
+
+ String removeName = "remove" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation remover = addOperation(helper, removeName, "void");
+ addAnnotation(helper, remover, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ addParameter(remover, "String", "element");
+ String removerBody = ""
+/*{
+ wikitty.removeFromField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
+}*/;
+ setOperationBody(remover, removerBody);
+
+ String clearName = "clear" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation clear = addOperation(helper, clearName, "void");
+ addAnnotation(helper, clear, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ String clearBody = ""
+/*{
+ wikitty.clearField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>);
+}*/;
+ setOperationBody(clear, clearBody);
+
+
+ } else {
+ String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute.getType());
+
+ // adding getter and setter to contract
+ String getterName = "get" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation getter = addOperation(helper, getterName, attributeType);
+ addAnnotation(helper, getter, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ setOperationBody(getter, ""
+/*{
+ <%=attributeType%> result = wikitty.<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
+ return result;
+}*/);
+
+ String setterName = "set" + StringUtils.capitalize(attributeName);
+ ObjectModelOperation setter = addOperation(helper, setterName, "void");
+ addAnnotation(helper, setter, "Override");
+ addParameter(getter, "Wikitty", "wikitty");
+ addParameter(setter, attributeType, attributeName);
+ setOperationBody(setter, ""
+/*{
+ wikitty.setField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, <%=attribute.getName()%>);
+}*/);
+ }
+ }
+ }
}
}
Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java 2010-08-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java 2010-08-13 09:33:35 UTC (rev 258)
@@ -1,24 +1,10 @@
package org.nuiton.wikitty.generator;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.AbstractMetaTransformer;
-import org.nuiton.eugene.TemplateConfiguration;
-import org.nuiton.eugene.Transformer;
-import org.nuiton.eugene.java.ObjectModelTransformerToJava;
import org.nuiton.eugene.models.object.ObjectModel;
-import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
-import org.nuiton.eugene.models.object.ObjectModelClassifier;
-import org.nuiton.eugene.models.object.ObjectModelInterface;
-import org.nuiton.eugene.models.object.ObjectModelModifier;
-import org.nuiton.eugene.models.object.ObjectModelOperation;
/**
*
@@ -49,13 +35,12 @@
private static final Log log = LogFactory.getLog(WikittyMetaTransformer.class);
-
-
public WikittyMetaTransformer() {
super(WikittyContractGenerator.class,
WikittyAbstractGenerator.class,
WikittyImplementationGenerator.class,
- WikittyHelperGenerator.class);
+ WikittyHelperGenerator.class
+ );
}
/** */
@@ -67,10 +52,6 @@
}
for (ObjectModelClass clazz : model.getClasses()) {
- if (clazz.getSuperclasses().size() > 1) {
- log.error("multiple inheritance for class " + clazz.getName());
- return false;
- }
if (clazz.getStereotypes().contains(WikittyTransformerUtil.BUSINESS_ENTITY_STEREOTYPE_OLD_NAME)) {
log.warn(clazz.getQualifiedName() + " uses deprecated \"" +
@@ -89,182 +70,4 @@
return true;
}
-// will be moved soon
-// protected void processAttribute(ObjectModelAttribute attribute) {
-// // two variables needed below
-// String extensionVariableName = WikittyGeneratorUtil.classToExtensionVariableName(clazz);
-// String fieldVariableName = WikittyGeneratorUtil.attributeToFielVariableName(attribute);
-//
-//
-//
-// // let's find a name for the getter
-// String getterName = getMethodName("get", contract, attribute, attribute.getTagValue("getter"));
-//
-// // let's find a name for the setter
-// String setterName = getMethodName("set", contract, attribute, attribute.getTagValue("setter"));
-//
-// // attribute type simple name as it should be in signature
-// String attributeTypeSimpleName = WikittyGeneratorUtil.FQNtoSimpleName(attribute.getType());
-// if ("boolean".equals(attributeTypeSimpleName)) {
-// attributeTypeSimpleName = "Boolean";
-// } else if ("int".equals(attributeTypeSimpleName)) {
-// attributeTypeSimpleName = "Integer";
-// }
-//
-// if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
-// // attributed is a collection, we will generate operations get, add, remove and clear
-// String attributeTypeSimpleNameInSet = "Set<" + attributeTypeSimpleName + ">";
-//
-// // now, for this attribute, we will generate add, remove and clear methods
-//
-// // adding operations to contract
-// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleNameInSet);
-//
-// String addName = getMethodName("add", contract, attribute, attribute.getTagValue("adder"));
-// ObjectModelOperation adder = addOperation(contract, addName, "void");
-// addParameter(adder, "String", "element");
-//
-// String removeName = getMethodName("remove", contract, attribute, attribute.getTagValue("remover"));
-// ObjectModelOperation remover = addOperation(contract, removeName, "void");
-// addParameter(remover, "String", "element");
-//
-// String clearName = getMethodName("clear", contract, attribute, attribute.getTagValue("clear"));
-// ObjectModelOperation clear = addOperation(contract, clearName, "void");
-//
-// // adding operations to abstract with bodies
-// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String getterBody = ""
-///*{
-// <%= attributeTypeSimpleNameInSet %> result = getWikitty().getFieldAsSet(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeTypeSimpleName %>.class);
-// return result;
-//}*/;
-// setOperationBody(getter, getterBody);
-//
-// adder = cloneOperationSignature(adder, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String adderBody = ""
-///*{
-// getWikitty().addToField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%= getter.getName() %>());
-//}*/;
-// setOperationBody(adder, adderBody);
-//
-// remover = cloneOperationSignature(remover, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String removerBody = ""
-///*{
-// getWikitty().removeFromField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
-//}*/;
-// setOperationBody(remover, removerBody);
-//
-// clear = cloneOperationSignature(clear, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String clearBody = ""
-///*{
-// getWikitty().clearField(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
-//}*/;
-// setOperationBody(clear, clearBody);
-//
-// // adding operations to Helper with bodies
-// getter = addOperation(helper, getterName, attributeTypeSimpleNameInSet, ObjectModelModifier.STATIC);
-// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(getter, ""
-///*{
-// <%=attributeTypeSimpleNameInSet%> result = wikitty.getFieldAsSet(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeTypeSimpleName%>.class);
-// return result;
-//}*/);
-//
-// adder = addOperation(helper, addName, "void", ObjectModelModifier.STATIC);
-// addParameter(adder, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(adder, attributeTypeSimpleName, "element");
-// setOperationBody(adder, ""
-///*{
-// wikitty.addToField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
-//}*/
-//);
-//
-// remover = addOperation(helper, removeName, "void", ObjectModelModifier.STATIC);
-// addParameter(remover, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(remover, attributeTypeSimpleName, "element");
-// setOperationBody(remover, ""
-///*{
-// wikitty.removeFromField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
-//}*/);
-//
-// clear = addOperation(helper, clearName, "void", ObjectModelModifier.STATIC);
-// addParameter(clear, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(clear, ""
-///*{
-// wikitty.clearField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>);
-//}*/);
-//
-// } else {
-// // attribute is not a collection, we generate a getter and a setter
-// String getFieldMethodName = WikittyGeneratorUtil.generateGetFieldAsCall(attribute.getType());
-// String resultType = WikittyGeneratorUtil.generateResultType(attribute.getType());
-// attributeTypeSimpleName = resultType;
-//
-// // adding getter and setter to contract
-// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleName);
-// ObjectModelOperation setter = addOperation(contract, setterName, "void");
-// addParameter(setter, attributeTypeSimpleName, attribute.getName());
-//
-// // adding getter and setter to abstract with bodies
-// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// setOperationBody(getter, ""
-///*{
-// <%=resultType%> result = getWikitty().<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// return result;
-//}*/);
-//
-// setter = cloneOperationSignature(setter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// setOperationBody(setter, ""
-///*{
-// Object oldValue = getField(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attribute.getName()%>);
-//}*/);
-//
-// // adding getter and setter to Helper with bodies
-// getter = addOperation(helper, getterName, attributeTypeSimpleName, ObjectModelModifier.STATIC);
-// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(getter, ""
-///*{
-// <%=resultType%> result = wikitty.<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// return result;
-//}*/);
-//
-// setter = addOperation(helper, setterName, "void", ObjectModelModifier.STATIC);
-// addParameter(setter, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(setter, attributeTypeSimpleName, attribute.getName());
-// setOperationBody(setter, ""
-///*{
-// wikitty.setField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, <%=attribute.getName()%>);
-//}*/);
-// }
-// }
-
- /** getMethodName("add", contract, attribute, "myNameForThisAdder")
- * will return "myNameForThisAdder" if not already defined in contract ;
- * if already defined, will try add<attributeName>. If it already exists
- * will return add<attributeName>From<ExtensionName> */
- protected String getMethodName(String operatorName,
- ObjectModelClassifier classifier,
- ObjectModelAttribute attribute,
- String claimedValue) {
- String methodName = claimedValue;
- if (methodName != null) {
- if (! classifier.getOperations(methodName).isEmpty()) {
- log.warn(methodName + " operation already exists in " + attribute.getDeclaringElement().getName() + " ignoring tagValue");
- methodName = null;
- }
- }
-
- if (methodName == null) {
- methodName = operatorName + StringUtils.capitalize(attribute.getName());
- if (! classifier.getOperations(methodName).isEmpty()) {
- methodName += "From" + attribute.getDeclaringElement().getName();
- }
- }
- return methodName;
- }
}
Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java 2010-08-13 08:30:55 UTC (rev 257)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java 2010-08-13 09:33:35 UTC (rev 258)
@@ -23,8 +23,10 @@
private static final Log log = LogFactory.getLog(WikittyPurifierTransformer.class);
+ /** for a given class, store all the names used by this class and subClasses */
Map<ObjectModelClass, List<String>> namesUsedByClass = new HashMap<ObjectModelClass, List<String>>();
+ /** class of the original model that are already processed */
List<ObjectModelClass> processedClasses = new ArrayList<ObjectModelClass>();
/**
1
0
Author: sletellier
Date: 2010-08-13 10:30:55 +0200 (Fri, 13 Aug 2010)
New Revision: 257
Url: http://nuiton.org/repositories/revision/wikitty/257
Log:
Oups
Modified:
trunk/wikitty-hessian-server/pom.xml
Modified: trunk/wikitty-hessian-server/pom.xml
===================================================================
--- trunk/wikitty-hessian-server/pom.xml 2010-08-13 08:27:13 UTC (rev 256)
+++ trunk/wikitty-hessian-server/pom.xml 2010-08-13 08:30:55 UTC (rev 257)
@@ -54,11 +54,6 @@
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <scope>runtime</scope>
- </dependency>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
1
0
13 Aug '10
Author: sletellier
Date: 2010-08-13 10:27:13 +0200 (Fri, 13 Aug 2010)
New Revision: 256
Url: http://nuiton.org/repositories/revision/wikitty/256
Log:
Add test for Hessian BigDecimal serialization
Added:
trunk/wikitty-hessian-server/src/test/java/HessianTest.java
Modified:
trunk/wikitty-hessian-server/pom.xml
Modified: trunk/wikitty-hessian-server/pom.xml
===================================================================
--- trunk/wikitty-hessian-server/pom.xml 2010-08-12 17:28:30 UTC (rev 255)
+++ trunk/wikitty-hessian-server/pom.xml 2010-08-13 08:27:13 UTC (rev 256)
@@ -54,6 +54,16 @@
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <!-- TEST -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
</dependencies>
<!-- ************************************************************* -->
Added: trunk/wikitty-hessian-server/src/test/java/HessianTest.java
===================================================================
--- trunk/wikitty-hessian-server/src/test/java/HessianTest.java (rev 0)
+++ trunk/wikitty-hessian-server/src/test/java/HessianTest.java 2010-08-13 08:27:13 UTC (rev 256)
@@ -0,0 +1,34 @@
+import com.caucho.hessian.io.Hessian2Input;
+import com.caucho.hessian.io.Hessian2Output;
+import com.caucho.hessian.io.SerializerFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.math.BigDecimal;
+
+/**
+ * @author sletellier <letellier(a)codelutin.com>
+ */
+public class HessianTest {
+
+ @Test
+ public void testHessianBigDecimal() throws Exception {
+ BigDecimal object = new BigDecimal("12474639.945458954");
+ Hessian2Output os = new Hessian2Output(null);
+ SerializerFactory factory = new SerializerFactory();
+ os.setSerializerFactory(factory);
+ ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+ os.init(buffer);
+ os.writeObject(object);
+ os.close();
+ byte[] bytes = buffer.toByteArray();
+
+ Hessian2Input is = new Hessian2Input(new ByteArrayInputStream(bytes));
+ BigDecimal newObject = (BigDecimal) is.readObject();
+ is.close();
+
+ Assert.assertEquals(object, newObject);
+ }
+}
1
0
r255 - branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by bleny@users.nuiton.org 12 Aug '10
by bleny@users.nuiton.org 12 Aug '10
12 Aug '10
Author: bleny
Date: 2010-08-12 19:28:30 +0200 (Thu, 12 Aug 2010)
New Revision: 255
Url: http://nuiton.org/repositories/revision/wikitty/255
Log:
introducing purifier transformer, moving stuff to Util
Added:
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java
Removed:
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyGeneratorUtil.java
branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaGenerator.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/WikittyContractGenerator.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/WikittyImplementationGenerator.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-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -7,27 +7,38 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.eugene.Transformer;
import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
+/*{generator option: writeString = }*/
+/*{generator option: parentheses = false}*/
+/*{generator option: writeString = +}*/
+
/**
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyAbstractGenerator"
*/
public class WikittyAbstractGenerator extends ObjectModelTransformerToJava {
private static final Log log = LogFactory.getLog(WikittyAbstractGenerator.class);
+
+ @Override
+ protected Transformer<ObjectModel, ObjectModel> initPreviousTransformer() {
+ return new WikittyPurifierTransformer();
+ }
@Override
public void transformFromClass(ObjectModelClass clazz) {
ObjectModelClass abstractClass = createAbstractClass(clazz.getName() + "Abstract", clazz.getPackageName());
// TODO 20100811 bleny remove unused imports
- addImport(abstractClass, WikittyGeneratorUtil.BUSINESS_ENTITY_CLASS_FQN);
- addImport(abstractClass, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
- addImport(abstractClass, WikittyGeneratorUtil.WIKITTY_CLASS_FQN);
+ addImport(abstractClass, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN);
+ addImport(abstractClass, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
+ addImport(abstractClass, WikittyTransformerUtil.WIKITTY_CLASS_FQN);
addImport(abstractClass, "org.nuiton.wikitty.WikittyExtension");
addImport(abstractClass, "org.nuiton.wikitty.WikittyUtil");
addImport(abstractClass, "org.nuiton.wikitty.WikittyUser");
@@ -73,14 +84,14 @@
}*/);
constructor = addConstructor(abstractClass, ObjectModelModifier.PUBLIC);
- addParameter(constructor, WikittyGeneratorUtil.WIKITTY_CLASS_FQN, "wikitty");
+ addParameter(constructor, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty");
setOperationBody(constructor, ""
/*{
super(wikitty);
}*/);
constructor = addConstructor(abstractClass, ObjectModelModifier.PUBLIC);
- addParameter(constructor, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN, "businessEntityWikitty");
+ addParameter(constructor, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN, "businessEntityWikitty");
setOperationBody(constructor, ""
/*{
super(businessEntityWikitty.getWikitty());
@@ -103,20 +114,20 @@
//// preparing static equals(w1, w2)
ObjectModelOperation equals = addOperation(abstractClass, "equals", "boolean", ObjectModelModifier.STATIC);
- addParameter(equals, WikittyGeneratorUtil.WIKITTY_CLASS_FQN, "w1");
- addParameter(equals, WikittyGeneratorUtil.WIKITTY_CLASS_FQN, "w2");
+ 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 = WikittyGeneratorUtil.classToExtensionVariableName(clazz);
+ String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(clazz);
for(ObjectModelAttribute attribute : clazz.getAttributes()) {
if (attribute.isNavigable()) {
// two variables needed below
// String fieldVariableName = "FIELD_" + clazz.getName().toUpperCase() + "_" + attribute.getName().toUpperCase();
- String fieldVariableName = WikittyGeneratorUtil.attributeToFielVariableName(attribute);
+ String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute);
// considering field in equals body
equalsBody += ""
@@ -151,7 +162,7 @@
for(ObjectModelAttribute attribute : clazz.getAttributes()) {
if (attribute.isNavigable()) {
// now add the attribute to the piece of code that build the extension
- String wikittyType = WikittyGeneratorUtil.typeToWikittyColumn(attribute.getType());
+ String wikittyType = WikittyTransformerUtil.typeToWikittyColumn(attribute.getType());
String multiplicity = "";
if (attribute.getMinMultiplicity() != 1 ||
attribute.getMaxMultiplicity() != 1) {
@@ -187,7 +198,7 @@
String requires = null;
for (ObjectModelClass superClass : superClasses) {
// using "for" but there will be 0 or 1 iteration
- requires = superClass.getName() + "." + WikittyGeneratorUtil.classToExtensionVariableName(superClass);
+ requires = superClass.getName() + "." + WikittyTransformerUtil.classToExtensionVariableName(superClass);
}
String staticInitializationBody = ""
Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -4,30 +4,41 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.eugene.Transformer;
import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.eugene.models.object.ObjectModelInterface;
import org.nuiton.eugene.models.object.ObjectModelModifier;
+/*{generator option: writeString = }*/
+/*{generator option: parentheses = false}*/
+/*{generator option: writeString = +}*/
+
/**
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyContractGenerator"
*/
public class WikittyContractGenerator extends ObjectModelTransformerToJava {
private static final Log log = LogFactory.getLog(WikittyContractGenerator.class);
-
+
@Override
+ protected Transformer<ObjectModel, ObjectModel> initPreviousTransformer() {
+ return new WikittyPurifierTransformer();
+ }
+
+ @Override
public void transformFromClass(ObjectModelClass clazz) {
ObjectModelInterface contract = createInterface(clazz.getName(), clazz.getPackageName());
- addInterface(contract, WikittyGeneratorUtil.BUSINESS_ENTITY_CLASS_FQN);
+ addInterface(contract, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN);
// TODO 20100811 bleny remove unused imports
- addImport(contract, WikittyGeneratorUtil.BUSINESS_ENTITY_CLASS_FQN);
- addImport(contract, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
- addImport(contract, WikittyGeneratorUtil.WIKITTY_CLASS_FQN);
+ addImport(contract, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN);
+ addImport(contract, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
+ addImport(contract, WikittyTransformerUtil.WIKITTY_CLASS_FQN);
addImport(contract, "org.nuiton.wikitty.WikittyExtension");
addImport(contract, "org.nuiton.wikitty.WikittyUtil");
addImport(contract, "org.nuiton.wikitty.WikittyUser");
@@ -58,12 +69,12 @@
"\"" + clazz.getName() + "\"",
ObjectModelModifier.PUBLIC);
- String extensionVariableName = WikittyGeneratorUtil.classToExtensionVariableName(clazz);
+ String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(clazz);
for(ObjectModelAttribute attribute : clazz.getAttributes()) {
if (attribute.isNavigable()) {
// two variables needed below
- String fieldVariableName = WikittyGeneratorUtil.attributeToFielVariableName(attribute);
+ String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute);
// adding constants to contract
addConstant(contract,
@@ -80,5 +91,4 @@
}
}
}
-
}
Deleted: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyGeneratorUtil.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyGeneratorUtil.java 2010-08-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyGeneratorUtil.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -1,96 +0,0 @@
-package org.nuiton.wikitty.generator;
-
-import org.nuiton.eugene.models.object.ObjectModelAttribute;
-import org.nuiton.eugene.models.object.ObjectModelClass;
-
-
-public class WikittyGeneratorUtil {
-
- /** utility class should not be instanciated */
- private WikittyGeneratorUtil() {}
-
- protected static final String BUSINESS_ENTITY_CLASS_FQN = "org.nuiton.wikitty.BusinessEntity";
- protected static final String BUSINESS_ENTITY_WIKITTY_CLASS_FQN = "org.nuiton.wikitty.BusinessEntityWikitty";
- protected static final String WIKITTY_CLASS_FQN = "org.nuiton.wikitty.Wikitty";
-
- /** given a class called Client will return "EXT_CLIENT"
- * should be used as a variable name to store the extension name
- */
- protected static String classToExtensionVariableName(ObjectModelClass clazz) {
- String extensionVariableName = "EXT_" + clazz.getName().toUpperCase();
- return extensionVariableName;
- }
-
- /** given the field name of the class client, will return FIELD_CLIENT_NAME */
- protected static String attributeToFielVariableName(ObjectModelAttribute attribute) {
- String fieldVariableName = "FIELD_" + attribute.getDeclaringElement().getName().toUpperCase() + "_" + attribute.getName().toUpperCase();
- return fieldVariableName;
- }
-
- /** given "my.java.package.MyClass" or "MyClass" return "MyClass" */
- protected static String FQNtoSimpleName(String fqn) {
- int lastDotIndex = fqn.lastIndexOf(".");
- String simpleName = fqn;
- if (lastDotIndex != -1) {
- simpleName = fqn.substring(lastDotIndex + 1);
- }
- return simpleName;
- }
-
- /**
- * wikitty interface provide getFieldAsString, getFieldAsDate etc. methods
- * this method returns the good name of the method to call depending the
- * type given as parameter
- * @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 {
- asWhat = "String";
- }
- return "getFieldAs" + asWhat;
- }
-
-
- protected static String generateResultType(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 {
- asWhat = "String";
- }
- return asWhat;
- }
-
- 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 {
- result = "Wikitty";
- }
- return result;
- }
-
-
-
-}
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-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -5,6 +5,10 @@
import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
+/*{generator option: writeString = }*/
+/*{generator option: parentheses = false}*/
+/*{generator option: writeString = +}*/
+
/**
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyHelperGenerator"
*/
@@ -16,9 +20,9 @@
ObjectModelClass helper = createClass(clazz.getName() + "Helper", clazz.getPackageName());
// TODO 20100811 bleny remove unused imports
- addImport(helper, WikittyGeneratorUtil.BUSINESS_ENTITY_CLASS_FQN);
- addImport(helper, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
- addImport(helper, WikittyGeneratorUtil.WIKITTY_CLASS_FQN);
+ addImport(helper, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN);
+ addImport(helper, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
+ addImport(helper, WikittyTransformerUtil.WIKITTY_CLASS_FQN);
addImport(helper, "org.nuiton.wikitty.WikittyExtension");
addImport(helper, "org.nuiton.wikitty.WikittyUtil");
addImport(helper, "org.nuiton.wikitty.WikittyUser");
Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-08-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -7,6 +7,10 @@
import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
+/*{generator option: writeString = }*/
+/*{generator option: parentheses = false}*/
+/*{generator option: writeString = +}*/
+
/**
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyImplementationGenerator"
*/
@@ -17,9 +21,9 @@
ObjectModelClass implementation = createClass(clazz.getName() + "Impl", clazz.getPackageName());
// TODO 20100811 bleny remove unused imports
- addImport(implementation, WikittyGeneratorUtil.BUSINESS_ENTITY_CLASS_FQN);
- addImport(implementation, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
- addImport(implementation, WikittyGeneratorUtil.WIKITTY_CLASS_FQN);
+ addImport(implementation, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN);
+ addImport(implementation, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN);
+ addImport(implementation, WikittyTransformerUtil.WIKITTY_CLASS_FQN);
addImport(implementation, "org.nuiton.wikitty.WikittyExtension");
addImport(implementation, "org.nuiton.wikitty.WikittyUtil");
addImport(implementation, "org.nuiton.wikitty.WikittyUser");
@@ -45,14 +49,14 @@
}*/);
constructor = addConstructor(implementation, ObjectModelModifier.PUBLIC);
- addParameter(constructor, WikittyGeneratorUtil.WIKITTY_CLASS_FQN, "wikitty");
+ addParameter(constructor, WikittyTransformerUtil.WIKITTY_CLASS_FQN, "wikitty");
setOperationBody(constructor, ""
/*{
super(wikitty);
}*/);
constructor = addConstructor(implementation, ObjectModelModifier.PUBLIC);
- addParameter(constructor, WikittyGeneratorUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN, "businessEntityWikitty");
+ addParameter(constructor, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN, "businessEntityWikitty");
setOperationBody(constructor, ""
/*{
super(businessEntityWikitty.getWikitty());
Deleted: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaGenerator.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaGenerator.java 2010-08-12 17:09:58 UTC (rev 254)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaGenerator.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -1,253 +0,0 @@
-package org.nuiton.wikitty.generator;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.eugene.AbstractMetaTransformer;
-import org.nuiton.eugene.TemplateConfiguration;
-import org.nuiton.eugene.Transformer;
-import org.nuiton.eugene.java.ObjectModelTransformerToJava;
-import org.nuiton.eugene.models.object.ObjectModel;
-import org.nuiton.eugene.models.object.ObjectModelAttribute;
-import org.nuiton.eugene.models.object.ObjectModelClass;
-import org.nuiton.eugene.models.object.ObjectModelClassifier;
-import org.nuiton.eugene.models.object.ObjectModelInterface;
-import org.nuiton.eugene.models.object.ObjectModelModifier;
-import org.nuiton.eugene.models.object.ObjectModelOperation;
-
-/**
- *
- * @author bleny
- *
- * @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyMetaGenerator"
- */
-
-// TODO 20100610 use filter with /*[]*/
-/*{generator option: writeString = }*/
-/*{generator option: parentheses = false}*/
-/*{generator option: writeString = +}*/
-
-public class WikittyMetaGenerator extends AbstractMetaTransformer<ObjectModel> {
-
- private static final Log log = LogFactory.getLog(WikittyMetaGenerator.class);
-
-
- /** @deprecated name change : see ticket #798. use BUSINESS_ENTITY_STEREOTYPE_NAME */
- @Deprecated
- protected static final String BUSINESS_ENTITY_STEREOTYPE_OLD_NAME = "BusinessEntity";
-
- protected static final String BUSINESS_ENTITY_STEREOTYPE_NAME = "entity";
-
- public WikittyMetaGenerator() {
- super(WikittyContractGenerator.class,
- WikittyAbstractGenerator.class,
- WikittyImplementationGenerator.class,
- WikittyHelperGenerator.class);
- }
-
- @Override
- protected boolean validateModel(ObjectModel model) {
-
- if (model.getClasses().isEmpty()) {
- log.warn("model doesn't contains any class");
- }
-
- for (ObjectModelClass clazz : model.getClasses()) {
- if (clazz.getSuperclasses().size() > 1) {
- log.error("multiple inheritance for class " + clazz.getName());
- return false;
- }
-
- if (clazz.getStereotypes().contains(BUSINESS_ENTITY_STEREOTYPE_OLD_NAME)) {
- log.warn(clazz.getQualifiedName() + " uses deprecated \"" + BUSINESS_ENTITY_STEREOTYPE_OLD_NAME
- +"\" stereotype. use \"" + BUSINESS_ENTITY_STEREOTYPE_NAME + "\" instead");
- }
- }
-
- return true;
- }
-
-// will be moved soon
-// protected void processAttribute(ObjectModelAttribute attribute) {
-// // two variables needed below
-// String extensionVariableName = WikittyGeneratorUtil.classToExtensionVariableName(clazz);
-// String fieldVariableName = WikittyGeneratorUtil.attributeToFielVariableName(attribute);
-//
-//
-//
-// // let's find a name for the getter
-// String getterName = getMethodName("get", contract, attribute, attribute.getTagValue("getter"));
-//
-// // let's find a name for the setter
-// String setterName = getMethodName("set", contract, attribute, attribute.getTagValue("setter"));
-//
-// // attribute type simple name as it should be in signature
-// String attributeTypeSimpleName = WikittyGeneratorUtil.FQNtoSimpleName(attribute.getType());
-// if ("boolean".equals(attributeTypeSimpleName)) {
-// attributeTypeSimpleName = "Boolean";
-// } else if ("int".equals(attributeTypeSimpleName)) {
-// attributeTypeSimpleName = "Integer";
-// }
-//
-// if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
-// // attributed is a collection, we will generate operations get, add, remove and clear
-// String attributeTypeSimpleNameInSet = "Set<" + attributeTypeSimpleName + ">";
-//
-// // now, for this attribute, we will generate add, remove and clear methods
-//
-// // adding operations to contract
-// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleNameInSet);
-//
-// String addName = getMethodName("add", contract, attribute, attribute.getTagValue("adder"));
-// ObjectModelOperation adder = addOperation(contract, addName, "void");
-// addParameter(adder, "String", "element");
-//
-// String removeName = getMethodName("remove", contract, attribute, attribute.getTagValue("remover"));
-// ObjectModelOperation remover = addOperation(contract, removeName, "void");
-// addParameter(remover, "String", "element");
-//
-// String clearName = getMethodName("clear", contract, attribute, attribute.getTagValue("clear"));
-// ObjectModelOperation clear = addOperation(contract, clearName, "void");
-//
-// // adding operations to abstract with bodies
-// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String getterBody = ""
-///*{
-// <%= attributeTypeSimpleNameInSet %> result = getWikitty().getFieldAsSet(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeTypeSimpleName %>.class);
-// return result;
-//}*/;
-// setOperationBody(getter, getterBody);
-//
-// adder = cloneOperationSignature(adder, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String adderBody = ""
-///*{
-// getWikitty().addToField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%= getter.getName() %>());
-//}*/;
-// setOperationBody(adder, adderBody);
-//
-// remover = cloneOperationSignature(remover, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String removerBody = ""
-///*{
-// getWikitty().removeFromField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
-//}*/;
-// setOperationBody(remover, removerBody);
-//
-// clear = cloneOperationSignature(clear, abstractClass, true, ObjectModelModifier.PUBLIC);
-// String clearBody = ""
-///*{
-// getWikitty().clearField(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
-//}*/;
-// setOperationBody(clear, clearBody);
-//
-// // adding operations to Helper with bodies
-// getter = addOperation(helper, getterName, attributeTypeSimpleNameInSet, ObjectModelModifier.STATIC);
-// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(getter, ""
-///*{
-// <%=attributeTypeSimpleNameInSet%> result = wikitty.getFieldAsSet(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeTypeSimpleName%>.class);
-// return result;
-//}*/);
-//
-// adder = addOperation(helper, addName, "void", ObjectModelModifier.STATIC);
-// addParameter(adder, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(adder, attributeTypeSimpleName, "element");
-// setOperationBody(adder, ""
-///*{
-// wikitty.addToField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
-//}*/
-//);
-//
-// remover = addOperation(helper, removeName, "void", ObjectModelModifier.STATIC);
-// addParameter(remover, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(remover, attributeTypeSimpleName, "element");
-// setOperationBody(remover, ""
-///*{
-// wikitty.removeFromField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
-//}*/);
-//
-// clear = addOperation(helper, clearName, "void", ObjectModelModifier.STATIC);
-// addParameter(clear, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(clear, ""
-///*{
-// wikitty.clearField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>);
-//}*/);
-//
-// } else {
-// // attribute is not a collection, we generate a getter and a setter
-// String getFieldMethodName = WikittyGeneratorUtil.generateGetFieldAsCall(attribute.getType());
-// String resultType = WikittyGeneratorUtil.generateResultType(attribute.getType());
-// attributeTypeSimpleName = resultType;
-//
-// // adding getter and setter to contract
-// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleName);
-// ObjectModelOperation setter = addOperation(contract, setterName, "void");
-// addParameter(setter, attributeTypeSimpleName, attribute.getName());
-//
-// // adding getter and setter to abstract with bodies
-// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// setOperationBody(getter, ""
-///*{
-// <%=resultType%> result = getWikitty().<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// return result;
-//}*/);
-//
-// setter = cloneOperationSignature(setter, abstractClass, true, ObjectModelModifier.PUBLIC);
-// setOperationBody(setter, ""
-///*{
-// Object oldValue = getField(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>);
-// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attribute.getName()%>);
-//}*/);
-//
-// // adding getter and setter to Helper with bodies
-// getter = addOperation(helper, getterName, attributeTypeSimpleName, ObjectModelModifier.STATIC);
-// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
-// setOperationBody(getter, ""
-///*{
-// <%=resultType%> result = wikitty.<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
-// return result;
-//}*/);
-//
-// setter = addOperation(helper, setterName, "void", ObjectModelModifier.STATIC);
-// addParameter(setter, WIKITTY_CLASS_FQN, "wikitty");
-// addParameter(setter, attributeTypeSimpleName, attribute.getName());
-// setOperationBody(setter, ""
-///*{
-// wikitty.setField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, <%=attribute.getName()%>);
-//}*/);
-// }
-// }
-
- /** getMethodName("add", contract, attribute, "myNameForThisAdder")
- * will return "myNameForThisAdder" if not already defined in contract ;
- * if already defined, will try add<attributeName>. If it already exists
- * will return add<attributeName>From<ExtensionName> */
- protected String getMethodName(String operatorName,
- ObjectModelClassifier classifier,
- ObjectModelAttribute attribute,
- String claimedValue) {
- String methodName = claimedValue;
- if (methodName != null) {
- if (! classifier.getOperations(methodName).isEmpty()) {
- log.warn(methodName + " operation already exists in " + attribute.getDeclaringElement().getName() + " ignoring tagValue");
- methodName = null;
- }
- }
-
- if (methodName == null) {
- methodName = operatorName + StringUtils.capitalize(attribute.getName());
- if (! classifier.getOperations(methodName).isEmpty()) {
- methodName += "From" + attribute.getDeclaringElement().getName();
- }
- }
- return methodName;
- }
-}
Copied: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java (from rev 248, branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaGenerator.java)
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java (rev 0)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -0,0 +1,270 @@
+package org.nuiton.wikitty.generator;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Random;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.eugene.AbstractMetaTransformer;
+import org.nuiton.eugene.TemplateConfiguration;
+import org.nuiton.eugene.Transformer;
+import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.models.object.ObjectModel;
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelInterface;
+import org.nuiton.eugene.models.object.ObjectModelModifier;
+import org.nuiton.eugene.models.object.ObjectModelOperation;
+
+/**
+ *
+ * Wikitty generation steps :
+ * <ol>
+ * <li>transform user model to wikitty intermediate model</li>
+ * <li>generate from wikitty intermediate model :
+ * <ul>
+ * <li>a contract;</li>
+ * <li>an abstract class;</li>
+ * <li>an implementation;</li>
+ * <li>a helper</li>
+ * </ul>
+ * </li>
+ * </ol>
+ *
+ * @author bleny
+ *
+ * @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.wikitty.generator.WikittyMetaGenerator"
+ */
+
+// TODO 20100610 use filter with /*[]*/
+/*{generator option: writeString = }*/
+/*{generator option: parentheses = false}*/
+/*{generator option: writeString = +}*/
+
+public class WikittyMetaTransformer extends AbstractMetaTransformer<ObjectModel> {
+
+ private static final Log log = LogFactory.getLog(WikittyMetaTransformer.class);
+
+
+
+ public WikittyMetaTransformer() {
+ super(WikittyContractGenerator.class,
+ WikittyAbstractGenerator.class,
+ WikittyImplementationGenerator.class,
+ WikittyHelperGenerator.class);
+ }
+
+ /** */
+ @Override
+ protected boolean validateModel(ObjectModel model) {
+
+ if (model.getClasses().isEmpty()) {
+ log.warn("model doesn't contains any class");
+ }
+
+ for (ObjectModelClass clazz : model.getClasses()) {
+ if (clazz.getSuperclasses().size() > 1) {
+ log.error("multiple inheritance for class " + clazz.getName());
+ return false;
+ }
+
+ if (clazz.getStereotypes().contains(WikittyTransformerUtil.BUSINESS_ENTITY_STEREOTYPE_OLD_NAME)) {
+ log.warn(clazz.getQualifiedName() + " uses deprecated \"" +
+ WikittyTransformerUtil.BUSINESS_ENTITY_STEREOTYPE_OLD_NAME
+ + "\" stereotype. use \"" +
+ WikittyTransformerUtil.BUSINESS_ENTITY_STEREOTYPE_NAME +
+ "\" instead");
+ }
+
+ if (!clazz.hasTagValue(WikittyTransformerUtil.TAG_VERSION)) {
+ log.warn(clazz.getQualifiedName() + " misses a \"" +
+ WikittyTransformerUtil.TAG_VERSION + "\" tagValue");
+ }
+ }
+
+ return true;
+ }
+
+// will be moved soon
+// protected void processAttribute(ObjectModelAttribute attribute) {
+// // two variables needed below
+// String extensionVariableName = WikittyGeneratorUtil.classToExtensionVariableName(clazz);
+// String fieldVariableName = WikittyGeneratorUtil.attributeToFielVariableName(attribute);
+//
+//
+//
+// // let's find a name for the getter
+// String getterName = getMethodName("get", contract, attribute, attribute.getTagValue("getter"));
+//
+// // let's find a name for the setter
+// String setterName = getMethodName("set", contract, attribute, attribute.getTagValue("setter"));
+//
+// // attribute type simple name as it should be in signature
+// String attributeTypeSimpleName = WikittyGeneratorUtil.FQNtoSimpleName(attribute.getType());
+// if ("boolean".equals(attributeTypeSimpleName)) {
+// attributeTypeSimpleName = "Boolean";
+// } else if ("int".equals(attributeTypeSimpleName)) {
+// attributeTypeSimpleName = "Integer";
+// }
+//
+// if (attribute.getMaxMultiplicity() > 1 || attribute.getMaxMultiplicity() == -1) {
+// // attributed is a collection, we will generate operations get, add, remove and clear
+// String attributeTypeSimpleNameInSet = "Set<" + attributeTypeSimpleName + ">";
+//
+// // now, for this attribute, we will generate add, remove and clear methods
+//
+// // adding operations to contract
+// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleNameInSet);
+//
+// String addName = getMethodName("add", contract, attribute, attribute.getTagValue("adder"));
+// ObjectModelOperation adder = addOperation(contract, addName, "void");
+// addParameter(adder, "String", "element");
+//
+// String removeName = getMethodName("remove", contract, attribute, attribute.getTagValue("remover"));
+// ObjectModelOperation remover = addOperation(contract, removeName, "void");
+// addParameter(remover, "String", "element");
+//
+// String clearName = getMethodName("clear", contract, attribute, attribute.getTagValue("clear"));
+// ObjectModelOperation clear = addOperation(contract, clearName, "void");
+//
+// // adding operations to abstract with bodies
+// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
+// String getterBody = ""
+///*{
+// <%= attributeTypeSimpleNameInSet %> result = getWikitty().getFieldAsSet(<%= extensionVariableName %>, <%= fieldVariableName %>, <%= attributeTypeSimpleName %>.class);
+// return result;
+//}*/;
+// setOperationBody(getter, getterBody);
+//
+// adder = cloneOperationSignature(adder, abstractClass, true, ObjectModelModifier.PUBLIC);
+// String adderBody = ""
+///*{
+// getWikitty().addToField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
+// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%= getter.getName() %>());
+//}*/;
+// setOperationBody(adder, adderBody);
+//
+// remover = cloneOperationSignature(remover, abstractClass, true, ObjectModelModifier.PUBLIC);
+// String removerBody = ""
+///*{
+// getWikitty().removeFromField(<%=extensionVariableName%>, <%=fieldVariableName%>, element);
+// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
+//}*/;
+// setOperationBody(remover, removerBody);
+//
+// clear = cloneOperationSignature(clear, abstractClass, true, ObjectModelModifier.PUBLIC);
+// String clearBody = ""
+///*{
+// getWikitty().clearField(<%=extensionVariableName%>, <%=fieldVariableName%>);
+// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, null, <%=getter.getName()%>());
+//}*/;
+// setOperationBody(clear, clearBody);
+//
+// // adding operations to Helper with bodies
+// getter = addOperation(helper, getterName, attributeTypeSimpleNameInSet, ObjectModelModifier.STATIC);
+// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
+// setOperationBody(getter, ""
+///*{
+// <%=attributeTypeSimpleNameInSet%> result = wikitty.getFieldAsSet(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attributeTypeSimpleName%>.class);
+// return result;
+//}*/);
+//
+// adder = addOperation(helper, addName, "void", ObjectModelModifier.STATIC);
+// addParameter(adder, WIKITTY_CLASS_FQN, "wikitty");
+// addParameter(adder, attributeTypeSimpleName, "element");
+// setOperationBody(adder, ""
+///*{
+// wikitty.addToField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
+//}*/
+//);
+//
+// remover = addOperation(helper, removeName, "void", ObjectModelModifier.STATIC);
+// addParameter(remover, WIKITTY_CLASS_FQN, "wikitty");
+// addParameter(remover, attributeTypeSimpleName, "element");
+// setOperationBody(remover, ""
+///*{
+// wikitty.removeFromField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, element);
+//}*/);
+//
+// clear = addOperation(helper, clearName, "void", ObjectModelModifier.STATIC);
+// addParameter(clear, WIKITTY_CLASS_FQN, "wikitty");
+// setOperationBody(clear, ""
+///*{
+// wikitty.clearField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>);
+//}*/);
+//
+// } else {
+// // attribute is not a collection, we generate a getter and a setter
+// String getFieldMethodName = WikittyGeneratorUtil.generateGetFieldAsCall(attribute.getType());
+// String resultType = WikittyGeneratorUtil.generateResultType(attribute.getType());
+// attributeTypeSimpleName = resultType;
+//
+// // adding getter and setter to contract
+// ObjectModelOperation getter = addOperation(contract, getterName, attributeTypeSimpleName);
+// ObjectModelOperation setter = addOperation(contract, setterName, "void");
+// addParameter(setter, attributeTypeSimpleName, attribute.getName());
+//
+// // adding getter and setter to abstract with bodies
+// getter = cloneOperationSignature(getter, abstractClass, true, ObjectModelModifier.PUBLIC);
+// setOperationBody(getter, ""
+///*{
+// <%=resultType%> result = getWikitty().<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
+// return result;
+//}*/);
+//
+// setter = cloneOperationSignature(setter, abstractClass, true, ObjectModelModifier.PUBLIC);
+// setOperationBody(setter, ""
+///*{
+// Object oldValue = getField(<%=extensionVariableName%>, <%=fieldVariableName%>);
+// getWikitty().setField(<%=extensionVariableName%>, <%=fieldVariableName%>, <%=attribute.getName()%>);
+// getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=attribute.getName()%>);
+//}*/);
+//
+// // adding getter and setter to Helper with bodies
+// getter = addOperation(helper, getterName, attributeTypeSimpleName, ObjectModelModifier.STATIC);
+// addParameter(getter, WIKITTY_CLASS_FQN, "wikitty");
+// setOperationBody(getter, ""
+///*{
+// <%=resultType%> result = wikitty.<%=getFieldMethodName%>(<%=extensionVariableName%>, <%=fieldVariableName%>);
+// return result;
+//}*/);
+//
+// setter = addOperation(helper, setterName, "void", ObjectModelModifier.STATIC);
+// addParameter(setter, WIKITTY_CLASS_FQN, "wikitty");
+// addParameter(setter, attributeTypeSimpleName, attribute.getName());
+// setOperationBody(setter, ""
+///*{
+// wikitty.setField(<%=extensionVariableName%>, <%=clazz.getName()%>.<%=fieldVariableName%>, <%=attribute.getName()%>);
+//}*/);
+// }
+// }
+
+ /** getMethodName("add", contract, attribute, "myNameForThisAdder")
+ * will return "myNameForThisAdder" if not already defined in contract ;
+ * if already defined, will try add<attributeName>. If it already exists
+ * will return add<attributeName>From<ExtensionName> */
+ protected String getMethodName(String operatorName,
+ ObjectModelClassifier classifier,
+ ObjectModelAttribute attribute,
+ String claimedValue) {
+ String methodName = claimedValue;
+ if (methodName != null) {
+ if (! classifier.getOperations(methodName).isEmpty()) {
+ log.warn(methodName + " operation already exists in " + attribute.getDeclaringElement().getName() + " ignoring tagValue");
+ methodName = null;
+ }
+ }
+
+ if (methodName == null) {
+ methodName = operatorName + StringUtils.capitalize(attribute.getName());
+ if (! classifier.getOperations(methodName).isEmpty()) {
+ methodName += "From" + attribute.getDeclaringElement().getName();
+ }
+ }
+ return methodName;
+ }
+}
Added: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java (rev 0)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -0,0 +1,131 @@
+package org.nuiton.wikitty.generator;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.models.object.ObjectModel;
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+
+/**
+ * this transformer read the original user model and generate the intermediate
+ * model needed by generators.
+ *
+ *
+ *
+ */
+public class WikittyPurifierTransformer extends ObjectModelTransformerToJava {
+
+ private static final Log log = LogFactory.getLog(WikittyPurifierTransformer.class);
+
+ Map<ObjectModelClass, List<String>> namesUsedByClass = new HashMap<ObjectModelClass, List<String>>();
+
+ List<ObjectModelClass> processedClasses = new ArrayList<ObjectModelClass>();
+
+ /**
+ * for a given, class read all attributes name and try to find conflicts
+ * with parent classes attributes names.
+ *
+ * If a conflict is found, we try to solve the conflict by adding an
+ * tagValue to the conflicting attribute for others transformers
+ * to consider it as a new name. To choose a new name, we look for
+ * an alternative name provided by the user through a tagValue on this
+ * attribute. If no alternative provided, we try to generate an alternative
+ * name by adding "From<className>" to the attribute name.
+ */
+ protected void processClass(ObjectModelClass clazz) {
+ if (processedClasses.contains(clazz)) {
+ // clazz has already been processed, do nothing
+ } else {
+ // all attributes names that will be used by clazz
+ List<String> allUsedNames = new ArrayList<String>();
+
+
+ // first, we have to get all names used by the super classes and
+ // its superclasses. So they must have been processed before
+ // current class. Thus, we recursively call processClass on
+ // superClass.
+
+ // process superclass first
+ for (ObjectModelClass superClasses : clazz.getSuperclasses()) {
+ if (WikittyTransformerUtil.isBusinessEntity(superClasses)) {
+ if (!processedClasses.contains(superClasses)) {
+ processClass(superClasses);
+ allUsedNames.addAll(namesUsedByClass.get(superClasses));
+ }
+ }
+ }
+
+ // now, allUsedNames contains all names used by superClass, we
+ // have to check current class attributes names for conflict.
+ // allUsedNames contains name that we
+ // can't use without generating a conflict
+ for (ObjectModelAttribute attribute : clazz.getAttributes()) {
+ if (allUsedNames.contains(attribute.getName())) {
+ // conflict !
+
+ // let's try to find an alternative name for this attribute
+ // as long as we has not found, alternativeName should
+ // remains null
+ String alternativeName = null;
+
+ // first, try to use an alternative name provided by the user in the model
+ if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
+ alternativeName = attribute.getTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME);
+ if (allUsedNames.contains(alternativeName)) {
+ // using alternative name lead to a conflict
+ alternativeName = null;
+ }
+ }
+
+ if (alternativeName == null) {
+ // it wasn't a success, try to generate an alternative name
+ alternativeName = attribute.getName() + "From" + clazz.getName();
+ if (allUsedNames.contains(alternativeName)) {
+ log.error("are you joking ? do you *really* " +
+ "need to call an attribue" +
+ alternativeName + " ?");
+ alternativeName = null;
+ }
+ }
+
+ if (alternativeName == null) {
+ // still no alternative :-(
+ log.error("no way to resolve conflict with attribute" +
+ attribute.getName() + " from class " + clazz
+ + ". You should add or change a tagValue \"" +
+ WikittyTransformerUtil.TAG_ALTERNATIVE_NAME +
+ "\" on this attribute");
+ } else {
+ // using alternative name is OK
+ addTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME, alternativeName);
+ allUsedNames.add(alternativeName);
+ }
+
+ } else {
+ // no conflict, we name consider this attribute name as taken
+ allUsedNames.add(attribute.getName());
+ }
+ }
+
+ // saving all names we used in current class will permit to sub classes
+ // to know what names it must not use
+ namesUsedByClass.put(clazz, allUsedNames);
+ }
+ }
+
+ @Override
+ public void transformFromModel(ObjectModel model) {
+ for (ObjectModelClass clazz : model.getClasses()) {
+ ObjectModelClass clone = cloneClass(clazz, true);
+ if (WikittyTransformerUtil.isBusinessEntity(clazz)) {
+ processClass(clone);
+ }
+ }
+ }
+}
Copied: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java (from rev 254, branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyGeneratorUtil.java)
===================================================================
--- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java (rev 0)
+++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyTransformerUtil.java 2010-08-12 17:28:30 UTC (rev 255)
@@ -0,0 +1,112 @@
+package org.nuiton.wikitty.generator;
+
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+
+
+public class WikittyTransformerUtil {
+
+ /** utility class should not be instanciated */
+ private WikittyTransformerUtil() {}
+
+ protected static final String BUSINESS_ENTITY_CLASS_FQN = "org.nuiton.wikitty.BusinessEntity";
+ protected static final String BUSINESS_ENTITY_WIKITTY_CLASS_FQN = "org.nuiton.wikitty.BusinessEntityWikitty";
+ protected static final String WIKITTY_CLASS_FQN = "org.nuiton.wikitty.Wikitty";
+
+ protected static final String TAG_VERSION = "version";
+ protected static final String TAG_ALTERNATIVE_NAME = "alternativeName";
+
+ /** @deprecated name change : see ticket #798. use BUSINESS_ENTITY_STEREOTYPE_NAME */
+ @Deprecated
+ protected static final String BUSINESS_ENTITY_STEREOTYPE_OLD_NAME = "BusinessEntity";
+
+ /** user will use this stereotype in his model */
+ protected static final String BUSINESS_ENTITY_STEREOTYPE_NAME = "entity";
+
+ /** given a class called Client will return "EXT_CLIENT"
+ * should be used as a variable name to store the extension name
+ */
+ protected static String classToExtensionVariableName(ObjectModelClass clazz) {
+ String extensionVariableName = "EXT_" + clazz.getName().toUpperCase();
+ return extensionVariableName;
+ }
+
+ /** given the field name of the class client, will return FIELD_CLIENT_NAME */
+ protected static String attributeToFielVariableName(ObjectModelAttribute attribute) {
+ String fieldVariableName = "FIELD_" + attribute.getDeclaringElement().getName().toUpperCase() + "_" + attribute.getName().toUpperCase();
+ return fieldVariableName;
+ }
+
+ /** given "my.java.package.MyClass" or "MyClass" return "MyClass" */
+ protected static String FQNtoSimpleName(String fqn) {
+ int lastDotIndex = fqn.lastIndexOf(".");
+ String simpleName = fqn;
+ if (lastDotIndex != -1) {
+ simpleName = fqn.substring(lastDotIndex + 1);
+ }
+ return simpleName;
+ }
+
+ protected static boolean isBusinessEntity(ObjectModelClass clazz) {
+ boolean result = clazz.hasStereotype(BUSINESS_ENTITY_STEREOTYPE_NAME)
+ || clazz.hasStereotype(BUSINESS_ENTITY_STEREOTYPE_OLD_NAME);
+ return result;
+ }
+
+ /**
+ * wikitty interface provide getFieldAsString, getFieldAsDate etc. methods
+ * this method returns the good name of the method to call depending the
+ * type given as parameter
+ * @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 {
+ asWhat = "String";
+ }
+ return "getFieldAs" + asWhat;
+ }
+
+
+ protected static String generateResultType(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 {
+ asWhat = "String";
+ }
+ return asWhat;
+ }
+
+ 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 {
+ result = "Wikitty";
+ }
+ return result;
+ }
+
+
+
+}
1
0
Author: sletellier
Date: 2010-08-12 19:09:58 +0200 (Thu, 12 Aug 2010)
New Revision: 254
Url: http://nuiton.org/repositories/revision/wikitty/254
Log:
Up hessian version to 3.0.6
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-12 17:07:31 UTC (rev 253)
+++ trunk/pom.xml 2010-08-12 17:09:58 UTC (rev 254)
@@ -106,7 +106,7 @@
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
- <version>3.1.5</version>
+ <version>4.0.6</version>
<scope>compile</scope>
</dependency>
1
0
r253 - in trunk/wikitty-api/src/main/resources: . META-INF META-INF/hessian
by sletellier@users.nuiton.org 12 Aug '10
by sletellier@users.nuiton.org 12 Aug '10
12 Aug '10
Author: sletellier
Date: 2010-08-12 19:07:31 +0200 (Thu, 12 Aug 2010)
New Revision: 253
Url: http://nuiton.org/repositories/revision/wikitty/253
Log:
Specify serializers for BigDecimal
Added:
trunk/wikitty-api/src/main/resources/META-INF/
trunk/wikitty-api/src/main/resources/META-INF/hessian/
trunk/wikitty-api/src/main/resources/META-INF/hessian/deserializers
trunk/wikitty-api/src/main/resources/META-INF/hessian/serializers
Added: trunk/wikitty-api/src/main/resources/META-INF/hessian/deserializers
===================================================================
--- trunk/wikitty-api/src/main/resources/META-INF/hessian/deserializers (rev 0)
+++ trunk/wikitty-api/src/main/resources/META-INF/hessian/deserializers 2010-08-12 17:07:31 UTC (rev 253)
@@ -0,0 +1 @@
+java.math.BigDecimal=com.caucho.hessian.io.BigDecimalDeserializer
\ No newline at end of file
Added: trunk/wikitty-api/src/main/resources/META-INF/hessian/serializers
===================================================================
--- trunk/wikitty-api/src/main/resources/META-INF/hessian/serializers (rev 0)
+++ trunk/wikitty-api/src/main/resources/META-INF/hessian/serializers 2010-08-12 17:07:31 UTC (rev 253)
@@ -0,0 +1 @@
+java.math.BigDecimal=com.caucho.hessian.io.StringValueSerializer
\ No newline at end of file
1
0
Author: tchemit
Date: 2010-08-12 16:48:23 +0200 (Thu, 12 Aug 2010)
New Revision: 252
Url: http://nuiton.org/repositories/revision/wikitty/252
Log:
once again
Modified:
trunk/wikitty-jpa-impl/pom.xml
Modified: trunk/wikitty-jpa-impl/pom.xml
===================================================================
--- trunk/wikitty-jpa-impl/pom.xml 2010-08-12 14:24:00 UTC (rev 251)
+++ trunk/wikitty-jpa-impl/pom.xml 2010-08-12 14:48:23 UTC (rev 252)
@@ -72,26 +72,31 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
+ <scope>test</scope>
</dependency>
<!-- Hibernate -->
@@ -126,7 +131,6 @@
<dependency>
<groupId>com.experlog</groupId>
<artifactId>xapool</artifactId>
- <version>1.5.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
@@ -159,7 +163,7 @@
<properties>
- <!--maven.test.failure.ignore>false</maven.test.failure.ignore-->
+ <maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
</project>
1
0
Author: tchemit
Date: 2010-08-12 16:24:00 +0200 (Thu, 12 Aug 2010)
New Revision: 251
Url: http://nuiton.org/repositories/revision/wikitty/251
Log:
once again, clean poms + svn:ignore for (safe?) none eclipse users...
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-12 14:08:51 UTC (rev 250)
+++ trunk/pom.xml 2010-08-12 14:24:00 UTC (rev 251)
@@ -246,12 +246,30 @@
<dependency>
<groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-orm</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-jdbc</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.1-Final</version>
1
0