r683 - in branches/eugene-2.0/eugene/src: main/java/org/nuiton/eugene/java test/java/org/nuiton/eugene/java
Author: fdesbois Date: 2009-11-02 15:47:57 +0100 (Mon, 02 Nov 2009) New Revision: 683 Added: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java 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/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/test/java/org/nuiton/eugene/java/JavaBuilderTest.java Log: - Add tests for ImportsManagerExtension - Add javadoc - Add svn:keywords Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ImportsManagerExtension.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaBuilder.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision 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-02 12:10:27 UTC (rev 682) +++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java 2009-11-02 14:47:57 UTC (rev 683) @@ -28,6 +28,12 @@ * @author fdesbois * @version $Revision$ * + * Stupid generation of an ObjectModel with Java classes and interfaces. + * Use of ImportsManager to get imports for a classifier (added in model in the JavaBuilder which construct + * the ObjectModel). + * + * The JavaGenerator is based on a ObjectModelGenerator : Java classes are represented by ObjectModelClass, ... + * * Mise a jour: $Date$ * par : $Author$ */ @@ -40,6 +46,12 @@ return clazz.getQualifiedName().replace('.', File.separatorChar) + ".java";//return clazz.getName() + ".java"; } + /** + * Generate from all classes. + * @param output Writer for generating the java file + * @param clazz Class to manage for creating an output file + * @throws IOException + */ @Override public void generateFromClass(Writer output, ObjectModelClass clazz) throws IOException { @@ -95,6 +107,12 @@ }*/ } + /** + * Generate Header for a classifier : Package, Documentation, Imports and Classifier signature. + * @param output Writer for generating the java file + * @param classifier Classifier for generate header + * @throws IOException + */ protected void generateHeader(Writer output, ObjectModelClassifier classifier) throws IOException { String packageName = classifier.getPackageName(); @@ -112,6 +130,12 @@ } + /** + * Generate attributes from a collection of ObjectModelAttribute. + * @param output Writer for generating the java file + * @param attributes Collection of ObjectModelAttribute to generate + * @throws IOException + */ protected void generateAttributes(Writer output, Collection<ObjectModelAttribute> attributes) throws IOException { for (ObjectModelAttribute attr : attributes) { @@ -142,6 +166,12 @@ } } + /** + * Generate operations from a collection of ObjectModelOperation + * @param output Writer for generating the java file + * @param operations Collection of ObjectModelOperation to generate + * @throws IOException + */ protected void generateOperations(Writer output, Collection<ObjectModelOperation> operations) throws IOException { for (ObjectModelOperation op : operations) { String opName = op.getName(); Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/JavaGenerator.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Property changes on: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Added: 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 (rev 0) +++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java 2009-11-02 14:47:57 UTC (rev 683) @@ -0,0 +1,104 @@ + +package org.nuiton.eugene.java; + +import java.util.List; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.nuiton.eugene.ImportsManager; +import static org.junit.Assert.*; +import org.nuiton.eugene.models.object.ObjectModelClassifier; +import org.nuiton.eugene.models.object.xml.ObjectModelClassImpl; +import org.nuiton.eugene.models.object.xml.ObjectModelImpl; + + +/** + * ImportsManagerExtensionTest + * + * Created: 2 nov. 2009 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class ImportsManagerExtensionTest { + + public ImportsManagerExtensionTest() { + } + + @BeforeClass + public static void setUpClass() throws Exception { + } + + @AfterClass + public static void tearDownClass() throws Exception { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of getManager method, of class ImportsManagerExtension. + * Prerequisite : Existing ObjectModel containing a classifier + * - Get an import Manager for a classifier + * - Test unique : one ImportsManager by classifier + */ + @Test + public void testGetManager() { + System.out.println("getManager"); + + ImportsManagerExtension managers = new ImportsManagerExtension(); + + ObjectModelImpl model = new ObjectModelImpl(); + model.setName("TestModel"); + + ObjectModelClassImpl clazz = new ObjectModelClassImpl(); + clazz.setName("Person"); + clazz.setPackage("org.chorem.bonzoms"); + model.addClass(clazz); + + ImportsManager manager = managers.getManager(clazz); + assertNotNull(manager); + + ImportsManager manager2 = managers.getManager(clazz); + assertEquals(manager, manager2); + } + + /** + * Test of getImports method, of class ImportsManagerExtension. + * Prerequisite : Existing ObjectModel containing a classifier, imports set for this classifier + * - Get imports for an existing classifier with its ImportsManager + */ + @Test + public void testGetImports() { + System.out.println("getImports"); + + ImportsManagerExtension managers = new ImportsManagerExtension(); + + ObjectModelImpl model = new ObjectModelImpl(); + model.setName("TestModel"); + + ObjectModelClassImpl clazz = new ObjectModelClassImpl(); + clazz.setName("Person"); + clazz.setPackage("org.chorem.bonzoms"); + model.addClass(clazz); + + ImportsManager manager = managers.getManager(clazz); + manager.addImport("java.util.List"); + + List<String> imports = managers.getImports(clazz); + assertNotNull(imports); + assertEquals(imports.size(), 1); + assertEquals(imports.get(0), "java.util.List"); + } + +} \ No newline at end of file Property changes on: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/ImportsManagerExtensionTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision 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 12:10:27 UTC (rev 682) +++ branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2009-11-02 14:47:57 UTC (rev 683) @@ -19,8 +19,15 @@ import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; /** + * JavaBuilderTest * + * Created: 29 oct. 2009 + * * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ */ public class JavaBuilderTest { Property changes on: branches/eugene-2.0/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision
participants (1)
-
fdesbois@users.nuiton.org