r2773 - in trunk/topia-persistence/src: main/java/org/nuiton/topia/persistence test/java/org/nuiton/topiatest/deletetest
Author: athimel Date: 2013-07-19 17:18:19 +0200 (Fri, 19 Jul 2013) New Revision: 2773 Url: http://nuiton.org/projects/topia/repository/revisions/2773 Log: Avoid any instruction on return statement (TopiaDaoImpl) Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.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-07-19 14:49:51 UTC (rev 2772) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-07-19 15:18:19 UTC (rev 2773) @@ -276,14 +276,16 @@ public <U extends TopiaEntity> List<U> findUsages(Class<U> type, E e) throws TopiaException { // must be implemented by specialized dao - throw new UnsupportedOperationException(); + throw new UnsupportedOperationException( + "This method must be overided in generated DAO"); } @Override public Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> findAllUsages(E e) throws TopiaException { // must be implemented by specialized dao - throw new UnsupportedOperationException(); + throw new UnsupportedOperationException( + "This method must be overided in generated DAO"); } @Override @@ -425,7 +427,8 @@ @Override public E findByTopiaId(String id) throws TopiaException { - return query(Restrictions.idEq(id)); + E result = query(Restrictions.idEq(id)); + return result; } @Override @@ -449,7 +452,8 @@ @Override public E findByProperties(Map<String, Object> properties) throws TopiaException { - return query(Restrictions.allEq(properties)); + E result = query(Restrictions.allEq(properties)); + return result; } @Override @@ -492,7 +496,8 @@ @Override public List<E> findAllByProperties(Map<String, Object> properties) throws TopiaException { - return queryAll(Restrictions.allEq(properties)); + List<E> result = queryAll(Restrictions.allEq(properties)); + return result; } private List<E> queryAll(Criterion criterion) throws TopiaException { @@ -674,13 +679,15 @@ Preconditions.checkNotNull(StringUtils.isNotBlank(hql)); Preconditions.checkArgument(hql.toUpperCase().trim().startsWith("SELECT COUNT(")); - return findByQuery(Long.class, hql, params); + Long result = findByQuery(Long.class, hql, params); + return result; } @Override public E findByQuery(String hql, Object... params) throws TopiaException { - return findByQuery(getEntityClass(), hql, params); + E result = findByQuery(getEntityClass(), hql, params); + return result; } @Override @@ -701,7 +708,8 @@ public List<E> findAllByQuery(String hql, Object... params) throws TopiaException { - return findAllByQuery(getEntityClass(), hql, params); + List<E> result = findAllByQuery(getEntityClass(), hql, params); + return result; } @Override @@ -719,14 +727,16 @@ @Override public Iterable<E> findAllLazyByQuery(String hql, Object... params) throws TopiaException { - return findAllLazyByQuery(batchSize, hql, params); + Iterable<E> result = findAllLazyByQuery(batchSize, hql, params); + return result; } @Override public <R> Iterable<R> findAllLazyByQuery(Class<R> type, String hql, Object... params) throws TopiaException { - return findAllLazyByQuery(type, batchSize, hql, params); + Iterable<R> result = findAllLazyByQuery(type, batchSize, hql, params); + return result; } @Override @@ -747,12 +757,13 @@ batchSize, hql, params); - return new Iterable<R>() { + Iterable<R> result = new Iterable<R>() { @Override public Iterator<R> iterator() { return iterator; } }; + return result; } @Override @@ -773,11 +784,12 @@ int startIndex, int endIndex, Object... params) throws TopiaException { - return findAllByQueryWithBound(getEntityClass(), + List<E> result = findAllByQueryWithBound(getEntityClass(), hql, startIndex, endIndex, params); + return result; } @Override @@ -806,10 +818,11 @@ TopiaPagerBean pager, Object... params) throws TopiaException { - return findAllByQueryAndPager(getEntityClass(), + List<E> result = findAllByQueryAndPager(getEntityClass(), hql, pager, params); + return result; } @Override @@ -829,8 +842,9 @@ * @return hibernate session * @throws TopiaException if any pb */ - Session getSession() throws TopiaException { - return getContext().getHibernate(); + protected Session getSession() throws TopiaException { + Session result = getContext().getHibernate(); + return result; } /** @@ -840,7 +854,7 @@ * @return the meta-data of the entity * @throws TopiaException if any pb */ - ClassMetadata getClassMetadata() throws TopiaException { + protected ClassMetadata getClassMetadata() throws TopiaException { ClassMetadata meta = getContext().getHibernateFactory() .getClassMetadata(entityClass); if (meta == null) { @@ -896,8 +910,9 @@ @Override public boolean hasNext() { - return data.hasNext() || // no more data - pager.getPageIndex() < pager.getPagesNumber(); + boolean result = data.hasNext() || // no more data + pager.getPageIndex() < pager.getPagesNumber(); + return result; } @Override Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java 2013-07-19 14:49:51 UTC (rev 2772) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java 2013-07-19 15:18:19 UTC (rev 2773) @@ -92,7 +92,7 @@ /** @deprecated since 3.0, will be removed in 3.1, unused */ @Deprecated String AGGREGATE = "aggregate"; - + /** * Unique technical Id of the entity. This id contains the full qualified * name of the entity interface. This id has also an index and his used to @@ -147,6 +147,24 @@ void setTopiaCreateDate(Date date); /** + * This method must be used to know if the current entity is present on the + * persistent support. If the entity is not yet persisted or if the entity + * has been removed, this method will return false. + * + * @return true if the entity is persisted and not yet deleted + * @since 3.0 + */ + boolean isPersisted(); + + /** + * Notifies the current entity instance than it has been removed from the + * persistent support. + * + * @since 3.0 + */ + void notifyDeleted(); + + /** * @return all object that must be deleted if this object is deleted * @throws TopiaException if any pb */ Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2013-07-19 14:49:51 UTC (rev 2772) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2013-07-19 15:18:19 UTC (rev 2773) @@ -56,6 +56,8 @@ protected Date topiaCreateDate = new Date(); + transient protected boolean deleted = false; + transient protected TopiaFiresSupport fireSupport; transient protected VetoableChangeSupport readVetoables; @@ -145,6 +147,20 @@ } @Override + public boolean isPersisted() { + // Is or was the entity persisted ? + boolean result = topiaId != null; + // Is the entity deleted ? + result &= !deleted; + return result; + } + + @Override + public void notifyDeleted() { + deleted = true; + } + + @Override public List<TopiaEntity> getComposite() throws TopiaException { throw new UnsupportedOperationException(); } 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-07-19 14:49:51 UTC (rev 2772) +++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2013-07-19 15:18:19 UTC (rev 2773) @@ -40,12 +40,14 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaDatabase; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaTestDAOHelper; +import org.nuiton.topiatest.Gender; import org.nuiton.topiatest.Personne; import org.nuiton.topiatest.PersonneDAO; @@ -174,4 +176,31 @@ } + /** + * Test than deleting entities will modify isPersisted() result + */ + @Test + public void testIsPersisted() { + log.debug("START TEST : testIsPersisted"); + + TopiaContext transaction = db.beginTransaction(); + + PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction); + + Personne person = dao.newInstance(); + Assert.assertNull(person.getTopiaId()); + + person.setName("Arno"); + person.setGender(Gender.MALE); + Assert.assertFalse(person.isPersisted()); + + Personne person2 = dao.create(person); + Assert.assertTrue(person.isPersisted()); + Assert.assertTrue(person2.isPersisted()); + + dao.delete(person2); + Assert.assertFalse(person.isPersisted()); + Assert.assertFalse(person2.isPersisted()); + } + }
participants (1)
-
athimelï¼ users.nuiton.org