Index: topia2/src/java/org/codelutin/topia/persistence/TopiaDAO.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaDAO.java:1.3 topia2/src/java/org/codelutin/topia/persistence/TopiaDAO.java:1.4 --- topia2/src/java/org/codelutin/topia/persistence/TopiaDAO.java:1.3 Fri Jan 6 12:15:20 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaDAO.java Fri Jan 13 15:25:06 2006 @@ -23,9 +23,9 @@ * Created: 30 déc. 2005 03:00:57 * * @author poussin - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Last update: $Date: 2006/01/06 12:15:20 $ + * Last update: $Date: 2006/01/13 15:25:06 $ * by : $Author: bpoussin $ */ @@ -113,7 +113,7 @@ public abstract void delete(Entity e) throws TopiaException; - public abstract Entity findByTopiaId(Object k) throws TopiaException; + public abstract Entity findByTopiaId(String k) throws TopiaException; public abstract List findAll() throws TopiaException; Index: topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.4 topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.5 --- topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.4 Fri Jan 6 12:15:20 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java Fri Jan 13 15:25:06 2006 @@ -23,9 +23,9 @@ * Created: 31 déc. 2005 13:10:34 * * @author poussin - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ * - * Last update: $Date: 2006/01/06 12:15:20 $ + * Last update: $Date: 2006/01/13 15:25:06 $ * by : $Author: bpoussin $ */ @@ -228,11 +228,20 @@ * Si vous la surchargé, faites attention a appeler le super * ou a appeler vous aussi ces deux methodes. */ - public Entity create(Map properties) throws TopiaException { + public Entity create(Map properties) throws TopiaException { Serializable id = getId(properties); getContext().fireVetoableCreate(entityClass, id); - Entity result = instanciateNew(); + Entity result = instanciateNew(); + + // TODO reflechir s'il ne faudrait pas creer l'id avant l'event precedent + // reflechir toujours dans un context on les Entity pourrait ne pas + // etre des TopiaEntity + if (result instanceof TopiaEntity) { + String topiaId = TopiaId.create(entityClass); + ((TopiaEntity)result).setTopiaId(topiaId); + + } try { for(Map.Entry e : properties.entrySet()) { String propertyName = e.getKey(); @@ -410,9 +419,9 @@ } /* (non-Javadoc) - * @see org.codelutin.topia.TopiaDAO#findByTopiaId(java.lang.Object) + * @see org.codelutin.topia.TopiaDAO#findByTopiaId() */ - public Entity findByTopiaId(Object k) throws TopiaException { + public Entity findByTopiaId(String k) throws TopiaException { Entity result = findByProperty("topiaId", k); return result; } Index: topia2/src/java/org/codelutin/topia/persistence/TopiaDAODelegator.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaDAODelegator.java:1.3 topia2/src/java/org/codelutin/topia/persistence/TopiaDAODelegator.java:1.4 --- topia2/src/java/org/codelutin/topia/persistence/TopiaDAODelegator.java:1.3 Fri Jan 6 12:15:20 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaDAODelegator.java Fri Jan 13 15:25:06 2006 @@ -23,9 +23,9 @@ * Created: 30 déc. 2005 22:28:48 * * @author poussin - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Last update: $Date: 2006/01/06 12:15:20 $ + * Last update: $Date: 2006/01/13 15:25:06 $ * by : $Author: bpoussin $ */ @@ -132,7 +132,7 @@ /* (non-Javadoc) * @see org.codelutin.topia.TopiaDAO#findByTopiaId(java.lang.Object) */ - public Entity findByTopiaId(Object k) throws TopiaException { + public Entity findByTopiaId(String k) throws TopiaException { return getParentDAO().findByTopiaId(k); } Index: topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.3 topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.4 --- topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.3 Fri Jan 6 12:15:20 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java Fri Jan 13 15:25:06 2006 @@ -23,15 +23,14 @@ * Created: 28 déc. 2005 22:48:10 * * @author poussin - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Last update: $Date: 2006/01/06 12:15:20 $ + * Last update: $Date: 2006/01/13 15:25:06 $ * by : $Author: bpoussin $ */ package org.codelutin.topia.persistence; -import java.io.Serializable; import java.util.Date; import org.codelutin.topia.TopiaContext; @@ -45,8 +44,8 @@ */ public interface TopiaEntity { - public Serializable getTopiaId(); - public void setTopiaId(Serializable v); + public String getTopiaId(); + public void setTopiaId(String v); public long getTopiaVersion(); public void setTopiaVersion(long v); Index: topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.3 topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.4 --- topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.3 Fri Jan 6 12:15:20 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java Fri Jan 13 15:25:06 2006 @@ -23,9 +23,9 @@ * * @author poussin * - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Last update: $Date: 2006/01/06 12:15:20 $ by : $Author: bpoussin $ + * Last update: $Date: 2006/01/13 15:25:06 $ by : $Author: bpoussin $ */ package org.codelutin.topia.persistence; @@ -46,7 +46,7 @@ */ public abstract class TopiaEntityAbstract implements TopiaEntity { - protected Serializable topiaId; + protected String topiaId; protected long topiaVersion; @@ -59,16 +59,16 @@ * * @see org.codelutin.topia.persistence.TopiaEntity#getTopiaId() */ - public Serializable getTopiaId() { + public String getTopiaId() { return topiaId; } /** * (non-Javadoc) * - * @see org.codelutin.topia.persistence.TopiaEntity#setTopiaId(java.lang.String) + * @see org.codelutin.topia.persistence.TopiaEntity#setTopiaId(String) */ - public void setTopiaId(Serializable v) { + public void setTopiaId(String v) { this.topiaId = v; }