Index: lutingenerator/src/java/org/codelutin/generator/AbstractObjectModelGenerator.java diff -u lutingenerator/src/java/org/codelutin/generator/AbstractObjectModelGenerator.java:1.1 lutingenerator/src/java/org/codelutin/generator/AbstractObjectModelGenerator.java:1.2 --- lutingenerator/src/java/org/codelutin/generator/AbstractObjectModelGenerator.java:1.1 Wed Jul 21 16:15:01 2004 +++ lutingenerator/src/java/org/codelutin/generator/AbstractObjectModelGenerator.java Fri Aug 6 17:46:45 2004 @@ -23,10 +23,10 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ * - * Mise a jour: $Date: 2004/07/21 16:15:01 $ - * par : $Author: mazelier $ + * Mise a jour: $Date: 2004/08/06 17:46:45 $ + * par : $Author: bpoussin $ */ package org.codelutin.generator; @@ -37,6 +37,14 @@ import java.io.IOException; public class AbstractObjectModelGenerator extends ObjectModelGenerator{ // AbstractObjectModelGenerator + + public AbstractObjectModelGenerator(){ + super(); + } + + public AbstractObjectModelGenerator(Generator parent){ + super(parent); + } public String capitalizeName(ObjectModelElement e){ String name = e.getName(); Index: lutingenerator/src/java/org/codelutin/generator/Generator.java diff -u lutingenerator/src/java/org/codelutin/generator/Generator.java:1.7 lutingenerator/src/java/org/codelutin/generator/Generator.java:1.8 --- lutingenerator/src/java/org/codelutin/generator/Generator.java:1.7 Wed Aug 4 08:53:16 2004 +++ lutingenerator/src/java/org/codelutin/generator/Generator.java Fri Aug 6 17:46:45 2004 @@ -11,6 +11,8 @@ import java.io.Writer; import java.io.IOException; import java.io.FileWriter; +import java.util.logging.Logger; +import java.util.logging.Level; /** * @author cedric @@ -25,6 +27,9 @@ /** date de derniere modification de la source la plus recente */ protected long lastModifiedSource = 0; + public Generator(){ + } + public void generate(File file, File destDir) { generate(new File[] {file}, destDir); @@ -57,16 +62,22 @@ for (int i = 0; i < files.length; i++) { if(isNewerThanSource(files[i])){ lastModifiedSource = files[i].lastModified(); + Logger.getLogger(getClass().getName() + ".setLastModifiedSource").log(Level.FINEST, "source date: "+lastModifiedSource+" files[i] date: "+files[i].lastModified()+ "("+files[i]+")"); } } } + protected long getLastModifiedSource(){ + return lastModifiedSource; + } + /** * @return vrai si le fichier passé en parametre est plus recent que * les sources sur generateur. */ protected boolean isNewerThanSource(File file){ - return file.lastModified() > lastModifiedSource; + Logger.getLogger(getClass().getName() + ".isNewerThanSource").log(Level.FINEST, "source date: "+lastModifiedSource+" file date: "+file.lastModified()+ "("+file+")"); + return file.lastModified() > getLastModifiedSource(); } protected File getDestinationFile(File destDir, String filename){ Index: lutingenerator/src/java/org/codelutin/generator/ObjectModelGenerator.java diff -u lutingenerator/src/java/org/codelutin/generator/ObjectModelGenerator.java:1.15 lutingenerator/src/java/org/codelutin/generator/ObjectModelGenerator.java:1.16 --- lutingenerator/src/java/org/codelutin/generator/ObjectModelGenerator.java:1.15 Wed Aug 4 08:53:16 2004 +++ lutingenerator/src/java/org/codelutin/generator/ObjectModelGenerator.java Fri Aug 6 17:46:45 2004 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin -* @version $Revision: 1.15 $ +* @version $Revision: 1.16 $ * -* Mise a jour: $Date: 2004/08/04 08:53:16 $ +* Mise a jour: $Date: 2004/08/06 17:46:45 $ * par : $Author: bpoussin $ */ @@ -75,10 +75,18 @@ * {@link org.codelutin.processor.filters.GeneratorTemplatesFilter} pour vous * s'implifier l'écriture des template. */ -public class ObjectModelGenerator extends Generator { +public class ObjectModelGenerator extends ChildGenerator { protected ObjectModel model = null; + public ObjectModelGenerator(){ + super(); + } + + public ObjectModelGenerator(Generator parent){ + super(parent); + } + public ObjectModel getModel(){ return model; } @@ -138,7 +146,7 @@ generateFromModel(monitorOut, model); write(outputFile, monitorOut); }else{ - Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + "is up-to-date"); + Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + " is up-to-date"); } } @@ -155,7 +163,7 @@ generateFromClassifier(monitorOut, clazz); write(outputFile, monitorOut); }else{ - Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + "is up-to-date"); + Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + " is up-to-date"); } } @@ -173,7 +181,7 @@ generateFromInterface(monitorOut, interfacez); write(outputFile, monitorOut); }else{ - Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + "is up-to-date"); + Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + " is up-to-date"); } } @@ -190,7 +198,7 @@ generateFromClass(monitorOut, clazz); write(outputFile, monitorOut); }else{ - Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + "is up-to-date"); + Logger.getLogger(getClass().getName() + ".generate").log(Level.FINE, "file "+ outputFile + " is up-to-date"); } } } Index: lutingenerator/src/java/org/codelutin/generator/UIModelGenerator.java diff -u lutingenerator/src/java/org/codelutin/generator/UIModelGenerator.java:1.5 lutingenerator/src/java/org/codelutin/generator/UIModelGenerator.java:1.6 --- lutingenerator/src/java/org/codelutin/generator/UIModelGenerator.java:1.5 Wed Aug 4 08:53:16 2004 +++ lutingenerator/src/java/org/codelutin/generator/UIModelGenerator.java Fri Aug 6 17:46:45 2004 @@ -27,9 +27,17 @@ * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ -public class UIModelGenerator extends Generator { +public class UIModelGenerator extends ChildGenerator { protected UIModel model = null; + + public UIModelGenerator(){ + super(); + } + + public UIModelGenerator(Generator parent){ + super(parent); + } public UIModel getModel(){ return model; Index: lutingenerator/src/java/org/codelutin/generator/UIModelGeneratorWithCapitalizeName.java diff -u lutingenerator/src/java/org/codelutin/generator/UIModelGeneratorWithCapitalizeName.java:1.2 lutingenerator/src/java/org/codelutin/generator/UIModelGeneratorWithCapitalizeName.java:1.3 --- lutingenerator/src/java/org/codelutin/generator/UIModelGeneratorWithCapitalizeName.java:1.2 Tue Jul 6 16:01:12 2004 +++ lutingenerator/src/java/org/codelutin/generator/UIModelGeneratorWithCapitalizeName.java Fri Aug 6 17:46:45 2004 @@ -23,10 +23,10 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * - * Mise a jour: $Date: 2004/07/06 16:01:12 $ - * par : $Author: mazelier $ + * Mise a jour: $Date: 2004/08/06 17:46:45 $ + * par : $Author: bpoussin $ */ package org.codelutin.generator; @@ -35,6 +35,14 @@ import org.codelutin.generator.models.ui.UIModelProperty; public class UIModelGeneratorWithCapitalizeName extends UIModelGenerator{ // UIModelGeneratorWithCapitalizeName + + public UIModelGeneratorWithCapitalizeName(){ + super(); + } + + public UIModelGeneratorWithCapitalizeName(Generator parent){ + super(parent); + } public String capitalizeName(UIModelObject o){ String name = o.getName(); Index: lutingenerator/src/java/org/codelutin/generator/ChildGenerator.java diff -u /dev/null lutingenerator/src/java/org/codelutin/generator/ChildGenerator.java:1.1 --- /dev/null Fri Aug 6 17:46:50 2004 +++ lutingenerator/src/java/org/codelutin/generator/ChildGenerator.java Fri Aug 6 17:46:45 2004 @@ -0,0 +1,71 @@ +/* *##% + * Copyright (C) 2002, 2003 Code Lutin, Cédric Pineau, + Benjamin Poussin + * + * 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 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +/* * + * ChildGenerator.java + * + * Created: 5 août 2004 + * + * @author Benjamin Poussin + * @version $Revision: 1.1 $ + * + * Mise a jour: $Date: 2004/08/06 17:46:45 $ + * par : $Author: bpoussin $ + */ + +package org.codelutin.generator; + +public abstract class ChildGenerator extends Generator { // ChildGenerator + + protected Generator parent = null; + + public ChildGenerator(){ + super(); + } + + public ChildGenerator(Generator parent){ + this.parent = parent; + } + + public String getProperty(String name){ + if(parent == null){ + return super.getProperty(name); + }else{ + return parent.getProperty(name); + } + } + + public boolean getOverwrite(){ + if(parent == null){ + return super.getOverwrite(); + }else{ + return parent.getOverwrite(); + } + } + + protected long getLastModifiedSource(){ + if(parent == null){ + return super.getLastModifiedSource(); + }else{ + return parent.getLastModifiedSource(); + } + } + +} // ChildGenerator +