Topia-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
- July
- June
- May
May 2012
- 4 participants
- 135 discussions
r2470 - in trunk: topia-persistence/src/main/java/org/nuiton/topia topia-persistence/src/main/java/org/nuiton/topia/framework topia-persistence/src/main/java/org/nuiton/topia/generator topia-persistence/src/main/resources/i18n topia-persistence/src/site/rst/devel topia-persistence-tck/src/test/java/org/nuiton/topia/framework
by athimel@users.nuiton.org 10 May '12
by athimel@users.nuiton.org 10 May '12
10 May '12
Author: athimel
Date: 2012-05-10 11:49:18 +0200 (Thu, 10 May 2012)
New Revision: 2470
Url: http://nuiton.org/repositories/revision/topia/2470
Log:
A little bit of cleanning in TopiaContextTimpl
Added:
trunk/topia-persistence/src/site/rst/devel/Topia3Migration.rst
Modified:
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaPersistenceProvider.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaTagValues.java
trunk/topia-persistence/src/main/resources/i18n/topia-persistence_en_GB.properties
trunk/topia-persistence/src/main/resources/i18n/topia-persistence_es_ES.properties
trunk/topia-persistence/src/main/resources/i18n/topia-persistence_fr_FR.properties
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -111,12 +111,12 @@
Class<E> interfaceService);
/**
- * Return the service. This service must be valid with public static final
+ * Return the service. This service must be valid with a public static final
* SERVICE_NAME property.
*
- * @param <E> type of service
+ * @param <E> type of service that extends {@link TopiaService}
* @param interfaceService class of the service
- * @return the service
+ * @return the service instance
* @throws TopiaNotFoundException if service can't be retrieved
*/
<E extends TopiaService> E getService(Class<E> interfaceService)
@@ -130,7 +130,7 @@
void createSchema() throws TopiaException;
/**
- * Permet d'afficher les requetes SQL de creation de base.
+ * Permet d'afficher les requêtes SQL de création de base.
*
* @throws TopiaException if any exception
*/
@@ -334,6 +334,15 @@
void backup(File file, boolean compress) throws TopiaException;
/**
+ * l'inverse de la methode {@link #backup(File,boolean)}.
+ *
+ * @param file le fichier ou prendre les informations, il peut-etre
+ * compressé avec gzip ou non.
+ * @throws TopiaException if any exception
+ */
+ void restore(File file) throws TopiaException;
+
+ /**
* Supprime toutes les tables et autres elements de la database.
*
* @param dropDatabase si vrai alors supprime aussi la base de données si la
@@ -345,25 +354,17 @@
void clear(boolean dropDatabase) throws TopiaException;
/**
- * l'inverse de la methode {@link #backup(File,boolean)}.
+ * Closes the context. All the child contexts will be closed in the same
+ * time.
*
- * @param file le fichier ou prendre les informations, il peut-etre
- * compressé avec gzip ou non.
* @throws TopiaException if any exception
*/
- void restore(File file) throws TopiaException;
-
- /**
- * Ferme le contexte.
- *
- * @throws TopiaException if any exception
- */
void closeContext() throws TopiaException;
/**
- * Indique si le contexte a ete ferme.
+ * Indique si le contexte a ete fermé.
*
- * @return {@code true} si le context est ferme, {@code false} autrement
+ * @return {@code true} si le context est fermé, {@code false} autrement
*/
boolean isClosed();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -25,13 +25,12 @@
package org.nuiton.topia.framework;
+import com.google.common.base.Splitter;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//import org.hibernate.EntityMode;
-//import org.hibernate.FlushMode;
//import org.hibernate.ReplicationMode;
-//import org.hibernate.cfg.Configuration;
//import org.hibernate.event.PostDeleteEventListener;
//import org.hibernate.event.PostInsertEventListener;
//import org.hibernate.event.PostLoadEventListener;
@@ -89,19 +88,19 @@
import static org.nuiton.i18n.I18n._;
/**
- * Le TopiaContextImpl est le point d'entre pour acceder aux donnees. Il est
- * configurer par un fichier de propriete
+ * Le TopiaContextImpl est le point d'entrée pour accéder aux données. Il est
+ * configuré par un fichier de propriétés.
* <p/>
- * List des proprietes disponible <dl> <dt> topia.persistence.properties.file
- * <dd> le fichier de propriété a utiliser pour configurer hibernate
+ * Liste des propriétés disponibles <dl> <dt> topia.persistence.properties.file
+ * <dd> le fichier de propriétés à utiliser pour configurer hibernate
* <p/>
- * <dt> topia.persistence.directories <dd> la liste des repertoires contenant
- * les mappings hibernates (.hbm.xml) la liste de repertoire est separer par des
+ * <dt> topia.persistence.directories <dd> la liste des répertoires contenant
+ * les mappings hibernates (.hbm.xml) les répertoires sont separés par des
* virgules ','
* <p/>
- * <dt> topia.persistence.classes <dd> la liste des classes que doit géré
+ * <dt> topia.persistence.classes <dd> la liste des classes que doit gérer
* hibernate. On peut tres bien utiliser topia.persistence.directories pour un
- * ensemble d'entié du meme repertoire et topia.persistence.classes pour
+ * ensemble d'entités du même répertoire et topia.persistence.classes pour
* d'autres classes </dl>
* <p/>
* TopiaContextImpl.java
@@ -119,22 +118,36 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
private static final Log log = LogFactory.getLog(TopiaContextImpl.class);
- /** Le pere de ce context, les contexts initaux n'ont pas de context pere */
+ /**
+ * This context's parent. Root contexts does not have a parent context
+ */
protected TopiaContextImplementor parentContext;
- /** L'objet configuration utilisé pour la creation de la factory JPA */
+ /**
+ * The configuration Map used for the JPA EntityManagerFactory creation.
+ * JPA Configuration is shared with the parent, don't instantiate by default
+ */
protected Map<String, Object> jpaConfiguration;
/**
- * la factory permettant de recuperer la session hibernate. Seul les
- * TopiaContextImpl initiaux contiennent un entityManagerFactory
+ * The EntityManagerFactory that allows to get/create an EntityManager.
+ * Only root contexts contains an EntityManagerFactory, this object will
+ * be null on child contexts (don't instantiate by default).
*/
protected EntityManagerFactory entityManagerFactory;
- /** La session utilisé par le TopiaContextImpl */
- protected EntityManager hibernate;
+ /**
+ * The EntityManager used by this instance. Each TopiaContext instance will
+ * have its own EntityManager.
+ * A new EntityManager is created when a new TopiaContext is created
+ * (#beginTransaction). Inside a given TopiaContext, the EntityManager will
+ * be replaced only if the transaction is rollbacked (#rollbackTransaction)
+ */
+ protected EntityManager entityManager;
- /** Indique si le contexte a ete ferme */
+ /**
+ * Holds if the context is closed or not.
+ */
protected boolean closed;
/**
@@ -152,10 +165,16 @@
*/
protected boolean useFlushMode = true;
- /** Propriete de configuration */
+ /**
+ * Contains this context's configuration. Config is shared with the parent,
+ * don't instantiate by default.
+ */
protected Properties config;
- /** cache des DAO deja chargé pour ce context */
+ /**
+ * Cache containing this context's already loaded DAOs. The cache is
+ * specific to this instance, and will not be shared with the child contexts
+ */
protected Map<Class<? extends TopiaEntity>,
TopiaDAO<? extends TopiaEntity>> daoCache =
new HashMap<Class<? extends TopiaEntity>,
@@ -163,28 +182,41 @@
/**
* Set of child context created with {@link #beginTransaction()}. We are
- * listener on these context. A WeakHashMap is used to remove old context
- * automically when it's not used anymore. The {@link #finalize} method will
- * be executed when Garbage collector is called when reference is removed.
- * The set is synchronized in case of using multi-threading.
+ * listener on these contexts. A WeakHashMap is used to remove old context
+ * automatically when it's not used anymore. The {@link #finalize} method
+ * will be executed when Garbage Collector is called when reference is
+ * removed. The set is synchronized in case of multi-threading usage.
*
* @see Collections#synchronizedSet(Set)
* @see Collections#newSetFromMap(Map)
*/
- protected final Set<TopiaContextImplementor> childContext =
+ protected final Set<TopiaContextImplementor> childContexts =
Collections.synchronizedSet(
Collections.newSetFromMap(
new WeakHashMap<TopiaContextImplementor, Boolean>()));
- /** key: service name; value: service instance */
+ /**
+ * Map containing the services
+ * <dl>
+ * <dt>key</dt> <dd>service name</dd>
+ * <dt>value</dt> <dd>service instance</dd>
+ * </dl>
+ * This map is shared with the parent context, don't instantiate by default.
+ */
protected Map<String, TopiaService> services;
+ /**
+ * In charge of the event management
+ */
protected TopiaFiresSupport firesSupport = new TopiaFiresSupport();
- /** Liste des classes perssitance */
- protected Set<Class<?>> persistenceClasses = new LinkedHashSet<Class<?>>();
+ /**
+ * Retains the list of the managed entities. The list is shared with the
+ * parent context, don't instantiate by default.
+ */
+ protected Set<Class<?>> persistenceClasses;
- /** Default constructor, useful for tests. */
+ /** Default constructor, To be used for tests only. */
protected TopiaContextImpl() {
}
@@ -200,17 +232,17 @@
this.config = config;
services = loadServices(config);
preInitServices(services);
-// getHibernateConfiguration(); // force mapping loading
+ getJPAConfiguration(); // Force configuration loading
postInitServices(services);
}
+ /* -------------------- SERVICES MANAGMENT -------------------------------*/
+
protected String getProperExceptionMessage(Throwable eee) {
return eee.getClass().getSimpleName() + " : " +
eee.getMessage();
}
- /* -------------------- SERVICES MANAGMENT -------------------------------*/
-
protected Map<String, TopiaService> loadServices(Properties config) {
Map<String, TopiaService> result = new HashMap<String, TopiaService>();
// recherche des services present dans la config
@@ -305,14 +337,6 @@
return result;
}
- /**
- * Take one service, this service must be valid service interface with
- * public static final SERVICE_NAME declaration.
- *
- * @param <E> type of the service that extends {@link TopiaService}
- * @throws TopiaNotFoundException if an error appears or service not found.
- * @see #getServiceName(Class)
- */
@Override
public <E extends TopiaService> E getService(Class<E> interfaceService)
throws TopiaNotFoundException {
@@ -366,26 +390,26 @@
}
@Override
- public Set<TopiaContextImplementor> getChildContext() {
+ public Set<TopiaContextImplementor> getChildContexts() {
// fdesbois-20100421 : Ano #546
- // Copy the childContext into a new set
+ // Copy the childContexts into a new set
Set<TopiaContextImplementor> values;
// Synchronize copy to be thread-safe during iteration
- synchronized (childContext) {
- values = new HashSet<TopiaContextImplementor>(childContext);
+ synchronized (childContexts) {
+ values = new HashSet<TopiaContextImplementor>(childContexts);
}
return values;
}
protected void addChildContext(TopiaContextImplementor child) {
- childContext.add(child);
+ childContexts.add(child);
}
@Override
public void removeChildContext(TopiaContextImplementor child) {
// Remove child only if this context is not already closed.
if (!closed) {
- childContext.remove(child);
+ childContexts.remove(child);
}
}
@@ -474,11 +498,11 @@
@Override
public EntityManager getEntityManager() throws TopiaException {
- if (hibernate == null) {
+ if (entityManager == null) {
throw new TopiaException(
_("topia.persistence.error.no.hibernate.session"));
}
- return hibernate;
+ return entityManager;
}
@Override
@@ -488,7 +512,8 @@
entityManagerFactory = getParentContext().getEntityManagerFactory();
} else {
Map params = getJPAConfiguration();
- entityManagerFactory = Persistence.createEntityManagerFactory("topia", params);
+ entityManagerFactory = Persistence.createEntityManagerFactory(
+ TopiaPersistenceProvider.TOPIA_PERSISTENCE_UNIT_NAME, params);
}
}
return entityManagerFactory;
@@ -499,54 +524,62 @@
if (getParentContext() != null) {
jpaConfiguration = getParentContext().getJPAConfiguration();
} else {
+
jpaConfiguration = new HashMap<String, Object>();
+ persistenceClasses = new LinkedHashSet<Class<?>>();
- // Ajout des classes persistantes
+ // Load service provided persistent classes
for (TopiaService service : getServices().values()) {
Class<?>[] classes = service.getPersistenceClasses();
- // Certains services n'ont pas de classe persistantes
+ // Some services don't have persistent classes
if (classes != null) {
- // sletellier 20110411 : http://www.nuiton.org/issues/show/1454
- this.persistenceClasses.addAll(Arrays.asList(classes));
+ persistenceClasses.addAll(Arrays.asList(classes));
}
}
String listPersistenceClasses = getConfig().getProperty(
TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, "");
- String[] classes = listPersistenceClasses.split(",");
- for (String classname : classes) {
- classname = classname.trim();
- if (StringUtils.isNotEmpty(classname)) {
+ Iterable<String> classes = Splitter.on(",")
+ .trimResults()
+ .omitEmptyStrings()
+ .split(listPersistenceClasses);
+
+ for (String className : classes) {
+ className = className.trim();
+
+ if (StringUtils.isNotEmpty(className)) {
if (log.isDebugEnabled()) {
- log.debug("Load persistent class : " + classname);
+ log.debug("Load persistent class : " + className);
}
// XXX echatellier 20111007 ce cqui est dommage ici, c'est
// la definition de cette classe ne sert a rien (apart security)
// car pour hibernate hibernateConfiguration.addClass(persistanceClass)
// il ne se sert pas de la classe en fait et fait seulement
- // un classname.replace( '.', '/' ) + ".hbm.xml";
+ // un className.replace( '.', '/' ) + ".hbm.xml";
// pour obtenir le mapping et la reinstancier ensuite
Class<?> clazz;
try {
- clazz = Class.forName(classname);
+ clazz = Class.forName(className);
} catch (ClassNotFoundException eee) {
- if (log.isDebugEnabled()) {
- log.debug("Class " + classname + " not found");
+ String message = String.format(
+ "Persistent class %s not found",
+ className);
+ if (log.isWarnEnabled()) {
+ log.warn(message);
}
- throw new TopiaNotFoundException(
- _("topia.persistence.error.class.not.found",
- classname));
+ throw new TopiaNotFoundException(message, eee);
}
- this.persistenceClasses.add(clazz);
+ persistenceClasses.add(clazz);
}
}
+ jpaConfiguration.put("topia.entities", persistenceClasses); // TODO AThimel 10/05/2012 Push topia.entities to constants
- jpaConfiguration.put("topia.entities", this.persistenceClasses);
+ // FIXME AThimel 10/05/2012 Don't push all the configuration, maybe only a part of it ?
for (Map.Entry<Object, Object> entry : getConfig().entrySet()) {
Object key = entry.getKey();
if (key instanceof String) {
@@ -809,12 +842,12 @@
TopiaContextImpl result = new TopiaContextImpl(this);
EntityManagerFactory factory = getEntityManagerFactory();
- result.hibernate = factory.createEntityManager(); // TODO AThimel 07/05/2012 Maybe provide a Map ? cf Configuration
+ result.entityManager = factory.createEntityManager(); // TODO AThimel 07/05/2012 Maybe provide a Map ? cf Configuration
// new TopiaInterceptor(result));
// on ne synchronise jamais les données avec la base tant que
// l'utilisateur n'a pas fait de commit du context
- result.hibernate.setFlushMode(FlushModeType.COMMIT); // TODO AThimel 07/05/2012 Was MANUAL
+ result.entityManager.setFlushMode(FlushModeType.COMMIT); // TODO AThimel 07/05/2012 Was MANUAL
// tchemit 2010-12-06 propagates the value of the flag
result.useFlushMode = useFlushMode;
@@ -826,16 +859,16 @@
// fermé ce qui pose des problemes de lock sur les tables.
try {
// result.hibernate.beginTransaction();
- result.hibernate.getTransaction().begin();
+ result.entityManager.getTransaction().begin();
} catch (Exception eee) {
// on a pas pu ouvrir la transaction, on faut donc tout fermer
// et declancher une exception
try {
- result.hibernate.close();
+ result.entityManager.close();
} catch (PersistenceException e1) {
if (log.isErrorEnabled()) {
- log.error("Could not close hibernate session", e1);
+ log.error("Could not close entityManager session", e1);
}
}
@@ -867,8 +900,8 @@
// // TODO-fdesbois-20100507 : need to be removed for 2.5 version
// dao.commitTransaction();
// }
- EntityTransaction tx = hibernate.getTransaction();
- hibernate.flush();
+ EntityTransaction tx = entityManager.getTransaction();
+ entityManager.flush();
tx.commit();
getFiresSupport().fireOnPostCommit(this);
@@ -878,7 +911,7 @@
}
// hibernate.beginTransaction();
- hibernate.getTransaction().begin();
+ entityManager.getTransaction().begin();
// it's seem necessary to change session after commit
// NON, NON, NON, il ne faut surtout pas le faire, ca pose plein de
@@ -904,17 +937,17 @@
// // TODO-fdesbois-20100507 : need to be removed for 2.5 version
// dao.rollbackTransaction();
// }
- EntityTransaction tx = hibernate.getTransaction();
- hibernate.clear();
+ EntityTransaction tx = entityManager.getTransaction();
+ entityManager.clear();
tx.rollback();
- hibernate.close();
+ entityManager.close();
// it's very important to change the session after rollback
// otherwize there are many error during next Entity's modification
- hibernate = getEntityManagerFactory().createEntityManager(); // TODO AThimel 07/05/2012 Maybe provide a Map ? cf Configuration
- hibernate.setFlushMode(FlushModeType.COMMIT); // TODO AThimel 07/05/2012 Was MANUAL
+ entityManager = getEntityManagerFactory().createEntityManager(); // TODO AThimel 07/05/2012 Maybe provide a Map ? cf Configuration
+ entityManager.setFlushMode(FlushModeType.COMMIT); // TODO AThimel 07/05/2012 Was MANUAL
// hibernate.beginTransaction();
- hibernate.getTransaction().begin();
+ entityManager.getTransaction().begin();
getFiresSupport().fireOnPostRollback(this);
TopiaContextImplementor parent = getParentContext();
@@ -934,14 +967,14 @@
// Throw exception if context is already closed
checkClosed(_("topia.persistence.error.context.already.closed"));
- // FD-20100421 : Ano #546 : no need to copy childContext, the
+ // FD-20100421 : Ano #546 : no need to copy childContexts, the
// {@link #getChildContext()} provides a thread-safe copy to iterate
// on it.
-// TopiaContextImplementor[] children = childContext.toArray(
-// new TopiaContextImplementor[childContext.size()]);
+// TopiaContextImplementor[] children = childContexts.toArray(
+// new TopiaContextImplementor[childContexts.size()]);
// Remove all children context
- for (TopiaContextImplementor child : getChildContext()) {
+ for (TopiaContextImplementor child : getChildContexts()) {
// Avoid to have exception from checkClosed method on child
if (!child.isClosed()) {
child.closeContext();
@@ -952,7 +985,7 @@
// on est pas le root context
if (!equals(getRootContext())) {
closed = true;
- hibernate.close();
+ entityManager.close();
getParentContext().removeChildContext(this);
} else {
if (entityManagerFactory != null) {
@@ -1416,6 +1449,9 @@
@Override
public Set<Class<?>> getPersistenceClasses() {
+ if (getParentContext() != null) {
+ return getParentContext().getPersistenceClasses();
+ }
return persistenceClasses;
}
@@ -1639,5 +1675,6 @@
// }
// }
// }
+
} //TopiaContextImpl
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -25,7 +25,6 @@
package org.nuiton.topia.framework;
-//import org.hibernate.cfg.Configuration;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaNotFoundException;
@@ -34,7 +33,6 @@
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
-import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -54,13 +52,14 @@
/**
* Retrieve a thread-safe copy of children context set.
*
- * @return Returns the childContext.
+ * @return Returns the childContexts.
*/
- Set<TopiaContextImplementor> getChildContext();
+ Set<TopiaContextImplementor> getChildContexts();
- /** @return Returns the parentContext. */
+ /** @return Returns the parentContext. May be null if the context is root */
TopiaContextImplementor getParentContext();
+ /** @return Returns the rootContext (the only one without parent). */
TopiaContextImplementor getRootContext();
/** @return Returns the config. */
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -570,11 +570,11 @@
TopiaContextImplementor parent, EntityManager hibernate) {
TopiaContextImplementor result = null;
- // FD-20100421 : Ano #546 : no need to copy childContext, the
+ // FD-20100421 : Ano #546 : no need to copy childContexts, the
// {@link #getChildContext()} provides a thread-safe copy to iterate
// on it.
// Set<TopiaContextImplementor> contextChilds = new HashSet<TopiaContextImplementor>(parent.getChildContext());
- for (TopiaContextImplementor context : parent.getChildContext()) {
+ for (TopiaContextImplementor context : parent.getChildContexts()) {
// by sletellier 24/09/09 : Fix concurent acces error
// ArrayList<TopiaContextImplementor> children = new ArrayList(parent.getChildContext());
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaPersistenceProvider.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaPersistenceProvider.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaPersistenceProvider.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -20,13 +20,15 @@
*/
public abstract class TopiaPersistenceProvider implements PersistenceProvider {
+ public static final String TOPIA_PERSISTENCE_UNIT_NAME = "topia";
+
public abstract EntityManagerFactory configureSpecific(String emName, Map<String, Object> map, Set<Class<?>> entities);
@Override
public EntityManagerFactory createEntityManagerFactory(String emName, Map map) {
EntityManagerFactory result = null;
- if ("topia".equals(emName)) {
+ if (TOPIA_PERSISTENCE_UNIT_NAME.equals(emName)) {
// Use PersistenceProvider of the underlying JPA library
Map<String, Object> properties = (Map<String, Object>)map;
@@ -36,7 +38,7 @@
throw new TopiaRuntimeException("topia.entities list must be provided");
}
- result = configureSpecific(emName, properties, entityClasses);
+ result = configureSpecific(TOPIA_PERSISTENCE_UNIT_NAME, properties, entityClasses);
}
return result;
}
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaTagValues.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaTagValues.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaTagValues.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -313,7 +313,7 @@
* @since 2.5
*/
@TagValueDefinition(target = {ObjectModelAttribute.class},
- documentation = "Sets the hibernate type of an attribute (Hibernate mapping)")
+ documentation = "Sets the entityManager type of an attribute (Hibernate mapping)")
String TAG_TYPE = "type";
/**
Modified: trunk/topia-persistence/src/main/resources/i18n/topia-persistence_en_GB.properties
===================================================================
--- trunk/topia-persistence/src/main/resources/i18n/topia-persistence_en_GB.properties 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/resources/i18n/topia-persistence_en_GB.properties 2012-05-10 09:49:18 UTC (rev 2470)
@@ -1,4 +1,3 @@
-topia.persistence.error.class.not.found=Persistence class %1$s not found
topia.persistence.error.context.already.closed=Context was alredy closed
topia.persistence.error.context.is.closed=Context is closed, no operation is possible.
topia.persistence.error.create.schema=Schema could not be created for following reason \: %1$s
Modified: trunk/topia-persistence/src/main/resources/i18n/topia-persistence_es_ES.properties
===================================================================
--- trunk/topia-persistence/src/main/resources/i18n/topia-persistence_es_ES.properties 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/resources/i18n/topia-persistence_es_ES.properties 2012-05-10 09:49:18 UTC (rev 2470)
@@ -1,5 +1,4 @@
-topia.persistence.error.class.not.found=No ha sido encontrada la clase persistente %1$s
-topia.persistence.error.context.already.closed=El contexto ya ha sido cerrado
+topia.persistence.error.context.already.closed=El contexto ya ha sido cerrado
topia.persistence.error.context.is.closed=Este contexto ya ha sido cerrado, no se puede comenzar una transacción
topia.persistence.error.create.schema=No se puede crear el esquema debido a la razón siguiente \: %2$s
topia.persistence.error.empty.doc=Documento vacío
Modified: trunk/topia-persistence/src/main/resources/i18n/topia-persistence_fr_FR.properties
===================================================================
--- trunk/topia-persistence/src/main/resources/i18n/topia-persistence_fr_FR.properties 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence/src/main/resources/i18n/topia-persistence_fr_FR.properties 2012-05-10 09:49:18 UTC (rev 2470)
@@ -1,4 +1,3 @@
-topia.persistence.error.class.not.found=La classe persistante %1$s n'a pas été trouvée
topia.persistence.error.context.already.closed=Ce contexte a deja ete ferme
topia.persistence.error.context.is.closed=Ce contexte a ete ferme, impossible de commencer une transaction
topia.persistence.error.create.schema=Le schéma n'a pas pu être crée pour la raison suivante \: %2$s
Added: trunk/topia-persistence/src/site/rst/devel/Topia3Migration.rst
===================================================================
--- trunk/topia-persistence/src/site/rst/devel/Topia3Migration.rst (rev 0)
+++ trunk/topia-persistence/src/site/rst/devel/Topia3Migration.rst 2012-05-10 09:49:18 UTC (rev 2470)
@@ -0,0 +1,11 @@
+List of notable changes
+=======================
+
+TopiaContextImplementor
+-----------------------
+
+#getHibernate() is renamed to #getEntityManager()
+#getHibernateFactory() is renamed to #getEntityManagerFactory()
+#getHibernateConfiguration() is renamed to #getJPAConfiguration()
+
+#getChildContext() is renamed to #getChildContexts()
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java 2012-05-10 08:18:19 UTC (rev 2469)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java 2012-05-10 09:49:18 UTC (rev 2470)
@@ -224,22 +224,22 @@
TopiaContextImpl test2 = new TopiaContextImpl(properties);
TopiaContextImpl child2 = new TopiaContextImpl();
test2.addChildContext(child2);
- Assert.assertEquals(1, test2.childContext.size());
+ Assert.assertEquals(1, test2.childContexts.size());
if (log.isInfoEnabled()) {
log.info("test 3 : removeChildContext");
}
TopiaContextImpl test3 = new TopiaContextImpl(properties);
TopiaContextImpl child3 = new TopiaContextImpl(test3);
- test3.childContext.add(child3);
+ test3.childContexts.add(child3);
test3.removeChildContext(child3);
- Assert.assertEquals(0, test3.childContext.size());
+ Assert.assertEquals(0, test3.childContexts.size());
// No remove if context is closed
- test3.childContext.add(child3);
+ test3.childContexts.add(child3);
test3.closed = true;
test3.removeChildContext(child3);
- Assert.assertEquals(1, test3.childContext.size());
+ Assert.assertEquals(1, test3.childContexts.size());
if (log.isInfoEnabled()) {
log.info("test 4 : getRootContext");
1
0
r2469 - in trunk: . topia-persistence topia-persistence-hibernate topia-persistence-tck topia-service-migration topia-service-replication
by tchemit@users.nuiton.org 10 May '12
by tchemit@users.nuiton.org 10 May '12
10 May '12
Author: tchemit
Date: 2012-05-10 10:18:19 +0200 (Thu, 10 May 2012)
New Revision: 2469
Url: http://nuiton.org/repositories/revision/topia/2469
Log:
improve pom dependencies
Modified:
trunk/pom.xml
trunk/topia-persistence-hibernate/pom.xml
trunk/topia-persistence-tck/pom.xml
trunk/topia-persistence/pom.xml
trunk/topia-service-migration/pom.xml
trunk/topia-service-replication/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -77,6 +77,7 @@
<hibernateVersion>4.1.3.Final</hibernateVersion>
<sl4jVersion>1.6.4</sl4jVersion>
<h2Version>1.3.165</h2Version>
+ <geronimoJpaSpecVersion>1.1</geronimoJpaSpecVersion>
<!-- i18n configuration -->
<i18n.bundles>fr_FR,en_GB,es_ES</i18n.bundles>
@@ -147,8 +148,8 @@
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
- <version>1.1</version>
- <scope>compile</scope>
+ <version>${geronimoJpaSpecVersion}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/topia-persistence/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -85,39 +85,20 @@
<artifactId>guava</artifactId>
</dependency>
- <dependency>
+ <!--dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
- </dependency>
+ </dependency-->
<dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-ehcache</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
- <scope>provided</scope>
</dependency>
- <dependency>
+ <!--dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
- </dependency>
+ </dependency-->
<dependency>
<groupId>org.slf4j</groupId>
@@ -152,32 +133,6 @@
<artifactId>maven-processor-plugin</artifactId>
</plugin>
- <plugin>
- <groupId>org.nuiton.i18n</groupId>
- <artifactId>maven-i18n-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>parserJava</goal>
- <goal>gen</goal>
- </goals>
- <!-- restrict parsing beacause this is expensive -->
- <!-- if you want to parse more, add your package in includes -->
- <configuration>
- <treateDefaultEntry>false</treateDefaultEntry>
- <entries>
- <entry>
- <basedir>${maven.src.dir}/main/java</basedir>
- <includes>
- <include>org/nuiton/topia/framework/*.java</include>
- </includes>
- </entry>
- </entries>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
<!-- expose new plexus components -->
<plugin>
<groupId>org.codehaus.plexus</groupId>
Modified: trunk/topia-persistence-hibernate/pom.xml
===================================================================
--- trunk/topia-persistence-hibernate/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/topia-persistence-hibernate/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -26,12 +26,6 @@
<groupId>${project.groupId}</groupId>
<artifactId>topia-persistence</artifactId>
<version>${project.version}</version>
- <!--exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- </exclusion>
- </exclusions-->
</dependency>
<dependency>
@@ -53,7 +47,6 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
</dependency>
-
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
Modified: trunk/topia-persistence-tck/pom.xml
===================================================================
--- trunk/topia-persistence-tck/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/topia-persistence-tck/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -28,10 +28,28 @@
</dependency>
<dependency>
- <groupId>org.hibernate.javax.persistence</groupId>
- <artifactId>hibernate-jpa-2.0-api</artifactId>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_2.0_spec</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+
<!-- BD H2 for testing -->
<dependency>
<groupId>com.h2database</groupId>
@@ -137,6 +155,13 @@
</goals>
</execution>
</executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_2.0_spec</artifactId>
+ <version>${geronimoJpaSpecVersion}</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</build>
Modified: trunk/topia-service-migration/pom.xml
===================================================================
--- trunk/topia-service-migration/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/topia-service-migration/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -99,19 +99,9 @@
</dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
-
<name>ToPIA :: Service Migration</name>
- <description>Hibernate based migration service</description>
+ <description>ToPIA based migration service</description>
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>jar</packaging>
-
<build>
<resources>
Modified: trunk/topia-service-replication/pom.xml
===================================================================
--- trunk/topia-service-replication/pom.xml 2012-05-10 08:10:58 UTC (rev 2468)
+++ trunk/topia-service-replication/pom.xml 2012-05-10 08:18:19 UTC (rev 2469)
@@ -117,7 +117,7 @@
<build>
<plugins>
- <plugin>
+ <!--plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
<executions>
@@ -128,7 +128,7 @@
</goals>
</execution>
</executions>
- </plugin>
+ </plugin-->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
@@ -206,7 +206,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
- <version>2.4</version>
+ <version>${coberturaPluginVersion}</version>
</plugin>
</plugins>
</reporting>
1
0
r2468 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
by tchemit@users.nuiton.org 10 May '12
by tchemit@users.nuiton.org 10 May '12
10 May '12
Author: tchemit
Date: 2012-05-10 10:10:58 +0200 (Thu, 10 May 2012)
New Revision: 2468
Url: http://nuiton.org/repositories/revision/topia/2468
Log:
refs #353: use JPA api (continue new jpa mapping generator)
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityJPAMappingGenerator.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityJPAMappingGenerator.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityJPAMappingGenerator.java 2012-05-10 07:25:37 UTC (rev 2467)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityJPAMappingGenerator.java 2012-05-10 08:10:58 UTC (rev 2468)
@@ -169,7 +169,7 @@
public void generateFromClass(Writer output,
ObjectModelClass input) throws IOException {
- xmlLevel=0;
+ xmlLevel = 0;
String persistenceType = TopiaGeneratorUtil.getPersistenceType(input);
if (!TopiaGeneratorUtil.isEntity(input) &&
@@ -320,18 +320,19 @@
<%=closeTag(TAG_ID)%>
}*/
// add topiaCreateDate
- /**
- * <property name="topiaCreateDate" type="timestamp" node="@topiaCreateDate"/>
- */
+
addAttribute(xmlAttributes, ATTRIBUTE_NAME, TopiaEntity.TOPIA_CREATE_DATE);
-
+/*{<%=flushTag(TAG_BASIC, xmlAttributes)%>
+<%=flushTag(TAG_TEMPORAL, javax.persistence.TemporalType.TIMESTAMP.name())%><%=closeStrictTag(TAG_TEMPORAL)%>
+<%=closeTag(TAG_BASIC)%>
+}*/
}
// generate basic attributes
Collection<ObjectModelAttribute> basicAttributes =
attributesByType.get(PROPERTY_TYPE.BASIC);
for (ObjectModelAttribute attribute : basicAttributes) {
- generateBasicAttribute(output, input, attribute, xmlAttributes);
+ generateBasicAttribute(output, input, attribute);
}
if (mainEntity) {
@@ -382,9 +383,9 @@
private void generateBasicAttribute(Writer output,
ObjectModelClass input,
- ObjectModelAttribute attr,
- Map<String, String> xmlAttributes) throws IOException {
+ ObjectModelAttribute attr) throws IOException {
+ Map<String, String> xmlAttributes = Maps.newTreeMap();
Map<String, String> columnAttributes = Maps.newTreeMap();
String attrType = getType(attr);
String attrName = attr.getName();
1
0
r2467 - in trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck: . it it/generator it/persistence legacy
by athimel@users.nuiton.org 10 May '12
by athimel@users.nuiton.org 10 May '12
10 May '12
Author: athimel
Date: 2012-05-10 09:25:37 +0200 (Thu, 10 May 2012)
New Revision: 2467
Url: http://nuiton.org/repositories/revision/topia/2467
Log:
Some tests was using the wrong TopiaDatabase
Added:
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/CompositeAssociationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/EntityVisitorExportXmlTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/ExportXMLVisitor.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/NaturalIdTest.java
Removed:
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/TopiaTestCase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/
Modified:
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java 2012-05-10 06:48:25 UTC (rev 2466)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -8,11 +8,11 @@
import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest;
import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest;
import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest;
-import org.nuiton.topia.tck.legacy.generator.TopiaTestCase;
+import org.nuiton.topia.tck.it.generator.CompositeAssociationTest;
import org.nuiton.topia.tck.it.EnumTest;
import org.nuiton.topia.tck.it.deletetest.DeleteEntityTest;
-import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest;
-import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest;
+import org.nuiton.topia.tck.it.persistence.EntityVisitorExportXmlTest;
+import org.nuiton.topia.tck.it.persistence.NaturalIdTest;
/**
* @author Arnaud Thimel <thimel(a)codelutin.com>
@@ -24,12 +24,12 @@
EntityDTOTransformerTest.class,
TopiaContextReplicateTest.class,
TopiaUtilTest.class,
- TopiaTestCase.class,
+ CompositeAssociationTest.class,
DeleteEntityTest.class,
EntityVisitorExportXmlTest.class,
NaturalIdTest.class,
TopiaContextFactoryTest.class,
- EnumTest.class}) // TODO AThimel 09/05/2012 Add all TCK IT tests
+ EnumTest.class})
public abstract class TopiaTckItTestSuite {
}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java 2012-05-10 06:48:25 UTC (rev 2466)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -2,14 +2,14 @@
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
+import org.nuiton.topia.tck.it.generator.CompositeAssociationTest;
import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest;
import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest;
import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest;
import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest;
import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest;
-import org.nuiton.topia.tck.legacy.generator.TopiaTestCase;
-import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest;
-import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest;
+import org.nuiton.topia.tck.it.persistence.EntityVisitorExportXmlTest;
+import org.nuiton.topia.tck.it.persistence.NaturalIdTest;
/**
* Test suite for {@code mapping} model.
@@ -25,10 +25,7 @@
TopiaQueryTest.class,
EntityDTOTransformerTest.class,
TopiaContextReplicateTest.class,
- TopiaUtilTest.class,
- TopiaTestCase.class,
- EntityVisitorExportXmlTest.class,
- NaturalIdTest.class
+ TopiaUtilTest.class
}
)
public abstract class TopiaTckLegacyTestSuite {
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/CompositeAssociationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/CompositeAssociationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/CompositeAssociationTest.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -0,0 +1,108 @@
+/*
+ * #%L
+ * ToPIA :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2010 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>.
+ * #L%
+ */
+
+package org.nuiton.topia.tck.it.generator;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.tck.TopiaDatabase;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.it.TopiaDatabaseIt;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.Company;
+import org.nuiton.topia.tck.it.CompanyDAO;
+import org.nuiton.topia.tck.it.Department;
+import org.nuiton.topia.tck.it.DepartmentDAO;
+
+/**
+ * CompositeAssociationTest.
+ *
+ * @author chatellier
+ * @version $Revision$
+ * <p/>
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class CompositeAssociationTest {
+
+ /** Logger */
+ private final static Log log = LogFactory.getLog(CompositeAssociationTest.class);
+
+ @Rule
+ public final TopiaDatabase db = new TopiaDatabaseIt();
+
+ @Test
+ public void testCompositeAssociations() throws TopiaException {
+ if (log.isDebugEnabled()) {
+ log.debug("Junit Test testCompositeAssociations");
+ }
+
+ TopiaContext newContext = db.beginTransaction();
+
+ CompanyDAO companyDAO = TopiaTckItDAOHelper.getCompanyDAO(newContext);
+ DepartmentDAO departmentDAO = TopiaTckItDAOHelper.getDepartmentDAO(newContext);
+
+ Company company = companyDAO.create();
+ company.setName("Ma société");
+
+
+ Department dep1 = departmentDAO.create();
+ dep1.setName("Departement 1");
+ Department dep2 = departmentDAO.create();
+ dep2.setName("Departement 2");
+ Department dep3 = departmentDAO.create();
+ dep3.setName("Departement 3");
+ Department dep4 = departmentDAO.create();
+ dep4.setName("Departement 7");
+
+ departmentDAO.update(dep1);
+ departmentDAO.update(dep2);
+ departmentDAO.update(dep3);
+ departmentDAO.update(dep4);
+
+ company.addDepartment(dep1);
+ company.addDepartment(dep2);
+ company.addDepartment(dep3);
+ company.addDepartment(dep4);
+
+ companyDAO.update(company);
+ newContext.commitTransaction();
+
+ newContext = db.beginTransaction();
+
+ companyDAO = TopiaTckItDAOHelper.getCompanyDAO(newContext);
+
+ company = companyDAO.findByTopiaId(company.getTopiaId());
+
+ Assert.assertEquals(company.getName(), "Ma société");
+ Assert.assertEquals(company.getDepartment().size(), 4);
+
+ newContext.commitTransaction();
+ }
+}
Property changes on: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/CompositeAssociationTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/TopiaTestCase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java 2012-05-10 06:48:25 UTC (rev 2466)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/generator/TopiaTestCase.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -1,171 +0,0 @@
-/*
- * #%L
- * ToPIA :: Persistence
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2004 - 2010 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>.
- * #L%
- */
-
-package org.nuiton.topia.tck.legacy.generator;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
-import org.nuiton.topia.tck.it.Company;
-import org.nuiton.topia.tck.it.CompanyDAO;
-import org.nuiton.topia.tck.it.Department;
-import org.nuiton.topia.tck.it.DepartmentDAO;
-import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
-
-/**
- * TopiaTestCase.
- *
- * @author chatellier
- * @version $Revision$
- * <p/>
- * Last update : $Date$
- * By : $Author$
- */
-public class TopiaTestCase {
-
- /** Logger */
- private final static Log log = LogFactory.getLog(TopiaTestCase.class);
-
- @Rule
- public final TopiaDatabase db = new TopiaDatabaseLegacy();
-
-// /** Proprietes */
-// protected static Properties config;
-//
-// /** TopiaContext */
-// protected static TopiaContext context;
-
-// /**
-// * Init les proprietes de connection a la base
-// *
-// * @throws IOException for any IO error while getting configuration.
-// */
-// @BeforeClass
-// public static void init() throws IOException {
-//
-// File testBasedir = TestHelper.getTestBasedir(TopiaTestCase.class);
-//
-// config = TestHelper.initTopiaContextConfiguration(
-// testBasedir,
-// "/TopiaContextImpl.properties",
-// "TopiaTestCaseDb");
-//// config = new Properties();
-//// config.setProperty("topia.persistence.classes", TopiaTckItDAOHelper.getImplementationClassesAsString());
-////
-//// config.setProperty(Environment.USER, "sa");
-//// config.setProperty(Environment.PASS, "");
-//// config.setProperty(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");
-//// config.setProperty(Environment.DIALECT, "org.hibernate.dialect.H2Dialect");
-//// config.setProperty(Environment.DRIVER, "org.h2.Driver");
-//// config.setProperty(Environment.URL, "jdbc:h2:file:" + testBasedir + "/db/data_" + System.currentTimeMillis());
-// }
-//
-// @AfterClass
-// public static void after() throws TopiaException {
-// // destroy database
-// context.clear(false);
-// }
-
-// /** Create base with schema created. */
-// @Before
-// public void setUp() {
-//
-// if (log.isDebugEnabled()) {
-// log.debug("Junit beforeTest");
-// }
-//
-// try {
-// context = TopiaContextFactory.getContext(config);
-//
-// try {
-// context.createSchema();
-// } catch (TopiaException e) {
-// log.error("Erreur à la creation du schema", e);
-// }
-// } catch (TopiaNotFoundException e) {
-// log.error("Erreur à la creation du topia context", e);
-// }
-// }
-
- @Test
- public void testCompositeAssociations() throws TopiaException {
- if (log.isDebugEnabled()) {
- log.debug("Junit Test testCompositeAssociations");
- }
-
-// try {
- TopiaContext newContext = db.beginTransaction();
-
- CompanyDAO companyDAO = TopiaTckItDAOHelper.getCompanyDAO(newContext);
- DepartmentDAO departmentDAO = TopiaTckItDAOHelper.getDepartmentDAO(newContext);
-
- Company company = companyDAO.create();
- company.setName("Ma société");
-
-
- Department dep1 = departmentDAO.create();
- dep1.setName("Departement 1");
- Department dep2 = departmentDAO.create();
- dep2.setName("Departement 2");
- Department dep3 = departmentDAO.create();
- dep3.setName("Departement 3");
- Department dep4 = departmentDAO.create();
- dep4.setName("Departement 7");
-
- departmentDAO.update(dep1);
- departmentDAO.update(dep2);
- departmentDAO.update(dep3);
- departmentDAO.update(dep4);
-
- company.addDepartment(dep1);
- company.addDepartment(dep2);
- company.addDepartment(dep3);
- company.addDepartment(dep4);
-
- companyDAO.update(company);
- newContext.commitTransaction();
-
- newContext = db.beginTransaction();
-
- companyDAO = TopiaTckItDAOHelper.getCompanyDAO(newContext);
-
- company = companyDAO.findByTopiaId(company.getTopiaId());
-
- Assert.assertEquals(company.getName(), "Ma société");
- Assert.assertEquals(company.getDepartment().size(), 4);
-
- newContext.commitTransaction();
-// newContext.closeContext();
-// } catch (TopiaException e) {
-// log.error("Erreur pendant le test testCompositeAssociations", e);
-// }
- }
-}
Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/EntityVisitorExportXmlTest.java (from rev 2466, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java)
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/EntityVisitorExportXmlTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/EntityVisitorExportXmlTest.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -0,0 +1,135 @@
+/*
+ * #%L
+ * ToPIA :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2010 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>.
+ * #L%
+ */
+
+package org.nuiton.topia.tck.it.persistence;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.DepthEntityVisitor;
+import org.nuiton.topia.persistence.EntityVisitor;
+import org.nuiton.topia.tck.TopiaDatabase;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.it.TopiaDatabaseIt;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.Address;
+import org.nuiton.topia.tck.it.AddressDAO;
+import org.nuiton.topia.tck.it.Company;
+import org.nuiton.topia.tck.it.CompanyDAO;
+import org.nuiton.topia.tck.it.Department;
+import org.nuiton.topia.tck.it.DepartmentDAO;
+import org.nuiton.topia.tck.it.Employe;
+import org.nuiton.topia.tck.it.EmployeDAO;
+
+/**
+ * Test de visitor.
+ *
+ * @author chatellier
+ * @version $Revision$
+ * <p/>
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class EntityVisitorExportXmlTest {
+
+ private static final Log log =
+ LogFactory.getLog(EntityVisitorExportXmlTest.class);
+
+ @Rule
+ public final TopiaDatabase db = new TopiaDatabaseIt();
+
+ /**
+ * Prepare test.
+ * <p/>
+ * Add all tests commons data
+ *
+ * @throws TopiaException if could not create datas
+ */
+ @Before
+ public void setUp() throws TopiaException {
+
+ TopiaContext newContext = db.beginTransaction();
+ try {
+ // company
+ CompanyDAO companyDAO = TopiaTckItDAOHelper.getCompanyDAO(newContext);
+ Company clCompany = companyDAO.create(Company.PROPERTY_NAME, "CodeLutin");
+
+ // employe
+ EmployeDAO employeDAO = TopiaTckItDAOHelper.getEmployeDAO(newContext);
+ Employe empl1 = employeDAO.create(Employe.PROPERTY_NAME, "boss", Employe.PROPERTY_SALARY, 30000);
+
+ AddressDAO adressDAO = TopiaTckItDAOHelper.getAddressDAO(newContext);
+ Address addr1 = adressDAO.create(Address.PROPERTY_CITY, "Nantes", Address.PROPERTY_ADRESS, "12 Avenue Jules Vernes");
+ empl1.setAddress(addr1);
+
+ Employe empl2 = employeDAO.create(Employe.PROPERTY_NAME, "boss2", Employe.PROPERTY_SALARY, 29000);
+ Address addr2 = adressDAO.create(Address.PROPERTY_CITY, "Nantes", Address.PROPERTY_ADRESS, "12 Avenue Jules Vernes");
+ empl2.setAddress(addr2);
+
+ // departement
+ DepartmentDAO departmentDAO = TopiaTckItDAOHelper.getDepartmentDAO(newContext);
+ Department depComm = departmentDAO.create(Department.PROPERTY_NAME, "Commercial");
+ depComm.setLeader(empl1);
+
+ Department depDev = departmentDAO.create(Department.PROPERTY_NAME, "Dev");
+ depDev.setLeader(empl2);
+ clCompany.addDepartment(depComm);
+ clCompany.addDepartment(depDev);
+
+ newContext.commitTransaction();
+ } finally {
+
+ newContext.closeContext();
+ }
+ }
+
+
+ /**
+ * Test l'export XML via un visiteur.
+ * <p/>
+ * Parcourt en profondeur.
+ *
+ * @throws TopiaException
+ */
+ @Test
+ public void testExportXMLDepth() throws TopiaException {
+
+ TopiaContext context = db.beginTransaction();
+
+ CompanyDAO companyDAO = TopiaTckItDAOHelper.getCompanyDAO(context);
+ Company clCompany = companyDAO.findByName("CodeLutin");
+
+ EntityVisitor delegateVisitor = new ExportXMLVisitor();
+ EntityVisitor visitor = new DepthEntityVisitor(delegateVisitor);
+ clCompany.accept(visitor);
+
+ if (log.isInfoEnabled()) {
+ log.info("Export XML = \n" + delegateVisitor.toString());
+ }
+ }
+}
Property changes on: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/EntityVisitorExportXmlTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/ExportXMLVisitor.java (from rev 2466, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/ExportXMLVisitor.java)
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/ExportXMLVisitor.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/ExportXMLVisitor.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -0,0 +1,109 @@
+/*
+ * #%L
+ * ToPIA :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2010 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>.
+ * #L%
+ */
+
+package org.nuiton.topia.tck.it.persistence;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Ignore;
+import org.nuiton.topia.persistence.EntityVisitor;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+/**
+ * Visitor pour export xml.
+ *
+ * @author chatellier
+ * @version $Revision$
+ * <p/>
+ * Last update : $Date$
+ * By : $Author$
+ */
+@Ignore
+public class ExportXMLVisitor implements EntityVisitor {
+
+ /** log. */
+ private static Log log = LogFactory.getLog(ExportXMLVisitor.class);
+
+ protected StringBuffer buffer;
+
+ public ExportXMLVisitor() {
+ buffer = new StringBuffer();
+ }
+
+ @Override
+ public void start(TopiaEntity e) {
+ if (log.isDebugEnabled()) {
+ log.debug("start : " + e);
+ }
+
+ buffer.append("<").append(e.getClass().getName());
+ buffer.append(" topiaId=\"").append(e.getTopiaId()).append("\"");
+ buffer.append(" topiaCreateDate=\"").append(e.getTopiaCreateDate()).append("\"");
+ buffer.append(" topiaVersion=\"").append(e.getTopiaVersion()).append("\"");
+ buffer.append(">\n");
+ }
+
+ @Override
+ public void visit(TopiaEntity e, String name, Class<?> type, Object value) {
+ if (log.isDebugEnabled()) {
+ log.debug("visit : " + e);
+ }
+
+ buffer.append("<").append(type.getName()).append(">").append(value).append("</").append(type.getName()).append(">\n");
+ }
+
+ @Override
+ public void visit(TopiaEntity e, String name, Class<?> collectionType, Class<?> type,
+ Object value) {
+ }
+
+ @Override
+ public void visit(TopiaEntity e, String name, Class<?> collectionType, Class<?> type, int index, Object value) {
+ visit(e, name, type, value);
+ }
+
+ @Override
+ public void end(TopiaEntity e) {
+ if (log.isDebugEnabled()) {
+ log.debug("end : " + e);
+ }
+
+ buffer.append("</").append(e.getClass().getName()).append(">\n");
+ }
+
+ @Override
+ public String toString() {
+ String content = buffer.toString();
+ return content;
+ }
+
+ @Override
+ public void clear() {
+ // do nothing
+ }
+
+
+}
Property changes on: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/ExportXMLVisitor.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/NaturalIdTest.java (from rev 2466, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java)
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/NaturalIdTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/NaturalIdTest.java 2012-05-10 07:25:37 UTC (rev 2467)
@@ -0,0 +1,180 @@
+/*
+ * #%L
+ * ToPIA :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2010 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>.
+ * #L%
+ */
+
+package org.nuiton.topia.tck.it.persistence;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.tck.TopiaDatabase;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.it.TopiaDatabaseIt;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.NaturalizedEntity;
+import org.nuiton.topia.tck.it.NaturalizedEntityDAO;
+
+import javax.persistence.PersistenceException;
+
+/**
+ * NaturalIdTest
+ * <p/>
+ * Created: 18 févr. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ * <p/>
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class NaturalIdTest {
+
+ private static final Log log = LogFactory.getLog(NaturalIdTest.class);
+
+ @Rule
+ public final TopiaDatabase db = new TopiaDatabaseIt();
+
+ @Test
+ public void testCreateSucessfull() throws Exception {
+ log.debug("Test naturalId : create succesfull");
+ TopiaContext transaction = db.beginTransaction();
+
+ NaturalizedEntityDAO dao =
+ TopiaTckItDAOHelper.getNaturalizedEntityDAO(transaction);
+
+ // No exception will be thrown with the two properties
+ dao.createByNaturalId(5, "str");
+ transaction.commitTransaction();
+
+ // No exception will only the need property
+ dao.createByNotNull(3);
+ transaction.commitTransaction();
+
+ // No exception will only the need property
+ dao.create(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, 3);
+ transaction.commitTransaction();
+ }
+
+ @Test
+ public void testCreateFailed() throws Exception {
+ log.debug("Test naturalId : create failed");
+ TopiaContext transaction = db.beginTransaction();
+
+ NaturalizedEntityDAO dao =
+ TopiaTckItDAOHelper.getNaturalizedEntityDAO(transaction);
+
+ // Exception will be throw
+// try {
+ dao.create();
+ transaction.commitTransaction();
+
+ // Note : this is possible to create an empty entity if the type
+ // is primitive like 'int' which have a default value of '0'
+// } catch (PropertyValueException eee) {
+// Assert.assertEquals("naturalIdNotNull", eee.getPropertyName());
+// }
+ }
+
+ @Test
+ public void testUpdateFailed() throws Exception {
+ log.debug("Test naturalId : update failed");
+
+ TopiaContext transaction = db.beginTransaction();
+
+ NaturalizedEntityDAO dao =
+ TopiaTckItDAOHelper.getNaturalizedEntityDAO(transaction);
+
+ NaturalizedEntity entity =
+ dao.createByNaturalId(5, "str");
+ transaction.commitTransaction();
+
+ // Exception will be throw : not allowed to modify a naturalId property
+ try {
+ entity.setNaturalIdNotNull(8);
+ transaction.commitTransaction();
+ } catch (TopiaException eee) {
+ Assert.assertEquals(PersistenceException.class.getName(),
+ eee.getCause().getClass().getName());
+ }
+ }
+
+ @Test
+ public void testFindByNaturalId() throws Exception {
+ log.debug("Test naturalId : findByNaturalId");
+ TopiaContext transaction = db.beginTransaction();
+
+ NaturalizedEntityDAO dao =
+ TopiaTckItDAOHelper.getNaturalizedEntityDAO(transaction);
+
+ NaturalizedEntity entity =
+ dao.createByNaturalId(5, "str");
+ transaction.commitTransaction();
+
+ NaturalizedEntity result = dao.findByNaturalId(5, "str");
+
+ Assert.assertEquals(entity, result);
+ }
+
+ @Test
+ public void testExistNaturalId() throws Exception {
+ log.debug("Test naturalId : existNaturalId");
+ TopiaContext transaction = db.beginTransaction();
+
+ NaturalizedEntityDAO dao =
+ TopiaTckItDAOHelper.getNaturalizedEntityDAO(transaction);
+
+ dao.createByNaturalId(5, "str");
+ transaction.commitTransaction();
+
+ boolean result = dao.existByNaturalId(5, "str");
+
+ Assert.assertTrue(result);
+
+ // not find with only one correct property
+ result = dao.existByNaturalId(8, "str");
+
+ Assert.assertFalse(result);
+ }
+
+ @Test
+ public void testNaturalIdAreGeneralized() throws Exception {
+
+ // test that natural ids are generalized
+ String[] generalizedNaturalizedNaturalIds = TopiaTckItDAOHelper.TopiaTckItEntityEnum.GeneralizedNaturalizedEntity.getNaturalIds();
+ String[] naturalizedNaturalIds = TopiaTckItDAOHelper.TopiaTckItEntityEnum.NaturalizedEntity.getNaturalIds();
+ Assert.assertArrayEquals(generalizedNaturalizedNaturalIds, naturalizedNaturalIds);
+ }
+
+ @Test
+ public void testNotNullsAreGeneralized() throws Exception {
+
+ // test that not nulls are generalized
+ String[] generalizedNaturalizedNotNulls = TopiaTckItDAOHelper.TopiaTckItEntityEnum.GeneralizedNaturalizedEntity.getNotNulls();
+ String[] naturalizedNotNulls = TopiaTckItDAOHelper.TopiaTckItEntityEnum.NaturalizedEntity.getNotNulls();
+ Assert.assertArrayEquals(generalizedNaturalizedNotNulls, naturalizedNotNulls);
+ }
+}
Property changes on: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/persistence/NaturalIdTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
r2466 - in trunk/topia-persistence/src/main/java/org/nuiton/topia: framework generator
by tchemit@users.nuiton.org 10 May '12
by tchemit@users.nuiton.org 10 May '12
10 May '12
Author: tchemit
Date: 2012-05-10 08:48:25 +0200 (Thu, 10 May 2012)
New Revision: 2466
Url: http://nuiton.org/repositories/revision/topia/2466
Log:
#2076: Deprecate some code
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityFilter.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFilter.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityFilter.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityFilter.java 2012-05-09 23:39:40 UTC (rev 2465)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityFilter.java 2012-05-10 06:48:25 UTC (rev 2466)
@@ -24,6 +24,8 @@
*/
package org.nuiton.topia.framework;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+
import java.beans.PropertyChangeListener;
/**
@@ -31,7 +33,10 @@
*
* @author fdesbois <fdesbois(a)codelutin.com>
* @version $Id$
+ * @deprecated since 3.0, prefer use the {@link TopiaFilterPagerUtil} (less
+ * logic, less pain...) will not be replaced.
*/
+@Deprecated
public interface EntityFilter {
String PROPERTY_START_INDEX = "startIndex";
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFilter.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFilter.java 2012-05-09 23:39:40 UTC (rev 2465)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFilter.java 2012-05-10 06:48:25 UTC (rev 2466)
@@ -29,6 +29,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaNotFoundException;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import org.nuiton.topia.persistence.TopiaId;
import java.beans.PropertyChangeListener;
@@ -41,7 +42,10 @@
*
* @author fdesbois
* @since 2.0
+ * @deprecated since 3.0, prefer use the {@link TopiaFilterPagerUtil} (less
+ * logic, less pain...) will not be replaced.
*/
+@Deprecated
public class TopiaFilter implements EntityFilter {
private static final Log log = LogFactory.getLog(TopiaFilter.class);
@@ -69,7 +73,7 @@
Integer oldStartIndex = this.startIndex;
this.startIndex = startIndex;
propertyChangeSupport.firePropertyChange(PROPERTY_START_INDEX,
- oldStartIndex, startIndex);
+ oldStartIndex, startIndex);
}
@Override
@@ -82,7 +86,7 @@
String oldOrderBy = this.orderBy;
this.orderBy = orderBy;
propertyChangeSupport.firePropertyChange(PROPERTY_ORDER_BY,
- oldOrderBy, orderBy);
+ oldOrderBy, orderBy);
}
@Override
@@ -95,7 +99,7 @@
Integer oldEndIndex = this.endIndex;
this.endIndex = endIndex;
propertyChangeSupport.firePropertyChange(PROPERTY_END_INDEX,
- oldEndIndex, endIndex);
+ oldEndIndex, endIndex);
}
@Override
@@ -108,18 +112,18 @@
String oldReferenceId = this.referenceId;
this.referenceId = referenceId;
propertyChangeSupport.firePropertyChange(PROPERTY_REFERENCE_ID,
- oldReferenceId, referenceId);
+ oldReferenceId, referenceId);
}
@Override
public void setReference(Object entity) throws IllegalArgumentException {
- if (! (entity instanceof TopiaEntity)) {
+ if (!(entity instanceof TopiaEntity)) {
throw new IllegalArgumentException("Can't set reference of type '" +
- entity.getClass().getName() + "' need a TopiaEntity");
+ entity.getClass().getName() + "' need a TopiaEntity");
}
- setReferenceId(((TopiaEntity)entity).getTopiaId());
+ setReferenceId(((TopiaEntity) entity).getTopiaId());
}
@Override
@@ -137,7 +141,7 @@
String oldReferenceProperty = this.referenceProperty;
this.referenceProperty = referenceProperty;
propertyChangeSupport.firePropertyChange(PROPERTY_REFERENCE_PROPERTY,
- oldReferenceProperty, referenceProperty);
+ oldReferenceProperty, referenceProperty);
}
@Override
@@ -172,7 +176,7 @@
} catch (TopiaNotFoundException eee) {
if (log.isWarnEnabled()) {
log.warn("ReferenceId '" + referenceId + "' is not a" +
- " compatible topiaId : " + eee.getMessage());
+ " compatible topiaId : " + eee.getMessage());
}
}
}
@@ -204,14 +208,14 @@
if (mandatory && !hasReference()) {
throw new IllegalArgumentException("The filter reference" +
- " of type '" + reference.getSimpleName() + "' is mandatory !");
+ " of type '" + reference.getSimpleName() + "' is mandatory !");
}
if (hasReference() &&
- !isClassReference(reference)) {
+ !isClassReference(reference)) {
throw new IllegalArgumentException("Reference filtered need to be" +
- " a '" + reference.getSimpleName() + "' (referenceId = " +
- referenceId + ")");
+ " a '" + reference.getSimpleName() + "' (referenceId = " +
+ referenceId + ")");
}
}
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2012-05-09 23:39:40 UTC (rev 2465)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2012-05-10 06:48:25 UTC (rev 2466)
@@ -66,7 +66,9 @@
* @author poussin <poussin(a)codelutin.com>
* @version $Id$
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.topia.generator.EntityHibernateMappingGenerator"
+ * @deprecated since 3.0, use now {@link EntityJPAMappingGenerator} instead, should not be replaced.
*/
+@Deprecated
public class EntityHibernateMappingGenerator extends ObjectModelGenerator {
/**
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java 2012-05-09 23:39:40 UTC (rev 2465)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java 2012-05-10 06:48:25 UTC (rev 2466)
@@ -52,7 +52,9 @@
* @version $Id$
* @since 2.4
* @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.topia.generator.QueryHelperTransformer"
+ * @deprecated since 3.0, Will find a better solution to deal with queries in jpa, should not be replaced.
*/
+@Deprecated
public class QueryHelperTransformer extends ObjectModelTransformerToJava {
private static final Log log = LogFactory.getLog(QueryHelperTransformer.class);
1
0
Author: tchemit
Date: 2012-05-10 01:39:40 +0200 (Thu, 10 May 2012)
New Revision: 2465
Url: http://nuiton.org/repositories/revision/topia/2465
Log:
- uniformize tests in tck
- add mapping first tests
Added:
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java
Removed:
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
Modified:
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties
trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo
Deleted: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -1,10 +0,0 @@
-package org.nuiton.topia.tck;
-
-/**
- * Do not remove event if empty : this class represents the TCK IT tests
- * for topia-persistence-hibernate module
- *
- * @author Arnaud Thimel <thimel(a)codelutin.com>
- */
-public class TopiaTckHibernateTest extends TopiaTckTestSuite {
-}
Copied: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java (from rev 2462, trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java)
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,12 @@
+package org.nuiton.topia.tck;
+
+import org.junit.Ignore;
+
+/**
+ * Do not remove event if empty : this class represents the TCK IT tests
+ * for topia-persistence-hibernate module
+ *
+ * @author Arnaud Thimel <thimel(a)codelutin.com>
+ */
+public class TopiaTckItHibernateTest extends TopiaTckItTestSuite {
+}
Added: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,12 @@
+package org.nuiton.topia.tck;
+
+import org.junit.Ignore;
+
+/**
+ * Launch {@link TopiaTckLegacyTestSuite}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class TopiaTckLegacyHibernateTest extends TopiaTckLegacyTestSuite {
+}
Added: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,12 @@
+package org.nuiton.topia.tck;
+
+import org.junit.Ignore;
+
+/**
+ * Launch {@link TopiaTckMappingTestSuite}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class TopiaTckMappingHibernateTest extends TopiaTckMappingTestSuite {
+}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -78,9 +78,9 @@
private final String configurationPath;
- public TopiaDatabase() {
- this(TestHelper.DEFAULT_CONFIGURATION_LOCATION);
- }
+// public TopiaDatabase() {
+// this(TestHelper.DEFAULT_CONFIGURATION_LOCATION);
+// }
public TopiaDatabase(String configurationPath) {
this.configurationPath = configurationPath;
@@ -126,11 +126,14 @@
String dbPath = new File(testBasedir, "db").getAbsolutePath();
- if (log.isDebugEnabled()) {
- log.debug("dbPath = " + dbPath);
+ String jdbcUrl = "jdbc:h2:file:" + dbPath;
+
+ if (log.isInfoEnabled()) {
+ log.info("Use " + jdbcUrl);
}
+
dbConfiguration.setProperty(
- TopiaContextFactory.CONFIG_URL, "jdbc:h2:file:" + dbPath);
+ TopiaContextFactory.CONFIG_URL, jdbcUrl);
onDbConfigurationCreate(dbConfiguration, testBasedir, dbPath);
Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java (from rev 2462, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java)
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,35 @@
+package org.nuiton.topia.tck;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.nuiton.topia.TopiaContextFactoryTest;
+import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest;
+import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest;
+import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest;
+import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest;
+import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest;
+import org.nuiton.topia.tck.legacy.generator.TopiaTestCase;
+import org.nuiton.topia.tck.it.EnumTest;
+import org.nuiton.topia.tck.it.deletetest.DeleteEntityTest;
+import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest;
+import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest;
+
+/**
+ * @author Arnaud Thimel <thimel(a)codelutin.com>
+ */
+(a)RunWith(Suite.class)
+(a)Suite.SuiteClasses({
+ DAOAbstractTransformerTest.class,
+ TopiaQueryTest.class,
+ EntityDTOTransformerTest.class,
+ TopiaContextReplicateTest.class,
+ TopiaUtilTest.class,
+ TopiaTestCase.class,
+ DeleteEntityTest.class,
+ EntityVisitorExportXmlTest.class,
+ NaturalIdTest.class,
+ TopiaContextFactoryTest.class,
+ EnumTest.class}) // TODO AThimel 09/05/2012 Add all TCK IT tests
+public abstract class TopiaTckItTestSuite {
+
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,35 @@
+package org.nuiton.topia.tck;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest;
+import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest;
+import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest;
+import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest;
+import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest;
+import org.nuiton.topia.tck.legacy.generator.TopiaTestCase;
+import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest;
+import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest;
+
+/**
+ * Test suite for {@code mapping} model.
+ * <p/>
+ * Just implements this in dedicated module to have all this tests runned.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+(a)RunWith(Suite.class)
+(a)Suite.SuiteClasses(
+ {DAOAbstractTransformerTest.class,
+ TopiaQueryTest.class,
+ EntityDTOTransformerTest.class,
+ TopiaContextReplicateTest.class,
+ TopiaUtilTest.class,
+ TopiaTestCase.class,
+ EntityVisitorExportXmlTest.class,
+ NaturalIdTest.class
+ }
+)
+public abstract class TopiaTckLegacyTestSuite {
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,54 @@
+package org.nuiton.topia.tck;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.nuiton.topia.tck.mapping.test1.BiDirectionalOneToManyRelationTest;
+import org.nuiton.topia.tck.mapping.test1.BiDirectionalOneToManyRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test1.SimpleOneToManyRelationTest;
+import org.nuiton.topia.tck.mapping.test1.SimpleOneToManyRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test2.BiDirectionalManyToOneRelationTest;
+import org.nuiton.topia.tck.mapping.test2.BiDirectionalManyToOneRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test2.SimpleManyToOneRelationTest;
+import org.nuiton.topia.tck.mapping.test2.SimpleManyToOneRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test3.BiDirectionalManyToManyRelationTest;
+import org.nuiton.topia.tck.mapping.test3.BiDirectionalManyToManyRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test3.SimpleManyToManyRelationTest;
+import org.nuiton.topia.tck.mapping.test3.SimpleManyToManyRelationWithRoleNamedTest;
+import org.nuiton.topia.tck.mapping.test4.ElementCollectionTest;
+import org.nuiton.topia.tck.mapping.test5.BiDirectionalOneToManyCompositionTest;
+import org.nuiton.topia.tck.mapping.test5.OneToManyCompositionTest;
+
+/**
+ * Test suite for {@code mapping} model.
+ * <p/>
+ * Just implements this in dedicated module to have all this tests runned.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+(a)RunWith(Suite.class)
+(a)Suite.SuiteClasses(
+ // test1
+ {SimpleOneToManyRelationTest.class,
+ SimpleOneToManyRelationWithRoleNamedTest.class,
+ BiDirectionalOneToManyRelationTest.class,
+ BiDirectionalOneToManyRelationWithRoleNamedTest.class,
+ // test2
+ SimpleManyToOneRelationTest.class,
+ SimpleManyToOneRelationWithRoleNamedTest.class,
+ BiDirectionalManyToOneRelationTest.class,
+ BiDirectionalManyToOneRelationWithRoleNamedTest.class,
+ // test3
+ SimpleManyToManyRelationTest.class,
+ SimpleManyToManyRelationWithRoleNamedTest.class,
+ BiDirectionalManyToManyRelationTest.class,
+ BiDirectionalManyToManyRelationWithRoleNamedTest.class,
+ //test 4
+ ElementCollectionTest.class,
+ // test 5
+ OneToManyCompositionTest.class,
+ BiDirectionalOneToManyCompositionTest.class
+ }
+)
+public abstract class TopiaTckMappingTestSuite {
+}
Deleted: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -1,35 +0,0 @@
-package org.nuiton.topia.tck;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.nuiton.topia.TopiaContextFactoryTest;
-import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest;
-import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest;
-import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest;
-import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest;
-import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest;
-import org.nuiton.topia.tck.legacy.generator.TopiaTestCase;
-import org.nuiton.topia.tck.it.EnumTest;
-import org.nuiton.topia.tck.it.deletetest.DeleteEntityTest;
-import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest;
-import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest;
-
-/**
- * @author Arnaud Thimel <thimel(a)codelutin.com>
- */
-(a)RunWith(Suite.class)
-(a)Suite.SuiteClasses({
- DAOAbstractTransformerTest.class,
- TopiaQueryTest.class,
- EntityDTOTransformerTest.class,
- TopiaContextReplicateTest.class,
- TopiaUtilTest.class,
- TopiaTestCase.class,
- DeleteEntityTest.class,
- EntityVisitorExportXmlTest.class,
- NaturalIdTest.class,
- TopiaContextFactoryTest.class,
- EnumTest.class}) // TODO AThimel 09/05/2012 Add all TCK IT tests
-public abstract class TopiaTckTestSuite {
-
-}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -28,7 +28,6 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -30,7 +30,6 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,26 @@
+package org.nuiton.topia.tck.mapping;
+
+import org.junit.Rule;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.tck.TopiaDatabase;
+
+/**
+ * Base test for all tests using the {@code mapping} model.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public abstract class AbstractMappingTest {
+
+ @Rule
+ public final TopiaDatabase db = new TopiaDatabaseMapping();
+
+ protected <E extends TopiaEntity, D extends TopiaDAO<E>> D getDAO(
+ TopiaContext tx, Class<E> entityType) throws TopiaException {
+ D dao = TopiaTckMappingDAOHelper.<E, D>getDAO(tx, entityType);
+ return dao;
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,98 @@
+package org.nuiton.topia.tck.mapping.test1;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional OnetoMany relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalOneToManyRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A12DAO aDAO;
+
+ protected B12DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A12.class);
+ bDAO = getDAO(tx, B12.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A12 a = aDAO.create();
+ B12 b = bDAO.create();
+
+ a.addB12(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A12 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB12());
+ Assert.assertEquals(a.getB12().iterator().next(),
+ aBis.getB12().iterator().next());
+ Assert.assertEquals(b, aBis.getB12().iterator().next());
+
+ B12 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB12().iterator().next(), bBis);
+ Assert.assertEquals(aBis, bBis.getA12());
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A12 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B12 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,101 @@
+package org.nuiton.topia.tck.mapping.test1;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional OnetoMany relation with role renamed into
+ * {@code roleA} and {@code roleB}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalOneToManyRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A13DAO aDAO;
+
+ protected B13DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A13.class);
+ bDAO = getDAO(tx, B13.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A13 a = aDAO.create();
+ B13 b = bDAO.create();
+
+ a.addRoleB(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A13 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeRoleB());
+ Assert.assertEquals(a.getRoleB().iterator().next(),
+ aBis.getRoleB().iterator().next());
+
+ Assert.assertEquals(b, aBis.getRoleB().iterator().next());
+
+ B13 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis);
+ Assert.assertEquals(a, bBis.getRoleA());
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A13 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B13 b = bDAO.findAll().get(0);
+ Assert.assertNull(b.getRoleA());
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java (from rev 2463, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java)
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,97 @@
+package org.nuiton.topia.tck.mapping.test1;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * To test a simple OnetoMany relation betewwen two classes A1 and B1.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleOneToManyRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A1DAO aDAO;
+
+ protected B1DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A1.class);
+ bDAO = getDAO(tx, B1.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A1 a = aDAO.create();
+ B1 b = bDAO.create();
+
+ a.addB1(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A1 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB1());
+ Assert.assertEquals(a.getB1().iterator().next(),
+ aBis.getB1().iterator().next());
+
+ B1 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB1().iterator().next(), bBis);
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A1 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B1 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,97 @@
+package org.nuiton.topia.tck.mapping.test1;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a simple OnetoMany relation with role renamed into {@code roleB}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleOneToManyRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A11DAO aDAO;
+
+ protected B11DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A11.class);
+ bDAO = getDAO(tx, B11.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A11 a = aDAO.create();
+ B11 b = bDAO.create();
+
+ a.addRoleB(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A11 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeRoleB());
+ Assert.assertEquals(a.getRoleB().iterator().next(),
+ aBis.getRoleB().iterator().next());
+
+ B11 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis);
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A11 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B11 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Deleted: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -1,29 +0,0 @@
-package org.nuiton.topia.tck.mapping.test1;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.tck.mapping.TopiaDatabaseMapping;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since TODO
- */
-public class Test1 {
-
- @Rule
- public final TopiaDatabase db = new TopiaDatabaseMapping();
-
- /** Case 1 : simple OneToMany relation using class A1 -> B1. */
- @Test
- public void testCase1Create() throws TopiaException {
-
- TopiaContext tx = db.beginTransaction();
-
-
- }
-}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,97 @@
+package org.nuiton.topia.tck.mapping.test2;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional ManyToOne relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalManyToOneRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A22DAO aDAO;
+
+ protected B22DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A22.class);
+ bDAO = getDAO(tx, B22.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A22 a = aDAO.create();
+ B22 b = bDAO.create();
+
+ b.addA22(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A22 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(b, aBis.getB22());
+ Assert.assertEquals(a.getB22(), aBis.getB22());
+
+ B22 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(1, bBis.sizeA22());
+ Assert.assertEquals(a, bBis.getA22().iterator().next());
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A22 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B22 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,96 @@
+package org.nuiton.topia.tck.mapping.test2;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional ManyToOne relation with role renamed into
+ * {@code roleA} and {@code roleB}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalManyToOneRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A23DAO aDAO;
+
+ protected B23DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A23.class);
+ bDAO = getDAO(tx, B23.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A23 a = aDAO.create();
+ B23 b = bDAO.create();
+
+ b.addRoleA(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A23 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(b, aBis.getRoleB());
+
+ B23 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(1, bBis.sizeRoleA());
+ Assert.assertEquals(a, bBis.getRoleA().iterator().next());
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A23 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B23 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,94 @@
+package org.nuiton.topia.tck.mapping.test2;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a simple ManyToOne relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleManyToOneRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A2DAO aDAO;
+
+ protected B2DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A2.class);
+ bDAO = getDAO(tx, B2.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A2 a = aDAO.create();
+ B2 b = bDAO.create();
+
+ a.setB2(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A2 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(b, aBis.getB2());
+
+ B2 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB2(), bBis);
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A2 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B2 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,94 @@
+package org.nuiton.topia.tck.mapping.test2;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a simple ManyToOne relation with role renamed into {@code roleB}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleManyToOneRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A21DAO aDAO;
+
+ protected B21DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A21.class);
+ bDAO = getDAO(tx, B21.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A21 a = aDAO.create();
+ B21 b = bDAO.create();
+
+ a.setRoleB(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A21 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(b, aBis.getRoleB());
+
+ B21 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getRoleB(), bBis);
+ }
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A21 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B21 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,98 @@
+package org.nuiton.topia.tck.mapping.test3;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional ManyToMany relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalManyToManyRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A32DAO aDAO;
+
+ protected B32DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A32.class);
+ bDAO = getDAO(tx, B32.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A32 a = aDAO.create();
+ B32 b = bDAO.create();
+
+ b.addA32(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A32 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB32());
+ Assert.assertEquals(b, aBis.getB32().iterator().next());
+ Assert.assertEquals(a.getB32(), aBis.getB32());
+
+ B32 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(1, bBis.sizeA32());
+ Assert.assertEquals(a, bBis.getA32().iterator().next());
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A32 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B32 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,98 @@
+package org.nuiton.topia.tck.mapping.test3;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a bi-directional ManyToMany relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalManyToManyRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A33DAO aDAO;
+
+ protected B33DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A33.class);
+ bDAO = getDAO(tx, B33.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A33 a = aDAO.create();
+ B33 b = bDAO.create();
+
+ b.addRoleA(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A33 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeRoleB());
+ Assert.assertEquals(b, aBis.getRoleB().iterator().next());
+ Assert.assertEquals(a.getRoleB(), aBis.getRoleB());
+
+ B33 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(1, bBis.sizeRoleA());
+ Assert.assertEquals(a, bBis.getRoleA().iterator().next());
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A33 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B33 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,96 @@
+package org.nuiton.topia.tck.mapping.test3;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a simple ManyToMany relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleManyToManyRelationTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A3DAO aDAO;
+
+ protected B3DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A3.class);
+ bDAO = getDAO(tx, B3.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A3 a = aDAO.create();
+ B3 b = bDAO.create();
+
+ a.addB3(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A3 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB3());
+ Assert.assertEquals(b, aBis.getB3().iterator().next());
+
+ B3 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB3().iterator().next(), bBis);
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A3 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B3 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,96 @@
+package org.nuiton.topia.tck.mapping.test3;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Tests a simple ManyToMany relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SimpleManyToManyRelationWithRoleNamedTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A31DAO aDAO;
+
+ protected B31DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A31.class);
+ bDAO = getDAO(tx, B31.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A31 a = aDAO.create();
+ B31 b = bDAO.create();
+
+ a.addRoleB(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A31 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeRoleB());
+ Assert.assertEquals(b, aBis.getRoleB().iterator().next());
+
+ B31 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis);
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A31 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(1, nbB);
+
+ B31 b = bDAO.findAll().get(0);
+ bDAO.delete(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,69 @@
+package org.nuiton.topia.tck.mapping.test4;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+import org.nuiton.topia.tck.mapping.test3.B3DAO;
+
+import java.util.Arrays;
+
+/**
+ * Tests that everything is ok with fields with multiplicity > 1 on primitive
+ * data.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class ElementCollectionTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A4DAO aDAO;
+
+ protected B3DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A4.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ A4 a = aDAO.create();
+ a.setStringArray(Arrays.asList("a", "b", "c"));
+
+ tx.commitTransaction();
+
+ A4 aBis = aDAO.findByTopiaId(a.getTopiaId());
+
+ Assert.assertNotNull(aBis);
+ Assert.assertEquals(a, aBis);
+ Assert.assertNotNull(aBis.getStringArray());
+ Assert.assertEquals(3, aBis.sizeStringArray());
+ Assert.assertEquals(a.getStringArray(), aBis.getStringArray());
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+
+ Assert.assertEquals(1, nbA);
+
+ A4 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ }
+}
\ No newline at end of file
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,85 @@
+package org.nuiton.topia.tck.mapping.test5;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Test behaviour of a bi-directional OnetoMany (composition) relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class BiDirectionalOneToManyCompositionTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A51DAO aDAO;
+
+ protected B51DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A51.class);
+ bDAO = getDAO(tx, B51.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A51 a = aDAO.create();
+ B51 b = bDAO.create();
+
+ a.addB51(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A51 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB51());
+ Assert.assertEquals(b, aBis.getB51().iterator().next());
+
+ B51 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB51().iterator().next(), bBis);
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A51 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
\ No newline at end of file
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java 2012-05-09 23:39:40 UTC (rev 2465)
@@ -0,0 +1,85 @@
+package org.nuiton.topia.tck.mapping.test5;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.mapping.AbstractMappingTest;
+
+/**
+ * Test behaviour of a OnetoMany (composition) relation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class OneToManyCompositionTest extends AbstractMappingTest {
+
+ protected TopiaContext tx;
+
+ protected A5DAO aDAO;
+
+ protected B5DAO bDAO;
+
+ @Before
+ public void before() throws TopiaException {
+ tx = db.beginTransaction();
+ aDAO = getDAO(tx, A5.class);
+ bDAO = getDAO(tx, B5.class);
+ }
+
+ @Test
+ public void create() throws TopiaException {
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+
+ A5 a = aDAO.create();
+ B5 b = bDAO.create();
+
+ a.addB5(b);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A5 aBis = aDAO.findByTopiaId(a.getTopiaId());
+ Assert.assertEquals(a, aBis);
+ Assert.assertEquals(1, aBis.sizeB5());
+ Assert.assertEquals(b, aBis.getB5().iterator().next());
+
+ B5 bBis = bDAO.findByTopiaId(b.getTopiaId());
+ Assert.assertEquals(b, bBis);
+ Assert.assertEquals(aBis.getB5().iterator().next(), bBis);
+ }
+
+ @Test
+ public void delete() throws TopiaException {
+
+ create();
+
+ long nbA = aDAO.count();
+ long nbB = bDAO.count();
+
+ Assert.assertEquals(1, nbA);
+ Assert.assertEquals(1, nbB);
+
+ A5 a = aDAO.findAll().get(0);
+ aDAO.delete(a);
+
+ tx.commitTransaction();
+
+ nbA = aDAO.count();
+ nbB = bDAO.count();
+
+ Assert.assertEquals(0, nbA);
+ Assert.assertEquals(0, nbB);
+ }
+}
\ No newline at end of file
Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties
===================================================================
--- trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties 2012-05-09 23:27:55 UTC (rev 2464)
+++ trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties 2012-05-09 23:39:40 UTC (rev 2465)
@@ -22,3 +22,5 @@
# <http://www.gnu.org/licenses/lgpl-3.0.html>.
# #L%
###
+model.tagvalue.generateOperatorForDAOHelper=true
+model.tagvalue.constantPrefix=PROPERTY_
Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo
===================================================================
(Binary files differ)
1
0
r2464 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
by tchemit@users.nuiton.org 09 May '12
by tchemit@users.nuiton.org 09 May '12
09 May '12
Author: tchemit
Date: 2012-05-10 01:27:55 +0200 (Thu, 10 May 2012)
New Revision: 2464
Url: http://nuiton.org/repositories/revision/topia/2464
Log:
fix delete query for many-to-many
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2012-05-09 18:38:07 UTC (rev 2463)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2012-05-09 23:27:55 UTC (rev 2464)
@@ -581,7 +581,15 @@
String attrClassifierDBName = TopiaGeneratorUtil.getDbName(attr.getClassifier());
String attrJoinTableName = TopiaGeneratorUtil.getManyToManyTableName(attr);
String attrReverseDBName = TopiaGeneratorUtil.getReverseDbName(attr);
+ String reverseAttrNameProperty =
+ attrType + "." + getConstantName(reverseAttrName);
+ // Add DAOHelper
+ String daoHelper = modelName + "DAOHelper";
+ String daoHelperFQN = getOutputProperties().
+ getProperty(PROP_DEFAULT_PACKAGE) + '.' + daoHelper;
+ addImport(result, daoHelperFQN);
+
//FIXME_-FC-20100413 Use a TopiaQuery (use HQLin elements)
// // Add DAOHelper
// String daoHelper = modelName + "DAOHelper";
@@ -611,13 +619,22 @@
body.append(""
/*{
{
- List<<%=attrType%>> list = getContext().getEntityManager().createNativeQuery(
- "SELECT main.topiaid " +
- "from <%=attrClassifierDBName%> main, <%=attrJoinTableName%> secondary " +
- "where main.topiaid=secondary.<%=attrDBName%>" +
- " and secondary.<%=attrReverseDBName%>='" + entity.getTopiaId() + "'")
- //.addEntity("main", <%=providerFQN%>(<%=attrType%>.class))
+ Class<?> attrTypeImpl = <%=daoHelper%>.getImplementationClass(<%=attrType%>.class);
+ List<<%=attrType%>> list = getContext().getEntityManager().createQuery(
+ " SELECT B" +
+ " FROM "+ attrTypeImpl.getName() + " B," +
+ entity.getClass().getName() + " A" +
+ " WHERE A IN ELEMENTS(B." + <%=reverseAttrNameProperty%> + ")" +
+ " AND A = :A")
+ .setParameter("A", entity)
.getResultList();
+// List<<%=attrType%>> list = getContext().getEntityManager().createNativeQuery(
+// "SELECT main.topiaid " +
+// "from <%=attrClassifierDBName%> main, <%=attrJoinTableName%> secondary " +
+// "where main.topiaid=secondary.<%=attrDBName%>" +
+// " and secondary.<%=attrReverseDBName%>='" + entity.getTopiaId() + "'")
+// //.addEntity("main", <%=providerFQN%>(<%=attrType%>.class))
+// .getResultList();
for (<%=attrType%> item : list) {
item.<%=removeName%>(entity);
1
0
Author: tchemit
Date: 2012-05-09 20:38:07 +0200 (Wed, 09 May 2012)
New Revision: 2463
Url: http://nuiton.org/repositories/revision/topia/2463
Log:
- mise en place de configuration sp?\195?\169ar?\195?\169e pour les 3 mod?\195?\168les de tests
- suppression des configuration inutiles dans le module topia-persistence-tck
Added:
trunk/topia-persistence-hibernate/src/test/resources/
trunk/topia-persistence-hibernate/src/test/resources/TopiaConnectionProviderHardcoded.properties
trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-it.properties
trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-legacy.properties
trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-mapping.properties
trunk/topia-persistence-hibernate/src/test/resources/log4j.properties
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/TopiaDatabaseIt.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/TopiaDatabaseLegacy.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/TopiaDatabaseMapping.java
Removed:
trunk/topia-persistence-tck/src/main/resources/TopiaConnectionProviderHardcoded.properties
trunk/topia-persistence-tck/src/main/resources/TopiaContextImpl.properties
trunk/topia-persistence-tck/src/main/resources/i18n/
trunk/topia-persistence-tck/src/main/resources/log4j.properties
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/test/
Modified:
trunk/topia-persistence-hibernate/pom.xml
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
trunk/topia-persistence-tck/pom.xml
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
trunk/topia-persistence/pom.xml
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence/pom.xml 2012-05-09 18:38:07 UTC (rev 2463)
@@ -40,6 +40,9 @@
<groupId>org.nuiton.topia</groupId>
<artifactId>topia-persistence</artifactId>
+ <name>ToPIA :: Persistence</name>
+ <description>JPA based persistence module</description>
+
<dependencies>
<dependency>
@@ -108,6 +111,7 @@
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
@@ -139,46 +143,8 @@
</dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
-
- <name>ToPIA :: Persistence</name>
- <description>JPA based persistence module</description>
-
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>jar</packaging>
-
<build>
- <testResources>
-
- <testResource>
- <directory>${maven.gen.dir}/test-java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/resources</directory>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource>
-
- </testResources>
-
<plugins>
<plugin>
@@ -225,49 +191,6 @@
</executions>
</plugin>
- <!--plugin>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>maven-eugene-plugin</artifactId>
- <configuration>
-
- </configuration>
- <executions>
- <execution>
- <id>Test Generator</id>
- <phase>generate-test-sources</phase>
- <configuration>
- <testPhase>true</testPhase>
- <templates>
- org.nuiton.topia.generator.TopiaMetaTransformer,
- org.nuiton.eugene.java.JavaInterfaceTransformer,
- org.nuiton.eugene.java.JavaBeanTransformer,
- org.nuiton.topia.generator.EntityDTOTransformer,
- org.nuiton.topia.generator.BinderHelperTransformer,
- org.nuiton.topia.generator.QueryHelperTransformer
- </templates>
- <fullPackagePath>org.nuiton.topia</fullPackagePath>
- <defaultPackage>org.nuiton.topia</defaultPackage>
- </configuration>
- <goals>
- <goal>smart-generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin-->
-
- <!-- expose tests -->
- <!--plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
-
- </plugin-->
</plugins>
</build>
@@ -276,9 +199,9 @@
<!-- ************************************************************* -->
<profiles>
- <!-- perform only on a release stage when using the maven-release-plugin -->
+ <!-- reporting at release time -->
<profile>
- <id>release-profile</id>
+ <id>reporting</id>
<activation>
<property>
<name>performRelease</name>
@@ -286,49 +209,28 @@
</property>
</activation>
- <build>
+ <reporting>
<plugins>
-
- <!-- always expose tests source jar -->
<plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-sources</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>${plexusPluginVersion}</version>
</plugin>
-
- <!-- always expose tests javadoc jar -->
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-javadoc</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
</plugins>
- </build>
+ </reporting>
+
</profile>
- <profile>
+ <!--profile>
<id>run-its</id>
<activation>
<property>
<name>performRelease</name>
- <value>true</value>
+ <value>true</value-->
<!-- Reuse this when MINVOKER-107 will be done (syas invoker 1.6 -->
<!--name>maven.test.skip</name>
<value>!false</value-->
- </property>
+ <!--/property>
</activation>
<build>
<defaultGoal>integration-test</defaultGoal>
@@ -354,30 +256,8 @@
</plugin>
</plugins>
</build>
- </profile>
-
- <!-- reporting at release time -->
- <profile>
- <id>reporting</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
+ </profile-->
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-maven-plugin</artifactId>
- <version>1.3.8</version>
- </plugin>
- </plugins>
- </reporting>
-
- </profile>
-
</profiles>
</project>
Modified: trunk/topia-persistence-hibernate/pom.xml
===================================================================
--- trunk/topia-persistence-hibernate/pom.xml 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-hibernate/pom.xml 2012-05-09 18:38:07 UTC (rev 2463)
@@ -17,9 +17,31 @@
<groupId>org.nuiton.topia</groupId>
<artifactId>topia-persistence-hibernate</artifactId>
+ <name>ToPIA :: Persistence :: Hibernate</name>
+ <description>Hibernate based persistence module</description>
+
<dependencies>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>topia-persistence</artifactId>
+ <version>${project.version}</version>
+ <!--exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_2.0_spec</artifactId>
+ </exclusion>
+ </exclusions-->
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>topia-persistence-tck</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
@@ -37,18 +59,6 @@
<artifactId>hibernate-jpa-2.0-api</artifactId>
</dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>topia-persistence</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
<!-- BD H2 for testing -->
<dependency>
<groupId>com.h2database</groupId>
@@ -66,88 +76,14 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>topia-persistence-tck</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
+
</dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
-
- <name>ToPIA :: Persistence :: Hibernate</name>
- <description>Hibernate based persistence module</description>
-
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>jar</packaging>
-
<build>
- <testResources>
-
- <testResource>
- <directory>${maven.gen.dir}/test-java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/resources</directory>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource>
-
- </testResources>
-
<plugins>
- <plugin>
- <groupId>org.nuiton.processor</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.nuiton.i18n</groupId>
- <artifactId>maven-i18n-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>parserJava</goal>
- <goal>gen</goal>
- </goals>
- <!-- restrict parsing beacause this is expensive -->
- <!-- if you want to parse more, add your package in includes -->
- <configuration>
- <treateDefaultEntry>false</treateDefaultEntry>
- <entries>
- <entry>
- <basedir>${maven.src.dir}/main/java</basedir>
- <includes>
- <include>org/nuiton/topia/framework/*.java</include>
- </includes>
- </entry>
- </entries>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
<!-- expose new plexus components -->
<plugin>
<groupId>org.codehaus.plexus</groupId>
@@ -160,160 +96,7 @@
</execution>
</executions>
</plugin>
-
- <!--plugin>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>maven-eugene-plugin</artifactId>
- <configuration>
-
- </configuration>
- <executions>
- <execution>
- <id>Test Generator</id>
- <phase>generate-test-sources</phase>
- <configuration>
- <testPhase>true</testPhase>
- <templates>
- org.nuiton.topia.generator.TopiaMetaTransformer,
- org.nuiton.eugene.java.JavaInterfaceTransformer,
- org.nuiton.eugene.java.JavaBeanTransformer,
- org.nuiton.topia.generator.EntityDTOTransformer,
- org.nuiton.topia.generator.BinderHelperTransformer,
- org.nuiton.topia.generator.QueryHelperTransformer
- </templates>
- <fullPackagePath>org.nuiton.topia</fullPackagePath>
- <defaultPackage>org.nuiton.topia</defaultPackage>
- </configuration>
- <goals>
- <goal>smart-generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin-->
-
- <!-- expose tests -->
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
-
- </plugin>
</plugins>
</build>
- <!-- ************************************************************* -->
- <!-- *** Build Environment ************************************** -->
- <!-- ************************************************************* -->
- <profiles>
-
- <!-- perform only on a release stage when using the maven-release-plugin -->
- <profile>
- <id>release-profile</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
-
- <!-- always expose tests source jar -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-sources</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- always expose tests javadoc jar -->
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-javadoc</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>run-its</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- <!-- Reuse this when MINVOKER-107 will be done (syas invoker 1.6 -->
- <!--name>maven.test.skip</name>
- <value>!false</value-->
- </property>
- </activation>
- <build>
- <defaultGoal>integration-test</defaultGoal>
- <plugins>
- <plugin>
- <artifactId>maven-invoker-plugin</artifactId>
- <configuration>
- <localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath>
- <settingsFile>src/it/settings.xml</settingsFile>
- <cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo>
- <debug>${maven.verbose}</debug>
- </configuration>
- <executions>
- <execution>
- <id>integration-test</id>
- <goals>
- <goal>install</goal>
- <goal>run</goal>
- </goals>
- <phase>integration-test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- reporting at release time -->
- <profile>
- <id>reporting</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-maven-plugin</artifactId>
- <version>1.3.8</version>
- </plugin>
- </plugins>
- </reporting>
-
- </profile>
-
- </profiles>
-
</project>
Modified: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -30,12 +30,13 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.it.Personne;
-import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDAO;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
+import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
+import org.nuiton.topia.tck.legacy.entities.Person;
+import org.nuiton.topia.tck.legacy.entities.PersonDAO;
import java.io.File;
import java.util.Locale;
@@ -59,7 +60,7 @@
@Rule
public final TopiaDatabase db =
- new TopiaDatabase("/TopiaConnectionProviderHardcoded.properties") {
+ new TopiaDatabaseLegacy("/TopiaConnectionProviderHardcoded.properties") {
@Override
protected void onDbConfigurationCreate(Properties configuration,
@@ -127,7 +128,7 @@
TopiaContext transaction = db.beginTransaction();
try {
- PersonDAO dao = TopiaTckItDAOHelper.getPersonDAO(transaction);
+ PersonDAO dao = TopiaTckLegacyDAOHelper.getPersonDAO(transaction);
Person personne = dao.create(Personne.PROPERTY_NAME, "Jack Bauer");
transaction.commitTransaction();
Copied: trunk/topia-persistence-hibernate/src/test/resources/TopiaConnectionProviderHardcoded.properties (from rev 2462, trunk/topia-persistence-tck/src/main/resources/TopiaConnectionProviderHardcoded.properties)
===================================================================
--- trunk/topia-persistence-hibernate/src/test/resources/TopiaConnectionProviderHardcoded.properties (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/resources/TopiaConnectionProviderHardcoded.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,37 @@
+###
+# #%L
+# ToPIA :: Persistence
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2004 - 2010 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>.
+# #L%
+###
+# Proprietes par defaut pour une base de donnees de type H2
+hibernate.hbm2ddl.auto=update
+hibernate.show_sql=false
+
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+
+topia.connection.username=sa
+topia.connection.password=
+topia.connection.driver_class=org.h2.Driver
+
+hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProviderHardCoded
+# tchemit 2010-11-28 : comment this line, each test must define his own db path
+#hibernate.connection.url=jdbc:h2:file:target/surefire-workdir/h2data
\ No newline at end of file
Property changes on: trunk/topia-persistence-hibernate/src/test/resources/TopiaConnectionProviderHardcoded.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-it.properties
===================================================================
--- trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-it.properties (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-it.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,9 @@
+# Proprietes par defaut pour une base de donnees de type H2 et le model it
+hibernate.hbm2ddl.auto=update
+hibernate.show_sql=false
+
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+
+topia.connection.username=sa
+topia.connection.password=
+topia.connection.driver_class=org.h2.Driver
\ No newline at end of file
Added: trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-legacy.properties
===================================================================
--- trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-legacy.properties (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-legacy.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,9 @@
+# Proprietes par defaut pour une base de donnees de type H2 et le model legacy
+hibernate.hbm2ddl.auto=update
+hibernate.show_sql=false
+
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+
+topia.connection.username=sa
+topia.connection.password=
+topia.connection.driver_class=org.h2.Driver
\ No newline at end of file
Added: trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-mapping.properties
===================================================================
--- trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-mapping.properties (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/resources/TopiaContext-mapping.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,9 @@
+# Proprietes par defaut pour une base de donnees de type H2 et le model mapping
+hibernate.hbm2ddl.auto=update
+hibernate.show_sql=false
+
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+
+topia.connection.username=sa
+topia.connection.password=
+topia.connection.driver_class=org.h2.Driver
\ No newline at end of file
Copied: trunk/topia-persistence-hibernate/src/test/resources/log4j.properties (from rev 2462, trunk/topia-persistence-tck/src/main/resources/log4j.properties)
===================================================================
--- trunk/topia-persistence-hibernate/src/test/resources/log4j.properties (rev 0)
+++ trunk/topia-persistence-hibernate/src/test/resources/log4j.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,36 @@
+###
+# #%L
+# ToPIA :: Persistence
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2004 - 2010 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>.
+# #L%
+###
+#\u00a0This log is used to display trace in generation
+
+# Global logging configuration
+log4j.rootLogger=WARN, stdout
+# Console output...
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n
+# package level
+log4j.logger.org.nuiton.topia=INFO
+#log4j.logger.org.nuiton.topiatest=DEBUG
+log4j.logger.org.nuiton.topia.persistence.util=INFO
Modified: trunk/topia-persistence-tck/pom.xml
===================================================================
--- trunk/topia-persistence-tck/pom.xml 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/pom.xml 2012-05-09 18:38:07 UTC (rev 2463)
@@ -1,12 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4.0.0.xsd">
+<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <!-- ************************************************************* -->
- <!-- *** POM Relationships *************************************** -->
- <!-- ************************************************************* -->
-
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
@@ -17,7 +15,9 @@
<artifactId>topia-persistence-tck</artifactId>
<name>ToPIA :: Persistence :: Test Compatibility Kit</name>
- <description>Tests to be shared between topia-persistence implementations</description>
+ <description>
+ Tests to be shared between topia-persistence implementations
+ </description>
<dependencies>
@@ -27,6 +27,11 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.hibernate.javax.persistence</groupId>
+ <artifactId>hibernate-jpa-2.0-api</artifactId>
+ </dependency>
+
<!-- BD H2 for testing -->
<dependency>
<groupId>com.h2database</groupId>
@@ -75,7 +80,8 @@
<id>Test Generator (itk)</id>
<phase>generate-sources</phase>
<configuration>
- <inputs>target/generated-sources/models:topia-tck-it.objectmodel</inputs>
+ <inputs>target/generated-sources/models:topia-tck-it.objectmodel
+ </inputs>
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer,
org.nuiton.eugene.java.JavaInterfaceTransformer,
@@ -95,7 +101,9 @@
<id>Test Generator (legacy)</id>
<phase>generate-sources</phase>
<configuration>
- <inputs>target/generated-sources/models:topia-tck-legacy.objectmodel</inputs>
+ <inputs>
+ target/generated-sources/models:topia-tck-legacy.objectmodel
+ </inputs>
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer,
org.nuiton.eugene.java.JavaInterfaceTransformer,
@@ -118,7 +126,9 @@
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer
</templates>
- <inputs>target/generated-sources/models:topia-tck-mapping.objectmodel</inputs>
+ <inputs>
+ target/generated-sources/models:topia-tck-mapping.objectmodel
+ </inputs>
<fullPackagePath>org.nuiton.topia.tck.mapping</fullPackagePath>
<defaultPackage>org.nuiton.topia.tck.mapping</defaultPackage>
</configuration>
@@ -128,130 +138,7 @@
</execution>
</executions>
</plugin>
-
- <!-- expose tests -->
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
-
- </plugin>
</plugins>
</build>
- <!-- ************************************************************* -->
- <!-- *** Build Environment ************************************** -->
- <!-- ************************************************************* -->
- <profiles>
-
- <!-- perform only on a release stage when using the maven-release-plugin -->
- <profile>
- <id>release-profile</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
-
- <!-- always expose tests source jar -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-sources</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- always expose tests javadoc jar -->
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-test-javadoc</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>run-its</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- <!-- Reuse this when MINVOKER-107 will be done (syas invoker 1.6 -->
- <!--name>maven.test.skip</name>
- <value>!false</value-->
- </property>
- </activation>
- <build>
- <defaultGoal>integration-test</defaultGoal>
- <plugins>
- <plugin>
- <artifactId>maven-invoker-plugin</artifactId>
- <configuration>
- <localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath>
- <settingsFile>src/it/settings.xml</settingsFile>
- <cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo>
- <debug>${maven.verbose}</debug>
- </configuration>
- <executions>
- <execution>
- <id>integration-test</id>
- <goals>
- <goal>install</goal>
- <goal>run</goal>
- </goals>
- <phase>integration-test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <!-- reporting at release time -->
- <profile>
- <id>reporting</id>
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-maven-plugin</artifactId>
- <version>1.3.8</version>
- </plugin>
- </plugins>
- </reporting>
-
- </profile>
-
- </profiles>
-
</project>
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -31,7 +31,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.persistence.TopiaEntity;
import java.io.File;
import java.io.InputStream;
@@ -62,7 +62,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 2.6.8
*/
-public class TopiaDatabase extends TestWatcher {
+public abstract class TopiaDatabase extends TestWatcher {
/** Logger. */
private static final Log log = LogFactory.getLog(TopiaDatabase.class);
@@ -86,6 +86,14 @@
this.configurationPath = configurationPath;
}
+ /**
+ * Obtain all types persisted in this db.
+ *
+ * @return all persisted types in this db.
+ * @since 3.0
+ */
+ protected abstract Class<? extends TopiaEntity>[] getImplementationClasses();
+
@Override
protected void starting(Description description) {
@@ -112,7 +120,7 @@
}
dbConfiguration.setProperty(
TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES,
- TopiaTckItDAOHelper.getImplementationClassesAsString());
+ getImplementationClassesAsString());
// make sure we always use a different directory
@@ -171,6 +179,14 @@
}
+ protected final String getImplementationClassesAsString() {
+ StringBuilder buffer = new StringBuilder();
+ for (Class<? extends TopiaEntity> aClass : getImplementationClasses()) {
+ buffer.append(',').append(aClass.getName());
+ }
+ return buffer.substring(1);
+ }
+
public static File getTestSpecificDirectory(Class<?> testClassName, String methodName) {
// Trying to look for the temporary folder to store data for the test
String tempDirPath = System.getProperty("java.io.tmpdir");
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -39,7 +39,7 @@
public class EnumTest {
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseIt();
/**
* Create an entity having two field of type enumeration. One is stored
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/TopiaDatabaseIt.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/TopiaDatabaseIt.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/TopiaDatabaseIt.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,27 @@
+package org.nuiton.topia.tck.it;
+
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.tck.TopiaDatabase;
+
+/**
+ * Concrete topia database for {@code it} model.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class TopiaDatabaseIt extends TopiaDatabase {
+
+ public TopiaDatabaseIt() {
+ super("/TopiaContext-it.properties");
+ }
+
+ public TopiaDatabaseIt(String configurationPath) {
+ super(configurationPath);
+ }
+
+ @Override
+ protected Class<? extends TopiaEntity>[] getImplementationClasses() {
+ return TopiaTckItDAOHelper.getImplementationClasses();
+ }
+
+}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -44,6 +44,8 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.generator.EntityDAOTransformer;
+import org.nuiton.topia.tck.it.TopiaDatabaseIt;
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.Personne;
@@ -65,7 +67,7 @@
private static final Log log = LogFactory.getLog(DeleteEntityTest.class);
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseIt();
/**
* Test for deleting entities with inheritance. Delete from the DAO linked
@@ -125,7 +127,7 @@
* two entities have both inheritance.
*
* @throws TopiaException if any exception while manipulating db
- * @see DAOAbstractTransformer
+ * @see EntityDAOTransformer
*/
@Test
public void testDeleteEntityWithManyToManyRelation() throws TopiaException {
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/TopiaDatabaseLegacy.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/TopiaDatabaseLegacy.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/TopiaDatabaseLegacy.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,27 @@
+package org.nuiton.topia.tck.legacy;
+
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.tck.TopiaDatabase;
+
+/**
+ * Concrete topia database for {@code it} model.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class TopiaDatabaseLegacy extends TopiaDatabase {
+
+ public TopiaDatabaseLegacy() {
+ super("/TopiaContext-legacy.properties");
+ }
+
+ public TopiaDatabaseLegacy(String configurationPath) {
+ super(configurationPath);
+ }
+
+ @Override
+ protected Class<? extends TopiaEntity>[] getImplementationClasses() {
+ return TopiaTckLegacyDAOHelper.getImplementationClasses();
+ }
+
+}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -29,6 +29,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
import java.util.Arrays;
@@ -36,7 +37,7 @@
public class DAOAbstractTransformerTest {
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
@Test
public void testAno1882() throws Exception {
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -32,6 +32,7 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
import org.nuiton.topia.tck.legacy.entities.Person;
import org.nuiton.topia.tck.legacy.entities.PersonDAO;
@@ -50,7 +51,7 @@
public class TopiaQueryTest {
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
@Test
public void testInOperatorForIds() throws TopiaException {
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -30,6 +30,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.tck.TopiaDatabase;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
import org.nuiton.topia.tck.legacy.entities.Person;
import org.nuiton.topia.tck.legacy.entities.PersonDAO;
@@ -49,7 +50,7 @@
@Rule
public final TopiaDatabase dbSource =
- new TopiaDatabase() {
+ new TopiaDatabaseLegacy() {
@Override
protected void onDbConfigurationCreate(Properties configuration, File testDir, String dbPath) {
@@ -61,7 +62,7 @@
@Rule
public final TopiaDatabase dbTarget =
- new TopiaDatabase() {
+ new TopiaDatabaseLegacy() {
@Override
protected void onDbConfigurationCreate(Properties configuration, File testDir, String dbPath) {
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -31,6 +31,7 @@
import org.nuiton.topia.framework.TopiaUtil;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.Personne;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import org.nuiton.topia.tck.legacy.entities.PersonImpl;
import java.util.regex.Matcher;
@@ -56,7 +57,7 @@
protected static final String PERSON_ID2 = "org.nuiton.topia.tck.it.Personne#1226701039001#0.6502325993664999";
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
@Test
public void testGetTopiaIdPattern() throws Exception {
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -38,6 +38,7 @@
import org.nuiton.topia.tck.it.CompanyDAO;
import org.nuiton.topia.tck.it.Department;
import org.nuiton.topia.tck.it.DepartmentDAO;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
/**
* TopiaTestCase.
@@ -54,7 +55,7 @@
private final static Log log = LogFactory.getLog(TopiaTestCase.class);
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
// /** Proprietes */
// protected static Properties config;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -44,6 +44,7 @@
import org.nuiton.topia.tck.it.DepartmentDAO;
import org.nuiton.topia.tck.it.Employe;
import org.nuiton.topia.tck.it.EmployeDAO;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
/**
* Test de visitor.
@@ -60,7 +61,7 @@
LogFactory.getLog(EntityVisitorExportXmlTest.class);
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
/**
* Prepare test.
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -36,6 +36,7 @@
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.it.NaturalizedEntity;
import org.nuiton.topia.tck.it.NaturalizedEntityDAO;
+import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy;
import javax.persistence.PersistenceException;
@@ -55,7 +56,7 @@
private static final Log log = LogFactory.getLog(NaturalIdTest.class);
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseLegacy();
@Test
public void testCreateSucessfull() throws Exception {
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/TopiaDatabaseMapping.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/TopiaDatabaseMapping.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/TopiaDatabaseMapping.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -0,0 +1,27 @@
+package org.nuiton.topia.tck.mapping;
+
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.tck.TopiaDatabase;
+
+/**
+ * Concrete topia database for {@code mapping} model.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class TopiaDatabaseMapping extends TopiaDatabase {
+
+ public TopiaDatabaseMapping() {
+ super("/TopiaContext-mapping.properties");
+ }
+
+ public TopiaDatabaseMapping(String configurationPath) {
+ super(configurationPath);
+ }
+
+ @Override
+ protected Class<? extends TopiaEntity>[] getImplementationClasses() {
+ return TopiaTckMappingDAOHelper.getImplementationClasses();
+ }
+
+}
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 18:38:07 UTC (rev 2463)
@@ -5,6 +5,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.TopiaDatabase;
+import org.nuiton.topia.tck.mapping.TopiaDatabaseMapping;
/**
* TODO
@@ -15,7 +16,7 @@
public class Test1 {
@Rule
- public final TopiaDatabase db = new TopiaDatabase();
+ public final TopiaDatabase db = new TopiaDatabaseMapping();
/** Case 1 : simple OneToMany relation using class A1 -> B1. */
@Test
Deleted: trunk/topia-persistence-tck/src/main/resources/TopiaConnectionProviderHardcoded.properties
===================================================================
--- trunk/topia-persistence-tck/src/main/resources/TopiaConnectionProviderHardcoded.properties 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/resources/TopiaConnectionProviderHardcoded.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -1,37 +0,0 @@
-###
-# #%L
-# ToPIA :: Persistence
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2004 - 2010 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>.
-# #L%
-###
-# Proprietes par defaut pour une base de donnees de type H2
-hibernate.hbm2ddl.auto=update
-hibernate.show_sql=false
-
-hibernate.dialect=org.hibernate.dialect.H2Dialect
-
-topia.connection.username=sa
-topia.connection.password=
-topia.connection.driver_class=org.h2.Driver
-
-hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProviderHardCoded
-# tchemit 2010-11-28 : comment this line, each test must define his own db path
-#hibernate.connection.url=jdbc:h2:file:target/surefire-workdir/h2data
\ No newline at end of file
Deleted: trunk/topia-persistence-tck/src/main/resources/TopiaContextImpl.properties
===================================================================
--- trunk/topia-persistence-tck/src/main/resources/TopiaContextImpl.properties 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/resources/TopiaContextImpl.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -1,35 +0,0 @@
-###
-# #%L
-# ToPIA :: Persistence
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2004 - 2010 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>.
-# #L%
-###
-# Proprietes par defaut pour une base de donnees de type H2
-hibernate.hbm2ddl.auto=update
-hibernate.show_sql=false
-
-hibernate.dialect=org.hibernate.dialect.H2Dialect
-
-topia.connection.username=sa
-topia.connection.password=
-topia.connection.driver_class=org.h2.Driver
-# tchemit 2010-11-28 : comment this line, each test must define his own db path
-#hibernate.connection.url=jdbc:h2:file:target/surefire-workdir/h2data
\ No newline at end of file
Deleted: trunk/topia-persistence-tck/src/main/resources/log4j.properties
===================================================================
--- trunk/topia-persistence-tck/src/main/resources/log4j.properties 2012-05-09 17:12:36 UTC (rev 2462)
+++ trunk/topia-persistence-tck/src/main/resources/log4j.properties 2012-05-09 18:38:07 UTC (rev 2463)
@@ -1,36 +0,0 @@
-###
-# #%L
-# ToPIA :: Persistence
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2004 - 2010 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>.
-# #L%
-###
-#\u00a0This log is used to display trace in generation
-
-# Global logging configuration
-log4j.rootLogger=WARN, stdout
-# Console output...
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n
-# package level
-log4j.logger.org.nuiton.topia=INFO
-#log4j.logger.org.nuiton.topiatest=DEBUG
-log4j.logger.org.nuiton.topia.persistence.util=INFO
1
0
r2462 - in trunk/topia-persistence-tck: . src/main/java/org/nuiton/topia/tck/legacy/ano1882 src/main/java/org/nuiton/topia/tck/legacy/ano1991 src/main/java/org/nuiton/topia/tck/legacy/framework src/main/xmi src/test/java/org/nuiton/topia/persistence/util
by athimel@users.nuiton.org 09 May '12
by athimel@users.nuiton.org 09 May '12
09 May '12
Author: athimel
Date: 2012-05-09 19:12:36 +0200 (Wed, 09 May 2012)
New Revision: 2462
Url: http://nuiton.org/repositories/revision/topia/2462
Log:
Add a specific legacy model
Added:
trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.properties
trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.zargo
Modified:
trunk/topia-persistence-tck/pom.xml
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java
trunk/topia-persistence-tck/src/main/xmi/topia-tck-it.zargo
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java
Modified: trunk/topia-persistence-tck/pom.xml
===================================================================
--- trunk/topia-persistence-tck/pom.xml 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/pom.xml 2012-05-09 17:12:36 UTC (rev 2462)
@@ -92,6 +92,26 @@
</goals>
</execution>
<execution>
+ <id>Test Generator (legacy)</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>target/generated-sources/models:topia-tck-legacy.objectmodel</inputs>
+ <templates>
+ org.nuiton.topia.generator.TopiaMetaTransformer,
+ org.nuiton.eugene.java.JavaInterfaceTransformer,
+ org.nuiton.eugene.java.JavaBeanTransformer,
+ org.nuiton.topia.generator.EntityDTOTransformer,
+ org.nuiton.topia.generator.BinderHelperTransformer,
+ org.nuiton.topia.generator.QueryHelperTransformer
+ </templates>
+ <fullPackagePath>org.nuiton.topia.tck.legacy</fullPackagePath>
+ <defaultPackage>org.nuiton.topia.tck.legacy</defaultPackage>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
<id>Test Generator (mapping)</id>
<phase>generate-sources</phase>
<configuration>
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 17:12:36 UTC (rev 2462)
@@ -29,6 +29,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
import java.util.Arrays;
@@ -41,8 +42,8 @@
public void testAno1882() throws Exception {
TopiaContext transaction = db.beginTransaction();
- FrenchCompanyDAO dao = TopiaTckItDAOHelper.getFrenchCompanyDAO(transaction);
- SIRETDAO siretDAO = TopiaTckItDAOHelper.getSIRETDAO(transaction);
+ FrenchCompanyDAO dao = TopiaTckLegacyDAOHelper.getFrenchCompanyDAO(transaction);
+ SIRETDAO siretDAO = TopiaTckLegacyDAOHelper.getSIRETDAO(transaction);
SIRET siret = siretDAO.create();
FrenchCompany entity =
dao.create(
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 17:12:36 UTC (rev 2462)
@@ -32,10 +32,11 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.framework.TopiaQuery;
-import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDAO;
-import org.nuiton.topia.test.entities.Pet;
-import org.nuiton.topia.test.entities.PetDAO;
+import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
+import org.nuiton.topia.tck.legacy.entities.Person;
+import org.nuiton.topia.tck.legacy.entities.PersonDAO;
+import org.nuiton.topia.tck.legacy.entities.Pet;
+import org.nuiton.topia.tck.legacy.entities.PetDAO;
import java.util.Arrays;
import java.util.List;
@@ -56,7 +57,7 @@
TopiaContext context = db.beginTransaction();
- PersonDAO personDAO = TopiaTckItDAOHelper.getPersonDAO(context);
+ PersonDAO personDAO = TopiaTckLegacyDAOHelper.getPersonDAO(context);
// appel 1 find all
Person toto = personDAO.create(Person.PROPERTY_NAME, "toto");
@@ -89,8 +90,8 @@
TopiaContext context = db.beginTransaction();
- PetDAO petDAO = TopiaTckItDAOHelper.getPetDAO(context);
- PersonDAO personDAO = TopiaTckItDAOHelper.getPersonDAO(context);
+ PetDAO petDAO = TopiaTckLegacyDAOHelper.getPetDAO(context);
+ PersonDAO personDAO = TopiaTckLegacyDAOHelper.getPersonDAO(context);
Pet bernard = petDAO.create(Pet.PROPERTY_NAME, "bernard");
Pet bianca = petDAO.create(Pet.PROPERTY_NAME, "bianca");
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 17:12:36 UTC (rev 2462)
@@ -30,11 +30,11 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
-import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDAO;
-import org.nuiton.topia.test.entities.Pet;
-import org.nuiton.topia.test.entities.PetDAO;
+import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper;
+import org.nuiton.topia.tck.legacy.entities.Person;
+import org.nuiton.topia.tck.legacy.entities.PersonDAO;
+import org.nuiton.topia.tck.legacy.entities.Pet;
+import org.nuiton.topia.tck.legacy.entities.PetDAO;
import java.io.File;
import java.util.Properties;
@@ -100,8 +100,8 @@
Pet petSource, petTarget;
txSource = contextSource.beginTransaction();
- daoSource = TopiaTckItDAOHelper.getPersonDAO(txSource);
- petDAOSource = TopiaTckItDAOHelper.getPetDAO(txSource);
+ daoSource = TopiaTckLegacyDAOHelper.getPersonDAO(txSource);
+ petDAOSource = TopiaTckLegacyDAOHelper.getPetDAO(txSource);
personSource = daoSource.create(Person.PROPERTY_FIRSTNAME, " firstName",
Person.PROPERTY_NAME, " name"
@@ -116,7 +116,7 @@
txSource.commitTransaction();
- daoSource = TopiaTckItDAOHelper.getPersonDAO(txSource);
+ daoSource = TopiaTckLegacyDAOHelper.getPersonDAO(txSource);
personSource = daoSource.findByTopiaId(personSource.getTopiaId());
Assert.assertNotNull(personSource);
@@ -133,8 +133,8 @@
txTarget.commitTransaction();
- daoTarget = TopiaTckItDAOHelper.getPersonDAO(txTarget);
- petDAOTarget = TopiaTckItDAOHelper.getPetDAO(txTarget);
+ daoTarget = TopiaTckLegacyDAOHelper.getPersonDAO(txTarget);
+ petDAOTarget = TopiaTckLegacyDAOHelper.getPetDAO(txTarget);
personTarget = daoTarget.findByTopiaId(personSource.getTopiaId());
Assert.assertNotNull(personTarget);
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaUtilTest.java 2012-05-09 17:12:36 UTC (rev 2462)
@@ -31,7 +31,7 @@
import org.nuiton.topia.framework.TopiaUtil;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.Personne;
-import org.nuiton.topia.test.entities.PersonImpl;
+import org.nuiton.topia.tck.legacy.entities.PersonImpl;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-it.zargo
===================================================================
(Binary files differ)
Added: trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.properties
===================================================================
--- trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.properties (rev 0)
+++ trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.properties 2012-05-09 17:12:36 UTC (rev 2462)
@@ -0,0 +1,28 @@
+###
+# #%L
+# ToPIA :: Persistence
+#
+# $Id: topia-tck-it.properties 2451 2012-05-09 14:37:49Z athimel $
+# $HeadURL: http://svn.nuiton.org/svn/topia/trunk/topia-persistence-tck/src/main/xmi/to… $
+# %%
+# Copyright (C) 2004 - 2010 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>.
+# #L%
+###
+model.tagvalue.i18n=topia.test.common.
+model.tagvalue.generateOperatorForDAOHelper=true
+model.tagvalue.constantPrefix=PROPERTY_
+model.tagvalue.generateDTOTopiaId=true
Added: trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/topia-persistence-tck/src/main/xmi/topia-tck-legacy.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java 2012-05-09 17:03:12 UTC (rev 2461)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java 2012-05-09 17:12:36 UTC (rev 2462)
@@ -28,10 +28,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
-import org.nuiton.topia.tck.it.TopiaTckItDAOHelper.TopiaTckItEntityEnum;
-import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.Pet;
-import org.nuiton.topia.test.entities.Race;
+import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper.TopiaTckLegacyEntityEnum;
+import org.nuiton.topia.tck.legacy.entities.Person;
+import org.nuiton.topia.tck.legacy.entities.Pet;
+import org.nuiton.topia.tck.legacy.entities.Race;
/**
* Test the {@link TopiaEntityRefTester} on
@@ -42,7 +42,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 2.3.1
*/
-public class TopiaEntityRefTesterTest extends TopiaEntityRefTester<TopiaTckItEntityEnum> {
+public class TopiaEntityRefTesterTest extends TopiaEntityRefTester<TopiaTckLegacyEntityEnum> {
/** Logger */
private static final Log log =
@@ -57,26 +57,26 @@
private static final String PERSON1 = "person1";
@Override
- protected TopiaTckItEntityEnum[] getContracts0() {
- return new TopiaTckItEntityEnum[]{
- TopiaTckItEntityEnum.Pet,
- TopiaTckItEntityEnum.Person,
- TopiaTckItEntityEnum.Race,
+ protected TopiaTckLegacyEntityEnum[] getContracts0() {
+ return new TopiaTckLegacyEntityEnum[]{
+ TopiaTckLegacyEntityEnum.Pet,
+ TopiaTckLegacyEntityEnum.Person,
+ TopiaTckLegacyEntityEnum.Race,
};
}
@Test
public void testNoReferences() throws Exception {
- Pet pet = newEntity(TopiaTckItEntityEnum.Pet, PET1);
+ Pet pet = newEntity(TopiaTckLegacyEntityEnum.Pet, PET1);
detectReferences(pet, 0);
- Race race = newEntity(TopiaTckItEntityEnum.Race, RACE1);
+ Race race = newEntity(TopiaTckLegacyEntityEnum.Race, RACE1);
detectReferences(race, 0);
- Person person = newEntity(TopiaTckItEntityEnum.Person, PERSON1);
+ Person person = newEntity(TopiaTckLegacyEntityEnum.Person, PERSON1);
detectReferences(person, 0);
@@ -85,10 +85,10 @@
@Test
public void testReferences() throws Exception {
- Pet pet = newEntity(TopiaTckItEntityEnum.Pet, PET1);
- Race race = newEntity(TopiaTckItEntityEnum.Race, RACE1);
+ Pet pet = newEntity(TopiaTckLegacyEntityEnum.Pet, PET1);
+ Race race = newEntity(TopiaTckLegacyEntityEnum.Race, RACE1);
pet.setRace(race);
- Person person = newEntity(TopiaTckItEntityEnum.Person, PERSON1);
+ Person person = newEntity(TopiaTckLegacyEntityEnum.Person, PERSON1);
detectReferences(pet, 1, RACE1);
@@ -116,7 +116,7 @@
assertCurrentEntry(pet, 1);
assertNextAssociationEntityRef(person, Person.PROPERTY_PET, PET1, person, pet);
- Pet pet2 = newEntity(TopiaTckItEntityEnum.Pet, PET2);
+ Pet pet2 = newEntity(TopiaTckLegacyEntityEnum.Pet, PET2);
person.addPet(pet2);
1
0
Author: tchemit
Date: 2012-05-09 19:03:12 +0200 (Wed, 09 May 2012)
New Revision: 2461
Url: http://nuiton.org/repositories/revision/topia/2461
Log:
use two different DAOHelper for it and mapping models
Added:
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
Modified:
trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
trunk/topia-persistence-tck/pom.xml
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TestHelper.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java
trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java
trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java
trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java
Modified: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
===================================================================
--- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.tck.it.Personne;
Modified: trunk/topia-persistence-tck/pom.xml
===================================================================
--- trunk/topia-persistence-tck/pom.xml 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/pom.xml 2012-05-09 17:03:12 UTC (rev 2461)
@@ -16,6 +16,9 @@
<groupId>org.nuiton.topia</groupId>
<artifactId>topia-persistence-tck</artifactId>
+ <name>ToPIA :: Persistence :: Test Compatibility Kit</name>
+ <description>Tests to be shared between topia-persistence implementations</description>
+
<dependencies>
<dependency>
@@ -44,104 +47,35 @@
</dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
-
- <name>ToPIA :: Persistence :: Test Compatibility Kit</name>
- <description>Tests to be shared between topia-persistence implementations</description>
-
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>jar</packaging>
-
<build>
- <testResources>
-
- <!--testResource>
- <directory>${maven.gen.dir}/test-java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/resources</directory>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </testResource>
-
- <testResource>
- <directory>${maven.src.dir}/test/java</directory>
- <includes>
- <include>**/*.hbm.xml</include>
- </includes>
- </testResource-->
-
- </testResources>
-
<plugins>
<plugin>
- <groupId>org.nuiton.processor</groupId>
- <artifactId>maven-processor-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.nuiton.i18n</groupId>
- <artifactId>maven-i18n-plugin</artifactId>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <configuration>
+ <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver>
+ <fullPackagePath>org.nuiton.topia.tck</fullPackagePath>
+ <defaultPackage>org.nuiton.topia.tck</defaultPackage>
+ </configuration>
<executions>
<execution>
- <goals>
- <goal>parserJava</goal>
- <goal>gen</goal>
- </goals>
- <!-- restrict parsing beacause this is expensive -->
- <!-- if you want to parse more, add your package in includes -->
+ <id>generate-objectmodel</id>
+ <phase>generate-sources</phase>
<configuration>
- <treateDefaultEntry>false</treateDefaultEntry>
- <entries>
- <entry>
- <basedir>${maven.src.dir}/main/java</basedir>
- <includes>
- <include>org/nuiton/topia/framework/*.java</include>
- </includes>
- </entry>
- </entries>
+ <skipInputs>model</skipInputs>
+ <inputs>zargo</inputs>
</configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- expose new plexus components -->
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- <executions>
- <execution>
<goals>
- <goal>generate-metadata</goal>
+ <goal>smart-generate</goal>
</goals>
</execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>maven-eugene-plugin</artifactId>
- <configuration>
-
- </configuration>
- <executions>
<execution>
- <id>Test Generator</id>
+ <id>Test Generator (itk)</id>
<phase>generate-sources</phase>
<configuration>
- <testPhase>false</testPhase>
+ <inputs>target/generated-sources/models:topia-tck-it.objectmodel</inputs>
<templates>
org.nuiton.topia.generator.TopiaMetaTransformer,
org.nuiton.eugene.java.JavaInterfaceTransformer,
@@ -150,13 +84,28 @@
org.nuiton.topia.generator.BinderHelperTransformer,
org.nuiton.topia.generator.QueryHelperTransformer
</templates>
- <fullPackagePath>org.nuiton.topia</fullPackagePath>
- <defaultPackage>org.nuiton.topia</defaultPackage>
+ <fullPackagePath>org.nuiton.topia.tck.it</fullPackagePath>
+ <defaultPackage>org.nuiton.topia.tck.it</defaultPackage>
</configuration>
<goals>
<goal>smart-generate</goal>
</goals>
</execution>
+ <execution>
+ <id>Test Generator (mapping)</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <templates>
+ org.nuiton.topia.generator.TopiaMetaTransformer
+ </templates>
+ <inputs>target/generated-sources/models:topia-tck-mapping.objectmodel</inputs>
+ <fullPackagePath>org.nuiton.topia.tck.mapping</fullPackagePath>
+ <defaultPackage>org.nuiton.topia.tck.mapping</defaultPackage>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
</executions>
</plugin>
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TestHelper.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TestHelper.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TestHelper.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.TopiaNotFoundException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.util.FileUtil;
import java.io.File;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -31,7 +31,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import java.io.File;
import java.io.InputStream;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/EnumTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
/**
* Test the support of possibility to have an attribute of type enumeration
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/it/deletetest/DeleteEntityTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -44,7 +44,7 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.tck.it.Personne;
import org.nuiton.topia.tck.it.PersonneDAO;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -28,11 +28,7 @@
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.TopiaTckItDAOHelper;
-import org.nuiton.topia.test.ano1882.FrenchCompany;
-import org.nuiton.topia.test.ano1882.FrenchCompanyDAO;
-import org.nuiton.topia.test.ano1882.SIRET;
-import org.nuiton.topia.test.ano1882.SIRETDAO;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import java.util.Arrays;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.test.entities.Person;
import org.nuiton.topia.test.entities.PersonDAO;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/framework/TopiaContextReplicateTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaContextFactory;
import org.nuiton.topia.tck.TopiaDatabase;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.test.entities.Person;
import org.nuiton.topia.test.entities.PersonDAO;
import org.nuiton.topia.test.entities.Pet;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/generator/TopiaTestCase.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -33,7 +33,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.it.Company;
import org.nuiton.topia.tck.it.CompanyDAO;
import org.nuiton.topia.tck.it.Department;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/EntityVisitorExportXmlTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -35,7 +35,7 @@
import org.nuiton.topia.persistence.EntityVisitor;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.it.Address;
import org.nuiton.topia.tck.it.AddressDAO;
import org.nuiton.topia.tck.it.Company;
Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/persistence/NaturalIdTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -33,7 +33,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.tck.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.it.NaturalizedEntity;
import org.nuiton.topia.tck.it.NaturalizedEntityDAO;
Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java
===================================================================
--- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java (rev 0)
+++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -0,0 +1,28 @@
+package org.nuiton.topia.tck.mapping.test1;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.tck.TopiaDatabase;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since TODO
+ */
+public class Test1 {
+
+ @Rule
+ public final TopiaDatabase db = new TopiaDatabase();
+
+ /** Case 1 : simple OneToMany relation using class A1 -> B1. */
+ @Test
+ public void testCase1Create() throws TopiaException {
+
+ TopiaContext tx = db.beginTransaction();
+
+
+ }
+}
Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo
===================================================================
(Binary files differ)
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -32,7 +32,7 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityEnum;
import org.nuiton.topia.tck.it.Company;
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.tck.it.Company;
import org.nuiton.topia.tck.it.CompanyImpl;
import org.nuiton.topia.tck.it.Department;
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityEnum;
import org.nuiton.topia.tck.it.Company;
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -30,7 +30,7 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTckItDAOHelper;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityEnum;
import org.nuiton.topia.persistence.TopiaId;
Modified: trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java
===================================================================
--- trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java 2012-05-09 16:57:24 UTC (rev 2460)
+++ trunk/topia-persistence-tck/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityRefTesterTest.java 2012-05-09 17:03:12 UTC (rev 2461)
@@ -28,7 +28,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
-import org.nuiton.topia.TopiaTckItDAOHelper.TopiaTckItEntityEnum;
+import org.nuiton.topia.tck.it.TopiaTckItDAOHelper.TopiaTckItEntityEnum;
import org.nuiton.topia.test.entities.Person;
import org.nuiton.topia.test.entities.Pet;
import org.nuiton.topia.test.entities.Race;
1
0