r2961 - in trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence: . internal
Author: sbavencoff Date: 2014-01-06 14:01:31 +0100 (Mon, 06 Jan 2014) New Revision: 2961 Url: http://nuiton.org/projects/topia/repository/revisions/2961 Log: refs #2997 : add delete and deleteAll Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaPersistenceContext.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaPersistenceContext.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaPersistenceContext.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaPersistenceContext.java 2013-12-25 17:12:05 UTC (rev 2960) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaPersistenceContext.java 2014-01-06 13:01:31 UTC (rev 2961) @@ -57,6 +57,21 @@ void update(TopiaEntity entity); /** + * delete into this TopiaContext an entity created by another TopiaContext + * + * @param entity the entity to delete + */ + void delete(TopiaEntity entity); + + /** + * delete into this TopiaContext an entities created by another TopiaContext + * + * @param entities the entities to delete + */ + void deleteAll(Iterable<TopiaEntity> entities); + + + /** * Get the currently configured {@link TopiaIdFactory}. * * @return the {@link TopiaIdFactory} in use Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaPersistenceContext.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaPersistenceContext.java 2013-12-25 17:12:05 UTC (rev 2960) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaPersistenceContext.java 2014-01-06 13:01:31 UTC (rev 2961) @@ -266,6 +266,24 @@ } @Override + public void delete(TopiaEntity entity) { + checkClosed(); + + String topiaId = entity.getTopiaId(); + Class<TopiaEntity> entityClass = getTopiaIdFactory().getClassName(topiaId); + TopiaDao<TopiaEntity> dao = getDao(entityClass); + dao.delete(entity); + + } + + @Override + public void deleteAll(Iterable<TopiaEntity> entities) { + for (TopiaEntity entity : entities) { + delete(entity); + } + } + + @Override public <E extends TopiaEntity> TopiaDao<E> getDao(Class<E> entityClass) { Preconditions.checkArgument(entityClass != null, "The method 'getDao' requires a non null 'entityClass' parameter");
participants (1)
-
sbavencoffļ¼ users.nuiton.org