-------- Message original --------
Author: bleny
Date: 2013-10-15 17:08:16 +0200 (Tue, 15 Oct 2013)
New Revision: 2845
Url: http://nuiton.org/projects/topia/repository/revisions/2845
Log:
update tests and change contract for generated dao factories
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/PersistenceContextTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDAO.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/TopiaJpaSupportTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaDAOTest.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -257,7 +257,7 @@
// Looking for specialized DAO
// This DAO is supposed to exist, as created by generation
- String daoClassName = entityClass.getName() + "DAO";
+ String daoClassName = entityClass.getName() + "TopiaDao";
try {
Class<TopiaDAO<E>> daoClass = (Class<TopiaDAO<E>>) Class.forName(daoClassName);
dao = daoClass.getConstructor().newInstance();
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 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -873,8 +873,7 @@
addParameter(op, attrType, "v");
setOperationBody(op, ""
/*{
- E result = <%=methodToDelegateName%>(v).findAnyOrNull();
- return result;
+ return <%=methodToDelegateName%>(v).findAnyOrNull();
}*/
);
@@ -887,8 +886,7 @@
addParameter(op, attrType, "v");
setOperationBody(op, ""
/*{
- List<E> result = <%=methodToDelegateName%>(v).findAll();
- return result;
+ return <%=methodToDelegateName%>(v).findAll();
}*/
);
@@ -956,8 +954,7 @@
addParameter(op, attrType, "v");
setOperationBody(op, ""
/*{
- E result = <%=methodToDelegateName%>(v).findAnyOrNull();
- return result;
+ return <%=methodToDelegateName%>(v).findAnyOrNull();
}*/
);
@@ -970,8 +967,7 @@
addParameter(op, attrType, "v");
setOperationBody(op, ""
/*{
- List<E> result = <%=methodToDelegateName%>(v).findAll();
- return result;
+ return <%=methodToDelegateName%>(v).findAll();
}*/
);
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/PersistenceContextTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/PersistenceContextTransformer.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/PersistenceContextTransformer.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -176,10 +176,13 @@
for (ObjectModelClass clazz : entityClasses) {
String clazzName = clazz.getName();
- String daoClazzName = clazzName + "DAO";
+ // TODO brendan 14/10/13 use method
+ String daoContractName = clazzName + "Dao";
+ String daoClazzName = TopiaGeneratorUtil.getConcreteDaoName(clazz);
+
// specialized getXXXDao method
- op = addOperation(output, "get" + daoClazzName, clazz.getPackageName() + '.' + daoClazzName);
+ op = addOperation(output, "get" + daoContractName, clazz.getPackageName() + '.' + daoClazzName);
addImport(output, clazz);
setOperationBody(op, ""
/*{
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDAO.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDAO.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDAO.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -37,6 +37,7 @@
package org.nuiton.topia.persistence;
+import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
@@ -295,12 +296,6 @@
return result;
}
- /**
- * Cette methode appelle fireVetoableCreate et fireOnCreated Si vous la
- * surchargé, faites attention a appeler le super ou a appeler vous aussi
- * ces deux methodes.
- */
-
public E create(Map<String, Object> properties) {
E result = newInstance();
@@ -327,6 +322,11 @@
return result;
}
+ public E create() {
+ E result = newInstance();
+ create(result);
+ return result;
+ }
public E update(E e) {
try {
@@ -570,6 +570,18 @@
return getNextStep().findFirstOrNull();
}
+ public Optional<E> tryFindAny() {
+ return getNextStep().tryFindAny();
+ }
+
+ public Optional<E> tryFindFirst() {
+ return getNextStep().tryFindFirst();
+ }
+
+ public Optional<E> tryFindUnique() {
+ return getNextStep().tryFindUnique();
+ }
+
public List<E> findAll() {
return getNextStep().findAll();
}
@@ -634,6 +646,10 @@
return topiaDAO.findUniqueOrNull(hql, hqlParameters);
}
+ public Optional<E> tryFindUnique() {
+ return topiaDAO.tryFindUnique(hql, hqlParameters);
+ }
+
public E findFirst() {
return topiaDAO.findFirst(hql, hqlParameters);
}
@@ -642,6 +658,10 @@
return topiaDAO.findFirstOrNull(hql, hqlParameters);
}
+ public Optional<E> tryFindFirst() {
+ return topiaDAO.tryFindFirst(hql, hqlParameters);
+ }
+
public E findAny() {
return topiaDAO.findAny(hql, hqlParameters);
}
@@ -650,6 +670,10 @@
return topiaDAO.findAnyOrNull(hql, hqlParameters);
}
+ public Optional<E> tryFindAny() {
+ return topiaDAO.tryFindAny(hql, hqlParameters);
+ }
+
public List<E> findAll() {
return topiaDAO.findAll(hql, hqlParameters);
}
@@ -698,6 +722,11 @@
return uniqueOrNull;
}
+ protected Optional<E> tryFindUnique(String hql, Map<String, Object> hqlParameters) {
+ Optional<E> uniqueOrNull = tryFindUnique(hql, hqlParameters, getEntityClass());
+ return uniqueOrNull;
+ }
+
protected E findFirst(String hql, Map<String, Object> hqlParameters) {
E firstOrNull = findFirst(hql, hqlParameters, getEntityClass());
return firstOrNull;
@@ -708,6 +737,11 @@
return anyOrNull;
}
+ protected Optional<E> tryFindFirst(String hql, Map<String, Object> hqlParameters) {
+ Optional<E> anyOrNull = tryFindFirst(hql, hqlParameters, getEntityClass());
+ return anyOrNull;
+ }
+
protected E findAny(String hql, Map<String, Object> hqlParameters) {
E anyOrNull = findAny(hql, hqlParameters, getEntityClass());
return anyOrNull;
@@ -718,6 +752,11 @@
return anyOrNull;
}
+ protected Optional<E> tryFindAny(String hql, Map<String, Object> hqlParameters) {
+ Optional<E> anyOrNull = tryFindAny(hql, hqlParameters, getEntityClass());
+ return anyOrNull;
+ }
+
protected <R> R findUnique(String hql, Map<String, Object> hqlParameters, Class<R> type) {
R uniqueOrNull = findUniqueOrNull(hql, hqlParameters, type);
if (uniqueOrNull == null) {
@@ -727,6 +766,11 @@
return uniqueOrNull;
}
+ protected <R> Optional<R> tryFindUnique(String hql, Map<String, Object> hqlParameters, Class<R> type) {
+ R uniqueOrNull = findUniqueOrNull(hql, hqlParameters, type);
+ return Optional.fromNullable(uniqueOrNull);
+ }
+
protected <R> R findUniqueOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type) {
List<R> results = findAll(hql, hqlParameters, type, 0, 1);
// If there is more than 1 result, throw an exception
@@ -750,6 +794,11 @@
return firstOrNull;
}
+ protected <R> Optional<R> tryFindFirst(String hql, Map<String, Object> hqlParameters, Class<R> type) {
+ R firstOrNull = findFirstOrNull(hql, hqlParameters, type);
+ return Optional.fromNullable(firstOrNull);
+ }
+
protected <R> R findFirstOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type) {
Preconditions.checkArgument(hql.toLowerCase().contains("order by"));
R anyOrNull = findAnyOrNull(hql, hqlParameters, type);
@@ -765,6 +814,11 @@
return anyOrNull;
}
+ protected <R> Optional<R> tryFindAny(String hql, Map<String, Object> hqlParameters, Class<R> type) {
+ R anyOrNull = findAnyOrNull(hql, hqlParameters, type);
+ return Optional.fromNullable(anyOrNull);
+ }
+
protected <R> R findAnyOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/TopiaJpaSupportTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/TopiaJpaSupportTest.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/TopiaJpaSupportTest.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -23,8 +23,6 @@
*/
package org.nuiton.topia;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@@ -35,6 +33,8 @@
import org.nuiton.topiatest.Personne;
import org.nuiton.topiatest.PersonneDAO;
+import java.util.List;
+
/**
* Tests the TopiaContext#find|findAll|findUnique methods
*
@@ -56,8 +56,8 @@
persistenceContext = db.beginTransaction();
jpaSupport = persistenceContext.jpaSupport;
- personneDAO = persistenceContext.getPersonneDAO();
- addressDAO = persistenceContext.getAddressDAO();
+ personneDAO = persistenceContext.getPersonneDao();
+ addressDAO = persistenceContext.getAddressDao();
address = addressDAO.create(
Address.PROPERTY_ADRESS, "17 rue de la Pote Gellée, 44200 NANTES");
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -30,7 +30,6 @@
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaDatabase;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaTestDAOHelper;
@@ -124,8 +123,8 @@
// try {
TopiaTestTopiaPersistenceContext newContext = db.beginTransaction();
- CompanyDAO companyDAO = newContext.getCompanyDAO();
- DepartmentDAO departmentDAO = newContext.getDepartmentDAO();
+ CompanyDAO companyDAO = newContext.getCompanyDao();
+ DepartmentDAO departmentDAO = newContext.getDepartmentDao();
Company company = companyDAO.create();
company.setName("Ma société");
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -72,14 +72,14 @@
TopiaTestTopiaPersistenceContext newContext = db.beginTransaction();
try {
// company
- CompanyDAO companyDAO = newContext.getCompanyDAO();
+ CompanyDAO companyDAO = newContext.getCompanyDao();
Company clCompany = companyDAO.create(Company.PROPERTY_NAME, "CodeLutin");
// employe
- EmployeDAO employeDAO = newContext.getEmployeDAO();
+ EmployeDAO employeDAO = newContext.getEmployeDao();
Employe empl1 = employeDAO.create(Employe.PROPERTY_NAME, "boss", Employe.PROPERTY_SALARY, 30000);
- AddressDAO adressDAO = newContext.getAddressDAO();
+ AddressDAO adressDAO = newContext.getAddressDao();
Address addr1 = adressDAO.create(Address.PROPERTY_CITY, "Nantes", Address.PROPERTY_ADRESS, "12 Avenue Jules Vernes");
empl1.setAddress(addr1);
@@ -88,7 +88,7 @@
empl2.setAddress(addr2);
// departement
- DepartmentDAO departmentDAO = newContext.getDepartmentDAO();
+ DepartmentDAO departmentDAO = newContext.getDepartmentDao();
Department depComm = departmentDAO.create(Department.PROPERTY_NAME, "Commercial");
depComm.setLeader(empl1);
@@ -117,7 +117,7 @@
TopiaTestTopiaPersistenceContext context = db.beginTransaction();
- CompanyDAO companyDAO = context.getCompanyDAO();
+ CompanyDAO companyDAO = context.getCompanyDao();
Company clCompany = companyDAO.findByName("CodeLutin");
EntityVisitor delegateVisitor = new ExportXMLVisitor();
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -31,13 +31,10 @@
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaDatabase;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaPersistenceContext;
import org.nuiton.topia.TopiaTestDAOHelper;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
-import org.nuiton.topia.TopiaTransaction;
import org.nuiton.topiatest.NaturalizedEntity;
import org.nuiton.topiatest.NaturalizedEntityDAO;
@@ -65,7 +62,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
NaturalizedEntityDAO dao =
- persistenceContext.getNaturalizedEntityDAO();
+ persistenceContext.getNaturalizedEntityDao();
// No exception will be thrown with the two properties
dao.createByNaturalId(5, "str");
@@ -86,7 +83,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
NaturalizedEntityDAO dao =
- persistenceContext.getNaturalizedEntityDAO();
+ persistenceContext.getNaturalizedEntityDao();
// Exception will be throw
try {
@@ -112,7 +109,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
NaturalizedEntityDAO dao =
- persistenceContext.getNaturalizedEntityDAO();
+ persistenceContext.getNaturalizedEntityDao();
NaturalizedEntity entity =
dao.createByNaturalId(5, "str");
@@ -135,7 +132,7 @@
NaturalizedEntityDAO dao =
- persistenceContext.getNaturalizedEntityDAO();
+ persistenceContext.getNaturalizedEntityDao();
NaturalizedEntity entity =
dao.createByNaturalId(5, "str");
@@ -153,7 +150,7 @@
NaturalizedEntityDAO dao =
- persistenceContext.getNaturalizedEntityDAO();
+ persistenceContext.getNaturalizedEntityDao();
dao.createByNaturalId(5, "str");
persistenceContext.commitTransaction();
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaDAOTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaDAOTest.java 2013-10-11 22:50:35 UTC (rev 2844)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaDAOTest.java 2013-10-15 15:08:16 UTC (rev 2845)
@@ -61,7 +61,7 @@
public void setup() throws TopiaException {
context = db.beginTransaction();
- dao = context.getPersonDAO();
+ dao = context.getPersonDao();
}
/**
_______________________________________________
Topia-commits mailing list
Topia-commits@list.nuiton.org
http://list.nuiton.org/cgi-bin/mailman/listinfo/topia-commits