r1158 - in topia/trunk: . src/main/java/org/codelutin/topia/generator src/site
Author: tchemit Date: 2008-10-20 21:38:35 +0000 (Mon, 20 Oct 2008) New Revision: 1158 Modified: topia/trunk/pom.xml topia/trunk/src/main/java/org/codelutin/topia/generator/DTOGenerator.java topia/trunk/src/main/java/org/codelutin/topia/generator/EntityDTOGenerator.java topia/trunk/src/site/site.xml Log: ajout de java.beans.PropertyChangeSupport sur les Dto pour pouvoir utiliser le macanisme de validation dans les ui jaxx mise ?\195?\160 jour du pom, reformatage ?\195?\160 MA sauce, mise a jour dependance lutingenerator. mise ?\195?\160 jour du site avec les dernieres ameliorations. TODO : il serait bien que les tests passent de nouveau Modified: topia/trunk/pom.xml =================================================================== --- topia/trunk/pom.xml 2008-10-13 13:11:31 UTC (rev 1157) +++ topia/trunk/pom.xml 2008-10-20 21:38:35 UTC (rev 1158) @@ -2,93 +2,20 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <!--The version of maven's project object model--> <modelVersion>4.0.0</modelVersion> - <!--lutinproject.xml--> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + <parent> <groupId>org.codelutin</groupId> <artifactId>lutinproject</artifactId> <version>3.0</version> </parent> - <!--A unique name for this project--> - <groupId>org.codelutin</groupId> <artifactId>topia</artifactId> - <name>ToPIA - Tools for Portable and Independent Architecture</name> - <!--ejb, jar, war...--> - <packaging>jar</packaging> - - <!--Version--> - <version>2.0.27-SNAPSHOT</version> - - <!--Description--> - <description> - Framework de persistance et de distribution d'application. - </description> - <inceptionYear>2004</inceptionYear> - - <properties> - <!-- id du projet du labs --> - <labs.id>21</labs.id> - - <!-- nom du projet sur le labs --> - <labs.project>topia</labs.project> - - <!-- Test --> - <maven.test.skip>true</maven.test.skip> - </properties> - - <!-- Additionnals repositories --> - <repositories> - <!-- JBoss for hibernate --> - <repository> - <id>jboss-repository</id> - <url>http://repository.jboss.com/maven2</url> - </repository> - </repositories> - - <scm> - <connection>${maven.scm.connection}</connection> - <developerConnection>${maven.scm.developerConnection}</developerConnection> - <url>${maven.scm.url}</url> - </scm> - - <build> - <plugins> - <!--Attaching processor plugin to the Build Lifecycle--> - <plugin> - <groupId>org.codelutin</groupId> - <artifactId>maven-processor-plugin</artifactId> - <version>0.15</version> - <executions> - <execution> - <phase>generate-sources</phase> - <goals> - <goal>process</goal> - </goals> - </execution> - </executions> - <configuration> - <!-- You might change defaut directories --> - <!-- srcDir>${basedir}/src/main/java</srcDir> - <destDir>${basedir}/target/processed-sources/java</destDir--> - <addCompileDirectory>true</addCompileDirectory> - <includes> - <include>**/*.java</include> - </includes> - <filters> - org.codelutin.processor.filters.GeneratorTemplatesFilter, - org.codelutin.processor.filters.ActiveLogsCodeFilter - </filters> - <verbose>${maven.verbose}</verbose> - </configuration> - </plugin> - </plugins> - </build> - - <!--Librairies--> <dependencies> <!--Compile--> <dependency> @@ -101,7 +28,7 @@ <dependency> <groupId>org.codelutin</groupId> <artifactId>lutingenerator</artifactId> - <version>0.51-SNAPSHOT</version> + <version>0.60</version> <scope>compile</scope> </dependency> @@ -183,6 +110,96 @@ <version>5.0.7</version> <scope>compile</scope> </dependency> + + <!--BD H2 pour le test--> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <version>1.0.79</version> + <scope>test</scope> + </dependency> </dependencies> + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>ToPIA - Tools for Portable and Independent Architecture</name> + <version>2.0.27-SNAPSHOT</version> + <description>Framework de persistance et de distribution d'application.</description> + <inceptionYear>2004</inceptionYear> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>jar</packaging> + + <properties> + <!-- id du projet du labs --> + <labs.id>21</labs.id> + + <!-- nom du projet sur le labs --> + <labs.project>topia</labs.project> + + <!-- Test FIXME : --> + <maven.test.skip>true</maven.test.skip> + </properties> + + <build> + <plugins> + <!--Attaching processor plugin to the Build Lifecycle--> + <plugin> + <groupId>org.codelutin</groupId> + <artifactId>maven-processor-plugin</artifactId> + <version>0.16</version> + <executions> + <execution> + <phase>generate-sources</phase> + <goals> + <goal>process</goal> + </goals> + </execution> + </executions> + <configuration> + <!-- You might change defaut directories --> + <!-- srcDir>${basedir}/src/main/java</srcDir> + <destDir>${basedir}/target/processed-sources/java</destDir--> + <addCompileDirectory>true</addCompileDirectory> + <includes> + <include>**/*.java</include> + </includes> + <filters> + org.codelutin.processor.filters.GeneratorTemplatesFilter, + org.codelutin.processor.filters.ActiveLogsCodeFilter + </filters> + <verbose>${maven.verbose}</verbose> + </configuration> + </plugin> + + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + </plugin> + + </plugins> + </build> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <repositories> + <!-- JBoss for hibernate --> + <repository> + <id>jboss-repository</id> + <url>http://repository.jboss.com/maven2</url> + </repository> + </repositories> + + <scm> + <connection>${maven.scm.connection}</connection> + <developerConnection>${maven.scm.developerConnection}</developerConnection> + <url>${maven.scm.url}</url> + </scm> + </project> Modified: topia/trunk/src/main/java/org/codelutin/topia/generator/DTOGenerator.java =================================================================== --- topia/trunk/src/main/java/org/codelutin/topia/generator/DTOGenerator.java 2008-10-13 13:11:31 UTC (rev 1157) +++ topia/trunk/src/main/java/org/codelutin/topia/generator/DTOGenerator.java 2008-10-20 21:38:35 UTC (rev 1158) @@ -30,7 +30,6 @@ package org.codelutin.topia.generator; import static org.codelutin.topia.generator.GeneratorUtil.TAG_ANNOTATION; -import static org.codelutin.topia.generator.GeneratorUtil.hasUnidirectionalRelationOnAbstractType; import java.io.File; import java.io.IOException; @@ -69,10 +68,7 @@ public boolean isDTO(String type) { ObjectModelClassifier clazz = model.getClassifier(type); - if (clazz == null) { - return false; - } - return clazz.hasStereotype(GeneratorUtil.STEREOTYPE_DTO); + return clazz != null && clazz.hasStereotype(GeneratorUtil.STEREOTYPE_DTO); } @Override @@ -88,6 +84,7 @@ /*{package <%=clazz.getPackageName()%>; import org.apache.commons.lang.builder.ToStringBuilder; +import java.beans.PropertyChangeListener; /** * DTO implantation for <%=Util.capitalize(clazz.getName())%> entity. @@ -191,8 +188,8 @@ //Déclaration des attributs d'une classe d'associations if (clazz instanceof ObjectModelAssociationClass) { ObjectModelAssociationClass assoc = (ObjectModelAssociationClass)clazz; - for (Iterator i = assoc.getParticipantsAttributes().iterator(); i.hasNext(); ) { - ObjectModelAttribute attr = (ObjectModelAttribute) i.next(); + for (Object o : assoc.getParticipantsAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; if (attr != null) { /*{ <%=attr.getVisibility()%> <%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> <%=Util.toLowerCaseFirstLetter(attr.getName())%>; }*/ @@ -200,12 +197,14 @@ } } /*{ + protected java.beans.PropertyChangeSupport p; + }*/ /*{ /** * Default constructor of <%=clazz.getName()%>DTO. *) - public <%=clazz.getName()%>DTO() {} + public <%=clazz.getName()%>DTO() { p = new java.beans.PropertyChangeSupport(this); } }*/ @@ -215,20 +214,20 @@ public <%=clazz.getName()%>DTO(}*/ boolean une_fois = true; - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); - + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; + if (!(attr.isNavigable() - || attr.hasAssociationClass())) { + || attr.hasAssociationClass())) { continue; } - + if (une_fois) { - une_fois = false; + une_fois = false; } else { - /*{, }*/ + /*{, }*/ } - + if (!Util.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { /*{<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> <%=attr.getName()%>}*/ @@ -244,22 +243,23 @@ /*{<%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>DTO> <%=Util.toLowerCaseFirstLetter(assocAttrName)%>}*/ } } - - + + } // end for /*{ ) { + this(); }*/ - - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); - + + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; + if (!(attr.isNavigable() - || attr.hasAssociationClass())) { + || attr.hasAssociationClass())) { continue; } - + if (!Util.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { /*{ this.<%=attr.getName()%> = <%=attr.getName()%>; @@ -282,23 +282,41 @@ } /*{ } + public void addPropertyChangeListener(PropertyChangeListener listener) { + p.addPropertyChangeListener(listener); + } + + public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.addPropertyChangeListener(propertyName, listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + p.removePropertyChangeListener(listener); + } + + public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.removePropertyChangeListener(propertyName, listener); + } + }*/ /* * Définition des getteurs et setteurs */ - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; ObjectModelAttribute reverse = attr.getReverseAttribute(); - + if (!attr.isNavigable()) { continue; } if (!Util.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { /*{ public void set<%=Util.capitalize(attr.getName())%>(<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> value) { + <%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> oldValue = this.<%=attr.getName()%>; this.<%=attr.getName()%> = value; + p.firePropertyChange("<%=attr.getName()%>", oldValue, value); } public <%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> get<%=Util.capitalize(attr.getName())%>() { @@ -308,9 +326,13 @@ }*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public void set<%=Util.capitalize(assocAttrName)%>(<%=attr.getAssociationClass().getQualifiedName()%>DTO association) { + <%=attr.getAssociationClass().getQualifiedName()%>DTO oldAssocation= this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%> = association; + p.firePropertyChange("<%=attr.getName()%>", oldAssocation, assocation); } public <%=attr.getAssociationClass().getQualifiedName()%>DTO get<%=Util.capitalize(assocAttrName)%>() { @@ -322,39 +344,45 @@ } else { //NMultiplicity if (!attr.hasAssociationClass()) { //Méthodes remplacées par des accesseurs sur les classes d'assoc /*{ public void set<%=Util.capitalize(attr.getName())%>(<%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%>> values) { + <%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%>> oldValues = this.<%=attr.getName()%>; this.<%=attr.getName()%> = values; + p.firePropertyChange("<%=attr.getName()%>", oldValues, values); } }*/ - - //AddChild + + //AddChild /*{ public <%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> addChild(<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> <%=attr.getName()%>) { this.<%=attr.getName()%>.add(<%=attr.getName()%>); }*/ - if (reverse.isNavigable()) { + if (reverse.isNavigable()) { /*{ <%=attr.getName()%>.set<%=Util.capitalize(reverse.getName())%>(this); }*/ - } + } /*{ return <%=attr.getName()%>; } }*/ - //RemoveChild + //RemoveChild /*{ public void removeChild(<%=attr.getType()%><%=(isDTO(attr.getType())?"DTO":"")%> <%=attr.getName()%>) { this.<%=attr.getName()%>.remove(<%=attr.getName()%>); }*/ - if (reverse.isNavigable()) { + if (reverse.isNavigable()) { /*{ <%=attr.getName()%>.set<%=Util.capitalize(reverse.getName())%>(null); }*/ - } + } /*{ } -}*/ +}*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public void set<%=Util.capitalize(assocAttrName)%>(<%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>DTO> values) { + <%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>DTO> oldValues =this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%> = values; + p.firePropertyChange("<%=attr.getName()%>", oldValues, values); } }*/ @@ -367,7 +395,9 @@ }*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public <%=((attr.isOrdered())?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>DTO> get<%=Util.capitalize(assocAttrName)%>() { return this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -377,19 +407,17 @@ } } -/*{ /* (non-Javadoc) - * @see java.lang.Object#toString() - *) +/*{ @Override public String toString() { String result = new ToStringBuilder(this). }*/ - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; if (!(attr.isNavigable() || attr.hasAssociationClass())) { - continue; - } + continue; + } //FIXME possibilité de boucles (non directes) ObjectModelClass attrEntity = null; if (model.hasClass(attr.getType())) { Modified: topia/trunk/src/main/java/org/codelutin/topia/generator/EntityDTOGenerator.java =================================================================== --- topia/trunk/src/main/java/org/codelutin/topia/generator/EntityDTOGenerator.java 2008-10-13 13:11:31 UTC (rev 1157) +++ topia/trunk/src/main/java/org/codelutin/topia/generator/EntityDTOGenerator.java 2008-10-20 21:38:35 UTC (rev 1158) @@ -70,10 +70,7 @@ public boolean isEntity(String type) { ObjectModelClassifier clazz = model.getClassifier(type); - if (clazz == null) { - return false; - } - return clazz.hasStereotype(GeneratorUtil.STEREOTYPE_ENTITY); + return clazz != null && clazz.hasStereotype(GeneratorUtil.STEREOTYPE_ENTITY); } @Override @@ -89,6 +86,7 @@ /*{package <%=clazz.getPackageName()%>; import org.apache.commons.lang.builder.ToStringBuilder; +import java.beans.PropertyChangeListener; /** * Implantation DTO pour l'entité <%=Util.capitalize(clazz.getName())%>. @@ -166,8 +164,8 @@ //Déclaration des attributs d'une classe d'associations if (clazz instanceof ObjectModelAssociationClass) { ObjectModelAssociationClass assoc = (ObjectModelAssociationClass)clazz; - for (Iterator i = assoc.getParticipantsAttributes().iterator(); i.hasNext(); ) { - ObjectModelAttribute attr = (ObjectModelAttribute) i.next(); + for (Object o : assoc.getParticipantsAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; if (attr != null) { /*{ <%=attr.getVisibility()%> <%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%> <%=Util.toLowerCaseFirstLetter(attr.getName())%>; @@ -176,17 +174,38 @@ } } +/*{ + protected java.beans.PropertyChangeSupport p; + +}*/ + /*{ /** * Constructeur de <%=clazz.getName()%>DTO par défaut. *) - public <%=clazz.getName()%>DTO() {} + public <%=clazz.getName()%>DTO() { p = new java.beans.PropertyChangeSupport(this); } + public void addPropertyChangeListener(PropertyChangeListener listener) { + p.addPropertyChangeListener(listener); + } + + public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.addPropertyChangeListener(propertyName, listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + p.removePropertyChangeListener(listener); + } + + public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.removePropertyChangeListener(propertyName, listener); + } + }*/ - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; ObjectModelAttribute reverse = attr.getReverseAttribute(); - + if (!(attr.isNavigable() || hasUnidirectionalRelationOnAbstractType(reverse, model))) { continue; @@ -194,7 +213,9 @@ if (!Util.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { /*{ public void set<%=Util.capitalize(attr.getName())%>(<%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%> value) { + <%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%> oldValue = this.<%=attr.getName()%>; this.<%=attr.getName()%> = value; + p.firePropertyChange("<%=attr.getName()%>", oldValue, value); } public <%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%> get<%=Util.capitalize(attr.getName())%>() { @@ -204,9 +225,13 @@ }*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public void set<%=Util.capitalize(assocAttrName)%>(<%=attr.getAssociationClass().getQualifiedName()%>DTO association) { + <%=attr.getAssociationClass().getQualifiedName()%>DTO oldAssocation= this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%> = association; + p.firePropertyChange("<%=attr.getName()%>", oldAssocation, assocation); } public <%=attr.getAssociationClass().getQualifiedName()%>DTO get<%=Util.capitalize(assocAttrName)%>() { @@ -218,15 +243,21 @@ } else { //NMultiplicity if (!attr.hasAssociationClass()) { //Méthodes remplacées par des accesseurs sur les classes d'assoc /*{ public void set<%=Util.capitalize(attr.getName())%>(<%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%>[] values) { + <%=attr.getType()%><%=(isEntity(attr.getType())?"DTO":"")%>[] oldValues = this.<%=attr.getName()%>; this.<%=attr.getName()%> = values; + p.firePropertyChange("<%=attr.getName()%>", oldValues, values); } }*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public void set<%=Util.capitalize(assocAttrName)%>(<%=attr.getAssociationClass().getQualifiedName()%>DTO[] values) { + <%=attr.getAssociationClass().getQualifiedName()%>DTO[] oldValues = this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%> = values; + p.firePropertyChange("<%=attr.getName()%>", oldValues, values); } }*/ @@ -239,7 +270,9 @@ }*/ } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } + if (log.isTraceEnabled()) { + log.trace("assocAttrName: " + assocAttrName); + } /*{ public <%=attr.getAssociationClass().getQualifiedName()%>DTO[] get<%=Util.capitalize(assocAttrName)%>() { return this.<%=Util.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -249,14 +282,13 @@ } } -/*{ /* (non-Javadoc) - * @see java.lang.Object#toString() - *) +/*{ + @Override public String toString() { String result = new ToStringBuilder(this). }*/ - for (Iterator it = clazz.getAttributes().iterator(); it.hasNext();) { - ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; //FIXME possibilité de boucles (non directes) ObjectModelClass attrEntity = null; if (model.hasClass(attr.getType())) { Modified: topia/trunk/src/site/site.xml =================================================================== --- topia/trunk/src/site/site.xml 2008-10-13 13:11:31 UTC (rev 1157) +++ topia/trunk/src/site/site.xml 2008-10-20 21:38:35 UTC (rev 1158) @@ -1,49 +1,64 @@ <?xml version="1.0" encoding="UTF-8"?> -<project name="Topia"> - - <skin> - <groupId>org.codelutin</groupId> - <artifactId>maven-lutin-skin</artifactId> - <version>0.2</version> - </skin> - - <bannerLeft> - <name>Topia</name> - </bannerLeft> - - <bannerRight> - <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> - <href>http://www.codelutin.com</href> - </bannerRight> +<project name="${project.name}"> - <poweredBy> - <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> - <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> - <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/> - </poweredBy> + <publishDate format="dd/MM/yyyy"/> - <body> - <links> - <item name="ToPIA Service" href="http://topia.labs.libre-entreprise.org/topia-service"/> - <item name="Labs" href="http://labs.libre-entreprise.org/"/> - <item name="Code Lutin" href="http://www.codelutin.com/"/> - </links> + <skin> + <groupId>org.codelutin</groupId> + <artifactId>maven-lutin-skin</artifactId> + <version>0.2.1</version> + </skin> - <menu name="Utilisateur"> - <item href="/index.html" name="Accueil"></item> - <item href="http://lutinbuilder.labs.libre-entreprise.org/maven2/org/codelutin/topia/" name="Téléchargement"/> - </menu> + <bannerLeft> + <name>${project.name}</name> + <!--src>http://buix.labs.libre-entreprise.org/lutinjaxx/jaxx.png</src--> + <href>index.html</href> + </bannerLeft> - <menu name="Developpeur"> - <item name="Todo" href="Todo.html"/> - <item name="Mapping hibernate" href="HibernateMapping.html"/> - <item name="Gestion des evenements" href="event.html"/> - <item name="Isolation" href="Isolation.html"/> - <item name="Schema migration" href="SchemaMigration.html"/> - <item name="Securité" href="security.html"/> - </menu> + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>${project.organization.url}</href> + </bannerRight> - ${reports} + <poweredBy> + <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> + <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> + <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" + img="images/restructuredtext-logo.png"/> + </poweredBy> - </body> + <body> + <links> + <item name="ToPIA Service" href="http://topia.labs.libre-entreprise.org/topia-service"/> + <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="Code Lutin" href="http://www.codelutin.com/"/> + </links> + + <menu ref="parent"/> + + <menu name="Utilisateur"> + <item href="/index.html" name="Accueil"/> + <!--item href="http://lutinbuilder.labs.libre-entreprise.org/maven2/org/codelutin/topia/" + name="Téléchargement"/--> + </menu> + + <menu name="Téléchargement"> + <item href="${labs.builder.url}/org/codelutin/${project.artifactId}/${project.version}" + name="Télécharger la dernière version"/> + <item href="${labs.builder.url}/org/codelutin/${project.artifactId}" + name="Voir toutes les versions"/> + </menu> + + <menu name="Developpeur"> + <item name="Todo" href="Todo.html"/> + <item name="Mapping hibernate" href="HibernateMapping.html"/> + <item name="Gestion des evenements" href="event.html"/> + <item name="Isolation" href="Isolation.html"/> + <item name="Schema migration" href="SchemaMigration.html"/> + <item name="Securité" href="security.html"/> + </menu> + + <menu ref="reports"/> + + </body> </project>
participants (1)
-
tchemit@users.labs.libre-entreprise.org