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
- 4806 discussions
r2857 - in branches/topia-3.0-alpha-3.1: . topia-persistence topia-service-migration topia-service-replication topia-service-security
by tchemit@users.nuiton.org 31 Oct '13
by tchemit@users.nuiton.org 31 Oct '13
31 Oct '13
Author: tchemit
Date: 2013-10-31 23:36:52 +0100 (Thu, 31 Oct 2013)
New Revision: 2857
Url: http://nuiton.org/projects/topia/repository/revisions/2857
Log:
prepare version to release
Modified:
branches/topia-3.0-alpha-3.1/pom.xml
branches/topia-3.0-alpha-3.1/topia-persistence/pom.xml
branches/topia-3.0-alpha-3.1/topia-service-migration/pom.xml
branches/topia-3.0-alpha-3.1/topia-service-replication/pom.xml
branches/topia-3.0-alpha-3.1/topia-service-security/pom.xml
Modified: branches/topia-3.0-alpha-3.1/pom.xml
===================================================================
--- branches/topia-3.0-alpha-3.1/pom.xml 2013-10-31 22:35:50 UTC (rev 2856)
+++ branches/topia-3.0-alpha-3.1/pom.xml 2013-10-31 22:36:52 UTC (rev 2857)
@@ -33,7 +33,7 @@
</parent>
<artifactId>topia</artifactId>
- <version>3.0-alpha-3</version>
+ <version>3.0-alpha-3.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ToPIA</name>
Modified: branches/topia-3.0-alpha-3.1/topia-persistence/pom.xml
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-persistence/pom.xml 2013-10-31 22:35:50 UTC (rev 2856)
+++ branches/topia-3.0-alpha-3.1/topia-persistence/pom.xml 2013-10-31 22:36:52 UTC (rev 2857)
@@ -30,7 +30,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>3.0-alpha-3</version>
+ <version>3.0-alpha-3.1-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: branches/topia-3.0-alpha-3.1/topia-service-migration/pom.xml
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-service-migration/pom.xml 2013-10-31 22:35:50 UTC (rev 2856)
+++ branches/topia-3.0-alpha-3.1/topia-service-migration/pom.xml 2013-10-31 22:36:52 UTC (rev 2857)
@@ -30,7 +30,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>3.0-alpha-3</version>
+ <version>3.0-alpha-3.1-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: branches/topia-3.0-alpha-3.1/topia-service-replication/pom.xml
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-service-replication/pom.xml 2013-10-31 22:35:50 UTC (rev 2856)
+++ branches/topia-3.0-alpha-3.1/topia-service-replication/pom.xml 2013-10-31 22:36:52 UTC (rev 2857)
@@ -30,7 +30,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>3.0-alpha-3</version>
+ <version>3.0-alpha-3.1-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: branches/topia-3.0-alpha-3.1/topia-service-security/pom.xml
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-service-security/pom.xml 2013-10-31 22:35:50 UTC (rev 2856)
+++ branches/topia-3.0-alpha-3.1/topia-service-security/pom.xml 2013-10-31 22:36:52 UTC (rev 2857)
@@ -30,7 +30,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>3.0-alpha-3</version>
+ <version>3.0-alpha-3.1-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
1
0
r2856 - branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework
by tchemit@users.nuiton.org 31 Oct '13
by tchemit@users.nuiton.org 31 Oct '13
31 Oct '13
Author: tchemit
Date: 2013-10-31 23:35:50 +0100 (Thu, 31 Oct 2013)
New Revision: 2856
Url: http://nuiton.org/projects/topia/repository/revisions/2856
Log:
fixes #2882: Hibernate factory is closed by a child context
Modified:
branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java
branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaConnectionProvider.java
Modified: branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java 2013-10-31 22:33:17 UTC (rev 2855)
+++ branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java 2013-10-31 22:35:50 UTC (rev 2856)
@@ -904,7 +904,7 @@
}
}
- // on se desenregistre du context pere et on ferme les connexions si
+ // on se desenregistre du context pere et on ferme les connexions si
// on est pas le root context
if (!equals(getRootContext())) {
closed = true;
@@ -927,16 +927,25 @@
}
/**
- * Pour le context root on ferme tous les fils, et la factory hibernate.
+ * tchemit 2013-01-31 : do nothing on finalize we MUST control cleaning
+ * of resources.
+ *
+ * //Pour le context root on ferme tous les fils, et la factory hibernate.
*/
@Override
protected void finalize() throws Throwable {
- if (hibernateFactory != null) {
- closeContext();
- hibernateFactory.close();
- closed = true;
- log.debug("TopiaContext finalized");
+// if (hibernateFactory != null) {
+// closeContext();
+// hibernateFactory.close();
+// closed = true;
+// log.debug("TopiaContext finalized");
+// }
+ if (!closed) {
+
+ // means resource was not well closed, can't accept this!
+ throw new TopiaException("TopiaContext "+this+" was not closed!");
}
+ super.finalize();
}
@Override
@@ -1264,7 +1273,12 @@
Query query = tx.getHibernate().createSQLQuery(sql);
query.executeUpdate();
tx.closeContext();
- root.finalize();
+ // Do not invoke finalize here, we are not garbage collector...
+ // duplicate then the previous code of the finalize method
+ root.closeContext();
+ root.hibernateFactory.close();
+ root.closed = true;
+// root.finalize();
} catch (Throwable eee) {
throw new TopiaException(
String.format("Error %s on clear operation", eee.getMessage()), eee);
Modified: branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaConnectionProvider.java
===================================================================
--- branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaConnectionProvider.java 2013-10-31 22:33:17 UTC (rev 2855)
+++ branches/topia-3.0-alpha-3.1/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaConnectionProvider.java 2013-10-31 22:35:50 UTC (rev 2856)
@@ -290,8 +290,8 @@
@Override
public void stop() {
- if (log.isDebugEnabled()) {
- log.debug("cleaning up connection pool: " + url);
+ if (log.isInfoEnabled()) {
+ log.info("cleaning up connection pool: " + url);
}
for (Connection connection : pool) {
1
0
Author: tchemit
Date: 2013-10-31 23:33:17 +0100 (Thu, 31 Oct 2013)
New Revision: 2855
Url: http://nuiton.org/projects/topia/repository/revisions/2855
Log:
to fix #2869
Added:
branches/topia-3.0-alpha-3.1/
Property changes on: branches/topia-3.0-alpha-3.1
___________________________________________________________________
Added: svn:ignore
+ *.ipr
*.iws
.classpath
*.iml
.project
target
.settings
.idea
atlassian-ide-plugin.xml
Added: svn:mergeinfo
+ /branches/from2.2.2-eugene2-beta:1662-1714
/branches/topia-2.6.x:2293-2300
1
0
r2854 - trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence
by bleny@users.nuiton.org 31 Oct '13
by bleny@users.nuiton.org 31 Oct '13
31 Oct '13
Author: bleny
Date: 2013-10-31 18:01:00 +0100 (Thu, 31 Oct 2013)
New Revision: 2854
Url: http://nuiton.org/projects/topia/repository/revisions/2854
Log:
refs #2086 add an alias in generated query HqlAndParametersBuilder
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/HqlAndParametersBuilder.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/HqlAndParametersBuilder.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/HqlAndParametersBuilder.java 2013-10-31 14:59:51 UTC (rev 2853)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/HqlAndParametersBuilder.java 2013-10-31 17:01:00 UTC (rev 2854)
@@ -54,6 +54,13 @@
protected Set<String> orderByArguments;
+ protected String alias = "topiaEntity_";
+
+ public void setAlias(String alias) {
+ Preconditions.checkArgument(StringUtils.isNotEmpty(alias));
+ this.alias = alias;
+ }
+
public HqlAndParametersBuilder(Class<E> entityClass) {
this.entityClass = entityClass;
}
@@ -67,7 +74,7 @@
}
public void addNull(String property) {
- whereClauses.add(property + " is null");
+ whereClauses.add(alias + "." + property + " is null");
}
public void setParameters(Map<String, Object> parameters) {
@@ -92,7 +99,7 @@
addNull(property);
} else {
String hqlParameterName = putHqlParameterWithAvailableName(property, value);
- whereClauses.add(property + " = :" + hqlParameterName);
+ whereClauses.add(alias + "." + property + " = :" + hqlParameterName);
}
}
@@ -115,26 +122,26 @@
hqlParameterNames.add(hqlParameterName);
}
}
- String inClause = property + " in (:" + StringUtils.join(hqlParameterNames, ", :")+ ")";
+ String inClause = alias + "." + property + " in (:" + StringUtils.join(hqlParameterNames, ", :")+ ")";
String whereClause = inClause;
if (propertyMayBeNull) {
- whereClause = property + " is null or " + inClause;
+ whereClause = alias + "." + property + " is null or " + inClause;
}
whereClauses.add(whereClause);
}
}
public void addTopiaIdEquals(String property, String topiaId) {
- addEquals(property + "." + TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
+ addEquals(alias + "." + property + "." + TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
}
public void addTopiaIdIn(String property, Iterable<String> topiaIds) {
- addIn(property + "." + TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
+ addIn(alias + "." + property + "." + TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
}
public void addContains(String property, Object value) {
String hqlParameterName = putHqlParameterWithAvailableName(property, value);
- whereClauses.add(":" + hqlParameterName + " in elements(" + property + ")");
+ whereClauses.add(":" + hqlParameterName + " in elements(" + alias + "." + property + ")");
}
public void addWhereClause(String whereClause) {
@@ -149,12 +156,12 @@
public String getHql() {
StringBuilder hqlStringBuilder = new StringBuilder();
- hqlStringBuilder.append("from ").append(entityClass.getCanonicalName());
+ hqlStringBuilder.append("from ").append(entityClass.getCanonicalName()).append(" ").append(alias);
if ( ! whereClauses.isEmpty()) {
hqlStringBuilder.append(" where ").append(StringUtils.join(whereClauses, " and "));
}
if (CollectionUtils.isNotEmpty(orderByArguments)) {
- hqlStringBuilder.append(" order by ").append(StringUtils.join(orderByArguments, ", "));
+ hqlStringBuilder.append(" order by ").append(alias).append(".").append(StringUtils.join(orderByArguments, ", " + alias + "."));
}
String hql = hqlStringBuilder.toString();
return hql;
2
1
r2853 - in trunk/topia-persistence/src/main/java/org/nuiton/topia: generator persistence
by bleny@users.nuiton.org 31 Oct '13
by bleny@users.nuiton.org 31 Oct '13
31 Oct '13
Author: bleny
Date: 2013-10-31 15:59:51 +0100 (Thu, 31 Oct 2013)
New Revision: 2853
Url: http://nuiton.org/projects/topia/repository/revisions/2853
Log:
refs #2086 allow adding criteria to query after using a generated dao method (ie forActive(true)...)
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.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 2013-10-30 17:42:49 UTC (rev 2852)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java 2013-10-31 14:59:51 UTC (rev 2853)
@@ -47,6 +47,7 @@
import org.nuiton.eugene.models.object.ObjectModelOperation;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import java.util.Collection;
import java.util.HashMap;
@@ -426,6 +427,7 @@
}
addImport(daoAbstractClass, List.class);
addImport(daoAbstractClass, TopiaException.class);
+ addImport(daoAbstractClass, TopiaQueryBuilderAddCriteriaOrRunQueryStep.class);
ObjectModelOperation op;
@@ -887,24 +889,24 @@
ObjectModelOperation op;
op = addOperation(result,
getJavaBeanMethodName("for", attrName, "In"),
- "TopiaQueryBuilderRunQueryStep<E>",
+ "TopiaQueryBuilderAddCriteriaOrRunQueryStep<E>",
ObjectModelJavaModifier.PUBLIC);
addParameter(op, "Iterable<" + attrTypeForGeneric + ">", "v");
setOperationBody(op, ""
/*{
- TopiaQueryBuilderRunQueryStep<E> result = forIn(<%=propertyName%>, (Iterable) v);
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = forIn(<%=propertyName%>, (Iterable) v);
return result;
}*/
);
op = addOperation(result,
getJavaBeanMethodName("for", attrName, "Equals"),
- "TopiaQueryBuilderRunQueryStep<E>",
+ "TopiaQueryBuilderAddCriteriaOrRunQueryStep<E>",
ObjectModelJavaModifier.PUBLIC);
addParameter(op, attrType, "v");
setOperationBody(op, ""
/*{
- TopiaQueryBuilderRunQueryStep<E> result = forEquals(<%=propertyName%>, v);
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = forEquals(<%=propertyName%>, v);
return result;
}*/
);
@@ -981,7 +983,7 @@
op = addOperation(result,
getJavaBeanMethodName("for", attrName, "Contains"),
- "TopiaQueryBuilderRunQueryStep<E>",
+ "TopiaQueryBuilderAddCriteriaOrRunQueryStep<E>",
ObjectModelJavaModifier.PUBLIC);
addParameter(op, attrType, "v");
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-30 17:42:49 UTC (rev 2852)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.java 2013-10-31 14:59:51 UTC (rev 2853)
@@ -382,20 +382,20 @@
}
@Override
- public TopiaQueryBuilderRunQueryStep<E> forContains(String propertyName, Object propertyValue) {
- TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addContains(propertyName, propertyValue).getNextStep();
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forContains(String propertyName, Object propertyValue) {
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = newQueryBuilder().addContains(propertyName, propertyValue);
return result;
}
@Override
- public TopiaQueryBuilderRunQueryStep<E> forEquals(String propertyName, Object propertyValue) {
- TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addEquals(propertyName, propertyValue).getNextStep();
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forEquals(String propertyName, Object propertyValue) {
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = newQueryBuilder().addEquals(propertyName, propertyValue);
return result;
}
@Override
- public TopiaQueryBuilderRunQueryStep<E> forIn(String propertyName, Iterable<Object> propertyValues) {
- TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addIn(propertyName, propertyValues).getNextStep();
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forIn(String propertyName, Iterable<Object> propertyValues) {
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = newQueryBuilder().addIn(propertyName, propertyValues);
return result;
}
@@ -614,16 +614,16 @@
}
@Override
- public TopiaQueryBuilderRunQueryStep<E> forTopiaIdEquals(String topiaId) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forTopiaIdEquals(String topiaId) {
Preconditions.checkNotNull(topiaId, "given topiaId is null");
- TopiaQueryBuilderRunQueryStep<E> result = forEquals(TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = forEquals(TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
return result;
}
@Override
- public TopiaQueryBuilderRunQueryStep<E> forTopiaIdIn(Iterable<String> topiaIds) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forTopiaIdIn(Iterable<String> topiaIds) {
Preconditions.checkNotNull(topiaIds, "given topiaIds is null");
- TopiaQueryBuilderRunQueryStep<E> result = forIn(TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> result = forIn(TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
return result;
}
@@ -797,37 +797,37 @@
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addEquals(String property, Object value) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addEquals(String property, Object value) {
hqlAndParametersBuilder.addEquals(property, value);
return this;
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addIn(String property, Iterable<Object> values) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addIn(String property, Iterable<Object> values) {
hqlAndParametersBuilder.addIn(property, values);
return this;
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addContains(String property, Object value) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addContains(String property, Object value) {
hqlAndParametersBuilder.addContains(property, value);
return this;
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addNull(String property) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addNull(String property) {
hqlAndParametersBuilder.addNull(property);
return this;
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addTopiaIdEquals(String property, String topiaId) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addTopiaIdEquals(String property, String topiaId) {
hqlAndParametersBuilder.addTopiaIdEquals(property, topiaId);
return this;
}
@Override
- public TopiaQueryBuilderAddCriteriaStep<E> addTopiaIdIn(String property, Iterable<String> topiaIds) {
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> addTopiaIdIn(String property, Iterable<String> topiaIds) {
hqlAndParametersBuilder.addTopiaIdIn(property, topiaIds);
return this;
}
1
0
r2852 - in trunk/topia-persistence/src: main/java/org/nuiton/topia main/java/org/nuiton/topia/persistence test/java/org/nuiton/topiatest/deletetest
by athimel@users.nuiton.org 30 Oct '13
by athimel@users.nuiton.org 30 Oct '13
30 Oct '13
Author: athimel
Date: 2013-10-30 18:42:49 +0100 (Wed, 30 Oct 2013)
New Revision: 2852
Url: http://nuiton.org/projects/topia/repository/revisions/2852
Log:
Add findByTopiaId methods
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java
trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.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-30 11:16:15 UTC (rev 2851)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/AbstractTopiaPersistenceContext.java 2013-10-30 17:42:49 UTC (rev 2852)
@@ -292,7 +292,9 @@
@Override
public <E extends TopiaEntity, D extends TopiaDAO<E>> D getDao(Class<E> entityClass, Class<D> daoClass) {
- return (D) getDao(entityClass);
+ TopiaDAO<E> dao = getDao(entityClass);
+ D result = (D) dao;
+ return result;
}
@Override
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-30 11:16:15 UTC (rev 2851)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.java 2013-10-30 17:42:49 UTC (rev 2852)
@@ -311,7 +311,8 @@
}
protected HqlAndParametersBuilder<E> newHqlAndParametersBuilder() {
- return new HqlAndParametersBuilder<E>(getEntityClass());
+ HqlAndParametersBuilder<E> result = new HqlAndParametersBuilder<E>(getEntityClass());
+ return result;
}
protected HqlAndParametersBuilder<E> getHqlForProperties(String propertyName,
@@ -319,29 +320,33 @@
Object... otherPropertyNamesAndValues) {
Map<String, Object> properties =
TopiaUtil.convertPropertiesArrayToMap(propertyName, propertyValue, otherPropertyNamesAndValues);
- return getHqlForProperties(properties);
+ HqlAndParametersBuilder<E> result = getHqlForProperties(properties);
+ return result;
}
protected HqlAndParametersBuilder<E> getHqlForNoConstraint() {
Map<String, Object> properties = Collections.emptyMap();
- return getHqlForProperties(properties);
+ HqlAndParametersBuilder<E> result = getHqlForProperties(properties);
+ return result;
}
protected HqlAndParametersBuilder<E> getHqlForProperties(Map<String, Object> properties) {
- HqlAndParametersBuilder<E> hqlAndParametersBuilder = newHqlAndParametersBuilder();
+ HqlAndParametersBuilder<E> result = newHqlAndParametersBuilder();
for (Map.Entry<String, Object> property : properties.entrySet()) {
- hqlAndParametersBuilder.addEquals(property.getKey(), property.getValue());
+ result.addEquals(property.getKey(), property.getValue());
}
- return hqlAndParametersBuilder;
+ return result;
}
protected TopiaQueryBuilderRunQueryStep<E> forHql(String hql) {
Map<String, Object> properties = Collections.emptyMap();
- return forHql(hql, properties);
+ TopiaQueryBuilderRunQueryStep<E> result = forHql(hql, properties);
+ return result;
}
protected TopiaQueryBuilderRunQueryStep<E> forHql(String hql, Map<String, Object> hqlParameters) {
- return new TopiaQueryBuilderRunQueryStep(this, hql, hqlParameters);
+ TopiaQueryBuilderRunQueryStep result = new TopiaQueryBuilderRunQueryStep(this, hql, hqlParameters);
+ return result;
}
protected TopiaQueryBuilderRunQueryStep<E> forHql(String hql, String parameterName,
@@ -349,14 +354,15 @@
Object... otherParameterNamesAndValues) {
Map<String, Object> hqlParameters =
TopiaUtil.convertPropertiesArrayToMap(parameterName, parameterValue, otherParameterNamesAndValues);
- return forHql(hql, hqlParameters);
+ TopiaQueryBuilderRunQueryStep<E> result = forHql(hql, hqlParameters);
+ return result;
}
@Override
public TopiaQueryBuilderAddCriteriaStep<E> forProperties(Map<String, Object> properties) {
HqlAndParametersBuilder<E> hqlAndParametersBuilder = getHqlForProperties(properties);
- TopiaQueryBuilderAddCriteriaStep nextStep = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
- return nextStep;
+ TopiaQueryBuilderAddCriteriaStep result = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
+ return result;
}
@Override
@@ -364,101 +370,105 @@
Object propertyValue,
Object... otherPropertyNamesAndValues) {
HqlAndParametersBuilder<E> hqlAndParametersBuilder = getHqlForProperties(propertyName, propertyValue, otherPropertyNamesAndValues);
- TopiaQueryBuilderAddCriteriaStep nextStep = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
- return nextStep;
+ TopiaQueryBuilderAddCriteriaStep result = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
+ return result;
}
@Override
public TopiaQueryBuilderAddCriteriaStep<E> newQueryBuilder() {
HqlAndParametersBuilder<E> hqlAndParametersBuilder = newHqlAndParametersBuilder();
- TopiaQueryBuilderAddCriteriaStep nextStep = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
- return nextStep;
+ TopiaQueryBuilderAddCriteriaStep result = new TopiaQueryBuilderAddCriteriaStep(this, hqlAndParametersBuilder);
+ return result;
}
@Override
public TopiaQueryBuilderRunQueryStep<E> forContains(String propertyName, Object propertyValue) {
- return newQueryBuilder().addContains(propertyName, propertyValue).getNextStep();
+ TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addContains(propertyName, propertyValue).getNextStep();
+ return result;
}
@Override
public TopiaQueryBuilderRunQueryStep<E> forEquals(String propertyName, Object propertyValue) {
- return newQueryBuilder().addEquals(propertyName, propertyValue).getNextStep();
+ TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addEquals(propertyName, propertyValue).getNextStep();
+ return result;
}
@Override
public TopiaQueryBuilderRunQueryStep<E> forIn(String propertyName, Iterable<Object> propertyValues) {
- return newQueryBuilder().addIn(propertyName, propertyValues).getNextStep();
+ TopiaQueryBuilderRunQueryStep<E> result = newQueryBuilder().addIn(propertyName, propertyValues).getNextStep();
+ return result;
}
protected boolean exists(String hql, Map<String, Object> hqlParameters) {
List<E> entities = topiaJpaSupport.find(hql, 0, 0, hqlParameters);
- boolean exists = !entities.isEmpty();
- return exists;
+ boolean result = !entities.isEmpty();
+ return result;
}
protected long count(String hql, Map<String, Object> hqlParameters) {
Preconditions.checkArgument(hql.toLowerCase().trim().startsWith("select count("));
- Long count = findUnique(hql, hqlParameters, Long.class);
- return count;
+ Long result = findUnique(hql, hqlParameters, Long.class);
+ return result;
}
protected E findUnique(String hql, Map<String, Object> hqlParameters) {
- E unique = findUnique(hql, hqlParameters, getEntityClass());
- return unique;
+ E result = findUnique(hql, hqlParameters, getEntityClass());
+ return result;
}
protected E findUniqueOrNull(String hql, Map<String, Object> hqlParameters) {
- E uniqueOrNull = findUniqueOrNull(hql, hqlParameters, getEntityClass());
- return uniqueOrNull;
+ E result = findUniqueOrNull(hql, hqlParameters, getEntityClass());
+ return result;
}
protected Optional<E> tryFindUnique(String hql, Map<String, Object> hqlParameters) {
- Optional<E> uniqueOrNull = tryFindUnique(hql, hqlParameters, getEntityClass());
- return uniqueOrNull;
+ Optional<E> result = tryFindUnique(hql, hqlParameters, getEntityClass());
+ return result;
}
protected E findFirst(String hql, Map<String, Object> hqlParameters) {
- E firstOrNull = findFirst(hql, hqlParameters, getEntityClass());
- return firstOrNull;
+ E result = findFirst(hql, hqlParameters, getEntityClass());
+ return result;
}
protected E findFirstOrNull(String hql, Map<String, Object> hqlParameters) {
- E anyOrNull = findFirstOrNull(hql, hqlParameters, getEntityClass());
- return anyOrNull;
+ E result = findFirstOrNull(hql, hqlParameters, getEntityClass());
+ return result;
}
protected Optional<E> tryFindFirst(String hql, Map<String, Object> hqlParameters) {
- Optional<E> anyOrNull = tryFindFirst(hql, hqlParameters, getEntityClass());
- return anyOrNull;
+ Optional<E> result = tryFindFirst(hql, hqlParameters, getEntityClass());
+ return result;
}
protected E findAny(String hql, Map<String, Object> hqlParameters) {
- E anyOrNull = findAny(hql, hqlParameters, getEntityClass());
- return anyOrNull;
+ E result = findAny(hql, hqlParameters, getEntityClass());
+ return result;
}
protected E findAnyOrNull(String hql, Map<String, Object> hqlParameters) {
- E anyOrNull = findAnyOrNull(hql, hqlParameters, getEntityClass());
- return anyOrNull;
+ E result = findAnyOrNull(hql, hqlParameters, getEntityClass());
+ return result;
}
protected Optional<E> tryFindAny(String hql, Map<String, Object> hqlParameters) {
- Optional<E> anyOrNull = tryFindAny(hql, hqlParameters, getEntityClass());
- return anyOrNull;
+ Optional<E> result = tryFindAny(hql, hqlParameters, getEntityClass());
+ return result;
}
protected <R> R findUnique(String hql, Map<String, Object> hqlParameters, Class<R> type) {
- R uniqueOrNull = findUniqueOrNull(hql, hqlParameters, type);
- if (uniqueOrNull == null) {
+ R result = findUniqueOrNull(hql, hqlParameters, type);
+ if (result == null) {
// TODO brendan 30/09/13 throw another exception if no result
throw new TopiaException("query " + hql + " returns no elements");
}
- return uniqueOrNull;
+ return result;
}
protected <R> Optional<R> tryFindUnique(String hql, Map<String, Object> hqlParameters, Class<R> type) {
R uniqueOrNull = findUniqueOrNull(hql, hqlParameters, type);
- return Optional.fromNullable(uniqueOrNull);
+ Optional<R> result = Optional.fromNullable(uniqueOrNull);
+ return result;
}
protected <R> R findUniqueOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type) {
@@ -471,85 +481,87 @@
throw new TopiaException(message);
}
// otherwise return the first one, or null
- R uniqueOrNull = Iterables.getOnlyElement(results, null);
- return uniqueOrNull;
+ R result = Iterables.getOnlyElement(results, null);
+ return result;
}
protected <R> R findFirst(String hql, Map<String, Object> hqlParameters, Class<R> type) {
- R firstOrNull = findFirstOrNull(hql, hqlParameters, type);
- if (firstOrNull == null) {
+ R result = findFirstOrNull(hql, hqlParameters, type);
+ if (result == null) {
// TODO brendan 30/09/13 throw another exception if no result
throw new TopiaException("query " + hql + " returns no elements");
}
- return firstOrNull;
+ return result;
}
protected <R> Optional<R> tryFindFirst(String hql, Map<String, Object> hqlParameters, Class<R> type) {
R firstOrNull = findFirstOrNull(hql, hqlParameters, type);
- return Optional.fromNullable(firstOrNull);
+ Optional<R> result = Optional.fromNullable(firstOrNull);
+ return result;
}
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);
- return anyOrNull;
+ R result = findAnyOrNull(hql, hqlParameters, type);
+ return result;
}
protected <R> R findAny(String hql, Map<String, Object> hqlParameters, Class<R> type) {
- R anyOrNull = findAnyOrNull(hql, hqlParameters, type);
- if (anyOrNull == null) {
+ R result = findAnyOrNull(hql, hqlParameters, type);
+ if (result == null) {
// TODO brendan 30/09/13 throw another exception if no result
- throw new TopiaException("query " + hql + " returns no elements");
+ throw new TopiaException(String.format("Query '%s' returns no elements", hql));
}
- return anyOrNull;
+ return result;
}
protected <R> Optional<R> tryFindAny(String hql, Map<String, Object> hqlParameters, Class<R> type) {
R anyOrNull = findAnyOrNull(hql, hqlParameters, type);
- return Optional.fromNullable(anyOrNull);
+ Optional<R> result = Optional.fromNullable(anyOrNull);
+ return result;
}
protected <R> R findAnyOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
List<R> results = findAll(hql, hqlParameters, type, 0, 0);
- R anyOrNull = Iterables.getOnlyElement(results, null);
- return anyOrNull;
+ R result = Iterables.getOnlyElement(results, null);
+ return result;
}
protected List<E> findAll(String hql, Map<String, Object> hqlParameters) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
- List<E> all = topiaJpaSupport.findAll(hql, hqlParameters);
- return all;
+ List<E> result = topiaJpaSupport.findAll(hql, hqlParameters);
+ return result;
}
protected List<E> findAll(String hql, Map<String, Object> hqlParameters, int startIndex, int endIndex) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
- List<E> all = topiaJpaSupport.find(hql, startIndex, endIndex, hqlParameters);
- return all;
+ List<E> result = topiaJpaSupport.find(hql, startIndex, endIndex, hqlParameters);
+ return result;
}
protected List<E> findAll(String hql, Map<String, Object> hqlParameters, TopiaPagerBean pager) {
- List<E> all = findAll(hql, hqlParameters, getEntityClass(), pager);
- return all;
+ List<E> result = findAll(hql, hqlParameters, getEntityClass(), pager);
+ return result;
}
protected <R> List<R> findAll(String hql, Map<String, Object> hqlParameters, Class<R> type) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
Preconditions.checkNotNull(type);
- List<R> all = topiaJpaSupport.findAll(hql, hqlParameters);
- return all;
+ List<R> result = topiaJpaSupport.findAll(hql, hqlParameters);
+ return result;
}
protected <R> List<R> findAll(String hql, Map<String, Object> hqlParameters, Class<R> type, int startIndex, int endIndex) {
Preconditions.checkNotNull(hql);
Preconditions.checkNotNull(hqlParameters);
Preconditions.checkNotNull(type);
- List<R> all = topiaJpaSupport.find(hql, startIndex, endIndex, hqlParameters);
- return all;
+ List<R> result = topiaJpaSupport.find(hql, startIndex, endIndex, hqlParameters);
+ return result;
}
protected <R> List<R> findAll(String hql, Map<String, Object> hqlParameters, Class<R> type, TopiaPagerBean pager) {
@@ -575,8 +587,8 @@
}
protected Iterable<E> findAllLazy(String hql, Map<String, Object> hqlParameters) {
- Iterable<E> allLazy = findAllLazy(hql, hqlParameters, getEntityClass());
- return allLazy;
+ Iterable<E> result = findAllLazy(hql, hqlParameters, getEntityClass());
+ return result;
}
protected <R> Iterable<R> findAllLazy(String hql, Map<String, Object> hqlParameters, Class<R> type) {
@@ -604,45 +616,60 @@
@Override
public TopiaQueryBuilderRunQueryStep<E> forTopiaIdEquals(String topiaId) {
Preconditions.checkNotNull(topiaId, "given topiaId is null");
- return forEquals(TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
+ TopiaQueryBuilderRunQueryStep<E> result = forEquals(TopiaEntity.PROPERTY_TOPIA_ID, topiaId);
+ return result;
}
@Override
public TopiaQueryBuilderRunQueryStep<E> forTopiaIdIn(Iterable<String> topiaIds) {
Preconditions.checkNotNull(topiaIds, "given topiaIds is null");
- return forIn(TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
+ TopiaQueryBuilderRunQueryStep<E> result = forIn(TopiaEntity.PROPERTY_TOPIA_ID, (Iterable) topiaIds);
+ return result;
}
@Override
+ public E findByTopiaId(String id) {
+ // AThimel 30/10/13 Not using findUnique to avoid querying several elements (cf. findUnique implementation)
+ E result = forTopiaIdEquals(id).findAny();
+ return result;
+ }
+
+ @Override
+ public Optional<E> tryFindByTopiaId(String topiaId) {
+ Optional<E> result = forTopiaIdEquals(topiaId).tryFindAny();
+ return result;
+ }
+
+ @Override
public List<String> findAllIds() {
- List<String> find = newQueryBuilder().findAllIds();
- return find;
+ List<String> result = newQueryBuilder().findAllIds();
+ return result;
}
@Override
public List<E> findAll() {
- List<E> all = newQueryBuilder().findAll();
- return all;
+ List<E> result = newQueryBuilder().findAll();
+ return result;
}
@Override
public Iterable<E> findAllLazy() {
String hql = "from " + getTopiaEntityEnum().getImplementationFQN() + " order by id";
Map<String, Object> hqlParameters = Collections.emptyMap();
- Iterable<E> allLazy = findAllLazy(hql, hqlParameters);
- return allLazy;
+ Iterable<E> result = findAllLazy(hql, hqlParameters);
+ return result;
}
@Override
public Iterator<E> iterator() {
- Iterator<E> iterator = findAllLazy().iterator();
- return iterator;
+ Iterator<E> result = findAllLazy().iterator();
+ return result;
}
@Override
public long count() {
- long count = newQueryBuilder().count();
- return count;
+ long result = newQueryBuilder().count();
+ return result;
}
/**
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-30 11:16:15 UTC (rev 2851)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-30 17:42:49 UTC (rev 2852)
@@ -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.Iterators;
@@ -973,6 +974,11 @@
}
@Override
+ public Optional<E> tryFindByTopiaId(String topiaId) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
public TopiaQueryBuilderRunQueryStep<E> forIn(String propertyName, Iterable<Object> propertyValues) {
throw new UnsupportedOperationException("Please use new Dao implementations");
}
@@ -1043,17 +1049,17 @@
@Override
public <E1> List<E1> findAll(String hql, Object... propertyNamesAndValues) throws TopiaException {
- throw new UnsupportedOperationException("Do not use this DAO implementation");
+ throw new UnsupportedOperationException("Please use new Dao implementations");
}
@Override
public <E1> List<E1> find(String hql, int startIndex, int endIndex, Object... propertyNamesAndValues) throws TopiaException {
- throw new UnsupportedOperationException("Do not use this DAO implementation");
+ throw new UnsupportedOperationException("Please use new Dao implementations");
}
@Override
public <E1> E1 findUnique(String hql, Object... propertyNamesAndValues) throws TopiaException {
- throw new UnsupportedOperationException("Do not use this DAO implementation");
+ throw new UnsupportedOperationException("Please use new Dao implementations");
}
} //TopiaDAOImpl
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java 2013-10-30 11:16:15 UTC (rev 2851)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java 2013-10-30 17:42:49 UTC (rev 2852)
@@ -1,10 +1,12 @@
package org.nuiton.topia.persistence;
+import java.util.List;
+import java.util.Map;
+
import org.nuiton.topia.event.TopiaEntityListener;
import org.nuiton.topia.event.TopiaEntityVetoable;
-import java.util.List;
-import java.util.Map;
+import com.google.common.base.Optional;
/**
* This contract represents the common operation any DAO should
@@ -24,7 +26,7 @@
/**
* Obtains the batch size used to load data.
- *
+ * <p/>
* Default value if 1000.
*
* @return the batch size.
@@ -148,8 +150,9 @@
* @since 3.0
*/
TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forProperties(String propertyName,
- Object propertyValue,
- Object... otherPropertyNamesAndValues);
+ Object propertyValue,
+ Object... otherPropertyNamesAndValues);
+
/**
* @since 3.0
*/
@@ -176,8 +179,28 @@
TopiaQueryBuilderRunQueryStep<E> forTopiaIdEquals(String topiaId);
/**
+ * Tries to find the entity with the given topiaId. If not found, an exception will be thrown.
+ * <p/>
+ * IMPORTANT : The behavior of the method changes in ToPIA 3.0 because an exception is thrown if no entity found.
+ *
+ * @param topiaId the identifier of the entity to look for
+ * @return The entity found
+ * @throws SomeException when not result is found // TODO AThimel 30/10/13 Find the right exception
+ */
+ E findByTopiaId(String topiaId);
+
+ /**
+ * Tries to find the entity with the given topiaId. If not found, the result.isPresent() will be <code>false</code>.
+ *
+ * @param topiaId the identifier of the entity to look for
+ * @return The entity found wrapped by an Optional
* @since 3.0
*/
+ Optional<E> tryFindByTopiaId(String topiaId);
+
+ /**
+ * @since 3.0
+ */
TopiaQueryBuilderRunQueryStep<E> forTopiaIdIn(Iterable<String> topiaIds);
void addTopiaEntityListener(TopiaEntityListener listener);
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2013-10-30 11:16:15 UTC (rev 2851)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2013-10-30 17:42:49 UTC (rev 2852)
@@ -96,7 +96,7 @@
log.debug("DELETE PERSONNE");
dao.delete(personne);
transaction.commitTransaction();
- Personne res = dao.findByTopiaId(idPersonne);
+ Personne res = dao.forTopiaIdEquals(idPersonne).findAnyOrNull();
assertNull(res);
log.debug("ENTITY PERSONNE DELETED !");
@@ -113,7 +113,7 @@
log.debug("DELETE PERSONNE with PartyDAO");
dao2.delete(personne2);
transaction.commitTransaction();
- Party2 res2 = dao2.findByTopiaId(idPersonne2);
+ Party2 res2 = dao2.forTopiaIdEquals(idPersonne2).findAnyOrNull();
assertNull(res2);
log.debug("ENTITY PERSONNE DELETED !");
@@ -161,7 +161,7 @@
log.debug("DELETE PERSONNE");
dao.delete(personne);
transaction.commitTransaction();
- Personne res = dao.findByTopiaId(idPersonne);
+ Personne res = dao.forTopiaIdEquals(idPersonne).findAnyOrNull();
assertNull(res);
log.debug("ENTITY PERSONNE DELETED !");
@@ -170,7 +170,7 @@
log.debug("DELETE CONTACT");
contactDAO.delete(contact);
transaction.commitTransaction();
- Contact2 res2 = contactDAO.findByTopiaId(idContact);
+ Contact2 res2 = contactDAO.forTopiaIdEquals(idContact).findAnyOrNull();
assertNull(res2);
log.debug("ENTITY PERSONNE DELETED !");
1
0
r2851 - in trunk: src/site/rst 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/java/org/nuiton/topia/persistence
by athimel@users.nuiton.org 30 Oct '13
by athimel@users.nuiton.org 30 Oct '13
30 Oct '13
Author: athimel
Date: 2013-10-30 12:16:15 +0100 (Wed, 30 Oct 2013)
New Revision: 2851
Url: http://nuiton.org/projects/topia/repository/revisions/2851
Log:
Fix behavior when using new Dao with foreign TopiaContext
Modified:
trunk/src/site/rst/migrate_to_3.0.rst
trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaQueryBuilderRunQueryStep.java
Modified: trunk/src/site/rst/migrate_to_3.0.rst
===================================================================
--- trunk/src/site/rst/migrate_to_3.0.rst 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/src/site/rst/migrate_to_3.0.rst 2013-10-30 11:16:15 UTC (rev 2851)
@@ -178,6 +178,39 @@
- Expected class declaration is : public class AbstractZoneTopiaDao<E extends Zone> extends GeneratedZoneTopiaDao<E> {
+Méthodes findAll, find et findUnique sur TopiaContext
+-----------------------------------------------------
+|MANDATORY|
+
+Si vous utilisiez ces méthodes, il est désormais recommandé de les utiliser méthodes sur le Dao associé à votre éntité
+ou par l'intermédiare du **TopiaJpaSupport**.
+
+Depuis un Dao surchargé
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Pour faciliter la migration, ces méthodes ont été portées sur l'interface deprecated **TopiaDAO**. Donc si dans votre
+Dao vous faisiez :
+
+::
+
+ List<Zone> zones = context.find("FROM Zone WHERE name=:name" , startIndex, endIndex, "name", "Principale");
+
+Il vous suffit de retirer le "context." :
+
+::
+
+ List<Zone> zones = find("FROM Zone WHERE name=:name" , startIndex, endIndex, "name", "Principale");
+
+Dans tous les cas
+~~~~~~~~~~~~~~~~~
+
+Dans tous les cas, ces méthodes étant dépréciées, vous devriez consulter leur Javadoc pour savoir par quels appels de
+méthodes les remplacer.
+
+
+
+
+
.. |RECOMMENDED| image:: recommended.png
.. |MANDATORY| image:: mandatory.png
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -53,6 +53,7 @@
* @author athimel <thimel(a)codelutin.com>
* @version $Id$
*/
+@Deprecated
public interface TopiaContext extends TopiaTransaction, TopiaListenableSupport, TopiaSqlSupport, TopiaJpaSupport,
TopiaPersistenceContext, TopiaServiceSupport, TopiaReplicationSupport, TopiaReplicationDestination, TopiaHibernateSupport {
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/AbstractTopiaContext.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -737,7 +737,7 @@
// looking for specialized DAO
// normalement il en existe un car il est généré automatiquement
// si on utilise la génération
- String daoClassname = entityClass.getName() + "DAO";
+ String daoClassname = entityClass.getName() + "TopiaDao";
try {
Class<TopiaDAO<E>> daoClass =
(Class<TopiaDAO<E>>) Class.forName(daoClassname);
@@ -763,7 +763,9 @@
@Override
public <E extends TopiaEntity, D extends TopiaDAO<E>> D getDao(Class<E> entityClass,
Class<D> daoClass) throws TopiaException {
- return (D) getDao(entityClass);
+ TopiaDAO<E> dao = getDao(entityClass);
+ D result = (D) dao;
+ return result;
}
@Override
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-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -599,9 +599,11 @@
body.append(""
/*{
{
- List<<%=attrSimpleType%>> list = topiaDaoSupplier
- .getDao(<%=attrSimpleType%>.class, <%=attrConcreteDaoClassName%>.class)
- .forProperties(<%=attrSimpleType%>.<%=getConstantName(reverseAttrName)%>, entity).findAll();
+ <%=attrConcreteDaoClassName%> dao = topiaDaoSupplier
+ .getDao(<%=attrSimpleType%>.class, <%=attrConcreteDaoClassName%>.class);
+ List<<%=attrSimpleType%>> list = dao
+ .forProperties(<%=attrSimpleType%>.<%=getConstantName(reverseAttrName)%>, entity)
+ .findAll();
for (<%=attrSimpleType%> item : list) {
// sletellier : Set null only if target is concerned by deletion
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-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/AbstractTopiaDao.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -81,7 +81,7 @@
* @author bpoussin <poussin(a)codelutin.com>
* @version $Id$
*/
-public abstract class AbstractTopiaDao<E extends TopiaEntity> extends LegacyTopiaDao<E> {
+public abstract class AbstractTopiaDao<E extends TopiaEntity> extends LegacyTopiaDao<E> implements TopiaDao<E> {
/** to use log facility, just put in your code: log.info(\"...\"); */
private static Log log = LogFactory.getLog(AbstractTopiaDao.class);
@@ -863,8 +863,8 @@
}
@Override
- public List<E> findAll(int startIndex, int endIndex) {
- return getNextStep().findAll(startIndex, endIndex);
+ public List<E> find(int startIndex, int endIndex) {
+ return getNextStep().find(startIndex, endIndex);
}
@Override
@@ -878,8 +878,8 @@
}
@Override
- public List<String> findAllIds(int startIndex, int endIndex) {
- return getNextStep().findAllIds(startIndex, endIndex);
+ public List<String> findIds(int startIndex, int endIndex) {
+ return getNextStep().findIds(startIndex, endIndex);
}
@Override
@@ -977,7 +977,7 @@
}
@Override
- public List<E> findAll(int startIndex, int endIndex) {
+ public List<E> find(int startIndex, int endIndex) {
return topiaDAO.findAll(hql, hqlParameters, startIndex, endIndex);
}
@@ -989,7 +989,7 @@
}
@Override
- public List<String> findAllIds(int startIndex, int endIndex) {
+ public List<String> findIds(int startIndex, int endIndex) {
// XXX brendan 30/09/13 does this truely work ?
String hqlWithSelectClause = "select topiaId " + hql;
return topiaDAO.findAll(hqlWithSelectClause, hqlParameters, String.class, startIndex, endIndex);
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -3,6 +3,7 @@
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.framework.TopiaUtil;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
@@ -15,6 +16,7 @@
/**
* Implements deprecated method from {@link TopiaDAO}, should be deleted.
*/
+@Deprecated
public abstract class LegacyTopiaDao<E extends TopiaEntity> implements TopiaDAO<E> {
@Override
@@ -61,7 +63,7 @@
@Deprecated
public <R> R findByQuery(Class<R> type, String hql, Object... propertyNamesAndValues) {
Map<String, Object> properties = TopiaUtil.convertPropertiesArrayToMap(propertyNamesAndValues);
- return findAny(hql, properties, type);
+ return findAnyOrNull(hql, properties, type);
}
@Override
@@ -145,8 +147,7 @@
Preconditions.checkNotNull(StringUtils.isNotBlank(hql));
Preconditions.checkArgument(hql.toUpperCase().trim().startsWith("SELECT COUNT("));
Map<String, Object> hqlParameters = TopiaUtil.convertPropertiesArrayToMap(propertyNamesAndValues);
- // FIXME AThimel 30/10/13 This cannot work : the final query will be "select count(topiaId) select count(...) ..."
- long count = forHql(hql, hqlParameters).count();
+ long count = findAny(hql, hqlParameters, Long.class);
return count;
}
@@ -297,6 +298,8 @@
protected abstract <R> R findAny(String hql, Map<String, Object> properties, Class<R> type);
+ protected abstract <R> R findAnyOrNull(String hql, Map<String, Object> hqlParameters, Class<R> type);
+
protected abstract TopiaQueryBuilderRunQueryStep<E> forHql(String hql, Map<String, Object> hqlParameters);
protected abstract <R> List<R> findAll(String hql, Map<String, Object> hqlParameters, Class<R> type);
@@ -305,6 +308,27 @@
protected abstract <R> List<R> findAll(String hql, Map<String, Object> hqlParameters, Class<R> type, int startIndex, int endIndex);
+ protected abstract <R> R findUnique(String hql, Map<String, Object> hqlParameters, Class<R> type);
+
protected abstract boolean exists(String hql, Map<String, Object> hqlParameters);
+ @Override
+ @Deprecated
+ public <E1> List<E1> findAll(String hql, Object... propertyNamesAndValues) throws TopiaException {
+ return (List<E1>) findAllByQuery(hql, propertyNamesAndValues);
+ }
+
+ @Override
+ @Deprecated
+ public <E1> List<E1> find(String hql, int startIndex, int endIndex, Object... propertyNamesAndValues) throws TopiaException {
+ return (List<E1>) findAllByQueryWithBound(hql, startIndex, endIndex, propertyNamesAndValues);
+ }
+
+ @Override
+ @Deprecated
+ public <E1> E1 findUnique(String hql, Object... propertyNamesAndValues) throws TopiaException {
+ Map<String, Object> hqlParameters = TopiaUtil.convertPropertiesArrayToMap(propertyNamesAndValues);
+ return (E1) findUnique(hql, hqlParameters, Object.class);
+ }
+
}
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -618,5 +618,69 @@
List<Permission> getRequestPermission(String topiaId,
int actions) throws TopiaException;
+ // The next 3 methods are copied from TopiaContext in order to facilitate migration
+
+ /**
+ * Allow to do some HQL query
+ * <p/>
+ * WARNING : Depending on the registered service, this method may not
+ * support something else than queries on TopiaEntity
+ *
+ * @param hql the HQL query
+ * @param propertyNamesAndValues the query parameters. Arguments are key-value paired :
+ * [propertyName;value;propertyName;value;...]
+ * @return The result list
+ * @throws TopiaException for any error during querying
+ * @deprecated use method from {@link org.nuiton.topia.TopiaJpaSupport}
+ */
+ @Deprecated
+ <E> List<E> findAll(String hql,
+ Object... propertyNamesAndValues) throws TopiaException;
+
+ /**
+ * Allow to do some JPA-QL query using the given bounds.
+ * <p/>
+ * No lower bound : <code>startIndex</code> = 0.<br/>
+ * No upper bound : <code>endIndex</code> = -1.
+ * <p/>
+ * WARNING : Depending on the registered service, this method may not
+ * support something else than queries on TopiaEntity
+ *
+ * @param hql the HQL query
+ * @param startIndex first index of entity to return
+ * @param endIndex last index of entity to return
+ * @param propertyNamesAndValues the query parameters. Arguments are key-value paired :
+ * [propertyName;value;propertyName;value;...]
+ * @return The result list
+ * @throws TopiaException for any error during querying
+ * @deprecated use method from {@link org.nuiton.topia.TopiaJpaSupport}
+ */
+ @Deprecated
+ <E> List<E> find(String hql,
+ int startIndex,
+ int endIndex,
+ Object... propertyNamesAndValues) throws TopiaException;
+
+ /**
+ * Allow to do some HQL query and return an unique result. If nothing if
+ * found by the query, will return null. If more than one result is found,
+ * will throw an exception.
+ * <p/>
+ * WARNING : Depending on the registered service, this method may not
+ * support something else than queries on TopiaEntity
+ *
+ * @param hql the HQL query
+ * @param propertyNamesAndValues the query parameters. Arguments are key-value paired :
+ * [propertyName;value;propertyName;value;...]
+ * @return The result instance or null
+ * @throws TopiaException for any error during querying or if the the query
+ * returns more than one result.
+ * @deprecated use method from {@link org.nuiton.topia.TopiaJpaSupport}
+ */
+ @Deprecated
+ <E> E findUnique(String hql,
+ Object... propertyNamesAndValues) throws TopiaException;
+
+
} //TopiaDAO
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -1041,4 +1041,19 @@
return entities;
}
+ @Override
+ public <E1> List<E1> findAll(String hql, Object... propertyNamesAndValues) throws TopiaException {
+ throw new UnsupportedOperationException("Do not use this DAO implementation");
+ }
+
+ @Override
+ public <E1> List<E1> find(String hql, int startIndex, int endIndex, Object... propertyNamesAndValues) throws TopiaException {
+ throw new UnsupportedOperationException("Do not use this DAO implementation");
+ }
+
+ @Override
+ public <E1> E1 findUnique(String hql, Object... propertyNamesAndValues) throws TopiaException {
+ throw new UnsupportedOperationException("Do not use this DAO implementation");
+ }
+
} //TopiaDAOImpl
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaQueryBuilderRunQueryStep.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaQueryBuilderRunQueryStep.java 2013-10-30 01:17:00 UTC (rev 2850)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaQueryBuilderRunQueryStep.java 2013-10-30 11:16:15 UTC (rev 2851)
@@ -35,10 +35,10 @@
Iterable<E> findAllLazy();
- List<E> findAll(int startIndex, int endIndex);
+ List<E> find(int startIndex, int endIndex);
List<String> findAllIds();
- List<String> findAllIds(int startIndex, int endIndex);
+ List<String> findIds(int startIndex, int endIndex);
}
1
0
r2850 - in trunk/topia-persistence/src/main/java/org/nuiton/topia: generator persistence
by athimel@users.nuiton.org 30 Oct '13
by athimel@users.nuiton.org 30 Oct '13
30 Oct '13
Author: athimel
Date: 2013-10-30 02:17:00 +0100 (Wed, 30 Oct 2013)
New Revision: 2850
Url: http://nuiton.org/projects/topia/repository/revisions/2850
Log:
Deprecated generated ProjectDAOHelper
Keep old getDAO method in ProjectDAOHelper
Improve display for migration help in console
Add missing import in GeneratedXxxTopiaDao
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java 2013-10-25 22:18:09 UTC (rev 2849)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java 2013-10-30 01:17:00 UTC (rev 2850)
@@ -154,6 +154,8 @@
addImport(daoHelper, EntityOperatorStore.class);
}
+ addAnnotation(daoHelper, daoHelper, Deprecated.class);
+
// add non public constructor
ObjectModelOperation constructor =
addConstructor(daoHelper, ObjectModelJavaModifier.PROTECTED);
@@ -196,6 +198,19 @@
}
+ // obsolete generic getDAO method
+ op = addOperation(daoHelper, "getDAO", "<T extends TopiaEntity, D extends TopiaDAO<? super T>> D", ObjectModelJavaModifier.PUBLIC, ObjectModelJavaModifier.STATIC);
+ addParameter(op, TopiaContext.class, "context");
+ addParameter(op, "Class<T>", "klass");
+ addException(op, TopiaException.class);
+ addAnnotation(daoHelper, op, Deprecated.class);
+ setOperationBody(op, ""
+/*{
+ D dao = getDao(context, klass);
+ return dao;
+ }*/
+ );
+
// generic getDao method
op = addOperation(daoHelper, "getDao", "<T extends TopiaEntity, D extends TopiaDAO<? super T>> D", ObjectModelJavaModifier.PUBLIC, ObjectModelJavaModifier.STATIC);
addParameter(op, TopiaContext.class, "context");
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-25 22:18:09 UTC (rev 2849)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java 2013-10-30 01:17:00 UTC (rev 2850)
@@ -378,10 +378,11 @@
String format = "public class %s%s extends %s {";
String superclassName = superclassQualifiedName.substring(superclassQualifiedName.lastIndexOf('.') + 1);
String daoDeclaration = String.format(format, daoName, Strings.nullToEmpty(daoGenerics), superclassName);
- String warnMessage = "Legacy DAO detected !%n" +
- " - You should consider renaming '%s' to '%s.%s'%n" +
- " - Expected class declaration is : %s";
- log.warn(String.format(warnMessage, legacyDaoFqn, packageName, daoName, daoDeclaration));
+ String warnMessage = "Legacy DAO detected : %s !%n" +
+ " - You should consider renaming '%s' to '%s'%n" +
+ " - Expected class declaration is : %s%n" +
+ "%n"; // AThimel 29/10/13 Add a new line for log clearness
+ log.warn(String.format(warnMessage, legacyDaoFqn, legacyDaoName, daoName, daoDeclaration));
}
}
@@ -588,6 +589,7 @@
// TODO peut-etre qu'hibernate est capable de faire ca tout seul ?
// THIMEL: J'ai remplacé reverse.getName() par reverseAttrName sans certitude
addImport(result, attrType);
+ addImport(result, attr.getType() + "TopiaDao"); // AThimel 30/10/13 Not using attrType because we need FQN // Can use TopiaGeneratorUtil.getConcreteDaoFqn(...) ?
String attrSimpleType = TopiaGeneratorUtil.getClassNameFromQualifiedName(attrType);
// XXX brendan 04/10/13 do not hard code concrete dao name
String attrConcreteDaoClassName = attrSimpleType + "TopiaDao";
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java 2013-10-25 22:18:09 UTC (rev 2849)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/LegacyTopiaDao.java 2013-10-30 01:17:00 UTC (rev 2850)
@@ -145,6 +145,7 @@
Preconditions.checkNotNull(StringUtils.isNotBlank(hql));
Preconditions.checkArgument(hql.toUpperCase().trim().startsWith("SELECT COUNT("));
Map<String, Object> hqlParameters = TopiaUtil.convertPropertiesArrayToMap(propertyNamesAndValues);
+ // FIXME AThimel 30/10/13 This cannot work : the final query will be "select count(topiaId) select count(...) ..."
long count = forHql(hql, hqlParameters).count();
return count;
}
1
0
r2849 - in trunk: src/site/rst topia-persistence/src/main/java/org/nuiton/topia topia-persistence/src/main/java/org/nuiton/topia/generator
by athimel@users.nuiton.org 25 Oct '13
by athimel@users.nuiton.org 25 Oct '13
25 Oct '13
Author: athimel
Date: 2013-10-26 00:18:09 +0200 (Sat, 26 Oct 2013)
New Revision: 2849
Url: http://nuiton.org/projects/topia/repository/revisions/2849
Log:
Display a WARN message if some Legacy Dao is detected
Modified:
trunk/src/site/rst/migrate_to_3.0.rst
trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaPersistenceContext.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java
Modified: trunk/src/site/rst/migrate_to_3.0.rst
===================================================================
--- trunk/src/site/rst/migrate_to_3.0.rst 2013-10-25 14:48:13 UTC (rev 2848)
+++ trunk/src/site/rst/migrate_to_3.0.rst 2013-10-25 22:18:09 UTC (rev 2849)
@@ -71,14 +71,7 @@
La classe sera supprimée. Pour manipuler les topiaId, il faut utiliser le **TopiaIdFactory**.
-TopiaEntities#getTopiaIdFunction()
-----------------------------------
-|RECOMMENDED|
-
-La méthode est dépréciée, il faut maintenant utiliser ``TopiaEntities#GET_TOPIA_ID``.
-
-
TopiaContextImplementor est déprécié
------------------------------------
@@ -138,5 +131,53 @@
**TopiaSchemaListener**.
+Transformer pour la génération des Dao
+--------------------------------------
+
+|RECOMMENDED|
+
+Si vous utilisiez explicitment le Transformer de DAO dans la configuration de votre plugin Eugene, il faut maintenant
+changer le nouveau Transformer : org.nuiton.topia.generator.EntityDaoTransformer
+
+Exemple de configuration :
+
+::
+
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>eugene-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-entities</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:model:/:myProject.objectmodel</inputs>
+ <defaultPackage>org.project.entities</defaultPackage>
+ <templates>
+ org.nuiton.topia.generator.EntityDaoTransformer
+ </templates>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+
+|RECOMMENDED|
+
+Si vous aviez surchargé certains des Dao générés, vous devrez probablement les renommer et changer leur signature.
+Surveillez les logs de génération des Dao à la recherche des messages tels que :
+
+::
+
+ WARN [main] (EntityDaoTransformer.java:384) warnOnLegacyClassDetected - Legacy DAO detected !
+ - You should consider renaming 'org.project.entities.ZoneDAOImpl' to 'org.project.entities.AbstractZoneTopiaDao'
+ - Expected class declaration is : public class AbstractZoneTopiaDao<E extends Zone> extends GeneratedZoneTopiaDao<E> {
+
+
+
.. |RECOMMENDED| image:: recommended.png
.. |MANDATORY| image:: mandatory.png
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaPersistenceContext.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaPersistenceContext.java 2013-10-25 14:48:13 UTC (rev 2848)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaPersistenceContext.java 2013-10-25 22:18:09 UTC (rev 2849)
@@ -38,7 +38,8 @@
* @author Arnaud Thimel <thimel(a)codelutin.com>
* @since 3.0
*/
-public interface TopiaPersistenceContext extends TopiaReplicationSupport, TopiaReplicationDestination, TopiaDaoSupplier, TopiaTransaction {
+public interface TopiaPersistenceContext extends TopiaReplicationSupport, TopiaReplicationDestination,
+ TopiaDaoSupplier, TopiaTransaction {
/**
* Retrieve {@link org.nuiton.topia.persistence.TopiaEntity} using its unique {@code topiaId}.
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-25 14:48:13 UTC (rev 2848)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDaoTransformer.java 2013-10-25 22:18:09 UTC (rev 2849)
@@ -27,6 +27,7 @@
/*{generator option: parentheses = false}*/
/*{generator option: writeString = +}*/
+import com.google.common.base.Strings;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -310,16 +311,24 @@
}
protected void generateConcreteDao(ObjectModelClass clazz, String clazzName, String clazzFQN) {
- ObjectModelClass daoClass = createClass(TopiaGeneratorUtil.getConcreteDaoName(clazz), clazz.getPackageName());
+ String concreteDaoName = TopiaGeneratorUtil.getConcreteDaoName(clazz);
+ ObjectModelClass daoClass = createClass(concreteDaoName, clazz.getPackageName());
setDocumentation(daoClass, "/**\n" +
" * Cette classe etend le DAOImpl pour parametrer la classe avec le bon type\n" +
" * Cette classe est marque finale car l'heritage entre les DAO se fait\n" +
" * sur les DOAImpl, c-a-d que DAOAbstract peut etendre le DAOImpl\n" +
" */");
// to support legacy dao
- setSuperClass(daoClass, TopiaGeneratorUtil.getLegacyDaoFqn(clazz));
+ String superclassQualifiedName = TopiaGeneratorUtil.getLegacyDaoFqn(clazz);
// TODO brendan 04/10/13 above line should be replaced by
- // setSuperClass(daoClass, TopiaGeneratorUtil.getAbstractDaoFqn(clazz) + "<" + clazzName + ">");
+// String superclassQualifiedName = TopiaGeneratorUtil.getAbstractDaoFqn(clazz) + "<" + clazzName + ">";
+ setSuperClass(daoClass, superclassQualifiedName);
+
+ // TODO AThimel 25/10/13 Remove the next lines in ToPIA 3.1
+ // Look for legacy Dao class, then warn user if found in classpath
+ String legacyConcreteDaoName = TopiaGeneratorUtil.getLegacyDaoName(clazz);
+ warnOnLegacyClassDetected(clazz.getPackageName(), legacyConcreteDaoName, concreteDaoName, null,
+ TopiaGeneratorUtil.getAbstractDaoFqn(clazz) + "<" + clazzName + ">");
}
protected void generateAbstractDao(ObjectModelClass clazz,
@@ -331,19 +340,52 @@
if (CollectionUtils.isEmpty(moreOperations)) {
- // no business dao found, can safely generate the daoImpl class
-
- ObjectModelClass daoImplClass = createClass(TopiaGeneratorUtil.getAbstractDaoName(clazz) + "<E extends " + clazzName + ">", clazz.getPackageName());
- setDocumentation(daoImplClass, "/**\n" +
- " Implantation du DAO pour l'entité " + clazzName + ".\n" +
- " * L'utilisateur peut remplacer cette classe par la sienne en la mettant \n" +
- " * simplement dans ces sources. Cette classe générée sera alors simplement\n" +
- " * écrasée\n" +
- " */");
- setSuperClass(daoImplClass, TopiaGeneratorUtil.getGeneratedDaoFqn(clazz) + "<E>");
+ // no business Dao found, can safely generate the abstract Dao class
+
+ String abstractDaoName = TopiaGeneratorUtil.getAbstractDaoName(clazz);
+ String daoGenerics = "<E extends " + clazzName + ">";
+ ObjectModelClass abstractDaoClass = createClass(abstractDaoName + daoGenerics, clazz.getPackageName());
+ String documentation = String.format("/**%n" +
+ " * Implantation du Dao pour l'entité '%s'.%n" +
+ " * L'utilisateur peut remplacer cette classe par la sienne en la mettant%n" +
+ " * simplement dans ses sources. Cette classe générée sera alors simplement%n" +
+ " * ignorée à la génération suivante.%n" +
+ " */", clazzName);
+ setDocumentation(abstractDaoClass, documentation);
+ String superclassQualifiedName = TopiaGeneratorUtil.getGeneratedDaoFqn(clazz) + "<E>";
+ setSuperClass(abstractDaoClass, superclassQualifiedName);
+
+ // TODO AThimel 25/10/13 Remove the next lines in ToPIA 3.1
+ // Look for legacy Dao class, then warn user if found in classpath
+ String legacyDaoImplName = TopiaGeneratorUtil.getLegacyDaoName(clazz) + "Impl";
+ warnOnLegacyClassDetected(clazz.getPackageName(), legacyDaoImplName, abstractDaoName, daoGenerics,
+ superclassQualifiedName);
+
}
}
+ // TODO AThimel 25/10/13 Remove this method in ToPIA 3.1
+ protected void warnOnLegacyClassDetected(String packageName,
+ String legacyDaoName,
+ String daoName,
+ String daoGenerics,
+ String superclassQualifiedName) {
+
+ String legacyDaoFqn = String.format("%s.%s", packageName, legacyDaoName);
+
+ // AThimel 25/10/13 Not using isInClassPath(fqn) because this method logs that file won't be generated
+ if (log.isWarnEnabled() && getFileInClassPath(legacyDaoFqn) != null) {
+ String format = "public class %s%s extends %s {";
+ String superclassName = superclassQualifiedName.substring(superclassQualifiedName.lastIndexOf('.') + 1);
+ String daoDeclaration = String.format(format, daoName, Strings.nullToEmpty(daoGenerics), superclassName);
+ String warnMessage = "Legacy DAO detected !%n" +
+ " - You should consider renaming '%s' to '%s.%s'%n" +
+ " - Expected class declaration is : %s";
+ log.warn(String.format(warnMessage, legacyDaoFqn, packageName, daoName, daoDeclaration));
+ }
+
+ }
+
protected void generateGeneratedDao(ObjectModelClass clazz,
String clazzName,
String clazzFQN) {
@@ -373,13 +415,12 @@
// imports
- Collection<ObjectModelOperation> DAOoperations =
- getDAOOperations(clazz);
+ Collection<ObjectModelOperation> daoOperations = getDaoOperations(clazz);
- if (TopiaGeneratorUtil.isCollectionNeeded(DAOoperations)) {
+ if (TopiaGeneratorUtil.isCollectionNeeded(daoOperations)) {
addImport(daoAbstractClass, Collection.class);
}
- if (TopiaGeneratorUtil.isSetNeeded(DAOoperations)) {
+ if (TopiaGeneratorUtil.isSetNeeded(daoOperations)) {
addImport(daoAbstractClass, Set.class);
}
addImport(daoAbstractClass, List.class);
@@ -413,7 +454,7 @@
}*/
);
- generateDAOOperations(daoAbstractClass, DAOoperations);
+ generateDAOOperations(daoAbstractClass, daoOperations);
generateDelete(clazz, daoAbstractClass);
@@ -983,8 +1024,10 @@
*
* @param clazz the clazz to test.
* @return collections of extra operations, or empty collection if none found.
+ * @deprecated Dao operation will not be generated anymore in a very close future
*/
- public Collection<ObjectModelOperation> getDAOOperations(
+ @Deprecated
+ public Collection<ObjectModelOperation> getDaoOperations(
ObjectModelClass clazz) {
// // Note : this collection will contains extra operations for DAO.
@@ -999,11 +1042,11 @@
// }
// }
- if (log.isWarnEnabled()) {
- log.warn("dao contract in model will not be supported in topia 3.0");
- }
Collection<ObjectModelOperation> extra =
extraOperations.get(clazz.getQualifiedName());
+ if (extra != null && !extra.isEmpty() && log.isWarnEnabled()) {
+ log.warn("Dao contract in model will not be supported in topia 3.0");
+ }
return extra;
// if (extra != null) {
// for (ObjectModelOperation op : extra) {
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2013-10-25 14:48:13 UTC (rev 2848)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2013-10-25 22:18:09 UTC (rev 2849)
@@ -220,6 +220,7 @@
return input.getPackageName() + "." + getConcreteDaoName(input);
}
+ @Deprecated
public static String getLegacyDaoFqn(ObjectModelClass input) {
return input.getPackageName() + "." + getLegacyDaoName(input);
}
1
0
r2848 - in trunk/topia-persistence/src: main/java/org/nuiton/topia/persistence test/java/org/nuiton/topia/framework test/java/org/nuiton/topia/generator test/java/org/nuiton/topia/persistence test/java/org/nuiton/topia/test/ano1882 test/java/org/nuiton/topiatest test/java/org/nuiton/topiatest/deletetest
by athimel@users.nuiton.org 25 Oct '13
by athimel@users.nuiton.org 25 Oct '13
25 Oct '13
Author: athimel
Date: 2013-10-25 16:48:13 +0200 (Fri, 25 Oct 2013)
New Revision: 2848
Url: http://nuiton.org/projects/topia/repository/revisions/2848
Log:
Implement missing operations in TopiaDAOImpl
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextReplicateTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.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
trunk/topia-persistence/src/test/java/org/nuiton/topia/test/ano1882/DAOAbstractTransformerTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -59,12 +59,14 @@
import org.nuiton.topia.event.TopiaEntityVetoable;
import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.framework.TopiaFiresSupport;
+import org.nuiton.topia.framework.TopiaUtil;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.PagerBeanUtil;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.security.Permission;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -83,11 +85,11 @@
* @param <E> le type de l'entite
* @author bpoussin <poussin(a)codelutin.com>
* @version $Id$
+ * @deprecated this class is replaced by {@link AbstractTopiaDao}
*/
-
+@Deprecated
public class TopiaDAOImpl<E extends TopiaEntity> implements TopiaDAO<E> { // TopiaDAOImpl
- /** to use log facility, just put in your code: log.info(\"...\"); */
private static Log log = LogFactory.getLog(TopiaDAOImpl.class);
/**
@@ -959,4 +961,84 @@
"This iterator does not support remove operation.");
}
}
+
+ @Override
+ public TopiaQueryBuilderRunQueryStep<E> forTopiaIdIn(Iterable<String> topiaIds) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderRunQueryStep<E> forTopiaIdEquals(String topiaId) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderRunQueryStep<E> forIn(String propertyName, Iterable<Object> propertyValues) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderRunQueryStep<E> forEquals(String propertyName, Object propertyValue) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderRunQueryStep<E> forContains(String propertyName, Object propertyValue) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderAddCriteriaStep<E> newQueryBuilder() {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forProperties(String propertyName, Object propertyValue, Object... otherPropertyNamesAndValues) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public TopiaQueryBuilderAddCriteriaOrRunQueryStep<E> forProperties(Map<String, Object> properties) {
+ throw new UnsupportedOperationException("Please use new Dao implementations");
+ }
+
+ @Override
+ public E create(String propertyName, Object propertyValue, Object... otherPropertyNamesAndValues) {
+ Map<String, Object> properties =
+ TopiaUtil.convertPropertiesArrayToMap(propertyName, propertyValue, otherPropertyNamesAndValues);
+ E result = create(properties);
+ return result;
+ }
+
+ @Override
+ public E create() {
+ E result = newInstance();
+ create(result);
+ return result;
+ }
+
+ @Override
+ public Iterable<E> findAllLazy() {
+ String hql = "from " + getTopiaEntityEnum().getImplementationFQN() + " order by id";
+ Map<String, Object> hqlParameters = Collections.emptyMap();
+ Iterable<E> allLazy = findAllLazyByQuery(hql, hqlParameters);
+ return allLazy;
+ }
+
+ @Override
+ public Iterable<E> createAll(Iterable<E> entities) {
+ for (E entity : entities) {
+ create(entity);
+ }
+ return entities;
+ }
+
+ @Override
+ public Iterable<E> updateAll(Iterable<E> entities) {
+ for (E entity : entities) {
+ update(entity);
+ }
+ return entities;
+ }
+
} //TopiaDAOImpl
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaConnectionProviderTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -33,7 +33,7 @@
import org.nuiton.topia.TopiaTestDAOHelper;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDao;
+import org.nuiton.topia.test.entities.PersonDAO;
import org.nuiton.topia.test.entities.PersonTopiaDao;
import org.nuiton.topiatest.Personne;
@@ -126,7 +126,7 @@
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
try {
- PersonTopiaDao dao = TopiaTestDAOHelper.getPersonDAO(transaction);
+ PersonDAO dao = TopiaTestDAOHelper.getPersonDAO(transaction);
Person personne = dao.create(Personne.PROPERTY_NAME, "Jack Bauer");
transaction.commitTransaction();
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextReplicateTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextReplicateTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextReplicateTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -32,9 +32,9 @@
import org.nuiton.topia.TopiaTestDAOHelper;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDao;
+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.test.entities.PetDAO;
import java.io.File;
import java.util.Properties;
@@ -92,8 +92,8 @@
TopiaTestTopiaPersistenceContext txSource;
TopiaTestTopiaPersistenceContext txTarget;
- PersonDao daoSource, daoTarget;
- PetDao petDAOSource, petDAOTarget;
+ PersonDAO daoSource, daoTarget;
+ PetDAO petDAOSource, petDAOTarget;
Person personSource, personTarget;
Pet petSource, petTarget;
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-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -35,9 +35,9 @@
import org.nuiton.topia.TopiaTestDAOHelper;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topiatest.Company;
-import org.nuiton.topiatest.CompanyDao;
+import org.nuiton.topiatest.CompanyDAO;
import org.nuiton.topiatest.Department;
-import org.nuiton.topiatest.DepartmentDao;
+import org.nuiton.topiatest.DepartmentDAO;
/**
* TopiaTestCase.
@@ -123,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/NaturalIdTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/NaturalIdTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -36,7 +36,7 @@
import org.nuiton.topia.TopiaTestDAOHelper;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topiatest.NaturalizedEntity;
-import org.nuiton.topiatest.NaturalizedEntityDao;
+import org.nuiton.topiatest.NaturalizedEntityDAO;
/**
* NaturalIdTest
@@ -61,7 +61,7 @@
log.debug("Test naturalId : create succesfull");
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
- NaturalizedEntityDao dao =
+ NaturalizedEntityDAO dao =
persistenceContext.getNaturalizedEntityDao();
// No exception will be thrown with the two properties
@@ -82,7 +82,7 @@
log.debug("Test naturalId : create failed");
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
- NaturalizedEntityDao dao =
+ NaturalizedEntityDAO dao =
persistenceContext.getNaturalizedEntityDao();
// Exception will be throw
@@ -108,7 +108,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
- NaturalizedEntityDao dao =
+ NaturalizedEntityDAO dao =
persistenceContext.getNaturalizedEntityDao();
NaturalizedEntity entity =
@@ -131,7 +131,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
- NaturalizedEntityDao dao =
+ NaturalizedEntityDAO dao =
persistenceContext.getNaturalizedEntityDao();
NaturalizedEntity entity =
@@ -149,7 +149,7 @@
TopiaTestTopiaPersistenceContext persistenceContext = db.beginTransaction();
- NaturalizedEntityDao dao =
+ NaturalizedEntityDAO dao =
persistenceContext.getNaturalizedEntityDao();
dao.createByNaturalId(5, "str");
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-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaDAOTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -25,7 +25,8 @@
package org.nuiton.topia.persistence;
-import com.google.common.collect.Lists;
+import java.util.List;
+
import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import org.junit.Before;
@@ -35,9 +36,9 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topia.test.entities.Person;
-import org.nuiton.topia.test.entities.PersonDao;
+import org.nuiton.topia.test.entities.PersonDAO;
-import java.util.List;
+import com.google.common.collect.Lists;
/**
* Test on {@link TopiaDAO}.
@@ -55,7 +56,7 @@
protected TopiaTestTopiaPersistenceContext context;
- protected PersonDao dao;
+ protected PersonDAO dao;
@Before
public void setup() throws TopiaException {
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/test/ano1882/DAOAbstractTransformerTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/test/ano1882/DAOAbstractTransformerTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/test/ano1882/DAOAbstractTransformerTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -41,7 +41,7 @@
public void testAno1882() throws Exception {
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
- FrenchCompanyDao dao = TopiaTestDAOHelper.getFrenchCompanyDAO(transaction);
+ FrenchCompanyDAO dao = TopiaTestDAOHelper.getFrenchCompanyDAO(transaction);
SIRETDAO siretDAO = TopiaTestDAOHelper.getSIRETDAO(transaction);
SIRET siret = siretDAO.create();
FrenchCompany entity =
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -53,7 +53,7 @@
public void storeEntityWithEnumValue() throws TopiaException {
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
- PersonneDao dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
Personne personne = new PersonneImpl();
personne.setGender(Gender.FEMALE);
personne.setOtherGender(Gender.MALE);
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2013-10-25 12:03:15 UTC (rev 2847)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2013-10-25 14:48:13 UTC (rev 2848)
@@ -49,7 +49,7 @@
import org.nuiton.topia.TopiaTestTopiaPersistenceContext;
import org.nuiton.topiatest.Gender;
import org.nuiton.topiatest.Personne;
-import org.nuiton.topiatest.PersonneDao;
+import org.nuiton.topiatest.PersonneDAO;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -84,7 +84,7 @@
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
log.debug("DAO : PersonneDAO");
- PersonneDao dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
log.debug("CREATE PERSONNE : Bob Marley");
Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley");
@@ -134,7 +134,7 @@
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
- PersonneDao dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
log.debug("CREATE PERSONNE : Bob Marley");
Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley");
@@ -185,7 +185,7 @@
TopiaTestTopiaPersistenceContext transaction = db.beginTransaction();
- PersonneDao dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
Personne person = dao.newInstance();
Assert.assertNull(person.getTopiaId());
1
0