Eugene-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
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- 1738 discussions
r695 - in branches/eugene-2.0/eugene/src: main/java/org/nuiton/eugene/models main/java/org/nuiton/eugene/models/object/xml main/java/org/nuiton/eugene/models/state/xml test/java/org/nuiton/eugene/xmi/objectmodel
by fdesbois@users.nuiton.org 05 Nov '09
by fdesbois@users.nuiton.org 05 Nov '09
05 Nov '09
Author: fdesbois
Date: 2009-11-05 18:38:18 +0100 (Thu, 05 Nov 2009)
New Revision: 695
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
Log:
Merge from r643
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java 2009-11-05 15:10:25 UTC (rev 694)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java 2009-11-05 17:38:18 UTC (rev 695)
@@ -39,6 +39,13 @@
public abstract String getName();
/**
+ * Returns the version of this model.
+ *
+ * @return the version of this model.
+ */
+ public abstract String getVersion();
+
+ /**
* Returns the tagValues associated with this element.
* For each entry, the key is the name of the tagValue, the value is the value of the tagValue :-)
*
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-05 15:10:25 UTC (rev 694)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-05 17:38:18 UTC (rev 695)
@@ -53,6 +53,7 @@
public class ObjectModelImpl implements ObjectModel {
protected String name = null;
+ protected String version = null;
protected Map<String, ObjectModelClass> classes = new HashMap<String, ObjectModelClass>();
protected Map<String, ObjectModelInterface> interfaces = new HashMap<String, ObjectModelInterface>();
protected Map<String, ObjectModelClassifier> classifiers = new HashMap<String, ObjectModelClassifier>();
@@ -70,6 +71,15 @@
this.name = name;
}
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ @Override
+ public String getVersion() {
+ return this.version;
+ }
+
public void addClass(ObjectModelClassImpl clazz) {
//if (clazz == null)
// return new ObjectModelClassImpl(this, null);
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-11-05 15:10:25 UTC (rev 694)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-11-05 17:38:18 UTC (rev 695)
@@ -50,6 +50,11 @@
protected String name = null;
/**
+ * Version of this model
+ */
+ protected String version = null;
+
+ /**
* Model tagged values
*/
protected Map<String, String> modelTagValues;
@@ -136,4 +141,24 @@
return (key == null ? null : (String) modelTagValues.get(key));
}
+ /**
+ * Set model version.
+ *
+ * @param name model version
+ */
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ /**
+ * Get model version.
+ *
+ * @return model version
+ */
+ @Override
+ public String getVersion() {
+ return this.version;
+ }
+
+
}
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-11-05 15:10:25 UTC (rev 694)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-11-05 17:38:18 UTC (rev 695)
@@ -149,6 +149,9 @@
File objectModelFile = transformXMI(xmiFile, "topiatest.objectmodel");
ObjectModel model = loadModel(objectModelFile);
+
+ // Test for model version
+ Assert.assertEquals("1.2",model.getVersion());
Assert.assertNotNull(model);
Assert.assertEquals("TopiaTest", model.getName());
1
0
r694 - in branches/eugene-2.0/eugene/src: main/java/org/nuiton/eugene/models/object main/java/org/nuiton/eugene/models/object/xml test/java/org/nuiton/eugene/models/object/xml
by fdesbois@users.nuiton.org 05 Nov '09
by fdesbois@users.nuiton.org 05 Nov '09
05 Nov '09
Author: fdesbois
Date: 2009-11-05 16:10:25 +0100 (Thu, 05 Nov 2009)
New Revision: 694
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
Log:
Evol #115 :
- Add methods to manage tagValues, associations and stereotypes in ObjectModelBuilder
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -34,8 +34,10 @@
*/
public enum ObjectModelModifier {
- STATIC, FINAL, ABSTRACT, PUBLIC, PROTECTED, PRIVATE, PACKAGE;
+ STATIC, FINAL, ABSTRACT, PUBLIC, PROTECTED, PRIVATE, PACKAGE,
+ AGGREGATE, COMPOSITE, UNIQUE, ORDERED, NAVIGABLE;
+
public boolean isVisibility() {
return this == PUBLIC ||
this == PROTECTED ||
@@ -43,6 +45,11 @@
this == PACKAGE;
}
+ public boolean isAssociationType() {
+ return this == AGGREGATE ||
+ this == COMPOSITE;
+ }
+
@Override
public String toString() {
switch (this) {
@@ -53,6 +60,9 @@
case PRIVATE: return "private";
case PROTECTED: return "protected";
case PACKAGE: return "";
+ case ORDERED: return "ordered";
+ case AGGREGATE: return "aggregate";
+ case COMPOSITE: return "composite";
}
return "";
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -29,6 +29,7 @@
*
* @author fdesbois
*/
+@Deprecated
public enum ObjectModelVisibility {
PUBLIC, PROTECTED, PRIVATE, PACKAGE
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -33,8 +33,10 @@
public class ObjectModeImplAssociationClassParticipant extends
ObjectModelImplRef {
+ // class
protected ObjectModelAssociationClassImpl associationClass = null;
+ // role
protected String attributeName = null;
public ObjectModeImplAssociationClassParticipant() {
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -231,6 +231,7 @@
/*
* @see org.nuiton.eugene.models.object.ObjectModelAttribute#isOrdered()
*/
+ @Override
public boolean isOrdered() {
return isIndexed() || super.isOrdered();
}
@@ -238,6 +239,8 @@
/*
* @see org.nuiton.eugene.models.object.ObjectModelAttribute#isIndexed()
*/
+ @Deprecated
+ @Override
public boolean isIndexed() {
return hasStereotype("indexed");
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -22,6 +22,7 @@
package org.nuiton.eugene.models.object.xml;
import org.nuiton.eugene.models.object.ObjectModel;
+import org.nuiton.eugene.models.object.ObjectModelAssociationClass;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
@@ -67,6 +68,33 @@
}
/**
+ * Add a tagValue to the model.
+ * @param name tagValue name
+ * @param value tagValue value
+ */
+ public void addTagValue(String name, String value) {
+ ObjectModelImplTagValue tagValue = new ObjectModelImplTagValue();
+ tagValue.setName(name);
+ tagValue.setValue(value);
+ model.addTagValue(tagValue);
+ }
+
+ /**
+ * Add a tagValue to an element
+ * @param element where the tag value will be added
+ * @param name tagValue name
+ * @param value tagValue value
+ */
+ public void addTagValue(ObjectModelElement element, String name, String value) {
+ ObjectModelElementImpl impl = (ObjectModelElementImpl)element;
+
+ ObjectModelImplTagValue tagValue = new ObjectModelImplTagValue();
+ tagValue.setName(name);
+ tagValue.setValue(value);
+ impl.addTagValue(tagValue);
+ }
+
+ /**
* Create a new class in the model.
* Modifiers allowed : ABSTRACT, STATIC.
* @param name class name
@@ -76,16 +104,25 @@
*/
public ObjectModelClass createClass(String name, String packageName, ObjectModelModifier... modifiers) {
ObjectModelClassImpl result = new ObjectModelClassImpl();
- result.setName(name);
- result.setPackage(packageName);
+ return createClass(result, name, packageName, modifiers);
+ }
+
+ protected ObjectModelClass createClass(ObjectModelClassImpl clazz,
+ String name, String packageName, ObjectModelModifier... modifiers) {
+ clazz.setName(name);
+ clazz.setPackage(packageName);
for (ObjectModelModifier modifier : modifiers) {
switch (modifier) {
- case ABSTRACT: result.setAbstract(true); break;
- case STATIC: result.setStatic(true);
+ case ABSTRACT:
+ clazz.setAbstract(true); break;
+ case STATIC:
+ clazz.setStatic(true); break;
+ default:
+ throw new IllegalArgumentException("Unsupported modifier type '" + modifier.name() + "'");
}
}
- model.addClass(result);
- return result;
+ model.addClass(clazz);
+ return clazz;
}
/**
@@ -116,7 +153,7 @@
/**
* Add an attribute to a classifier (interface, class, enum).
- * Modifiers allowed : STATIC, FINAL, PUBLIC, PRIVATE, PROTECTED, PACKAGE.
+ * Modifiers allowed : STATIC, FINAL, PUBLIC, PRIVATE, PROTECTED, PACKAGE, ORDERED, UNIQUE.
* The last visibility set will be keeped.
* @param classifier where the attribute will be added
* @param name attribute name
@@ -138,8 +175,16 @@
attribute.setVisibility(modifier.toString());
} else {
switch (modifier) {
- case STATIC: attribute.setStatic(true); break;
- case FINAL: attribute.setFinal(true);
+ case STATIC:
+ attribute.setStatic(true); break;
+ case FINAL:
+ attribute.setFinal(true); break;
+ case ORDERED:
+ attribute.setOrdering(modifier.toString()); break;
+ case UNIQUE:
+ attribute.setUnique(true); break;
+ default:
+ throw new IllegalArgumentException("Unsupported modifier type '" + modifier.name() + "'");
}
}
}
@@ -150,6 +195,145 @@
}
/**
+ * Add an association A to B. Create only attribute association for classifierA.
+ * MODIFIERS allowed : PUBLIC, PRIVATE, PACKAGE, PROTECTED, AGGREGATE, COMPOSITE, ORDERED, UNIQUE
+ * STATIC, NAVIGABLE.
+ * You have to use method {@link #addReverseAssociation(org.nuiton.eugene.models.object.ObjectModelAttribute,
+ * java.lang.String, int, int, org.nuiton.eugene.models.object.ObjectModelModifier[])} to create
+ * attribute association for classifierB.
+ * @param classifierA classifier from
+ * @param classifierB classifier to
+ * @param roleName role of A in association
+ * @param minMultiplicity minimum multiplicity of A in association
+ * @param maxMultiplicity maximum multiplicity of A in association
+ * @param modifiers for the association
+ * @return the attribute corresponding to the association for classifierA
+ */
+ public ObjectModelAttribute addAssociation(ObjectModelClassifier classifierA, ObjectModelClassifier classifierB, String roleName,
+ int minMultiplicity, int maxMultiplicity, ObjectModelModifier... modifiers) {
+
+ ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl();
+
+ attribute.setName(roleName);
+ attribute.setMinMultiplicity(minMultiplicity);
+ attribute.setMaxMultiplicity(maxMultiplicity);
+ attribute.setType(classifierB.getQualifiedName());
+
+ for (ObjectModelModifier modifier : modifiers) {
+
+ if (modifier.isVisibility()) {
+ attribute.setVisibility(modifier.toString());
+ } else if (modifier.isAssociationType()) {
+ attribute.setAssociationType(modifier.toString());
+ } else {
+ switch (modifier) {
+ case ORDERED:
+ attribute.setOrdering(modifier.toString()); break;
+ case UNIQUE:
+ attribute.setUnique(true); break;
+ case STATIC:
+ attribute.setStatic(true); break;
+ case NAVIGABLE:
+ attribute.setNavigable(true); break;
+ default:
+ throw new IllegalArgumentException("Unsupported modifier type '" + modifier.name() + "'");
+ }
+ }
+ }
+ ObjectModelClassifierImpl impl = (ObjectModelClassifierImpl)classifierA;
+ impl.addAttribute(attribute);
+ return attribute;
+ }
+
+ /**
+ * Create reverse association from an other association.
+ * MODIFIERS allowed : PUBLIC, PRIVATE, PACKAGE, PROTECTED, AGGREGATE, COMPOSITE, ORDERED, UNIQUE
+ * STATIC, NAVIGABLE.
+ * @param attrAssociation other association A to B
+ * @param roleName role of B in association
+ * @param minMultiplicity minimum multiplicity of B in association
+ * @param maxMultiplicity maximum multiplicity of B in association
+ * @param modifiers for the association
+ * @return the attribute corresponding to the association for classifierB
+ * @see #addAssociation(org.nuiton.eugene.models.object.ObjectModelClassifier, org.nuiton.eugene.models.object.ObjectModelClassifier,
+ * java.lang.String, int, int, org.nuiton.eugene.models.object.ObjectModelModifier[])
+ */
+ public ObjectModelAttribute addReverseAssociation(ObjectModelAttribute attrAssociation, String roleName,
+ int minMultiplicity, int maxMultiplicity, ObjectModelModifier... modifiers) {
+
+ ObjectModelAttributeImpl associationA = (ObjectModelAttributeImpl)attrAssociation;
+ // Add reverse parameters
+ associationA.setReverseAttributeName(roleName);
+ associationA.setReverseMaxMultiplicity(maxMultiplicity);
+
+ ObjectModelClassifierImpl classifierA =
+ (ObjectModelClassifierImpl)associationA.getDeclaringElement();
+
+ String typeB = associationA.getType();
+ // Get classifierB from model
+ ObjectModelClassifierImpl classifierB =
+ (ObjectModelClassifierImpl)model.getClassifier(typeB);
+
+ // Create reverse association
+ ObjectModelAttributeImpl associationB =
+ (ObjectModelAttributeImpl)addAssociation(classifierB, classifierA, roleName,
+ minMultiplicity, maxMultiplicity, modifiers);
+
+ associationB.setReverseAttributeName(associationA.getName());
+ associationB.setReverseMaxMultiplicity(associationA.getMaxMultiplicity());
+
+ return associationB;
+ }
+
+ /**
+ * Create association class. The two extremities of the association must be existing before creating
+ * the association class.
+ * Modifiers allowed : ABSTRACT, STATIC.
+ * @param name association class name
+ * @param packageName association package name
+ * @param attrAssociationA attribute association for classifierA involved in association class
+ * @param attrAssociationB attribute association for classifierB involved in association class
+ * @param modifiers for the association class
+ * @return the new association class created with participants A and B
+ */
+ public ObjectModelAssociationClass createAssociationClass(String name, String packageName, ObjectModelAttribute attrAssociationA,
+ ObjectModelAttribute attrAssociationB, ObjectModelModifier... modifiers) {
+
+ ObjectModelAssociationClassImpl associationClass = new ObjectModelAssociationClassImpl();
+ createClass(associationClass, name, packageName, modifiers);
+
+ // Add associationClass in attrAssociationA
+ ObjectModelAttributeImpl attrA = (ObjectModelAttributeImpl)attrAssociationA;
+ attrA.setAssociationClassName(associationClass.getQualifiedName());
+
+ // Add associationClass in attrAssociationB
+ ObjectModelAttributeImpl attrB = (ObjectModelAttributeImpl)attrAssociationB;
+ attrB.setAssociationClassName(associationClass.getQualifiedName());
+
+ // Create participantA
+ ObjectModeImplAssociationClassParticipant participantA =
+ new ObjectModeImplAssociationClassParticipant();
+
+ participantA.setAttribute(attrA.getName());
+ ObjectModelClassifier classifierA = (ObjectModelClassifier)attrA.getDeclaringElement();
+ participantA.setName(classifierA.getQualifiedName());
+
+ associationClass.addParticipant(participantA);
+
+ // Create participantB
+ ObjectModeImplAssociationClassParticipant participantB =
+ new ObjectModeImplAssociationClassParticipant();
+
+ participantB.setAttribute(attrB.getName());
+ ObjectModelClassifier classifierB = (ObjectModelClassifier)attrB.getDeclaringElement();
+ participantB.setName(classifierB.getQualifiedName());
+
+ associationClass.addParticipant(participantB);
+
+ return associationClass;
+ }
+
+ /**
* Add an operation to a classifier.
* Modifiers allowed : STATIC, ABSTRACT, PUBLIC, PRIVATE, PROTECTED, PACKAGE.
* The last visibility set will be keeped.
@@ -175,8 +359,12 @@
result.setVisibility(modifier.toString());
} else {
switch (modifier) {
- case STATIC: result.setStatic(true); break;
- case ABSTRACT: result.setAbstract(true);
+ case STATIC:
+ result.setStatic(true); break;
+ case ABSTRACT:
+ result.setAbstract(true); break;
+ default:
+ throw new IllegalArgumentException("Unsupported modifier type '" + modifier.name() + "'");
}
}
}
@@ -261,4 +449,16 @@
impl.setDocumentation(documentation);
}
+ /**
+ * Add a stereotype to an element.
+ * @param element where the stereotype will be added
+ * @param stereotype name
+ */
+ public void addStereotype(ObjectModelElement element, String stereotype) {
+ ObjectModelElementImpl impl = (ObjectModelElementImpl)element;
+ ObjectModelImplRef ref = new ObjectModelImplRef();
+ ref.setName(stereotype);
+ impl.addStereotype(ref);
+ }
+
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -95,8 +95,7 @@
*/
@Override
public boolean isOrdered() {
- return "ordered".equals(ordering)
- || getTagValue("order-by") != null;
+ return "ordered".equals(ordering);
}
@Override
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java 2009-11-05 10:34:15 UTC (rev 693)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java 2009-11-05 15:10:25 UTC (rev 694)
@@ -29,10 +29,13 @@
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.nuiton.eugene.models.object.ObjectModel;
import static org.junit.Assert.*;
+import org.nuiton.eugene.models.object.ObjectModelAssociationClass;
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.ObjectModelElement;
import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
import org.nuiton.eugene.models.object.ObjectModelParameter;
@@ -85,6 +88,34 @@
}
/**
+ * Test of addTagValue method, of class ObjectModelBuilder.
+ * Prerequisite : none.
+ * - Add a tag value to the model
+ * - Add a tag value to an element
+ */
+ @Test
+ public void testAddTagValue() {
+ System.out.println("addTagValue");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ builder.addTagValue("fr.ifremer.isisfish.types.Month",
+ "fr.ifremer.isisfish.types.hibernate.MonthType");
+
+ // model.tagvalue.fr.ifremer.isisfish.types.Month=fr.ifremer.isisfish.types.hibernate.MonthType
+ ObjectModel model = builder.getModel();
+ assertEquals("fr.ifremer.isisfish.types.hibernate.MonthType",
+ model.getTagValue("fr.ifremer.isisfish.types.Month"));
+
+ // fr.isisfish.entities.Population.attribute.name.tagvalue.pk=topiaId
+ ObjectModelClass clazz = builder.createClass("Population", "fr.isisfish.entities");
+ ObjectModelAttribute attr = builder.addAttribute(clazz, "name", "java.lang.String");
+ builder.addTagValue(attr, "pk", "topiaId");
+
+ assertEquals("topiaId", attr.getTagValue("pk"));
+ }
+
+ /**
* Test of createClass method, of class ObjectModelBuilder.
* Prerequisite : none.
* - Create a class with name and packageName. Qualified name of the class = name + packageName.
@@ -304,4 +335,109 @@
System.out.println("setDocumentation");
}
+ /**
+ * Test of addAssociation method, of class ObjectModelBuilder.
+ * Prerequisite : two existing classifier in model.
+ * - Add an ordered navigable composite association 1..1 from Poll to Vote
+ */
+ @Test
+ public void testAddAssociation() {
+ System.out.println("addAssociation");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass classA = builder.createClass("Poll", "org.chorem.pollen.business.persistence");
+
+ ObjectModelClass classB = builder.createClass("Vote", "org.chorem.pollen.business.persistence");
+
+ ObjectModelAttribute assoc = builder.addAssociation(classA, classB, "poll", 1, 1,
+ ObjectModelModifier.COMPOSITE, ObjectModelModifier.NAVIGABLE, ObjectModelModifier.ORDERED);
+
+ assertNotNull(assoc);
+ assertTrue(assoc.isNavigable());
+ assertTrue(assoc.isComposite());
+ assertTrue(assoc.isOrdered());
+ assertEquals("poll", assoc.getName());
+ assertEquals(1, assoc.getMinMultiplicity());
+ assertEquals(1, assoc.getMaxMultiplicity());
+ assertEquals("org.chorem.pollen.business.persistence.Vote", assoc.getType());
+
+ }
+
+ /**
+ * Test of addReverseAssociation method, of class ObjectModelBuilder.
+ * Prerequisite : two existing classifier in model and attribute association existing for one of the
+ * classifier.
+ * - Add a non navigable association 0..* from Vote to Poll
+ */
+ @Test
+ public void testAddReverseAssociation() {
+ System.out.println("addReverseAssociation");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass classA = builder.createClass("Poll", "org.chorem.pollen.business.persistence");
+
+ ObjectModelClass classB = builder.createClass("Vote", "org.chorem.pollen.business.persistence");
+
+ ObjectModelAttribute assocA = builder.addAssociation(classA, classB, "poll", 1, 1,
+ ObjectModelModifier.COMPOSITE, ObjectModelModifier.NAVIGABLE, ObjectModelModifier.ORDERED);
+
+ ObjectModelAttribute assocB = builder.addReverseAssociation(assocA, "vote", 0, -1);
+
+ assertEquals(assocA, assocB.getReverseAttribute());
+ assertEquals(assocB, assocA.getReverseAttribute());
+ }
+
+ /**
+ * Test of createAssociationClass method, of class ObjectModelBuilder.
+ * Prerequisite : two existing classifier in model and attribute association existing for both of the
+ * classifiers.
+ * - Add an association class VoteToChoice between Vote and Choice classes
+ */
+ @Test
+ public void testCreateAssociationClass() {
+ System.out.println("createAssociationClass");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass classA = builder.createClass("Vote", "org.chorem.pollen.business.persistence");
+
+ ObjectModelClass classB = builder.createClass("Choice", "org.chorem.pollen.business.persistence");
+
+ ObjectModelAttribute assocA = builder.addAssociation(classA, classB, "vote", 0, -1,
+ ObjectModelModifier.NAVIGABLE, ObjectModelModifier.ORDERED);
+
+ ObjectModelAttribute assocB = builder.addReverseAssociation(assocA, "choice", 1, -1,
+ ObjectModelModifier.NAVIGABLE, ObjectModelModifier.ORDERED);
+
+ ObjectModelAssociationClass assocClass = builder.createAssociationClass("VoteToChoice",
+ "org.chorem.pollen.business.persistence", assocA, assocB);
+
+ List<ObjectModelClassifier> classifiers = assocClass.getParticipantsClassifiers();
+
+ assertEquals(2, classifiers.size());
+ assertTrue(classifiers.contains(classA));
+ assertTrue(classifiers.contains(classB));
+ }
+
+ /**
+ * Test of addStereotype method, of class ObjectModelBuilder.
+ */
+ @Test
+ public void testAddStereotype() {
+ System.out.println("addStereotype");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass classA = builder.createClass("Vote", "org.chorem.pollen.business.persistence");
+
+ assertEquals(0, classA.getStereotypes().size());
+
+ builder.addStereotype(classA, "entity");
+
+ assertEquals(1, classA.getStereotypes().size());
+
+ }
+
}
\ No newline at end of file
1
0
05 Nov '09
Author: fdesbois
Date: 2009-11-05 11:34:15 +0100 (Thu, 05 Nov 2009)
New Revision: 693
Added:
branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagClasses_Generators.png
Modified:
branches/eugene-2.0/eugene/doc/3-v2.0/eugene2.0.pdf
branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0
Log:
complete doc for eugene 2.0
Modified: branches/eugene-2.0/eugene/doc/3-v2.0/eugene2.0.pdf
===================================================================
(Binary files differ)
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagClasses_Generators.png
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagClasses_Generators.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0
===================================================================
--- branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0 2009-11-04 17:41:32 UTC (rev 692)
+++ branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0 2009-11-05 10:34:15 UTC (rev 693)
@@ -7,6 +7,15 @@
.. contents:: Contenu
+Avant-propos
+------------
+
+Ce document regroupe les nouvelles évolutions apportés à EUGene pour sa version 2.0. Certaines évolutions pourront potentiellement changés lors de leurs développements. Suivre la `RoadMap`_ . Le développement est en cours sur la branche `eugene-2.0`_ .
+
+.. _eugene-2.0: http://nuiton.org/repositories/browse/eugene/branches/eugene-2.0
+
+.. _RoadMap: http://nuiton.org/versions/show/38
+
Contexte de départ
------------------
@@ -22,7 +31,7 @@
-----------------------------
- La config du plugin maven ne doit quasimment pas changer : Les transformations seront considérés comme des templates de générations
-- L'ObjectModel ne doit pas prendre en compte des spécificités Java (pas d'importsManager, pas d'attributs "synchronized", ...), le comportement doit rester identique.
+- L'ObjectModel ne doit pas prendre en compte des spécificités Java (pas d'importsManager, pas d'attributs "synchronized", ...), le comportement doit rester identique (et indépendant du langage).
- Les templates de génération existantes doivent fonctionner toujours de la même manière : même résultat à la génération
@@ -77,7 +86,7 @@
2 - `Evol #114`_ : Ajout d'extensions à l'ObjectModel
-3 - `Evol #115`_ : Remplissage de l'ObjectModel directement a partir du code pour génération Java : JavaBuilder
+3 - `Evol #115`_ : Remplissage de l'ObjectModel directement a partir du code : Builder
4 - `Evol #113`_ : Possibilité de faire du Model To Model : Transformer
@@ -102,16 +111,22 @@
Besoin/Contexte
~~~~~~~~~~~~~~~
+Les types de fichier en entrée du processus de génération sont limités : .xmi, .objectmodel, .statemodel, .zargo ou .uml sont les différentes possibilités. Il serait intéressant de pouvoir modifier le point d'entrée pour pouvoir par exemple gérer un autre type de fichier (un autre fichier xml que du objectmodel par exemple). De plus cela permettra de simplifier les goal maven en créant des Reader en entrée pour chaque type de fichier supporté (zargo, xmi, uml, ...).
+
Mise en place
~~~~~~~~~~~~~
-Conversion existant
-~~~~~~~~~~~~~~~~~~~
+Extraction de la lecture des fichiers d'entrée depuis les Generator. Un Reader est créé pour prendre en entrée une liste de fichiers et obtenir en sortie un Model qui sera par la suite interprété par un Generator. Un Reader par type de model supporté dans EUGene sera créé : ObjectModelReader et StateModelReader.
Extension
~~~~~~~~~
+Il est possible d'étendre un Reader pour pouvoir gérer soit un autre format d'entrée de fichiers, soit un autre modèle de sortie (ou potentiellement les deux).
+- extension d'ObjectModelReader pour gérer d'autres fichiers d'entrée (xmi, zargo, uml, ...)
+- extension du Reader<M extends Model> pour gérer un autre modèle de sortie.
+
+
Evolution #114 : Extensions ObjectModel
---------------------------------------
@@ -126,15 +141,14 @@
Mise en place
~~~~~~~~~~~~~
-Une *Map<String, Object> extensions* est ajoutée dans l'ObjectModel racine. Une méthode addExtension est disponible dans ObjectModelImpl pour ajouter une nouvelle extension au modèle. La méthode
-getExtension(String reference, Class extensionClass) permettra de récupérer l'extension souhaité (avec son type) et sera disponible dans l'interface ObjectModel.
+Une *Map<String, Object> extensions* est ajoutée dans l'ObjectModel racine. La méthode
+getExtension(String reference, Class extensionClass) permettra de récupérer l'extension souhaité (avec son type) et sera disponible dans l'interface ObjectModel. Cette méthode créera automatiquement l'extension si elle n'est pas encore définie dans l'ObjectModel.
-
Cas des ImportsManager
~~~~~~~~~~~~~~~~~~~~~~
Pour les ImportsManager, il est nécessaire d'avoir une Map<String, ImportsManager>, la clé étant le nom complet (full qualified name) d'un classifier, et la valeur l'ImportsManager associé à ce classifier.
-Pour simplifier l'utilisation des ImportsManager (et éviter les problèmes de cast sur l'extension), une classe ImportsManagerExtension est créé comprenant la map des managers et des méthodes accesseurs :
+Pour simplifier l'utilisation des ImportsManager, une classe ImportsManagerExtension est créé comprenant la map des managers et des méthodes accesseurs :
- **ImportsManager getManager(ObjectModelClassifier classifier)** : Permet de récupérer (ou créer s'il n'existe pas) l'ImportsManager lié à un classifier. Méthode utilisée pour les transformations du modèle (ObjectModelTransformer, JavaBuilder)
@@ -157,21 +171,22 @@
Il est désormais possible d'utiliser les extensions comme moyen d'enrichir l'ObjectModel lors des transformations et des générations.
-Evolution #115 : JavaBuilder
-----------------------------
+Evolution #115 : Builder
+------------------------
Besoin/Contexte
~~~~~~~~~~~~~~~
-Il est intéressant de pouvoir, dans certains cas, remplir un ObjectModel vide pour générer directement du Java. L'utilisation se fait directement à partir du code d'une autre application qui souhaite utiliser l'ObjectModel pour générer directement du Java. Cependant la version 1.0.1 ne permet pas de faire cela car les interfaces des classes de l'ObjectModel ne comprennent pas de setter. Il est donc
-nécessaire de créer une nouvelle classe permettant de remplir un ObjectModel vide tout en ayant une finesse d'interprétation spécifique à Java (gestion des imports, doublon sur les méthodes, ...).
-De plus le JavaBuilder servira aux transformations pour de la génération Java.
+Il est intéressant de pouvoir, dans certains cas, remplir un ObjectModel vide. L'utilisation se fait directement à partir du code d'une autre application qui souhaite utiliser l'ObjectModel ou à partir d'un Reader pour remplir l'ObjectModel. Cependant la version 1.0.1 ne permet pas de faire cela car les interfaces des classes de l'ObjectModel ne comprennent pas de setter. Il est donc nécessaire de créer une nouvelle classe permettant de remplir un ObjectModel vide avec potentiellement une finesse d'interprétation spécifique à Java (gestion des imports, doublon sur les méthodes, ...).
Mise en place
~~~~~~~~~~~~~
-Création d'une classe JavaBuilder qui initialise à l'instanciation un ObjectModel vide (A noter que le nom du modèle est indispensable à la génération). Le JavaBuilder propose un panel de méthodes permettant :
+Création d'une classe ObjectModelBuilder qui initialise à l'instanciation un ObjectModel vide (A noter que le nom du modèle est indispensable à la génération). Ce builder permet de remplir complètement l'ObjectModel (stéréotypes, multiplicités, ...)
+
+Création d'une classe JavaBuilder qui initialise à l'instanciation un ObjectModel vide. Le JavaBuilder propose un panel de méthodes permettant :
+
- Ajout de classes/interfaces au modèle
- Ajout d'une superclass
- Ajout d'interface à une classe
@@ -190,57 +205,118 @@
Besoin/Contexte
~~~~~~~~~~~~~~~
-L'écriture des templates de génération actuelles (v1.0.1) peuvent être fastidieuses et difficiles à maintenir. Il est donc préférable d'utiliser une tranformation du modèle ObjectModel source (provenant d'un diagramme UML) en un ObjectModel représentant basiquement le Java qui sera généré.
+Dans le cas d'une génération java, l'écriture des templates de génération actuelles (v1.0.1) peut être fastidieuse et difficile à maintenir. Il est donc préférable d'utiliser une tranformation du modèle ObjectModel source (provenant d'un diagramme UML) en un ObjectModel représentant basiquement le Java qui sera généré. Ce qui implique pour ce cas, la suppression des éléments spécifiques à UML (mutliplicités, stéréotypes, ...) pour un ObjectModel épuré spécifique à une génération Java.
Mise en place
~~~~~~~~~~~~~
-Un Transformer est considéré comme un Generator pour être intégré plus facilement dans le processus de génération (templates). Cependant il possède un modèle en entrée et un en sortie, donc pas de sortie fichiers. Pour ce faire, il est obligatoirement associé à un Generator. Ainsi un Transformer prendra en entrée un modèle, le transformera en un nouveau (potentiellement de type différent) et utilisera le generator de sortie pour générer ce nouveau modèle. Il est donc nécessaire d'instancier un Transformer en lui fournissant son Generator de sortie. Le modèle de sortie doit donc être obligatoirement compatible avec ce Generator de sortie.
+Un Transformer est considéré comme un *Generator* pour être intégré plus facilement dans le processus de génération (templates). Cependant il possède un modèle en entrée et un en sortie, donc **aucune sortie fichiers**. Pour ce faire, il est obligatoirement associé à un *Generator*. Ainsi un *Transformer* prendra en entrée un modèle, le transformera en un nouveau (potentiellement de type différent) et utilisera le generator de sortie pour générer ce nouveau modèle. Il est donc nécessaire d'instancier un *Transformer* en lui fournissant son *Generator* de sortie compatible avec le modèle de sortie.
Conversion existant
~~~~~~~~~~~~~~~~~~~
+Pour une génération Java, il est nécessaire d'étendre l'ObjectModelTransformerToJava qui utilise un JavaBuilder pour la construction d'un ObjectModel spécifique à Java.
+
+Ex : BeanGenerator permet la génération de bean (stéréotype <<bean>>) en leurs ajoutants les getter/setter adéquat et des listeners. Cette template de génération existe dans ToPIA. Elle sera remplacée par un BeanTransformer qui étend ObjectModelTransformerToJava. Au lieu d'écrire la template du fichier généré, le transformer remplira un nouveau modèle avec les classes, opérations, attributs à générer.
+
+Note
+ Les noms complets des éléments ajoutés au modèle devront être impérativement utilisés pour la gestion des imports.
+ (ex : java.io.Serializable, org.chorem.bonzoms.Role, java.util.List<java.lang.String>, ...)
+
Extension
~~~~~~~~~
+Les Transformer sont étendables pour transformer un modèle en un autre comme on le souhaite. Plusieurs transformer sont disponibles dans EUGene :
+- abstract Transformer<Input extends Model, Output extends Model>
+- abstract ObjectModelTransformer<Output extends Model> extends Transformer<ObjectModel, Output>
+- abstract ObjectModelTransformerToJava extends ObjectModelTransformer<ObjectModel>
+
+Il est nécessaire d'étendre l'un de ces Transformer pour créer une transformation spécifique à son modèle métier.
+
Evolution #116 : Generator
--------------------------
Besoin/Contexte
~~~~~~~~~~~~~~~
+Des modifications sont nécessaires sur les Generator racines (abstraits) pour permettre les autres évolutions. Les générateurs de la version 1.0.1, ne permettent pas la modification du modèle d'entrée. De plus les générateurs sont spécifiques à un type de fichier d'entrée (.objectmodel pour ObjectModelGenerator, .statemodel pour StateModelGenerator).
+
Mise en place
~~~~~~~~~~~~~
+Extraction de la lecture en entrée des générateurs. Les générateurs ne prennent désormais qu'un modèle en entrée (qui peut potentiellement provenir de plusieurs fichiers sources à la charge du Reader). Le type du modèle est également connu à l'instanciation : *ObjectModelGenerator extends AbstractGenerator<ObjectModel>*. Un générateur est donc obligatoirement associé à un Model d'entrée. Voir diagramme en annexe pour plus de précision sur les modifications d'héritage.
+
Extension
~~~~~~~~~
+Un Generator est associé à un modèle. La création d'un nouveau modèle implique la création d'un Generator abstrait associé.
+- super parent : Generator<M extends Model>
+- classe abstraite commune aux templates actuelles : AbstractGenerator<M extends Model> extends Generator<M>
+- cas du ObjectModel en entrée : ObjectModelGenerator extends AbstractGenerator<ObjectModel>
+- idem pour un autre modèle MonModel : MonModelGenerator extends AbstractGenerator<MonModel>
+
+
Evolution #117 : JavaGenerator
------------------------------
Besoin/Contexte
~~~~~~~~~~~~~~~
+Les templates de génération (Generator) doivent être écrites pour générer des fichiers. Il est possible grâce à l'ajout de Transformer de pouvoir désormais remplir un modèle spécifique au langage Java (utilisation d'ObjectModel). Cependant il n'existe aucune template de base permettant d'interpréter un ObjectModel simplement sans prise en compte de spécificités du au métier de l'application (entités, daos, ...) qui seront interprétés dans les Transformer.
+
Mise en place
~~~~~~~~~~~~~
+Création d'une template JavaGenerator toute simple qui parcourt l'ObjectModel, génère les classes, méthodes interfaces sans prise en compte des spécificités UML (stéréotypes, multiplicités, ...).
+Note
+ JavaGenerator extends ObjectModelGenerator
+
+
Evolution #107 : ObjectModelModifier
------------------------------------
Besoin/Contexte
~~~~~~~~~~~~~~~
+En java, les modifier concernent certains paramètres pouvant être mis sur les attributs, méthodes comme "static", "abstract", "public", ... Dans l'ObjectModel de la version 1.0.1, ces modifier sont représentés par des attributs ce qui implique un attribut par modifier : static, visibility, ... Pour simplifier la génération et la manipulation de ces modifiers, il serait intéressant d'avoir simplement une liste d'ObjectModelModifier. De plus cela permettra d'ajouter plus facilement certains modifier comme "synchronized". Cela permettra également de simplifier l'écriture de certaines méthodes des builder ::
+
+ public ObjectModelOperation addOperation(String operationName, String returnType,
+ ObjectModelModifier... modifiers) {
+ ...
+ }
+
+exemple ::
+
+ ObjectModelOperation setter = addOperation("setName", "void", ObjectModelModifier.PUBLIC);
+ // correspond a : public void setName(...)
+
+
+Contraintes
+~~~~~~~~~~~
+
+- Les méthodes isStatic, isAbstract, etc... seront maintenus pour connaitre précisemment les modifier associés à la classe, méthode, attribut ou autre.
+- Les nouveaux modifiers auront un nom générique indépendant du langage.
+
Mise en place
~~~~~~~~~~~~~
+Création d'une enumération ObjectModelModifier comprenant les différents modifiers existants (STATIC, ABSTRACT, PUBLIC, PRIVATE, ...). Il sera possible de récupérer la valeur chaîné (String) de chaque ObjectModelModifier possible.
+
Conversion existant
~~~~~~~~~~~~~~~~~~~
-Extension
-~~~~~~~~~
+Les attributs correspondant aux modifiers seront supprimés pour mettre en place une List<ObjectModelModifier> sur les objets qui le nécessitent (classifier, classe, interface, attribute, operation, ...).
+Annexe : Hiérarchie des Generator/Transformer
+---------------------------------------------
+.. figure:: DiagClasses_Generators.png
+
+ Hiérarchie des Generator/Transformer
+
+
+
1
0
Author: fdesbois
Date: 2009-11-04 18:41:32 +0100 (Wed, 04 Nov 2009)
New Revision: 692
Modified:
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestReader.java
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TopiaGeneratorUtil.java
branches/eugene-2.0/eugene-test/src/test/java/org/nuiton/eugene/test/generator/TestBuilderTest.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/AbstractGenerator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Generator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorException.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ModelReader.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelReader.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelTransformer.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelType.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/PackageValidator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelGenerator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelReader.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Transformer.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelEnumeration.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelInterface.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ClassNamesValidator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAssociationClassImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelEnumerationImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplRef.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplSuperClassRef.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTagValue.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelInterfaceImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModel.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelComplexState.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelSimpleState.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelState.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelStateChart.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelTransition.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/DigesterStateModelRuleSet.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelComplexeStateImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelSimpleStateImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/package-info.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorUtilTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelDTDTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/xml/ModelMergeTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI21ToObjectModelTest.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/CopyVersionFiles.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugeneAbstractMojo.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2Model.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2ObjectModel.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2StateModel.java
branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Zargo2Xmi.java
Log:
Clean headers with license
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/AbstractGenerator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/AbstractGenerator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/AbstractGenerator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
import org.nuiton.eugene.models.Model;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Generator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Generator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Generator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorException.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorException.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorException.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
import java.util.ArrayList;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ModelReader.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ModelReader.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ModelReader.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
-/* *##% Eugene
- * Copyright (C) 2004 - 2008 CodeLutin
+/* *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelReader.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelReader.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelReader.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelTransformer.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelTransformer.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelTransformer.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
import org.nuiton.eugene.models.Model;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelType.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelType.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelType.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/PackageValidator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/PackageValidator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/PackageValidator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelGenerator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelGenerator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelGenerator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelReader.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelReader.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/StateModelReader.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Transformer.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Transformer.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/Transformer.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
import java.util.HashSet;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
import org.apache.commons.logging.Log;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/Model.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelEnumeration.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelEnumeration.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelEnumeration.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelInterface.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelInterface.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelInterface.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelVisibility.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,24 @@
/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.validator;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ClassNamesValidator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ClassNamesValidator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ClassNamesValidator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.validator;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.validator;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.validator;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModeImplAssociationClassParticipant.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAssociationClassImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAssociationClassImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAssociationClassImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
/*
- * \*##% Eugene
+ * \*##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -14,7 +15,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelAttributeImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
/*
- * \*##% Eugene
+ * \*##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -14,7 +15,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelEnumerationImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelEnumerationImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelEnumerationImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
import java.util.ArrayList;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplRef.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplRef.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplRef.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplSuperClassRef.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplSuperClassRef.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplSuperClassRef.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTagValue.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTagValue.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTagValue.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelInterfaceImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelInterfaceImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelInterfaceImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelParameterImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModel.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModel.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModel.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelComplexState.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelComplexState.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelComplexState.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelSimpleState.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelSimpleState.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelSimpleState.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelState.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelState.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelState.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelStateChart.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelStateChart.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelStateChart.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelTransition.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelTransition.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/StateModelTransition.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/DigesterStateModelRuleSet.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/DigesterStateModelRuleSet.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/DigesterStateModelRuleSet.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelComplexeStateImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelComplexeStateImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelComplexeStateImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelSimpleStateImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelSimpleStateImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelSimpleStateImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state.xml;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/package-info.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/package-info.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/package-info.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
/**
* Eugene.
*/
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,20 +1,21 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
+/* *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU General Lesser Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorUtilTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorUtilTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/GeneratorUtilTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene;
import java.io.Serializable;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,20 +1,21 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
+/* *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU General Lesser Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.java;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.models.object.xml;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelDTDTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelDTDTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelDTDTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
@@ -97,4 +99,4 @@
reader.parse(source);
}
}
-}
\ No newline at end of file
+}
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/state/StateModelTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.state;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/xml/ModelMergeTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/xml/ModelMergeTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/xml/ModelMergeTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Eugene
+/* *##%
+ * EUGene
* Copyright (C) 2004 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.models.xml;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,20 +1,21 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
+/* *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU General Lesser Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.xmi.objectmodel;
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI21ToObjectModelTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI21ToObjectModelTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI21ToObjectModelTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,20 +1,21 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
+/* *##%
+ * EUGene
+ * Copyright (C) 2004 - 2009 CodeLutin
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU General Lesser Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.xmi.objectmodel;
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanGenerator.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
-/* *##% ToPIA - Persistence
- * Copyright (C) 2004 - 2009 CodeLutin
+/* *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
/* *
* BeanGenerator.java
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.test.generator;
import org.apache.commons.lang.StringUtils;
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.test.generator;
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestReader.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestReader.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestReader.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.test.generator;
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TopiaGeneratorUtil.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TopiaGeneratorUtil.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TopiaGeneratorUtil.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
-/* *##% ToPIA - Persistence
- * Copyright (C) 2004 - 2009 CodeLutin
+/* *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
/*******************************************************************************
* GeneratorUtil.java
*
Modified: branches/eugene-2.0/eugene-test/src/test/java/org/nuiton/eugene/test/generator/TestBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/test/java/org/nuiton/eugene/test/generator/TestBuilderTest.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/eugene-test/src/test/java/org/nuiton/eugene/test/generator/TestBuilderTest.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,24 @@
/*
+ * *##%
+ * EUGene Test
+ * Copyright (C) 2007 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/CopyVersionFiles.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/CopyVersionFiles.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/CopyVersionFiles.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Plugin maven Generator
+/* *##%
+ * EUGene - plugin maven
* Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.plugin;
import org.nuiton.plugin.PluginIOContext;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugeneAbstractMojo.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugeneAbstractMojo.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugeneAbstractMojo.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * EUGene - plugin maven
+ * Copyright (C) 2006 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
+ */
package org.nuiton.eugene.plugin;
import org.nuiton.plugin.PluginIOContext;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Plugin maven Generator
+/* *##%
+ * EUGene - plugin maven
* Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.plugin;
import java.io.File;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2Model.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2Model.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2Model.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,5 +1,6 @@
-/* *##% Plugin maven Generator
- * Copyright (C) 2006 - 2008 CodeLutin
+/* *##%
+ * EUGene - plugin maven
+ * Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.plugin;
import org.nuiton.plugin.PluginIOContext;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2ObjectModel.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2ObjectModel.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2ObjectModel.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Plugin maven Generator
+/* *##%
+ * EUGene - plugin maven
* Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*
*/
package org.nuiton.eugene.plugin;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2StateModel.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2StateModel.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Xmi2StateModel.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Plugin maven Generator
+/* *##%
+ * EUGene - plugin maven
* Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.plugin;
import java.io.File;
Modified: branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Zargo2Xmi.java
===================================================================
--- branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Zargo2Xmi.java 2009-11-03 17:17:20 UTC (rev 691)
+++ branches/eugene-2.0/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/Zargo2Xmi.java 2009-11-04 17:41:32 UTC (rev 692)
@@ -1,4 +1,5 @@
-/* *##% Plugin maven Generator
+/* *##%
+ * EUGene - plugin maven
* Copyright (C) 2006 - 2009 CodeLutin
*
* This program is free software: you can redistribute it and/or modify
@@ -13,7 +14,8 @@
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * ##%*/
package org.nuiton.eugene.plugin;
import java.io.IOException;
1
0
r691 - branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator
by fdesbois@users.nuiton.org 03 Nov '09
by fdesbois@users.nuiton.org 03 Nov '09
03 Nov '09
Author: fdesbois
Date: 2009-11-03 18:17:20 +0100 (Tue, 03 Nov 2009)
New Revision: 691
Modified:
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
Log:
Improve type generation
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-03 17:07:29 UTC (rev 690)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-03 17:17:20 UTC (rev 691)
@@ -5,8 +5,6 @@
import org.nuiton.eugene.java.ObjectModelTransformerToJava;
import org.nuiton.eugene.models.object.*;
-import java.beans.PropertyChangeListener;
-import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -70,6 +68,7 @@
if (attr.isNavigable()/* || attr.hasAssociationClass()*/) {
String attrType = attr.getType();
+ String simpleType = GeneratorUtil.getSimpleName(attrType);
String attrName = attr.getName();
String attrNameCapitalized = StringUtils.capitalize(attrName);
@@ -83,7 +82,7 @@
addParameter(getChild, "int", "index");
setOperationBody(getChild, ""
/*{
- <%=attrType%> o = getChild(<%=attrName%>, index);
+ <%=simpleType%> o = getChild(<%=attrName%>, index);
return o;
}*/
);
@@ -102,7 +101,7 @@
addParameter(getChildEntity, String.class.getName(), "topiaId");
setOperationBody(getChildEntity, ""
/*{
- <%=attrType%> o = getEntity(<%=attrName%>, topiaId);
+ <%=simpleType%> o = getEntity(<%=attrName%>, topiaId);
return o;
}*/
);
@@ -142,6 +141,7 @@
} else {
attrType = Collection.class.getName() + "<" + attrType + ">";
}
+ simpleType = GeneratorUtil.getSimpleName(attrType);
}
if (attr.hasAssociationClass()) {
@@ -169,7 +169,7 @@
addParameter(setter, attrType, "newValue");
setOperationBody(setter, ""
/*{
- <%=attrType%> oldValue = get<%=attrNameCapitalized%>();
+ <%=simpleType%> oldValue = get<%=attrNameCapitalized%>();
this.<%=attrName%> = newValue;
firePropertyChange("<%=attrName%>", oldValue, newValue);
}*/
@@ -241,7 +241,7 @@
// Add Serializable implements for DTO generation
if (inputClass.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DTO)) {
- addInterface(resultClass, Serializable.class.getName());
+ addInterface(resultClass, "java.io.Serializable");
}
String svUID = TopiaGeneratorUtil.findTagValue("dto-serialVersionUID", inputClass, getModel());
@@ -264,7 +264,7 @@
);
// Add PropertyListener
- String propType = PropertyChangeListener.class.getName();
+ String propType = "java.beans.PropertyChangeListener";
String strType = String.class.getName();
String objectType = Object.class.getName();
1
0
r690 - in branches/eugene-2.0/eugene/src: main/java/org/nuiton/eugene/java main/java/org/nuiton/eugene/models/object/xml test/java/org/nuiton/eugene/java test/java/org/nuiton/eugene/models/object/xml
by fdesbois@users.nuiton.org 03 Nov '09
by fdesbois@users.nuiton.org 03 Nov '09
03 Nov '09
Author: fdesbois
Date: 2009-11-03 18:07:29 +0100 (Tue, 03 Nov 2009)
New Revision: 690
Added:
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
Log:
- Refactor test JavaBuilderTest to ObjectModelBuilderTest
- Improve specific java tests in JavaBuilderTest
- Add clearSuperclasses method for JavaBuilder
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 16:20:33 UTC (rev 689)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 17:07:29 UTC (rev 690)
@@ -115,7 +115,7 @@
*/
public void setSuperClass(ObjectModelClass classifier, String superclassQualifiedName) {
ObjectModelClassImpl impl = (ObjectModelClassImpl) classifier;
- impl.getSuperclasses().clear(); // suppress all existing superclass: only one can be set for java
+ impl.clearSuperclasses(); // suppress all existing superclass: only one can be set for java
modelBuilder.addSuperclass(impl, superclassQualifiedName);
this.addImport(classifier, superclassQualifiedName);
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-03 16:20:33 UTC (rev 689)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-03 17:07:29 UTC (rev 690)
@@ -59,6 +59,11 @@
super();
}
+ public void clearSuperclasses() {
+ superclasses = null;
+ superclassesRefs.clear();
+ }
+
public void addSuperclass(ObjectModelImplRef ref) {
superclassesRefs.add(ref);
// superclassesRefs is modified, superclasses must be reset
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 16:20:33 UTC (rev 689)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 17:07:29 UTC (rev 690)
@@ -53,16 +53,16 @@
/**
* Test of getModel.
- * Prerequisite : instanciation of JavaBuilder.
- * - ObjectModel created in JavaBuilder constructor. ObjectModel name will be set.
+ * No test needed : model created in modelBuilder instanciated in constructor (ObjectModelBuilder).
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testGetModel()
*/
@Test
public void testGetModel() {
System.out.println("getModel");
JavaBuilder builder = new JavaBuilder("TestModel");
- assertNotNull(builder.getModel());
- assertEquals(builder.getModel().getName(), "TestModel");
+
+ builder.getModel();
}
/**
@@ -89,13 +89,13 @@
String type = "java.util.List<org.chorem.cash.Category>"; // type add : 2 imports added
builder.addImport(classifier, type);
- assertEquals(importsExtension.getImports(classifier).size(), 3);
+ assertEquals(3, importsExtension.getImports(classifier).size());
}
/**
* Test of createClass method, of class JavaBuilder.
- * Prerequisite : none.
- * - Create a class with name and packageName. Qualified name of the class = name + packageName.
+ * No test needed : call of createClass in ObjectModelBuilder
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testCreateClass()
*/
@Test
public void testCreateClass() {
@@ -103,12 +103,7 @@
JavaBuilder builder = new JavaBuilder("TestModel");
- ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
-
- assertNotNull(clazz);
- assertEquals(clazz.getName(), "Person");
- assertEquals(clazz.getPackageName(), "org.chorem.bonzoms");
- assertEquals(clazz.getQualifiedName(), "org.chorem.bonzoms.Person");
+ builder.createClass("Person", "org.chorem.bonzoms");
}
/**
@@ -127,6 +122,9 @@
/**
* Test of setSuperClass method, of class JavaBuilder.
+ * Only one superclass can be set.
+ * Check imports on superclass qualified name
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddSuperclass()
*/
@Test
public void testSetSuperClass() {
@@ -136,17 +134,25 @@
ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
String superclassQualifiedName = "org.chorem.bonzoms.Party";
+ builder.setSuperClass(clazz, superclassQualifiedName);
+ superclassQualifiedName = "org.chorem.bonzoms.NamedElement";
builder.setSuperClass(clazz, superclassQualifiedName);
- assertNotNull(clazz.getSuperclasses());
- assertEquals(clazz.getSuperclasses().size(), 1);
+
+ assertEquals(1, clazz.getSuperclasses().size());
+
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ List<String> imports = ext.getImports(clazz);
+ assertEquals(0, imports.size());
}
/**
* Test of addInterface method, of class JavaBuilder.
- * Prerequisite : existing classifier in model.
- * - Add an interface not included in the model to a classifier.
- * - TODO : Add an existing interface in the model to a classfier.
+ * Check imports on adding interface : imports added on interfaceQualifiedName
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddInterface()
*/
@Test
public void testAddInterface() {
@@ -157,9 +163,14 @@
String interfaceQualifiedName = "java.io.Serializable";
builder.addInterface(classifier, interfaceQualifiedName);
+
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
- assertNotNull(classifier.getInterfaces());
- assertEquals(classifier.getInterfaces().size(), 1);
+ List<String> imports = ext.getImports(classifier);
+ assertEquals(1, imports.size());
+ assertTrue(imports.contains("java.io.Serializable"));
}
/**
@@ -183,9 +194,8 @@
/**
* Test of addAttribute method, of class JavaBuilder.
- * Prerequisite : existing classifier in model.
- * - Add a public attribute without default value
- * - Add a private static attribute with default value
+ * Check imports on adding attribute : imports added on type and value.
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddAttribute()
*/
@Test
public void testAddAttribute() {
@@ -194,23 +204,21 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
- ObjectModelAttribute attribute = builder.addAttribute(classifier, "firstName", "java.lang.String", "",
+ builder.addAttribute(classifier, "firstName", "java.lang.String", "",
ObjectModelModifier.PUBLIC);
- assertNotNull(attribute);
- assertEquals(attribute.getName(), "firstName");
- assertEquals(attribute.getType(), "java.lang.String");
- assertEquals(attribute.getVisibility(), "public");
- assertEquals(attribute.getDefaultValue(), "");
- assertFalse(attribute.isFinal());
- assertFalse(attribute.isStatic());
-
- attribute = builder.addAttribute(classifier, "roles", "java.lang.List<org.chorem.bonzoms.Role>",
- "new java.lang.ArrayList<org.chorem.bonzoms.Role>()",
+ builder.addAttribute(classifier, "roles", "java.util.List<org.chorem.bonzoms.Role>",
+ "new java.util.ArrayList<org.chorem.bonzoms.Role>()",
ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC);
- assertEquals(attribute.getDefaultValue(), "new java.lang.ArrayList<org.chorem.bonzoms.Role>()");
- assertTrue(attribute.isStatic());
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ List<String> imports = ext.getImports(classifier);
+ assertEquals(2, imports.size()); // no imports for org.chorem.bonzoms.Role and java.lang.String
+ assertTrue(imports.contains("java.util.ArrayList"));
+ assertTrue(imports.contains("java.util.List"));
}
/**
@@ -260,9 +268,8 @@
/**
* Test of addOperation method, of class JavaBuilder.
- * Prerequisite : existing classifier in model.
- * - Add simple public method
- * - Add abstract method
+ * Check imports on adding operation : returnType of the operation
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddOperation()
*/
@Test
public void testAddOperation() {
@@ -274,21 +281,23 @@
ObjectModelOperation result = builder.addOperation(classifier,
"methodName", "java.util.List<java.lang.String>", ObjectModelModifier.PUBLIC);
- assertNotNull(result);
- assertEquals(result.getName(), "methodName");
- assertEquals(result.getReturnType(), "java.util.List<java.lang.String>");
- assertEquals(result.getVisibility(), "public");
- assertFalse(result.isAbstract());
- result = builder.addOperation(classifier, "addPropertyChangeListener", "void",
+ result = builder.addOperation(classifier, "addPropertyChangeListener", null,
ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT);
- assertTrue(result.isAbstract());
+
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ List<String> imports = ext.getImports(classifier);
+ assertEquals(1, imports.size());
+ assertTrue(imports.contains("java.util.List"));
}
/**
* Test of addParameter method, of class JavaBuilder.
- * Prerequisite : existing classifier in model and operation associated to this classifier.
- * - Add a parameter to an existing operation in a classifier
+ * Check imports on adding parameter : type of the parameter
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddParameter()
*/
@Test
public void testAddParameter() {
@@ -301,20 +310,21 @@
ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
ObjectModelModifier.PUBLIC);
- ObjectModelParameter param = builder.addParameter(operation, "java.lang.String", "name");
- assertNotNull(param);
- assertEquals(param.getName(), "name");
- assertEquals(param.getType(), "java.lang.String");
+ builder.addParameter(operation, "java.lang.String", "name");
- List<ObjectModelParameter> listParams = (List<ObjectModelParameter>)operation.getParameters();
- ObjectModelParameter param1 = listParams.get(0);
- assertEquals(param1, param);
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ List<String> imports = ext.getImports(classifier);
+ assertEquals(0, imports.size());
+
}
/**
* Test of addException method, of class JavaBuilder.
- * Prerequisite : existing classifier in model and operation associated to this classifier.
- * - Add an exception to an existing operation in a classifier
+ * Check imports on adding exception : exception name
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testAddException()
*/
@Test
public void testAddException() {
@@ -328,19 +338,19 @@
ObjectModelModifier.PUBLIC);
builder.addException(operation, "java.lang.IllegalArgumentException");
- Set<String> exceptions = operation.getExceptions();
- assertNotNull(exceptions);
- assertEquals(exceptions.size(), 1);
- Iterator<String> it = exceptions.iterator();
- assertNotNull(it.hasNext());
- assertEquals(it.next(), "java.lang.IllegalArgumentException");
+
+ // Check imports
+ ImportsManagerExtension ext = builder.getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ List<String> imports = ext.getImports(classifier);
+ assertEquals(0, imports.size());
}
/**
* Test of setOperationBody method, of class JavaBuilder.
- * Prerequisite : existing classifier in model and operation associated to this classifier.
- * - Add a body to an existing operation in a classifier
- * NOTE : No complex test for adding body to an operation (no use of processor)
+ * No body code for an abstract operation : throw an IllegalArgumentException
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilderTest#testSetOperationBody()
*/
@Test
public void testSetOperationBody() {
@@ -351,11 +361,14 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
- ObjectModelModifier.PUBLIC);
+ ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT);
- builder.setOperationBody(operation, "this.name = name");
- assertNotNull(operation.getBodyCode());
- assertEquals(operation.getBodyCode(), "this.name = name");
+ try {
+ builder.setOperationBody(operation, "this.name = name");
+ } catch (Exception eee) {
+ assertEquals(IllegalArgumentException.class, eee.getClass());
+ System.out.println("expected exception : " + eee.getMessage());
+ }
}
}
\ No newline at end of file
Added: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java (rev 0)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java 2009-11-03 17:07:29 UTC (rev 690)
@@ -0,0 +1,287 @@
+
+package org.nuiton.eugene.models.object.xml;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+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.ObjectModelModifier;
+import org.nuiton.eugene.models.object.ObjectModelOperation;
+import org.nuiton.eugene.models.object.ObjectModelParameter;
+
+/**
+ * ObjectModelBuilder
+ *
+ * Created: 3 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ObjectModelBuilderTest {
+
+ public ObjectModelBuilderTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getModel method, of class ObjectModelBuilder.
+ * Prerequisite : instanciation of ObjectModelBuilder.
+ * - ObjectModel created in ObjectModelBuilder constructor. ObjectModel name will be set.
+ */
+ @Test
+ public void testGetModel() {
+ System.out.println("getModel");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ assertNotNull(builder.getModel());
+ assertEquals("TestModel", builder.getModel().getName());
+ }
+
+ /**
+ * Test of createClass method, of class ObjectModelBuilder.
+ * Prerequisite : none.
+ * - Create a class with name and packageName. Qualified name of the class = name + packageName.
+ */
+ @Test
+ public void testCreateClass() {
+ System.out.println("createClass");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
+
+ assertNotNull(clazz);
+ assertEquals("Person", clazz.getName());
+ assertEquals("org.chorem.bonzoms", clazz.getPackageName());
+ assertEquals("org.chorem.bonzoms.Person", clazz.getQualifiedName());
+ }
+
+ /**
+ * Test of createInterface method, of class ObjectModelBuilder.
+ */
+ //@Test
+ public void testCreateInterface() {
+ System.out.println("createInterface");
+ }
+
+ /**
+ * Test of addAttribute method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add an attribute with no default value
+ */
+ @Test
+ public void testAddAttributeWithoutDefaultValue() {
+ System.out.println("addAttribute");
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelAttribute attribute = builder.addAttribute(classifier, "firstName", "java.lang.String");
+ assertEquals("", attribute.getDefaultValue());
+ }
+
+ /**
+ * Test of addAttribute method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add a public attribute without default value
+ * - Add a private static attribute with default value
+ */
+ @Test
+ public void testAddAttribute() {
+ System.out.println("addAttribute");
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelAttribute attribute = builder.addAttribute(classifier, "firstName", "java.lang.String", "",
+ ObjectModelModifier.PUBLIC);
+
+ assertNotNull(attribute);
+ assertEquals("firstName", attribute.getName());
+ assertEquals("java.lang.String", attribute.getType());
+ assertEquals("public", attribute.getVisibility());
+ assertEquals("", attribute.getDefaultValue());
+ assertFalse(attribute.isFinal());
+ assertFalse(attribute.isStatic());
+
+ attribute = builder.addAttribute(classifier, "roles", "java.lang.List<org.chorem.bonzoms.Role>",
+ "new java.lang.ArrayList<org.chorem.bonzoms.Role>()",
+ ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC);
+
+ assertEquals("new java.lang.ArrayList<org.chorem.bonzoms.Role>()", attribute.getDefaultValue());
+ assertTrue(attribute.isStatic());
+ }
+
+ /**
+ * Test of addOperation method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add simple public method
+ * - Add abstract method
+ */
+ @Test
+ public void testAddOperation() {
+ System.out.println("addOperation");
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelOperation result = builder.addOperation(classifier,
+ "methodName", "java.util.List<java.lang.String>", ObjectModelModifier.PUBLIC);
+ assertNotNull(result);
+ assertEquals(result.getName(), "methodName");
+ assertEquals(result.getReturnType(), "java.util.List<java.lang.String>");
+ assertEquals(result.getVisibility(), "public");
+ assertFalse(result.isAbstract());
+
+ result = builder.addOperation(classifier, "addPropertyChangeListener", "void",
+ ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT);
+ assertTrue(result.isAbstract());
+ }
+
+ /**
+ * Test of setOperationBody method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model and operation associated to this classifier.
+ * - Add a body to an existing operation in a classifier
+ */
+ @Test
+ public void testSetOperationBody() {
+ System.out.println("setOperationBody");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("modelName");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
+
+ builder.setOperationBody(operation, "this.name = name");
+ assertNotNull(operation.getBodyCode());
+ assertEquals(operation.getBodyCode(), "this.name = name");
+ }
+
+ /**
+ * Test of addInterface method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add an interface not included in the model to a classifier.
+ * - TODO : Add an existing interface in the model to a classfier.
+ */
+ @Test
+ public void testAddInterface() {
+ System.out.println("addInterface");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ String interfaceQualifiedName = "java.io.Serializable";
+ builder.addInterface(classifier, interfaceQualifiedName);
+
+ assertNotNull(classifier.getInterfaces());
+ assertEquals(classifier.getInterfaces().size(), 1);
+ }
+
+ /**
+ * Test of addSuperclass method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add a superclass not included in the model to a classifier.
+ * - TODO : Add an existing superclass in the model to a classfier.
+ */
+ @Test
+ public void testAddSuperclass() {
+ System.out.println("addSuperclass");
+ ObjectModelBuilder builder = new ObjectModelBuilder("TestModel");
+
+ ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
+
+ String superclassQualifiedName = "org.chorem.bonzoms.Party";
+
+ builder.addSuperclass(clazz, superclassQualifiedName);
+ assertEquals(1, clazz.getSuperclasses().size());
+ }
+
+ /**
+ * Test of addParameter method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model and operation associated to this classifier.
+ * - Add a parameter to an existing operation in a classifier
+ */
+ @Test
+ public void testAddParameter() {
+ System.out.println("addParameter");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("modelName");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
+
+ ObjectModelParameter param = builder.addParameter(operation, "java.lang.String", "name");
+ assertNotNull(param);
+ assertEquals(param.getName(), "name");
+ assertEquals(param.getType(), "java.lang.String");
+
+ List<ObjectModelParameter> listParams = (List<ObjectModelParameter>)operation.getParameters();
+ ObjectModelParameter param1 = listParams.get(0);
+ assertEquals(param1, param);
+ }
+
+ /**
+ * Test of addException method, of class ObjectModelBuilder.
+ * Prerequisite : existing classifier in model and operation associated to this classifier.
+ * - Add an exception to an existing operation in a classifier
+ */
+ @Test
+ public void testAddException() {
+ System.out.println("addException");
+
+ ObjectModelBuilder builder = new ObjectModelBuilder("modelName");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
+
+ builder.addException(operation, "java.lang.IllegalArgumentException");
+ Set<String> exceptions = operation.getExceptions();
+ assertNotNull(exceptions);
+ assertEquals(exceptions.size(), 1);
+ Iterator<String> it = exceptions.iterator();
+ assertNotNull(it.hasNext());
+ assertEquals(it.next(), "java.lang.IllegalArgumentException");
+ }
+
+ /**
+ * Test of setDocumentation method, of class ObjectModelBuilder.
+ */
+ //@Test
+ public void testSetDocumentation() {
+ System.out.println("setDocumentation");
+ }
+
+}
\ No newline at end of file
Property changes on: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
1
0
r689 - in branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene: java models/object/xml
by fdesbois@users.nuiton.org 03 Nov '09
by fdesbois@users.nuiton.org 03 Nov '09
03 Nov '09
Author: fdesbois
Date: 2009-11-03 17:20:33 +0100 (Tue, 03 Nov 2009)
New Revision: 689
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
Log:
Add javadoc for builders
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 15:26:27 UTC (rev 688)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 16:20:33 UTC (rev 689)
@@ -18,6 +18,10 @@
* @author fdesbois
* @version $Revision$
*
+ * Builder to fill an empty ObjectModel with java specificities (imports, only one inheritance, constructor, ...).
+ * JavaBuilder uses ImportsManagerExtension to manage imports in the model.
+ * JavaBuilder is also based on ObjectModelBuilder for the simple filling of the model.
+ *
* Mise a jour: $Date$
* par : $Author$
*/
@@ -25,8 +29,14 @@
private static final Log log = LogFactory.getLog(JavaBuilder.class);
+ /**
+ * Builder where the filling is based on
+ */
protected ObjectModelBuilder modelBuilder;
+ /**
+ * ObjectModel extension to manage imports : one ImportsManager by classifier
+ */
protected ImportsManagerExtension managers;
@SuppressWarnings("unchecked")
@@ -37,11 +47,32 @@
ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
}
+ /**
+ * Get the model which is built
+ * @return an ObjectModel
+ */
public ObjectModel getModel() {
return this.modelBuilder.getModel();
}
+ /**
+ * Add an import to a classifier. Imports are automatic for lots of JavaBuilder's methods except body
+ * code of operations.
+ * <pre>
+ * You can have some complex imports like :
+ * - new java.util.List<org.chorem.bonzoms.Role>()
+ * --> two imports 'java.util.List' and 'org.chorem.bonzoms.Role'
+ * - java.util.Collection<T extends org.nuiton.topia.TopiaEntity>
+ * --> two imports 'java.util.Collection' and 'org.nuiton.topia.TopiaEntity'
+ * </pre>
+ * @param classifier where the imports will be added.
+ * @param imports to add
+ * @see org.nuiton.eugene.GeneratorUtil#getTypesList(java.lang.String)
+ */
public void addImport(ObjectModelClassifier classifier, String imports) {
+ if (imports == null) {
+ return;
+ }
ImportsManager manager = managers.getManager(classifier);
for (String oneType : GeneratorUtil.getTypesList(imports)) {
manager.addImport(oneType);
@@ -51,14 +82,37 @@
}
}
+ /**
+ * Create a new class in the model.
+ * @param name
+ * @param packageName
+ * @return a new ObjectModelClass
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#createClass(java.lang.String, java.lang.String)
+ */
public ObjectModelClass createClass(String name, String packageName) {
return modelBuilder.createClass(name, packageName);
}
+ /**
+ * Create a new abstract class in the model.
+ * @param name
+ * @param packageName
+ * @return a new ObjectModelClass
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#createClass(java.lang.String,
+ * java.lang.String, org.nuiton.eugene.models.object.ObjectModelModifier[])
+ */
public ObjectModelClass createAbstractClass(String name, String packageName) {
return modelBuilder.createClass(name, packageName, ObjectModelModifier.ABSTRACT);
}
+ /**
+ * Set the superclass of an other class. Only one superclass can be set to the class.
+ * IMPORTS superclassQualifiedName.
+ * @param classifier
+ * @param superclassQualifiedName
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addInterface(
+ * org.nuiton.eugene.models.object.ObjectModelClassifier, java.lang.String)
+ */
public void setSuperClass(ObjectModelClass classifier, String superclassQualifiedName) {
ObjectModelClassImpl impl = (ObjectModelClassImpl) classifier;
impl.getSuperclasses().clear(); // suppress all existing superclass: only one can be set for java
@@ -66,11 +120,50 @@
this.addImport(classifier, superclassQualifiedName);
}
+ /**
+ * Add an interface to a classifier (interface, class, enum).
+ * IMPORTS interfaceQualifiedName.
+ * @param classifier
+ * @param interfaceQualifiedName
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addInterface(
+ * org.nuiton.eugene.models.object.ObjectModelClassifier, java.lang.String)
+ */
public void addInterface(ObjectModelClassifier classifier, String interfaceQualifiedName) {
modelBuilder.addInterface(classifier, interfaceQualifiedName);
this.addImport(classifier, interfaceQualifiedName);
}
+ /**
+ * Add a new attribute to a classifier.
+ * IMPORTS type, value.
+ * @param classifier
+ * @param name
+ * @param type
+ * @param value
+ * @param modifiers
+ * @return a new ObjectModelAttribute
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addAttribute(
+ * org.nuiton.eugene.models.object.ObjectModelClassifier, java.lang.String,
+ * java.lang.String, java.lang.String, org.nuiton.eugene.models.object.ObjectModelModifier[])
+ */
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier... modifiers) {
+ this.addImport(classifier, type);
+ this.addImport(classifier, value);
+ return modelBuilder.addAttribute(classifier, name, type, value, modifiers);
+ }
+
+ /**
+ * Add a new constant to a classifier. A constant is static and final and have a value.
+ * IMPORTS type, value.
+ * @param classifier
+ * @param name
+ * @param type
+ * @param value
+ * @param visibility modifier allowed : PUBLIC, PRIVATE, PROTECTED, PACKAGE
+ * @return a new ObjectModelAttribute
+ * @throws IllegalArgumentException if the modifier is not a visibility
+ */
public ObjectModelAttribute addConstant(ObjectModelClassifier classifier, String name, String type, String value,
ObjectModelModifier visibility) throws IllegalArgumentException {
if (!visibility.isVisibility()) {
@@ -78,21 +171,30 @@
" for " + classifier.getQualifiedName());
}
- return modelBuilder.addAttribute(classifier, name, type, value, visibility,
+ return addAttribute(classifier, name, type, value, visibility,
ObjectModelModifier.STATIC, ObjectModelModifier.FINAL);
}
+ /**
+ * Add a new attribute to a classifier with no default value. Default visibility is set to PROTECTED.
+ * IMPORTS type.
+ * @param classifier
+ * @param name
+ * @param type
+ * @return a new ObjectModelAttribute
+ */
public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type) {
- return modelBuilder.addAttribute(classifier, name, type);
+ return addAttribute(classifier, name, type, "", ObjectModelModifier.PROTECTED);
}
- public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
- ObjectModelModifier... modifiers) {
- return modelBuilder.addAttribute(classifier, name, type, value, modifiers);
- }
-
+ /**
+ * Add a new attribute to a classifier from an existing attribute.
+ * IMPORTS attribute.getType() and attribute.getDefaultValue().
+ * @param classifier
+ * @param attribute
+ * @return a new ObjectModelAttribute
+ */
public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, ObjectModelAttribute attribute) {
- this.addImport(classifier, attribute.getType());
Set<ObjectModelModifier> modifiers = new HashSet<ObjectModelModifier>();
@@ -112,10 +214,34 @@
modifiers.add(ObjectModelModifier.PACKAGE);
}
- return modelBuilder.addAttribute(classifier, attribute.getName(), attribute.getType(),
+ return addAttribute(classifier, attribute.getName(), attribute.getType(),
attribute.getDefaultValue(), modifiers.toArray(new ObjectModelModifier[modifiers.size()]));
}
+ /**
+ * Add a new operation to a classifier.
+ * @param classifier
+ * @param name
+ * @param type
+ * @param modifiers
+ * @return a new ObjectModelOperation
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addOperation(
+ * org.nuiton.eugene.models.object.ObjectModelClassifier, java.lang.String,
+ * java.lang.String, org.nuiton.eugene.models.object.ObjectModelModifier[])
+ */
+ public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String name, String type,
+ ObjectModelModifier... modifiers) {
+ this.addImport(classifier, type);
+ return modelBuilder.addOperation(classifier, name, type, modifiers);
+ }
+
+ /**
+ * Add a constructor to a class.
+ * @param clazz
+ * @param visibility
+ * @return a new ObjectModelOperation
+ * @throws IllegalArgumentException if the modifier is not a visibility
+ */
public ObjectModelOperation addConstructor(ObjectModelClass clazz, ObjectModelModifier visibility)
throws IllegalArgumentException {
if (!visibility.isVisibility()) {
@@ -123,26 +249,43 @@
" for " + clazz.getQualifiedName());
}
- return modelBuilder.addOperation(clazz, clazz.getName(), null, visibility);
+ return addOperation(clazz, clazz.getName(), null, visibility);
}
- public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String name, String type,
- ObjectModelModifier... modifiers) {
-
- return modelBuilder.addOperation(classifier, name, type, modifiers);
- }
-
+ /**
+ * Add a new parameter to an existing operation.
+ * @param operation
+ * @param type
+ * @param name
+ * @return a new ObjectModelParameter
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addParameter(
+ * org.nuiton.eugene.models.object.ObjectModelOperation, java.lang.String, java.lang.String)
+ */
public ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
- ObjectModelParameter param = modelBuilder.addParameter(operation, type, name);
this.addImport((ObjectModelClassifier) operation.getDeclaringElement(), type);
- return param;
+ return modelBuilder.addParameter(operation, type, name);
}
+ /**
+ * Add an exception to an operation.
+ * @param operation
+ * @param exception
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#addException(
+ * org.nuiton.eugene.models.object.ObjectModelOperation, java.lang.String)
+ */
public void addException(ObjectModelOperation operation, String exception) {
+ this.addImport((ObjectModelClassifier) operation.getDeclaringElement(), exception);
modelBuilder.addException(operation, exception);
- this.addImport((ObjectModelClassifier) operation.getDeclaringElement(), exception);
}
+ /**
+ * Set the operation body code.
+ * @param operation
+ * @param body
+ * @throws IllegalArgumentException if operation is abstract
+ * @see org.nuiton.eugene.models.object.xml.ObjectModelBuilder#setOperationBody(
+ * org.nuiton.eugene.models.object.ObjectModelOperation, java.lang.String)
+ */
public void setOperationBody(ObjectModelOperation operation, String body)
throws IllegalArgumentException {
if (operation.isAbstract()) {
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-03 15:26:27 UTC (rev 688)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-03 16:20:33 UTC (rev 689)
@@ -19,6 +19,9 @@
* @author fdesbois
* @version $Revision$
*
+ * Builder to fill an empty ObjectModel. The object model name is important if you want to use the model
+ * in generators.
+ *
* Mise a jour: $Date$
* par : $Author$
*/
@@ -26,15 +29,31 @@
protected ObjectModelImpl model;
+ /**
+ * Constructor. Must have a name for the new model created.
+ * @param name model name
+ */
public ObjectModelBuilder(String name) {
this.model = new ObjectModelImpl();
this.model.setName(name);
}
+ /**
+ * Get the building model
+ * @return the ObjectModel which is currently built
+ */
public ObjectModel getModel() {
return this.model;
}
+ /**
+ * Create a new class in the model.
+ * Modifiers allowed : ABSTRACT, STATIC.
+ * @param name class name
+ * @param packageName class package
+ * @param modifiers class modifiers
+ * @return the new ObjectModelClass added to the model
+ */
public ObjectModelClass createClass(String name, String packageName, ObjectModelModifier... modifiers) {
ObjectModelClassImpl result = new ObjectModelClassImpl();
result.setName(name);
@@ -49,17 +68,44 @@
return result;
}
+ /**
+ * Create a new interface in the model.
+ * @param name interface name
+ * @param packageName interface package
+ * @return the new ObjectModelInterface added to the model
+ */
public ObjectModelInterface createInterface(String name, String packageName) {
ObjectModelInterfaceImpl result = new ObjectModelInterfaceImpl();
result.setName(name);
result.setPackage(packageName);
+ model.addInterface(result);
return result;
}
+ /**
+ * Add an attribute to a classifier (interface, class, enum) without default value.
+ * Default visibility is set to PUBLIC.
+ * @param classifier where the attribute will be added
+ * @param name attribute name
+ * @param type attribute type (full qualified name)
+ * @return the new ObjectModelAttribute added
+ */
public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type) {
return addAttribute(classifier, name, type, "");
}
+ /**
+ * Add an attribute to a classifier (interface, class, enum).
+ * Modifiers allowed : STATIC, FINAL, PUBLIC, PRIVATE, PROTECTED, PACKAGE.
+ * The last visibility set will be keeped.
+ * @param classifier where the attribute will be added
+ * @param name attribute name
+ * @param type attribute type (full qualified name)
+ * @param value default value for the attribute
+ * @param modifiers attribute modifiers
+ * @return the new ObjectModelAttribute added
+ * @see org.nuiton.eugene.models.object.ObjectModelModifier#isVisibility()
+ */
public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
ObjectModelModifier... modifiers) {
ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl();
@@ -83,7 +129,17 @@
return attribute;
}
- public ObjectModelOperation addOperation(ObjectModelClassifier clazz,
+ /**
+ * Add an operation to a classifier.
+ * Modifiers allowed : STATIC, ABSTRACT, PUBLIC, PRIVATE, PROTECTED, PACKAGE.
+ * The last visibility set will be keeped.
+ * @param classifier where the operation will be added
+ * @param name operation name
+ * @param returnType operation type (full qualified name)
+ * @param modifiers operation modifiers
+ * @return the new ObjectModelOperation added
+ */
+ public ObjectModelOperation addOperation(ObjectModelClassifier classifier,
String name, String returnType, ObjectModelModifier... modifiers) {
ObjectModelOperationImpl result = new ObjectModelOperationImpl();
result.setName(name);
@@ -105,15 +161,25 @@
}
}
- ((ObjectModelClassifierImpl)clazz).addOperation(result);
+ ((ObjectModelClassifierImpl)classifier).addOperation(result);
return result;
}
+ /**
+ * Set the body code for an Operation.
+ * @param operation where the code will be added
+ * @param body code to add to the operation
+ */
public void setOperationBody(ObjectModelOperation operation, String body) {
ObjectModelOperationImpl operationImpl = (ObjectModelOperationImpl) operation;
operationImpl.setBodyCode(body);
}
+ /**
+ * Add an interface to a classifier. The interface may not exist in model.
+ * @param classifier where the interface will be added
+ * @param interfaceQualifiedName interface qualified name
+ */
public void addInterface(ObjectModelClassifier classifier, String interfaceQualifiedName) {
ObjectModelClassifierImpl impl = (ObjectModelClassifierImpl) classifier;
@@ -123,6 +189,11 @@
impl.addInterface(interfacez);
}
+ /**
+ * Add a superclass to an other class. The superclass may not exist in model.
+ * @param clazz where the superclass will be added
+ * @param superclassQualifiedName superclass qualified name
+ */
public void addSuperclass(ObjectModelClass clazz, String superclassQualifiedName) {
ObjectModelClassImpl impl = (ObjectModelClassImpl) clazz;
@@ -132,6 +203,13 @@
impl.addSuperclass(superclass);
}
+ /**
+ * Add a parameter to an operation.
+ * @param operation where the parameter will be added
+ * @param type paremeter type (full qualified name)
+ * @param name parameter name
+ * @return the new ObjectModelParameter added
+ */
public ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
ObjectModelParameterImpl param = new ObjectModelParameterImpl();
@@ -141,6 +219,11 @@
return param;
}
+ /**
+ * Add an exception to an operation.
+ * @param operation where the exception will be added
+ * @param exception name of the exception (full qualified name)
+ */
public void addException(ObjectModelOperation operation, String exception) {
ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
ObjectModelParameterImpl param = new ObjectModelParameterImpl();
@@ -148,6 +231,11 @@
impl.addExceptionParameter(param);
}
+ /**
+ * Set the documentation of an element in the model.
+ * @param element where the documentation will be setted
+ * @param documentation String documentation for the element
+ */
public void setDocumentation(ObjectModelElement element, String documentation) {
ObjectModelElementImpl impl = (ObjectModelElementImpl)element;
impl.setDocumentation(documentation);
1
0
r688 - in branches/eugene-2.0: eugene/src/main/java/org/nuiton/eugene/java eugene/src/main/java/org/nuiton/eugene/models/object eugene/src/main/java/org/nuiton/eugene/models/object/xml eugene/src/test/java/org/nuiton/eugene/java eugene-test/src/main/java/org/nuiton/eugene/test/generator
by fdesbois@users.nuiton.org 03 Nov '09
by fdesbois@users.nuiton.org 03 Nov '09
03 Nov '09
Author: fdesbois
Date: 2009-11-03 16:26:27 +0100 (Tue, 03 Nov 2009)
New Revision: 688
Added:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
Removed:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java
Modified:
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
Log:
- Refactor Builders -> create ObjectModelBuilder
- Add ObjectModelModifier to simplify builder's methods
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -1,15 +1,18 @@
package org.nuiton.eugene.java;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.GeneratorUtil;
import org.nuiton.eugene.ImportsManager;
import org.nuiton.eugene.models.object.*;
+import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.xml.*;
/**
* JavaBuilder
- * <p/>
+ *
* Created: 29 oct. 2009
*
* @author fdesbois
@@ -17,33 +20,25 @@
*
* Mise a jour: $Date$
* par : $Author$
- * <p/>
*/
public class JavaBuilder {
private static final Log log = LogFactory.getLog(JavaBuilder.class);
- protected ObjectModelImpl model;
+ protected ObjectModelBuilder modelBuilder;
protected ImportsManagerExtension managers;
@SuppressWarnings("unchecked")
public JavaBuilder(String modelName) {
- this.model = new ObjectModelImpl();
- this.model.setName(modelName);
+ this.modelBuilder = new ObjectModelBuilder(modelName);
- // initialize ObjectModel extension for ImportsManager
- //try {
- this.managers = this.model.getExtension(
- ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
- /*} catch (IllegalArgumentException eee) { // "imports" not exist
- this.managers = new ImportsManagerExtension();
- this.model.addExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, this.managers);
- }*/
+ this.managers = getModel().getExtension(
+ ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
}
public ObjectModel getModel() {
- return this.model;
+ return this.modelBuilder.getModel();
}
public void addImport(ObjectModelClassifier classifier, String imports) {
@@ -57,259 +52,103 @@
}
public ObjectModelClass createClass(String name, String packageName) {
- ObjectModelClassImpl clazz =
- (ObjectModelClassImpl)ObjectModelBuilderHelper.createClass(name, packageName);
- model.addClass(clazz);
- return clazz;
+ return modelBuilder.createClass(name, packageName);
}
public ObjectModelClass createAbstractClass(String name, String packageName) {
- ObjectModelClassImpl clazz =
- (ObjectModelClassImpl)ObjectModelBuilderHelper.createAbstractClass(name, packageName);
- model.addClass(clazz);
- return clazz;
+ return modelBuilder.createClass(name, packageName, ObjectModelModifier.ABSTRACT);
}
public void setSuperClass(ObjectModelClass classifier, String superclassQualifiedName) {
ObjectModelClassImpl impl = (ObjectModelClassImpl) classifier;
impl.getSuperclasses().clear(); // suppress all existing superclass: only one can be set for java
- ObjectModelBuilderHelper.addSuperclass(impl, superclassQualifiedName);
+ modelBuilder.addSuperclass(impl, superclassQualifiedName);
this.addImport(classifier, superclassQualifiedName);
}
public void addInterface(ObjectModelClassifier classifier, String interfaceQualifiedName) {
- ObjectModelBuilderHelper.addInterface(classifier, interfaceQualifiedName);
+ modelBuilder.addInterface(classifier, interfaceQualifiedName);
this.addImport(classifier, interfaceQualifiedName);
}
- /**
- * Add attribute to a classifier with properties in parse string.
- * Use java syntax to define properties of the attribute :
- * ex : "public static final java.util.Date maDate = new java.util.Date()"
- *
- * @param classifier the classifier to add the attribute
- * @param parse the properties of the attribute to parse
- * @return a new ObjectModelAttribute corresponding to the new attribute added to the classifier
- * @throws IllegalArgumentException
- */
- public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String parse)
- throws IllegalArgumentException {
- ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl();
- String result = parse;
- try {
- // Visibility
- if (parse.contains("public ")) {
- attribute.setVisibility("public");
- result = parse.replace("public ", "");
- } else if (parse.contains("protected ")) {
- attribute.setVisibility("protected");
- result = parse.replace("protected ", "");
- } else if (parse.contains("private ")) {
- attribute.setVisibility("private");
- result = parse.replace("private ", "");
- } else {
- attribute.setVisibility("");
- }
-
- // Static
- if (result.contains("static ")) {
- attribute.setStatic(true);
- result = result.replace("static ", "");
- }
- // Final
- if (result.contains("final ")) {
- attribute.setFinal(true);
- result = result.replace("final ", "");
- }
-
- // Type
- int typeIndex = result.indexOf(" ");
- String type = result.substring(0, typeIndex).trim();
- attribute.setType(type);
- result = result.substring(typeIndex + 1);
-
- // Name
- int nameIndex = result.indexOf("=");
- String name = "";
- if (nameIndex != -1) {
- name = result.substring(0, nameIndex).trim();
- result = result.substring(nameIndex);
-
- // DefaultValue
- int equalsIndex = result.indexOf("=");
- String value = result.substring(equalsIndex + 1).trim();
- attribute.setDefaultValue(value);
-
- //if (value.contains("new ")) {
- this.addImport(classifier, value);
- //}
-
- } else { // Il ne reste que le nom si pas de =
- name = result;
- }
- attribute.setName(name);
-
- ObjectModelClassifierImpl classifierImpl = (ObjectModelClassifierImpl) classifier;
- classifierImpl.addAttribute(attribute);
- this.addImport(classifier, attribute.getType());
- } catch (StringIndexOutOfBoundsException eee) {
- throw new IllegalArgumentException("Can't add Attribute : Illegal parse parameter : " +
- "input = " + parse + " _ current = " + result, eee);
+ public ObjectModelAttribute addConstant(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier visibility) throws IllegalArgumentException {
+ if (!visibility.isVisibility()) {
+ throw new IllegalArgumentException("Illegal visibility type : " + visibility.name() +
+ " for " + classifier.getQualifiedName());
}
- return attribute;
+
+ return modelBuilder.addAttribute(classifier, name, type, value, visibility,
+ ObjectModelModifier.STATIC, ObjectModelModifier.FINAL);
}
- public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, ObjectModelAttribute attribute) {
- this.addImport(classifier, attribute.getType());
- return ObjectModelBuilderHelper.addAttribute(classifier, attribute.getName(), attribute.getType(),
- attribute.getDefaultValue(), attribute.getVisibility(), attribute.isStatic(), attribute.isFinal());
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type) {
+ return modelBuilder.addAttribute(classifier, name, type);
}
- public ObjectModelOperation addConstructor(ObjectModelClass clazz, String visibility) {
- return ObjectModelBuilderHelper.addOperation(clazz, visibility, clazz.getName(), null);
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier... modifiers) {
+ return modelBuilder.addAttribute(classifier, name, type, value, modifiers);
}
- /**
- * Attention ne marche pas pour les constructeur !!!
- * Attention ne marche pas pour les generic du type : <T extends Plop> T myMethod !!!
- * @param classifier
- * @param parse
- * @return
- * @throws IllegalArgumentException
- */
- public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String parse)
- throws IllegalArgumentException {
- ObjectModelOperationImpl operation = new ObjectModelOperationImpl();
- String result = "";
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, ObjectModelAttribute attribute) {
+ this.addImport(classifier, attribute.getType());
- try {
- // Visibility
- if (parse.contains("public ")) {
- operation.setVisibility("public");
- result = parse.replace("public ", "");
- } else if (parse.contains("protected ")) {
- operation.setVisibility("protected");
- result = parse.replace("protected ", "");
- } else if (parse.contains("private ")) {
- operation.setVisibility("private");
- result = parse.replace("private ", "");
- } else {
- operation.setVisibility("");
- }
+ Set<ObjectModelModifier> modifiers = new HashSet<ObjectModelModifier>();
- // Static
- if (result.contains("static ")) {
- operation.setStatic(true);
- result = result.replace("static ", "");
- }
- // Abstract
- if (result.contains("abstract ")) {
- operation.setAbstract(true);
- result = result.replace("abstract ", "");
- }
+ if (attribute.isStatic()) {
+ modifiers.add(ObjectModelModifier.STATIC);
+ }
+ if (attribute.isFinal()) {
+ modifiers.add(ObjectModelModifier.FINAL);
+ }
+ if (attribute.getVisibility().equals("public")) {
+ modifiers.add(ObjectModelModifier.PUBLIC);
+ } else if (attribute.getVisibility().equals("protected")) {
+ modifiers.add(ObjectModelModifier.PROTECTED);
+ } else if (attribute.getVisibility().equals("private")) {
+ modifiers.add(ObjectModelModifier.PRIVATE);
+ } else if (attribute.getVisibility().equals("")) {
+ modifiers.add(ObjectModelModifier.PACKAGE);
+ }
- // Return Parameter
- int typeIndex = result.indexOf(" ");
- String type = result.substring(0, typeIndex).trim();
- result = result.substring(typeIndex + 1);
+ return modelBuilder.addAttribute(classifier, attribute.getName(), attribute.getType(),
+ attribute.getDefaultValue(), modifiers.toArray(new ObjectModelModifier[modifiers.size()]));
+ }
- // TROP COMPLEXE pour les generic du type <T extends Plop> T myMethod
- /*if (log.isDebugEnabled()) {
- log.debug ("type : " + type + " _ result= " + result);
- }
- if (type.contains("<")) { // Generic : <T extends Plop> T myMethod
- int endGeneric = result.indexOf(">"); // index de fin du generic
- type += result.substring(0, endGeneric).trim(); // type = <T extends Plop>
- if (log.isDebugEnabled()) {
- log.debug ("type : " + type + " _ result= " + result);
- }
- result = result.substring(endGeneric + 1).trim(); // result = T myMethod
- if (log.isDebugEnabled()) {
- log.debug ("type : " + type + " _ result= " + result);
- }
- typeIndex = result.indexOf(" ");
- type += " " + result.substring(0, typeIndex).trim(); // type = <T extends Plop> T
- if (log.isDebugEnabled()) {
- log.debug ("type : " + type + " _ result= " + result);
- }
- result = result.substring(typeIndex + 1); // result = myMethod
- if (log.isDebugEnabled()) {
- log.debug ("type : " + type + " _ result= " + result);
- }
- }*/
- ObjectModelParameterImpl returnParameter = new ObjectModelParameterImpl();
- returnParameter.setType(type);
- operation.setReturnParameter(returnParameter);
-
- if (log.isDebugEnabled()) {
- log.debug("parse before name : " + result);
- }
-
- int nameIndex = result.indexOf("(");
- String methodName = "";
- if (nameIndex != -1) {
- methodName = result.substring(0, nameIndex).trim();
- result = result.substring(nameIndex);
-
- // Input parameters
- if (result.contains("(")) {
- int parentheseIndex = result.indexOf("(");
- int parentheseEndIndex = result.indexOf(")");
- result = result.substring(parentheseIndex + 1, parentheseEndIndex);
-
- String paramName = "";
- for (String param : result.split(",")) {
- typeIndex = param.indexOf(" ");
- type = param.substring(0, typeIndex).trim();
- paramName = param.substring(typeIndex + 1).trim();
-
- ObjectModelParameterImpl parameter = new ObjectModelParameterImpl();
- parameter.setType(type);
- parameter.setName(paramName);
- operation.addParameter(parameter);
- }
- }
-
- } else { // Il ne reste que le nom si pas de (
- methodName = result;
- }
- operation.setName(methodName);
-
- // Add operation to Classifier
- ObjectModelClassifierImpl classifierImpl = (ObjectModelClassifierImpl) classifier;
- classifierImpl.addOperation(operation);
- // imports for returnType
- this.addImport(classifier, operation.getReturnType());
- // imports for inputParameters
- for (ObjectModelParameter parameter : operation.getParameters()) {
- this.addImport(classifier, parameter.getType());
- }
- } catch (StringIndexOutOfBoundsException eee) {
- throw new IllegalArgumentException("Can't add Operation : Illegal parse parameter : " +
- "input = " + parse + " _ current = " + result, eee);
+ public ObjectModelOperation addConstructor(ObjectModelClass clazz, ObjectModelModifier visibility)
+ throws IllegalArgumentException {
+ if (!visibility.isVisibility()) {
+ throw new IllegalArgumentException("Illegal visibility type : " + visibility.name() +
+ " for " + clazz.getQualifiedName());
}
- return operation;
+
+ return modelBuilder.addOperation(clazz, clazz.getName(), null, visibility);
}
- public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String visibility,
- String type, String name, String... inputParameters) {
+ public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String name, String type,
+ ObjectModelModifier... modifiers) {
- return ObjectModelBuilderHelper.addOperation(classifier, visibility, name, type, inputParameters);
+ return modelBuilder.addOperation(classifier, name, type, modifiers);
}
public ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
- ObjectModelParameter param = ObjectModelBuilderHelper.addParameter(operation, type, name);
+ ObjectModelParameter param = modelBuilder.addParameter(operation, type, name);
this.addImport((ObjectModelClassifier) operation.getDeclaringElement(), type);
return param;
}
public void addException(ObjectModelOperation operation, String exception) {
- ObjectModelBuilderHelper.addException(operation, exception);
+ modelBuilder.addException(operation, exception);
this.addImport((ObjectModelClassifier) operation.getDeclaringElement(), exception);
}
- public void setOperationBody(ObjectModelOperation operation, String body) {
- ObjectModelBuilderHelper.setOperationBody(operation, body);
+ public void setOperationBody(ObjectModelOperation operation, String body)
+ throws IllegalArgumentException {
+ if (operation.isAbstract()) {
+ throw new IllegalArgumentException("Unable to add body for an abstract method");
+ }
+ modelBuilder.setOperationBody(operation, body);
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -73,29 +73,30 @@
builder.addInterface(classifier, interfaceQualifiedName);
}
- protected ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String parse)
- throws IllegalArgumentException {
- return builder.addAttribute(classifier, parse);
+ protected ObjectModelAttribute addConstant(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier visibility) throws IllegalArgumentException {
+ return builder.addConstant(classifier, name, type, value, visibility);
}
+ protected ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier... modifiers) {
+ return builder.addAttribute(classifier, name, type, value, modifiers);
+ }
+
protected ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, ObjectModelAttribute attribute) {
return builder.addAttribute(classifier, attribute);
}
- protected ObjectModelOperation addConstructor(ObjectModelClass clazz, String visibility) {
+ protected ObjectModelOperation addConstructor(ObjectModelClass clazz, ObjectModelModifier visibility)
+ throws IllegalArgumentException {
return builder.addConstructor(clazz, visibility);
}
- protected ObjectModelOperation addOperation(ObjectModelClassifier classifier, String parse)
- throws IllegalArgumentException {
- return builder.addOperation(classifier, parse);
+ protected ObjectModelOperation addOperation(ObjectModelClassifier classifier, String name, String type,
+ ObjectModelModifier... modifiers) {
+ return builder.addOperation(classifier, name, type, modifiers);
}
- protected ObjectModelOperation addOperation(ObjectModelClassifier classifier, String visibility,
- String type, String name, String... inputParameters) {
- return builder.addOperation(classifier, visibility, type, name, inputParameters);
- }
-
protected ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
return builder.addParameter(operation, type, name);
}
@@ -104,7 +105,8 @@
builder.addException(operation, exception);
}
- protected void setOperationBody(ObjectModelOperation operation, String body) {
+ protected void setOperationBody(ObjectModelOperation operation, String body)
+ throws IllegalArgumentException {
builder.setOperationBody(operation, body);
}
Added: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java (rev 0)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -0,0 +1,56 @@
+
+package org.nuiton.eugene.models.object;
+
+/**
+ * ObjectModelModifier
+ *
+ * Created: 3 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public enum ObjectModelModifier {
+
+ STATIC, FINAL, ABSTRACT, PUBLIC, PROTECTED, PRIVATE, PACKAGE;
+
+ public boolean isVisibility() {
+ return this == PUBLIC ||
+ this == PROTECTED ||
+ this == PRIVATE ||
+ this == PACKAGE;
+ }
+
+ @Override
+ public String toString() {
+ switch (this) {
+ //case STATIC: return "static";
+ //case ABSTRACT: return "abstract";
+ //case FINAL: return "final";
+ case PUBLIC: return "public";
+ case PRIVATE: return "private";
+ case PROTECTED: return "protected";
+ case PACKAGE: return "";
+ }
+ return "";
+ }
+
+ public static ObjectModelModifier toValue(String name) {
+ if (name.equals("public")) {
+ return PUBLIC;
+ } else if (name.equals("private")) {
+ return PRIVATE;
+ } else if (name.equals("protected")) {
+ return PROTECTED;
+ } else if (name.equals("")) {
+ return PACKAGE;
+ } else {
+ return null;
+ }
+ }
+
+
+
+}
Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Added: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java (rev 0)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -0,0 +1,156 @@
+
+package org.nuiton.eugene.models.object.xml;
+
+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.ObjectModelElement;
+import org.nuiton.eugene.models.object.ObjectModelInterface;
+import org.nuiton.eugene.models.object.ObjectModelModifier;
+import org.nuiton.eugene.models.object.ObjectModelOperation;
+import org.nuiton.eugene.models.object.ObjectModelParameter;
+
+/**
+ * ObjectModelBuilder
+ *
+ * Created: 3 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ObjectModelBuilder {
+
+ protected ObjectModelImpl model;
+
+ public ObjectModelBuilder(String name) {
+ this.model = new ObjectModelImpl();
+ this.model.setName(name);
+ }
+
+ public ObjectModel getModel() {
+ return this.model;
+ }
+
+ public ObjectModelClass createClass(String name, String packageName, ObjectModelModifier... modifiers) {
+ ObjectModelClassImpl result = new ObjectModelClassImpl();
+ result.setName(name);
+ result.setPackage(packageName);
+ for (ObjectModelModifier modifier : modifiers) {
+ switch (modifier) {
+ case ABSTRACT: result.setAbstract(true); break;
+ case STATIC: result.setStatic(true);
+ }
+ }
+ model.addClass(result);
+ return result;
+ }
+
+ public ObjectModelInterface createInterface(String name, String packageName) {
+ ObjectModelInterfaceImpl result = new ObjectModelInterfaceImpl();
+ result.setName(name);
+ result.setPackage(packageName);
+ return result;
+ }
+
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type) {
+ return addAttribute(classifier, name, type, "");
+ }
+
+ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
+ ObjectModelModifier... modifiers) {
+ ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl();
+ attribute.setName(name);
+ attribute.setType(type);
+ attribute.setDefaultValue(value);
+
+ for (ObjectModelModifier modifier : modifiers) {
+ if (modifier.isVisibility()) {
+ attribute.setVisibility(modifier.toString());
+ } else {
+ switch (modifier) {
+ case STATIC: attribute.setStatic(true); break;
+ case FINAL: attribute.setFinal(true);
+ }
+ }
+ }
+
+ ObjectModelClassifierImpl classifierImpl = (ObjectModelClassifierImpl)classifier;
+ classifierImpl.addAttribute(attribute);
+ return attribute;
+ }
+
+ public ObjectModelOperation addOperation(ObjectModelClassifier clazz,
+ String name, String returnType, ObjectModelModifier... modifiers) {
+ ObjectModelOperationImpl result = new ObjectModelOperationImpl();
+ result.setName(name);
+
+ if (returnType != null) {
+ ObjectModelParameterImpl returnParameter = new ObjectModelParameterImpl();
+ returnParameter.setType(returnType);
+ result.setReturnParameter(returnParameter);
+ }
+
+ for (ObjectModelModifier modifier : modifiers) {
+ if (modifier.isVisibility()) {
+ result.setVisibility(modifier.toString());
+ } else {
+ switch (modifier) {
+ case STATIC: result.setStatic(true); break;
+ case ABSTRACT: result.setAbstract(true);
+ }
+ }
+ }
+
+ ((ObjectModelClassifierImpl)clazz).addOperation(result);
+ return result;
+ }
+
+ public void setOperationBody(ObjectModelOperation operation, String body) {
+ ObjectModelOperationImpl operationImpl = (ObjectModelOperationImpl) operation;
+ operationImpl.setBodyCode(body);
+ }
+
+ public void addInterface(ObjectModelClassifier classifier, String interfaceQualifiedName) {
+ ObjectModelClassifierImpl impl = (ObjectModelClassifierImpl) classifier;
+
+ ObjectModelImplRef interfacez = new ObjectModelImplRef();
+ interfacez.setName(interfaceQualifiedName);
+
+ impl.addInterface(interfacez);
+ }
+
+ public void addSuperclass(ObjectModelClass clazz, String superclassQualifiedName) {
+ ObjectModelClassImpl impl = (ObjectModelClassImpl) clazz;
+
+ ObjectModelImplSuperClassRef superclass = new ObjectModelImplSuperClassRef();
+ superclass.setName(superclassQualifiedName);
+
+ impl.addSuperclass(superclass);
+ }
+
+ public ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
+ ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
+ ObjectModelParameterImpl param = new ObjectModelParameterImpl();
+ param.setType(type);
+ param.setName(name);
+ impl.addParameter(param);
+ return param;
+ }
+
+ public void addException(ObjectModelOperation operation, String exception) {
+ ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
+ ObjectModelParameterImpl param = new ObjectModelParameterImpl();
+ param.setType(exception);
+ impl.addExceptionParameter(param);
+ }
+
+ public void setDocumentation(ObjectModelElement element, String documentation) {
+ ObjectModelElementImpl impl = (ObjectModelElementImpl)element;
+ impl.setDocumentation(documentation);
+ }
+
+}
Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Deleted: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -1,156 +0,0 @@
-/* *##%
- * Copyright (c) 2009 poussin. All rights reserved.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *##%*/
-
-package org.nuiton.eugene.models.object.xml;
-
-
-import org.nuiton.eugene.models.object.*;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * class that help to build java class or interface object.
- *
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-public class ObjectModelBuilderHelper {
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ObjectModelBuilderHelper.class);
-
- public static ObjectModelClass createClass(String name, String packageName) {
- ObjectModelClassImpl result = new ObjectModelClassImpl();
- result.setName(name);
- result.setPackage(packageName);
- return result;
- }
-
- public static ObjectModelClass createAbstractClass(String name, String packageName) {
- ObjectModelClassImpl result = (ObjectModelClassImpl) createClass(name,packageName);
- result.setAbstract(true);
- return result;
- }
-
- public static ObjectModelInterface createInterface(String name, String packageName) {
- ObjectModelInterfaceImpl result = new ObjectModelInterfaceImpl();
- result.setName(name);
- result.setPackage(packageName);
- return result;
- }
-
- public static ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value,
- String visibility, boolean isStatic, boolean isFinal) {
- ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl();
- attribute.setFinal(isFinal);
- attribute.setDefaultValue(value);
- attribute.setName(name);
- attribute.setStatic(isStatic);
- attribute.setType(type);
- attribute.setVisibility(visibility);
-
- ObjectModelClassifierImpl classifierImpl = (ObjectModelClassifierImpl)classifier;
- classifierImpl.addAttribute(attribute);
- return attribute;
- }
-
- public static ObjectModelAttribute addConstant(ObjectModelClassifier classifier, String name, String type, String value, String visibility) {
- return addAttribute(classifier, name, type, value, visibility, true, true);
- }
-
- public static ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value) {
- return addAttribute(classifier, name, type, value, "protected", false, false);
- }
-
- public static ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type) {
- return addAttribute(classifier, name, type, "", "protected", false, false);
- }
-
- public static ObjectModelOperation addOperation(ObjectModelClassifier clazz,
- String visibility, String name, String returnType, String... inputParameters) {
- ObjectModelOperationImpl result = new ObjectModelOperationImpl();
- result.setName(name);
-
- result.setName(name);
- result.setVisibility("public");
-
- if (returnType != null) {
- ObjectModelParameterImpl returnParameter = new ObjectModelParameterImpl();
- returnParameter.setType(returnType);
- result.setReturnParameter(returnParameter);
- }
-
- int nbParameters = inputParameters.length;
- if (nbParameters %2 != 0) {
- throw new IllegalArgumentException("Unccorect number of parameters (" + nbParameters + ") : " +
- "each inputParameter must have name and type");
- }
- for (int i = 0; i < inputParameters.length; i+=2) {
- ObjectModelParameterImpl parameter = new ObjectModelParameterImpl();
- parameter.setType(inputParameters[i]);
- parameter.setName(inputParameters[i+1]);
- //importsManager.addImport(inputParameters[i+1]);
- result.addParameter(parameter);
- }
-
- ((ObjectModelClassifierImpl)clazz).addOperation(result);
- return result;
- }
-
- public static void setOperationBody(ObjectModelOperation operation, String body) {
- ObjectModelOperationImpl operationImpl = (ObjectModelOperationImpl) operation;
- operationImpl.setBodyCode(body);
- }
-
- public static void addInterface(ObjectModelClassifier classifier, String interfaceQualifiedName) {
- ObjectModelClassifierImpl impl = (ObjectModelClassifierImpl) classifier;
-
- ObjectModelImplRef interfacez = new ObjectModelImplRef();
- interfacez.setName(interfaceQualifiedName);
-
- impl.addInterface(interfacez);
- }
-
- public static void addSuperclass(ObjectModelClass clazz, String superclassQualifiedName) {
- ObjectModelClassImpl impl = (ObjectModelClassImpl) clazz;
-
- ObjectModelImplSuperClassRef superclass = new ObjectModelImplSuperClassRef();
- superclass.setName(superclassQualifiedName);
-
- impl.addSuperclass(superclass);
- }
-
- public static ObjectModelParameter addParameter(ObjectModelOperation operation, String type, String name) {
- ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
- ObjectModelParameterImpl param = new ObjectModelParameterImpl();
- param.setType(type);
- param.setName(name);
- impl.addParameter(param);
- return param;
- }
-
- public static void addException(ObjectModelOperation operation, String exception) {
- ObjectModelOperationImpl impl = (ObjectModelOperationImpl) operation;
- ObjectModelParameterImpl param = new ObjectModelParameterImpl();
- param.setType(exception);
- impl.addExceptionParameter(param);
- }
-}
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -14,6 +14,7 @@
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.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
import org.nuiton.eugene.models.object.ObjectModelParameter;
import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl;
@@ -162,52 +163,54 @@
}
/**
- * Test of addAttribute(ObjectModelClassifier, String) method, of class JavaBuilder.
+ * Test of addConstant method, of class JavaBuilder.
* Prerequisite : existing classifier in model.
- * - Add attribute simple attribute (visibility, type, name)
- * - Add attribute with defaultValue
- * - Add attribute with defaultValue as new instance of object
- * - Add attribute with defaultValue which contains a '.' (double)
+ * - Add a public constant attribute (static, final)
*/
@Test
- public void testAddAttributeObjectModelClassifierString() {
+ public void testAddConstant() {
+ System.out.println("addConstant");
+ JavaBuilder builder = new JavaBuilder("TestModel");
+
+ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
+
+ ObjectModelAttribute constant = builder.addConstant(classifier, "GENDER_MALE", "boolean", "true",
+ ObjectModelModifier.PUBLIC);
+
+ assertTrue(constant.isFinal());
+ assertTrue(constant.isStatic());
+ }
+
+ /**
+ * Test of addAttribute method, of class JavaBuilder.
+ * Prerequisite : existing classifier in model.
+ * - Add a public attribute without default value
+ * - Add a private static attribute with default value
+ */
+ @Test
+ public void testAddAttribute() {
System.out.println("addAttribute");
- JavaBuilder builder = new JavaBuilder("modelName");
+ JavaBuilder builder = new JavaBuilder("TestModel");
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
- String parse = "public java.lang.String bilou";
- ObjectModelAttribute result = builder.addAttribute(classifier, parse);
- assertNotNull(result);
- assertEquals(result.getName(), "bilou");
- assertEquals(result.getType(), "java.lang.String");
- assertEquals(result.getVisibility(), "public");
+ ObjectModelAttribute attribute = builder.addAttribute(classifier, "firstName", "java.lang.String", "",
+ ObjectModelModifier.PUBLIC);
- parse = "public static final long uid = 12534sdf78ef9";
- result = builder.addAttribute(classifier, parse);
- assertNotNull(result);
- assertTrue(result.isFinal());
- assertTrue(result.isStatic());
- assertEquals(result.getName(), "uid");
- assertEquals(result.getType(), "long");
- assertEquals(result.getVisibility(), "public");
- assertEquals(result.getDefaultValue(), "12534sdf78ef9");
+ assertNotNull(attribute);
+ assertEquals(attribute.getName(), "firstName");
+ assertEquals(attribute.getType(), "java.lang.String");
+ assertEquals(attribute.getVisibility(), "public");
+ assertEquals(attribute.getDefaultValue(), "");
+ assertFalse(attribute.isFinal());
+ assertFalse(attribute.isStatic());
- parse = "private java.util.Date publicDate = new java.util.Date()";
- result = builder.addAttribute(classifier, parse);
- assertNotNull(result);
- assertEquals(result.getName(), "publicDate");
- assertEquals(result.getType(), "java.util.Date");
- assertEquals(result.getVisibility(), "private");
- assertEquals(result.getDefaultValue(), "new java.util.Date()");
+ attribute = builder.addAttribute(classifier, "roles", "java.lang.List<org.chorem.bonzoms.Role>",
+ "new java.lang.ArrayList<org.chorem.bonzoms.Role>()",
+ ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC);
- parse = "private double age = 2.0";
- result = builder.addAttribute(classifier, parse);
- assertNotNull(result);
- assertEquals(result.getName(), "age");
- assertEquals(result.getType(), "double");
- assertEquals(result.getVisibility(), "private");
- assertEquals(result.getDefaultValue(), "2.0");
+ assertEquals(attribute.getDefaultValue(), "new java.lang.ArrayList<org.chorem.bonzoms.Role>()");
+ assertTrue(attribute.isStatic());
}
/**
@@ -231,13 +234,8 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
ObjectModelAttribute result = builder.addAttribute(classifier, attribute);
- assertNotNull(result);
- assertEquals(result.getName(), "name");
- assertEquals(result.getType(), "java.lang.String");
- assertEquals(result.getVisibility(), "public");
- assertEquals(result.getDefaultValue(), "\"\"");
- assertTrue(result.isFinal());
- assertFalse(result.isStatic());
+
+ assertNotSame(attribute, result);
}
/**
@@ -253,7 +251,7 @@
ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
- ObjectModelOperation operation = builder.addConstructor(clazz, "public");
+ ObjectModelOperation operation = builder.addConstructor(clazz, ObjectModelModifier.PUBLIC);
assertNotNull(operation);
assertEquals(operation.getName(), "Person");
assertNull(operation.getReturnParameter());
@@ -263,74 +261,28 @@
/**
* Test of addOperation method, of class JavaBuilder.
* Prerequisite : existing classifier in model.
- * - Add simple method without parameters
- * - Add method with one parameter
- * NOTE : unsupported generic and exceptions
+ * - Add simple public method
+ * - Add abstract method
*/
@Test
- public void testAddOperationObjectModelClassifierString() {
+ public void testAddOperation() {
System.out.println("addOperation");
- JavaBuilder builder = new JavaBuilder("modelName");
- ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
-
- String parse = "public abstract java.util.List<java.lang.String> methodName";
- ObjectModelOperation result = builder.addOperation(classifier, parse);
- assertNotNull(result);
- assertTrue(result.isAbstract());
- assertEquals(result.getName(), "methodName");
- assertEquals(result.getReturnType(), "java.util.List<java.lang.String>");
- assertEquals(result.getVisibility(), "public");
-
- /*parse = "public <T extends blob> T myMethod"; // UNSUPPORTED*/
-
- parse = "public void addPropertyChangeListener(java.lang.String propertyName)";
- result = builder.addOperation(classifier, parse);
- assertNotNull(result);
- assertEquals(result.getName(), "addPropertyChangeListener");
- assertEquals(result.getReturnType(), "void");
- assertEquals(result.getVisibility(), "public");
- assertEquals(result.getParameters().size(), 1);
-
- List<ObjectModelParameter> listParams = (List<ObjectModelParameter>)result.getParameters();
- ObjectModelParameter param1 = listParams.get(0);
- assertEquals(param1.getName(), "propertyName");
- assertEquals(param1.getType(), "java.lang.String");
- }
-
- /**
- * Test of addOperation method, of class JavaBuilder.
- * Prerequisite : existing classifier in model.
- * - Add simple method without parameters
- * - Add method with one parameter
- */
- @Test
- public void testAddOperation5args() {
- System.out.println("addOperation");
-
JavaBuilder builder = new JavaBuilder("modelName");
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
ObjectModelOperation result = builder.addOperation(classifier,
- "public", "java.util.List<java.lang.String>", "methodName");
+ "methodName", "java.util.List<java.lang.String>", ObjectModelModifier.PUBLIC);
assertNotNull(result);
assertEquals(result.getName(), "methodName");
assertEquals(result.getReturnType(), "java.util.List<java.lang.String>");
assertEquals(result.getVisibility(), "public");
+ assertFalse(result.isAbstract());
- result = builder.addOperation(classifier, "public", "void", "addPropertyChangeListener",
- "java.lang.String", "propertyName");
- assertNotNull(result);
- assertEquals(result.getName(), "addPropertyChangeListener");
- assertEquals(result.getReturnType(), "void");
- assertEquals(result.getVisibility(), "public");
- assertEquals(result.getParameters().size(), 1);
-
- List<ObjectModelParameter> listParams = (List<ObjectModelParameter>)result.getParameters();
- ObjectModelParameter param1 = listParams.get(0);
- assertEquals(param1.getName(), "propertyName");
- assertEquals(param1.getType(), "java.lang.String");
+ result = builder.addOperation(classifier, "addPropertyChangeListener", "void",
+ ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT);
+ assertTrue(result.isAbstract());
}
/**
@@ -346,8 +298,8 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
- ObjectModelOperation operation = builder.addOperation(classifier,
- "public java.lang.String setName");
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
ObjectModelParameter param = builder.addParameter(operation, "java.lang.String", "name");
assertNotNull(param);
@@ -372,8 +324,8 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
- ObjectModelOperation operation = builder.addOperation(classifier,
- "public java.lang.String setName");
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
builder.addException(operation, "java.lang.IllegalArgumentException");
Set<String> exceptions = operation.getExceptions();
@@ -398,8 +350,8 @@
ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms");
- ObjectModelOperation operation = builder.addOperation(classifier,
- "public java.lang.String setName");
+ ObjectModelOperation operation = builder.addOperation(classifier, "setName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
builder.setOperationBody(operation, "this.name = name");
assertNotNull(operation.getBodyCode());
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/BeanTransformer.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -6,7 +6,6 @@
import org.nuiton.eugene.models.object.*;
import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
@@ -79,8 +78,9 @@
hasMultipleAttribute = true;
// Add getChild
- ObjectModelOperation getChild = addOperation(resultClass,
- "public " + attrType + " get" + attrNameCapitalized + "(int index)");
+ ObjectModelOperation getChild = addOperation(resultClass, "get" + attrNameCapitalized,
+ attrType, ObjectModelModifier.PUBLIC);
+ addParameter(getChild, "int", "index");
setOperationBody(getChild, ""
/*{
<%=attrType%> o = getChild(<%=attrName%>, index);
@@ -97,8 +97,9 @@
if (isEntity) {
hasEntity = true;
- ObjectModelOperation getChildEntity = addOperation(resultClass,
- "public " + attrType + " get" + attrNameCapitalized + "(" + String.class.getName() + " topiaId)");
+ ObjectModelOperation getChildEntity = addOperation(resultClass, "get" + attrNameCapitalized,
+ attrType, ObjectModelModifier.PUBLIC);
+ addParameter(getChildEntity, String.class.getName(), "topiaId");
setOperationBody(getChildEntity, ""
/*{
<%=attrType%> o = getEntity(<%=attrName%>, topiaId);
@@ -108,8 +109,9 @@
}
// Add addChild
- ObjectModelOperation addChild = addOperation(resultClass,
- "public " + attrType + " add" + attrNameCapitalized + "(" + attrType + " " + attrName + ")");
+ ObjectModelOperation addChild = addOperation(resultClass, "add" + attrNameCapitalized,
+ attrType, ObjectModelModifier.PUBLIC);
+ addParameter(addChild, attrType, attrName);
setOperationBody(addChild, ""
/*{
@@ -120,8 +122,9 @@
);
// Add removeChild
- ObjectModelOperation removeChild = addOperation(resultClass,
- "public boolean remove" + attrNameCapitalized + "(" + attrType + " " + attrName + ")");
+ ObjectModelOperation removeChild = addOperation(resultClass, "remove" + attrNameCapitalized,
+ "boolean", ObjectModelModifier.PUBLIC);
+ addParameter(removeChild, attrType, attrName);
setOperationBody(removeChild, ""
/*{
@@ -148,11 +151,12 @@
}
// Add attribute
- addAttribute(resultClass, attr.getVisibility() + " " + attrType + " " + attrName);
+ String visibility = attr.getVisibility();
+ addAttribute(resultClass, attrName, attrType, "", ObjectModelModifier.toValue(visibility));
// Add getter
- ObjectModelOperation getter = this.addOperation(resultClass,
- "public " + attrType + " get" + attrNameCapitalized);
+ ObjectModelOperation getter = addOperation(resultClass, "get" + attrNameCapitalized, attrType,
+ ObjectModelModifier.PUBLIC);
setOperationBody(getter, ""
/*{
return this.<%=attrName%>;
@@ -160,8 +164,9 @@
);
// Add setter
- ObjectModelOperation setter = this.addOperation(resultClass,
- "public void set" + attrNameCapitalized + "(" + attrType + " newValue)");
+ ObjectModelOperation setter = addOperation(resultClass, "set" + attrNameCapitalized, "void",
+ ObjectModelModifier.PUBLIC);
+ addParameter(setter, attrType, "newValue");
setOperationBody(setter, ""
/*{
<%=attrType%> oldValue = get<%=attrNameCapitalized%>();
@@ -175,8 +180,10 @@
// Add helper methods
if (hasMultipleAttribute) {
- ObjectModelOperation getChild = addOperation(resultClass, "protected", "<T> T", "getChild",
- "java.util.Collection<T>", "childs", "int", "index"); // params
+ ObjectModelOperation getChild = addOperation(resultClass, "getChild", "<T> T",
+ ObjectModelModifier.PROTECTED);
+ addParameter(getChild, "java.util.Collection<T>", "childs");
+ addParameter(getChild, "int", "index");
setOperationBody(getChild, ""
/*{
if (childs != null) {
@@ -194,10 +201,10 @@
}
if (hasEntity) {
- ObjectModelOperation getEntity = addOperation(resultClass, "protected",
- "<T extends org.nuiton.topia.persistence.TopiaEntity> T", // returnType
- "getEntity",
- "java.util.Collection<T>", "childs", "java.lang.String", "topiaId"); // params
+ ObjectModelOperation getEntity = addOperation(resultClass, "getEntity",
+ "<T extends org.nuiton.topia.persistence.TopiaEntity> T", ObjectModelModifier.PROTECTED);
+ addParameter(getEntity, "java.util.Collection<T>", "childs");
+ addParameter(getEntity, "java.lang.String", "topiaId");
setOperationBody(getEntity, ""
/*{
if (childs != null) {
@@ -212,16 +219,14 @@
);
}
-
-
// Add operations
for (ObjectModelOperation op : clazz.getOperations()) {
- ObjectModelOperation resultOperation = addOperation(resultClass,
- op.getVisibility() + " abstract " + op.getReturnType() + " " + op.getName());
+ String visibility = op.getVisibility();
+ ObjectModelOperation resultOperation = addOperation(resultClass, op.getName(), op.getReturnType(),
+ ObjectModelModifier.toValue(visibility), ObjectModelModifier.ABSTRACT);
for (ObjectModelParameter param : op.getParameters()) {
- ObjectModelParameter resultParameter = addParameter(resultOperation,
- param.getType(), param.getName());
+ addParameter(resultOperation, param.getType(), param.getName());
}
for (String exception : op.getExceptions()) {
@@ -241,16 +246,17 @@
String svUID = TopiaGeneratorUtil.findTagValue("dto-serialVersionUID", inputClass, getModel());
if (svUID != null) {
- addAttribute(resultClass, "public static final long serialVersionUID = " + svUID);
+ addConstant(resultClass, "serialVersionUID", "long", svUID, ObjectModelModifier.PUBLIC);
}
}
protected void createListeners(ObjectModelClass resultClass, ObjectModelClass inputClass) {
- addAttribute(resultClass, "protected final " + PropertyChangeSupport.class.getName() + " pcs");
+ addAttribute(resultClass, "pcs", "java.beans.PropertyChangeSupport", "",
+ ObjectModelModifier.PROTECTED, ObjectModelModifier.FINAL);
// Default constructor
- ObjectModelOperation constructor = addConstructor(resultClass, "public");
+ ObjectModelOperation constructor = addConstructor(resultClass, ObjectModelModifier.PUBLIC);
setOperationBody(constructor, ""
/*{
pcs = new PropertyChangeSupport(this);
@@ -263,7 +269,8 @@
String objectType = Object.class.getName();
ObjectModelOperation addPropertyChangeListener = addOperation(resultClass,
- "public void addPropertyChangeListener(" + propType + " listener)");
+ "addPropertyChangeListener", "void", ObjectModelModifier.PUBLIC);
+ addParameter(addPropertyChangeListener, propType, "listener");
setOperationBody(addPropertyChangeListener, ""
/*{
pcs.addPropertyChangeListener(listener);
@@ -271,7 +278,9 @@
);
ObjectModelOperation addPropertyChangeListenerPlus = addOperation(resultClass,
- "public void addPropertyChangeListener(" + strType + " propertyName," + propType + " listener)");
+ "addPropertyChangeListener", "void", ObjectModelModifier.PUBLIC);
+ addParameter(addPropertyChangeListenerPlus, strType, "propertyName");
+ addParameter(addPropertyChangeListenerPlus, propType, "listener");
setOperationBody(addPropertyChangeListenerPlus, ""
/*{
pcs.addPropertyChangeListener(propertyName, listener);
@@ -279,7 +288,8 @@
);
ObjectModelOperation removePropertyChangeListener = addOperation(resultClass,
- "public void removePropertyChangeListener(" + propType + " listener)");
+ "removePropertyChangeListener", "void", ObjectModelModifier.PUBLIC);
+ addParameter(removePropertyChangeListener, propType, "listener");
setOperationBody(removePropertyChangeListener, ""
/*{
pcs.removePropertyChangeListener(listener);
@@ -287,7 +297,9 @@
);
ObjectModelOperation removePropertyChangeListenerPlus = addOperation(resultClass,
- "public void removePropertyChangeListener(" + strType + " propertyName," + propType + " listener)");
+ "removePropertyChangeListener", "void", ObjectModelModifier.PUBLIC);
+ addParameter(removePropertyChangeListenerPlus, strType, "propertyName");
+ addParameter(removePropertyChangeListenerPlus, propType, "listener");
setOperationBody(removePropertyChangeListenerPlus, ""
/*{
pcs.removePropertyChangeListener(propertyName, listener);
@@ -295,7 +307,10 @@
);
ObjectModelOperation firePropertyChange = addOperation(resultClass,
- "protected void firePropertyChange(" + strType + " propertyName," + objectType + " oldValue, " + objectType + " newValue)");
+ "firePropertyChange", "void", ObjectModelModifier.PROTECTED);
+ addParameter(firePropertyChange, strType, "propertyName");
+ addParameter(firePropertyChange, objectType, "oldValue");
+ addParameter(firePropertyChange, objectType, "newValue");
setOperationBody(firePropertyChange, ""
/*{
pcs.firePropertyChange(propertyName, oldValue, newValue);
Modified: branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java
===================================================================
--- branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java 2009-11-03 11:38:10 UTC (rev 687)
+++ branches/eugene-2.0/eugene-test/src/main/java/org/nuiton/eugene/test/generator/TestBuilder.java 2009-11-03 15:26:27 UTC (rev 688)
@@ -3,6 +3,7 @@
import org.nuiton.eugene.java.JavaBuilder;
import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelModifier;
import org.nuiton.eugene.models.object.ObjectModelOperation;
/*{generator option: parentheses = false}*/
@@ -33,32 +34,35 @@
private void createRole() {
ObjectModelClass roleClass = createClass("Role", "org.chorem.bonzoms");
- addAttribute(roleClass, "String name");
+ addAttribute(roleClass, "name", "java.lang.String");
//this.addImportForClassifier(roleClass, Date.class);
- addAttribute(roleClass, "java.util.Date fromDate");
- addAttribute(roleClass, "java.util.Date thruDate");
+ addAttribute(roleClass, "fromDate", "java.util.Date");
+ addAttribute(roleClass, "thruDate", "java.util.Date");
}
private void createPerson() {
ObjectModelClass personneClass = createClass("Person", "org.chorem.bonzoms");
- addAttribute(personneClass, "java.lang.String lastName");
- addAttribute(personneClass, "java.lang.String firstName = \"2.0\"");
+ addAttribute(personneClass, "lastName", "java.lang.String");
+ addAttribute(personneClass, "firstName", "java.lang.String", "\"2.0\"");
//this.addImportForClassifier(personneClass, List.class);
- addAttribute(personneClass,
- "java.util.List<org.chorem.bonzoms.Role> roles = new java.util.ArrayList<org.chorem.bonzoms.Role>()");
+ addAttribute(personneClass, "roles", "java.util.List<org.chorem.bonzoms.Role>",
+ "new java.util.ArrayList<org.chorem.bonzoms.Role>()");
- ObjectModelOperation setLastName = addOperation(personneClass, "public void setLastName(String lastName)");
+ ObjectModelOperation setLastName = addOperation(personneClass, "setLastName", "void",
+ ObjectModelModifier.PUBLIC);
+ addParameter(setLastName, "java.lang.String", "lastName");
setOperationBody(setLastName, ""
/*{
this.lastName = lastName;
}*/
);
- ObjectModelOperation getLastName = addOperation(personneClass, "public String getLastName");
+ ObjectModelOperation getLastName = addOperation(personneClass, "getLastName", "java.lang.String",
+ ObjectModelModifier.PUBLIC);
setOperationBody(getLastName, ""
/*{
return this.lastName;
1
0
r687 - in branches/eugene-2.0/eugene/src: main/java/org/nuiton/eugene main/java/org/nuiton/eugene/java main/java/org/nuiton/eugene/models/object/xml test/java/org/nuiton/eugene/java test/java/org/nuiton/eugene/models/object/xml
by fdesbois@users.nuiton.org 03 Nov '09
by fdesbois@users.nuiton.org 03 Nov '09
03 Nov '09
Author: fdesbois
Date: 2009-11-03 12:38:10 +0100 (Tue, 03 Nov 2009)
New Revision: 687
Added:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java
Log:
- Ano #118 : Add ExternalCacheExtension to manage external interfaces or superclasses (not existing in model)
- Change debug log to trace log for lastModifiedSource
- Improve test
- Change throw exception when an extension not exist : newInstance
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -201,13 +201,13 @@
File outputFile = getDestinationFile(destDir, filename);
if (!getOverwrite() && isNewerThanSource(outputFile)) {
- if (log.isDebugEnabled()) {
- log.debug("file " + outputFile + " is up-to-date");
+ if (log.isTraceEnabled()) {
+ log.trace("file " + outputFile + " is up-to-date");
}
return;
} else {
- if (!outputFile.exists() && log.isDebugEnabled()) {
- log.debug("not up-to-date " + outputFile.lastModified()
+ if (!outputFile.exists() && log.isTraceEnabled()) {
+ log.trace("not up-to-date " + outputFile.lastModified()
+ " <" + outputFile + ">");
}
try {
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -33,13 +33,13 @@
this.model.setName(modelName);
// initialize ObjectModel extension for ImportsManager
- try {
+ //try {
this.managers = this.model.getExtension(
ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
- } catch (IllegalArgumentException eee) { // "imports" not exist
+ /*} catch (IllegalArgumentException eee) { // "imports" not exist
this.managers = new ImportsManagerExtension();
this.model.addExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, this.managers);
- }
+ }*/
}
public ObjectModel getModel() {
Added: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java (rev 0)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -0,0 +1,73 @@
+
+package org.nuiton.eugene.models.object.xml;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.eugene.GeneratorUtil;
+
+/**
+ * ExternalCacheExtension
+ *
+ * Created: 2 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ExternalCacheExtension {
+
+ private static final Log log = LogFactory.getLog(ExternalCacheExtension.class);
+
+ public static final String OBJECTMODEL_EXTENSION = "externalClassifiers";
+
+ protected Map<String, ObjectModelClassifierImpl> cache;
+
+ public ExternalCacheExtension() {
+ this.cache = new HashMap<String, ObjectModelClassifierImpl>();
+ }
+
+ @SuppressWarnings("unchecked")
+ public <C extends ObjectModelClassifierImpl> C getCache(ObjectModelImplRef reference, Class<C> classifierClass)
+ throws ClassCastException, RuntimeException {
+ ObjectModelClassifierImpl classifier = cache.get(reference.getName());
+ C result;
+ if (classifier != null && !classifierClass.isAssignableFrom(classifier.getClass())) {
+ throw new ClassCastException("Invalid cast for " + classifierClass.getName());
+ }
+ if (classifier == null) {
+ try {
+ result = classifierClass.newInstance();
+ addClassifierToCache(reference, result);
+ if (log.isDebugEnabled()) {
+ log.debug("Add '" + reference.getName() + "' to external cache");
+ }
+ } catch (Exception eee) { // IllegalAccessException and InstantiationException
+ throw new RuntimeException("Unable to add new '" + classifierClass.getName() +
+ "' to cache for '" + reference.getName() + "'", eee);
+ }
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Get '" + reference.getName() + "' from external cache");
+ }
+ result = (C) classifier;
+ }
+ return result;
+ }
+
+ protected void addClassifierToCache(ObjectModelImplRef reference, ObjectModelClassifierImpl classifier) {
+ String fqn = reference.getName();
+ String packageName = GeneratorUtil.getParentPackageName(fqn);
+ String name = GeneratorUtil.getClassNameFromQualifiedName(fqn);
+ classifier.setName(name);
+ classifier.setPackage(packageName);
+ classifier.postInit(); // to create qualifiedName
+ classifier.setExtern(true);
+ cache.put(reference.getName(), classifier);
+ }
+
+
+}
Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtension.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilderHelper.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -132,7 +132,7 @@
public static void addSuperclass(ObjectModelClass clazz, String superclassQualifiedName) {
ObjectModelClassImpl impl = (ObjectModelClassImpl) clazz;
- ObjectModelImplRef superclass = new ObjectModelImplRef();
+ ObjectModelImplSuperClassRef superclass = new ObjectModelImplSuperClassRef();
superclass.setName(superclassQualifiedName);
impl.addSuperclass(superclass);
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -26,10 +26,10 @@
import java.util.List;
import java.util.Map;
+import org.nuiton.eugene.ObjectModelType;
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.ObjectModelOperation;
/**
@@ -96,9 +96,16 @@
.next();
ObjectModelClass superclass = objectModelImpl.getClass(ref
.getName());
+
+ if (superclass == null) {
+ ExternalCacheExtension cache = objectModelImpl.getExtension(
+ ExternalCacheExtension.OBJECTMODEL_EXTENSION, ExternalCacheExtension.class);
+
+ superclass = cache.getCache(ref, ObjectModelClassImpl.class);
+ }
+
superclasses.add(superclass);
- superclassesDiscriminators.put(superclass, ref
- .getDiscriminator());
+ superclassesDiscriminators.put(superclass, ref.getDiscriminator());
}
}
return superclasses;
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -27,6 +27,7 @@
import java.util.Map;
import org.nuiton.eugene.GeneratorUtil;
+import org.nuiton.eugene.ObjectModelType;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.eugene.models.object.ObjectModelDependency;
@@ -134,18 +135,17 @@
if (interfaces == null) {
interfaces = new ArrayList<ObjectModelInterface>();
for(ObjectModelImplRef ref : interfacesRefs) {
- // QUICK FIX for interface not include in the model (ex : Serializable)
+
ObjectModelInterfaceImpl interfacez =
(ObjectModelInterfaceImpl)objectModelImpl.getInterface(ref.getName());
- if (interfacez == null) {
- // TODO avoid multiple creation -> put new object in cache (or extension)
- interfacez = new ObjectModelInterfaceImpl();
- String fqn = ref.getName();
- String packageName = GeneratorUtil.getParentPackageName(fqn);
- String name = GeneratorUtil.getClassNameFromQualifiedName(fqn);
- interfacez.setName(name);
- interfacez.setPackage(packageName);
- interfacez.postInit(); // to create qualifiedName
+
+ if (interfacez == null) { // Interface not exist in model
+
+ ExternalCacheExtension cache = objectModelImpl.getExtension(
+ ExternalCacheExtension.OBJECTMODEL_EXTENSION, ExternalCacheExtension.class);
+
+ // get external interface from cache (or create it)
+ interfacez = cache.getCache(ref, ObjectModelInterfaceImpl.class);
}
interfaces.add(interfacez);
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -25,7 +25,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.eugene.ImportsManager;
import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
@@ -182,28 +181,18 @@
* @return the ObjectModelClass of the found class, or null if the model
* contains no class for this qualified name.
*/
+ @Override
public ObjectModelClass getClass(String qualifiedClassName) {
if (qualifiedClassName == null) {
return null;
}
if (!hasClass(qualifiedClassName)) {
- //FIXME Decide if this is a good idea
if (log.isWarnEnabled()) {
log.warn("Class " + qualifiedClassName + " not found in model");
- log.warn("You may forgot to declare for good an external class ?");
-
- log.warn("Generating fake class");
}
- ObjectModelClassImpl result = new ObjectModelClassImpl();
- int index = qualifiedClassName.lastIndexOf(".");
- if (index != -1) {
- result.setPackage(qualifiedClassName.substring(0, index));
- }
- result.setName(qualifiedClassName.substring(index + 1));
- result.postInit();
- return result;
+ return null;
}
- return (ObjectModelClass) classes.get(qualifiedClassName);
+ return classes.get(qualifiedClassName);
}
/*
@@ -478,36 +467,34 @@
}
/**
- * Add a new extension to the model.
- * This method overwrite the value object if the reference already exist.
- * @param <O> object type
- * @param reference unique key to reference the extension in the model
- * @param extension object value corresponding to the extension
- */
- public <O> void addExtension(String reference, O extension) {
- extensions.put(reference, extension);
- }
-
- /**
- * Get the extension associated to the reference (unique)
+ * Get the extension associated to the reference (unique). Create it if not exist.
* @param <O> object type returned
* @param reference unique corresponding to the extension to get
* @param extensionClass class of the extension
* @return the object value for the extension
* @throws ClassCastException when extensionClass is not valid
- * @throws IllegalArgumentException for non existing extension with reference
+ * @throws RuntimeException when instantiation problem to create new extension
*/
@Override
@SuppressWarnings("unchecked")
public <O> O getExtension(String reference, Class<O> extensionClass)
- throws ClassCastException, IllegalArgumentException {
- Object result = extensions.get(reference);
- if (result == null) {
- throw new IllegalArgumentException("Extension '" + reference + "' is not defined in model '" + getName() + "'");
- }
- if (!extensionClass.isAssignableFrom(result.getClass())) {
+ throws ClassCastException, RuntimeException {
+ Object object = extensions.get(reference);
+ O result;
+ if (object != null && !extensionClass.isAssignableFrom(object.getClass())) {
throw new ClassCastException("Invalid cast for " + extensionClass.getName());
}
- return (O) result;
+ if (object == null) {
+ try {
+ result = extensionClass.newInstance();
+ } catch (Exception eee) { // IllegalAccessException and InstantiationException
+ throw new RuntimeException("Unable to create new extension '" +extensionClass.getName() +
+ "' for '" + reference + "'", eee);
+ }
+ extensions.put(reference, result);
+ } else {
+ result = (O)object;
+ }
+ return result;
}
}
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -124,24 +124,24 @@
assertTrue(clazz.isAbstract());
}
-// /**
-// * Test of setSuperClass method, of class JavaBuilder.
-// */
-// @Test
-// public void testSetSuperClass() {
-// System.out.println("setSuperClass");
-// JavaBuilder builder = new JavaBuilder("TestModel");
-//
-// ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
-//
-// String superclassQualifiedName = "org.chorem.bonzoms.Party";
-//
-// //builder.setSuperClass(clazz, superclassQualifiedName);
-// //assertNotNull(clazz.getSuperclasses());
-// //assertEquals(clazz.getSuperclasses().size(), 1);
-// }
-//
/**
+ * Test of setSuperClass method, of class JavaBuilder.
+ */
+ @Test
+ public void testSetSuperClass() {
+ System.out.println("setSuperClass");
+ JavaBuilder builder = new JavaBuilder("TestModel");
+
+ ObjectModelClass clazz = builder.createClass("Person", "org.chorem.bonzoms");
+
+ String superclassQualifiedName = "org.chorem.bonzoms.Party";
+
+ builder.setSuperClass(clazz, superclassQualifiedName);
+ assertNotNull(clazz.getSuperclasses());
+ assertEquals(clazz.getSuperclasses().size(), 1);
+ }
+
+ /**
* Test of addInterface method, of class JavaBuilder.
* Prerequisite : existing classifier in model.
* - Add an interface not included in the model to a classifier.
Added: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java (rev 0)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -0,0 +1,105 @@
+
+package org.nuiton.eugene.models.object.xml;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.nuiton.eugene.models.object.ObjectModelInterface;
+import static org.junit.Assert.*;
+
+/**
+ * ExternalCacheExtensionTest
+ *
+ * Created: 2 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ExternalCacheExtensionTest {
+
+ public ExternalCacheExtensionTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getCache method, of class ExternalCacheExtension.
+ * Prerequisite : Existing model
+ * - Add an external interface to cache
+ * - No double add, get the existing one
+ */
+ @Test
+ public void testGetCache() {
+ System.out.println("getCache");
+
+ ObjectModelImpl model = new ObjectModelImpl();
+ model.setName("TestModel");
+
+ ObjectModelImplRef refInterface = new ObjectModelImplRef();
+ refInterface.setName("java.io.Serializable");
+
+ // Creation if not exist
+ ExternalCacheExtension cache =
+ model.getExtension(ExternalCacheExtension.OBJECTMODEL_EXTENSION, ExternalCacheExtension.class);
+
+ ObjectModelInterface interfacez =
+ cache.getCache(refInterface, ObjectModelInterfaceImpl.class);
+
+ assertNotNull(interfacez);
+
+ ObjectModelInterface interfacez2 =
+ cache.getCache(refInterface, ObjectModelInterfaceImpl.class);
+
+ assertEquals(interfacez, interfacez2);
+ }
+
+ /**
+ * Test of addClassifierToCache method, of class ExternalCacheExtension.
+ * Prerequisite : Existing model
+ * - Add a classifier which is an interface
+ * - The interface getting is the same as the first added classifier
+ */
+ @Test
+ public void testAddClassifierToCache() {
+ System.out.println("addClassifierToCache");
+
+ ObjectModelImpl model = new ObjectModelImpl();
+ model.setName("TestModel");
+
+ ObjectModelImplRef refInterface = new ObjectModelImplRef();
+ refInterface.setName("java.io.Serializable");
+
+ ObjectModelClassifierImpl classifier = new ObjectModelInterfaceImpl();
+
+ ExternalCacheExtension cache =
+ model.getExtension(ExternalCacheExtension.OBJECTMODEL_EXTENSION, ExternalCacheExtension.class);
+
+ cache.addClassifierToCache(refInterface, classifier);
+
+ assertEquals(classifier.getQualifiedName(), "java.io.Serializable");
+
+ ObjectModelInterfaceImpl interfacez = cache.getCache(refInterface, ObjectModelInterfaceImpl.class);
+
+ assertEquals(interfacez, classifier);
+ }
+
+}
\ No newline at end of file
Property changes on: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ExternalCacheExtensionTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Modified: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java
===================================================================
--- branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java 2009-11-02 18:17:52 UTC (rev 686)
+++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/models/object/xml/ObjectModelImplTest.java 2009-11-03 11:38:10 UTC (rev 687)
@@ -1,8 +1,6 @@
package org.nuiton.eugene.models.object.xml;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
@@ -10,7 +8,6 @@
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.nuiton.eugene.ImportsManager;
import org.nuiton.eugene.java.ImportsManagerExtension;
import static org.junit.Assert.*;
@@ -337,59 +334,27 @@
// }
/**
- * Test of addExtension method, of class ObjectModelImpl.
- * - Ajout ImportsManager extension : Map<String, ImportsManager>
- */
- @Test
- public void testAddExtension() {
- System.out.println("addExtension");
-
- ObjectModelImpl model = new ObjectModelImpl();
-
- ImportsManagerExtension extension = new ImportsManagerExtension();
-
- model.addExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, extension);
-
- ImportsManagerExtension result =
- model.getExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
-
- assertNotNull(result);
- }
-
- /**
* Test of getExtension method, of class ObjectModelImpl.
- * - Get an existing importsManager from the ObjectModel extension "imports"
- * - IllegalArgumentException for non existing extension
+ * - Create and get ImportsManagerExtension
+ * - No double creation
*/
@Test
public void testGetExtension() {
System.out.println("getExtension");
-
+
ObjectModelImpl model = new ObjectModelImpl();
model.setName("TestModel");
- ObjectModelClassImpl classifier = new ObjectModelClassImpl();
- classifier.setName("Person");
- classifier.setPackage("org.chorem.bonzoms");
- model.addClass(classifier);
-
- ImportsManagerExtension extension = new ImportsManagerExtension();
-
- extension.getManager(classifier); // creation if not exist
-
- model.addExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, extension);
-
+ // Creation if not exist
ImportsManagerExtension result =
model.getExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
- assertNotNull(result.getImports(classifier));
+ assertNotNull(result);
- try {
- String unknownExtension =
- model.getExtension("unknown", String.class);
- } catch (IllegalArgumentException eee) {
- log.debug("unknown extension", eee);
- }
+ ImportsManagerExtension result2 =
+ model.getExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+
+ assertEquals(result, result2);
}
}
\ No newline at end of file
1
0
r686 - in branches/eugene-2.0/eugene: doc doc/3-v2.0 doc/3-v2.0/sources src/main/java/org/nuiton/eugene/java src/main/java/org/nuiton/eugene/models/object/xml
by fdesbois@users.nuiton.org 02 Nov '09
by fdesbois@users.nuiton.org 02 Nov '09
02 Nov '09
Author: fdesbois
Date: 2009-11-02 19:17:52 +0100 (Mon, 02 Nov 2009)
New Revision: 686
Added:
branches/eugene-2.0/eugene/doc/3-v2.0/
branches/eugene-2.0/eugene/doc/3-v2.0/eugene2.0.pdf
branches/eugene-2.0/eugene/doc/3-v2.0/sources/
branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene1.0.1_Generation.png
branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_Generation.png
branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_GenerationJava.png
branches/eugene-2.0/eugene/doc/3-v2.0/sources/EUGene-generate.vpp
branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0
branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene_v2.0.zargo
Modified:
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java
branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
Log:
- Correction getInterfaces to use GeneratorUtil methods
- Suppress throw exception on getImports method
- Change old docs folders name and add new doc for eugene 2.0
Added: branches/eugene-2.0/eugene/doc/3-v2.0/eugene2.0.pdf
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/eugene2.0.pdf
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources
___________________________________________________________________
Added: svn:ignore
+ EUGene-generate.vpp~1
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene1.0.1_Generation.png
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene1.0.1_Generation.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_Generation.png
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_Generation.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_GenerationJava.png
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/DiagActivite_EUGene2.0_GenerationJava.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/EUGene-generate.vpp
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/EUGene-generate.vpp
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0
===================================================================
--- branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0 (rev 0)
+++ branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene2.0 2009-11-02 18:17:52 UTC (rev 686)
@@ -0,0 +1,246 @@
+==========
+EUGene 2.0
+==========
+
+:Date: 2009-11-02
+:Author: fdesbois (fdesbois(a)codelutin.com)
+
+.. contents:: Contenu
+
+Contexte de départ
+------------------
+
+L'évolution majeure d'EUGene de la 1.0.1 à la 2.0.0 concerne une simplification de la génération de fichiers Java. Pour ce faire, plusieurs évolutions sont à prendre en compte :
+
+- Modification du processus de génération (modification du point de lecture dans le processus)
+- Permettre une transformation Model To Model
+- Création d'une template de génération simple et sans intelligence (sans interprétation du modèle) pour génération uniquement Java
+
+La version 2.0 modifie donc le processus sur trois niveaux différents : Lecture, Transformation et Génération.
+
+Contraintes de non régression
+-----------------------------
+
+- La config du plugin maven ne doit quasimment pas changer : Les transformations seront considérés comme des templates de générations
+- L'ObjectModel ne doit pas prendre en compte des spécificités Java (pas d'importsManager, pas d'attributs "synchronized", ...), le comportement doit rester identique.
+- Les templates de génération existantes doivent fonctionner toujours de la même manière : même résultat à la génération
+
+
+Modification du processus de génération
+---------------------------------------
+
+Version 1.0.1
+~~~~~~~~~~~~~
+
+Dans la version 1.0.1, les possibilités de fichiers en entrée du processus sont assez limités. Il est possible d'utiliser différents goal du maven-eugene-plugin pour pouvoir avoir en entrée
+d'autres fichiers que ceux spécifiques à un des modèles supportés par EUGene (StateModel, ObjectModel, ...). Les goals existants sont : zargo2xmi, xmi2objectmodel et xmi2statemodel. Sur le diagramme ci-dessous est représenté une génération à partir de fichiers **.zargo** pour obtenir des fichiers **.java**. En beige sont représentés les points d'extension possible dans le processus de génération. Ces derniers sont très limités :
+
+- **ObjectModel** : Modele représentant les données extraites à partir des fichiers sources (le modèle étend la classe << *Model* >>)
+
+- **Generator** : Template de génération qui interprète le modèle pour effectuer une génération de fichiers en sorties, ici java. (la template étend la classe << *Generator* >>)
+
+
+.. figure:: DiagActivite_EUGene1.0.1_Generation.png
+
+ Processus de génération v1.0.1
+
+Version 2.0
+~~~~~~~~~~~
+
+Deux nouveautés :
+
+- Possibilité d'étendre le point de lecture en début de processus : Cela permettra ainsi d'avoir n'importe quel type de fichier en entrée, du moment qu'un Reader existe pour les interpréter et rendre un Model.
+
+- Possibilité de transformer un modèle pour spécifier un langage (ex Java) ou tout autre transformation : Un Transformer est alors considéré comme un Generator pour simplifier le processus.
+
+Ces deux nouveautés forment les nouveaux points d'extension du processus, à noter également la possibilité d'inclure dans le processus la transformation de n'importe quel modèle en un autre modèle.
+
+.. figure:: DiagActivite_EUGene2.0_Generation.png
+
+ Processus de génération v2.0
+
+Génération spécifique à Java
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Voici le cas spécifique à la génération Java. Nous voulons en entrée lire des fichiers Objectmodel (utilisation d'un ObjectModelReader), puis transformer ce modèle complet (avec notions UML) en un nouveau ObjectModel simple uniquement dédié à la génération Java (utilisation d'un ObjectModelTransformerToJava associé à la template JavaGenerator).
+
+.. figure:: DiagActivite_EUGene2.0_GenerationJava.png
+
+ Processus de génération v2.0 pour Java
+
+Le développeur se chargera d'intepréter le modèle d'entrée (lu par l'ObjectModelReader) pour le transformer en ObjectModel Java : extension de l'ObjectModelTransformerToJava. Ce transformer sera une sorte d'équivalent à un template de génération qui étend Generator.
+
+Liste des Evolutions
+--------------------
+
+1 - `Evol #112`_ : Ajout d'un point d'entrée dans le processus de génération : ModelReader
+
+2 - `Evol #114`_ : Ajout d'extensions à l'ObjectModel
+
+3 - `Evol #115`_ : Remplissage de l'ObjectModel directement a partir du code pour génération Java : JavaBuilder
+
+4 - `Evol #113`_ : Possibilité de faire du Model To Model : Transformer
+
+5 - `Evol #116`_ : Modification hiérarchie des Generator pour prise en charge des Transformer
+
+6 - `Evol #117`_ : Création d'une template de génération sans intelligence pour Java : JavaGenerator
+
+7 - `Evol #107`_ : Remplacer les attributs (static, abstract, visibility, ...) par une liste de "modifier"
+
+
+.. _Evol #112: http://nuiton.org/issues/show/112
+.. _Evol #114: http://nuiton.org/issues/show/114
+.. _Evol #113: http://nuiton.org/issues/show/113
+.. _Evol #115: http://nuiton.org/issues/show/115
+.. _Evol #116: http://nuiton.org/issues/show/116
+.. _Evol #117: http://nuiton.org/issues/show/117
+.. _Evol #107: http://nuiton.org/issues/show/107
+
+Evolution #112 : ModelReader
+----------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+Mise en place
+~~~~~~~~~~~~~
+
+Conversion existant
+~~~~~~~~~~~~~~~~~~~
+
+Extension
+~~~~~~~~~
+
+
+Evolution #114 : Extensions ObjectModel
+---------------------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+La génération Java nécessite une manipulation simple pour l'ajout des imports qui seront rajoutés en début de fichier. Il existe dans la 1.0.1, la classe ImportsManager qui remplit cette tâche :
+Elle permet de lui ajouter différents imports à effectuer sous forme de String ou de Class. Ces imports sont ensuite récupérer suivant un nom de package.
+Pour simplifier la génération Java, il suffirait d'ajouter les ImportsManager (un par classifier) directement dans l'ObjectModel racine. Cependant, pour ne pas ajouter de notion spécifique à Java,
+cet ajout sera considéré comme une extension à l'ObjectModel.
+
+Mise en place
+~~~~~~~~~~~~~
+
+Une *Map<String, Object> extensions* est ajoutée dans l'ObjectModel racine. Une méthode addExtension est disponible dans ObjectModelImpl pour ajouter une nouvelle extension au modèle. La méthode
+getExtension(String reference, Class extensionClass) permettra de récupérer l'extension souhaité (avec son type) et sera disponible dans l'interface ObjectModel.
+
+
+Cas des ImportsManager
+~~~~~~~~~~~~~~~~~~~~~~
+
+Pour les ImportsManager, il est nécessaire d'avoir une Map<String, ImportsManager>, la clé étant le nom complet (full qualified name) d'un classifier, et la valeur l'ImportsManager associé à ce classifier.
+Pour simplifier l'utilisation des ImportsManager (et éviter les problèmes de cast sur l'extension), une classe ImportsManagerExtension est créé comprenant la map des managers et des méthodes accesseurs :
+
+- **ImportsManager getManager(ObjectModelClassifier classifier)** : Permet de récupérer (ou créer s'il n'existe pas) l'ImportsManager lié à un classifier. Méthode utilisée pour les transformations du modèle (ObjectModelTransformer, JavaBuilder)
+
+- **List<String> getImports(ObjectModelClassifier classifier)** : Permet de récupérer tous les imports liés à un classifier. Méthode utilisée pour la génération (ObjectModelGenerator, JavaGenerator)
+
+L'ImportsManagerExtension forme donc l'extension spécifique aux imports ajouté à l'ObjectModel::
+
+ // Utilisation dans Transformer ou Builder
+ ImportsManagerExtension managers = model.getExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+ ImportsManager maClassManager = managers.getImportsManager(maClass);
+ maClassManager.addImport("java.util.List");
+
+ // Utilisation dans Generator
+ ImportsManagerExtension managers = model.getExtension(ImportsManagerExtension.OBJECTMODEL_EXTENSION, ImportsManagerExtension.class);
+ managers.getImports(maClass);
+
+
+Extension
+~~~~~~~~~
+
+Il est désormais possible d'utiliser les extensions comme moyen d'enrichir l'ObjectModel lors des transformations et des générations.
+
+Evolution #115 : JavaBuilder
+----------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+Il est intéressant de pouvoir, dans certains cas, remplir un ObjectModel vide pour générer directement du Java. L'utilisation se fait directement à partir du code d'une autre application qui souhaite utiliser l'ObjectModel pour générer directement du Java. Cependant la version 1.0.1 ne permet pas de faire cela car les interfaces des classes de l'ObjectModel ne comprennent pas de setter. Il est donc
+nécessaire de créer une nouvelle classe permettant de remplir un ObjectModel vide tout en ayant une finesse d'interprétation spécifique à Java (gestion des imports, doublon sur les méthodes, ...).
+De plus le JavaBuilder servira aux transformations pour de la génération Java.
+
+Mise en place
+~~~~~~~~~~~~~
+
+Création d'une classe JavaBuilder qui initialise à l'instanciation un ObjectModel vide (A noter que le nom du modèle est indispensable à la génération). Le JavaBuilder propose un panel de méthodes permettant :
+
+- Ajout de classes/interfaces au modèle
+- Ajout d'une superclass
+- Ajout d'interface à une classe
+- Ajout de méthodes à une classe/interface
+- Ajout du corps des méthodes
+- Ajout de paramètres à une méthode
+- Ajout d'exception à une méthode
+- Ajout d'attributs à une classe/interface
+- ...
+
+Ces méthodes comprendront une gestion automatique des imports (types des paramètres/attributs, retour des méthodes, exceptions, ...).
+
+Evolution #113 : Transformer
+----------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+L'écriture des templates de génération actuelles (v1.0.1) peuvent être fastidieuses et difficiles à maintenir. Il est donc préférable d'utiliser une tranformation du modèle ObjectModel source (provenant d'un diagramme UML) en un ObjectModel représentant basiquement le Java qui sera généré.
+
+Mise en place
+~~~~~~~~~~~~~
+
+Un Transformer est considéré comme un Generator pour être intégré plus facilement dans le processus de génération (templates). Cependant il possède un modèle en entrée et un en sortie, donc pas de sortie fichiers. Pour ce faire, il est obligatoirement associé à un Generator. Ainsi un Transformer prendra en entrée un modèle, le transformera en un nouveau (potentiellement de type différent) et utilisera le generator de sortie pour générer ce nouveau modèle. Il est donc nécessaire d'instancier un Transformer en lui fournissant son Generator de sortie. Le modèle de sortie doit donc être obligatoirement compatible avec ce Generator de sortie.
+
+Conversion existant
+~~~~~~~~~~~~~~~~~~~
+
+Extension
+~~~~~~~~~
+
+
+Evolution #116 : Generator
+--------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+Mise en place
+~~~~~~~~~~~~~
+
+Extension
+~~~~~~~~~
+
+
+Evolution #117 : JavaGenerator
+------------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+Mise en place
+~~~~~~~~~~~~~
+
+
+Evolution #107 : ObjectModelModifier
+------------------------------------
+
+Besoin/Contexte
+~~~~~~~~~~~~~~~
+
+Mise en place
+~~~~~~~~~~~~~
+
+Conversion existant
+~~~~~~~~~~~~~~~~~~~
+
+Extension
+~~~~~~~~~
+
+
+
Added: branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene_v2.0.zargo
===================================================================
(Binary files differ)
Property changes on: branches/eugene-2.0/eugene/doc/3-v2.0/sources/eugene_v2.0.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java 2009-11-02 18:17:45 UTC (rev 685)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java 2009-11-02 18:17:52 UTC (rev 686)
@@ -65,13 +65,9 @@
* Get imports for a classifier. The ImportsManager must be defined in the model.
* @param classifier reference for the imports
* @return a List of String which contains all imports for the classifier
- * @throws IllegalArgumentException when classifier is not associated with an existing ImportsManager
*/
public List<String> getImports(ObjectModelClassifier classifier) throws IllegalArgumentException {
- ImportsManager manager = this.managers.get(classifier.getQualifiedName());
- if (manager == null) {
- throw new IllegalArgumentException("No importsManager defined for '" + classifier.getQualifiedName() + "'");
- }
+ ImportsManager manager = getManager(classifier);
return manager.getImports(classifier.getPackageName());
}
}
Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-02 18:17:45 UTC (rev 685)
+++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-11-02 18:17:52 UTC (rev 686)
@@ -26,6 +26,7 @@
import java.util.List;
import java.util.Map;
+import org.nuiton.eugene.GeneratorUtil;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.eugene.models.object.ObjectModelDependency;
@@ -137,11 +138,11 @@
ObjectModelInterfaceImpl interfacez =
(ObjectModelInterfaceImpl)objectModelImpl.getInterface(ref.getName());
if (interfacez == null) {
+ // TODO avoid multiple creation -> put new object in cache (or extension)
interfacez = new ObjectModelInterfaceImpl();
String fqn = ref.getName();
- int index = fqn.indexOf(".");
- String packageName = fqn.substring(0, index);
- String name = fqn.substring(index+1);
+ String packageName = GeneratorUtil.getParentPackageName(fqn);
+ String name = GeneratorUtil.getClassNameFromQualifiedName(fqn);
interfacez.setName(name);
interfacez.setPackage(packageName);
interfacez.postInit(); // to create qualifiedName
1
0