DATAGRAPH-847 - deleteAll() invoked delete(Object) instead of deleteAll(Class).

This commit is contained in:
Luanne Misquitta
2016-03-31 21:17:58 +05:30
parent a8d9117ffa
commit c467720ac6
3 changed files with 30 additions and 1 deletions

View File

@@ -94,7 +94,7 @@ public class GraphRepositoryImpl<T> implements GraphRepository<T> {
@Override
public void deleteAll() {
neo4jOperations.delete(clazz);
neo4jOperations.deleteAll(clazz);
}
@Override

View File

@@ -271,6 +271,12 @@ public interface Neo4jOperations {
*/
void delete(Object entity);
/**
* Removes all nodes or relationship entities of a specific type from the graph.
* @param type the type of entity to delete
*/
<T> void deleteAll(Class<T> type);
/**
* Removes all mapping information from the current session
*/

View File

@@ -19,7 +19,9 @@ import org.neo4j.ogm.session.Session;
import org.neo4j.ogm.session.SessionFactory;
import org.neo4j.ogm.testutil.MultiDriverTestClass;
import org.springframework.data.neo4j.repositories.domain.Movie;
import org.springframework.data.neo4j.repositories.domain.User;
import org.springframework.data.neo4j.repositories.repo.MovieRepository;
import org.springframework.data.neo4j.repositories.repo.UserRepository;
import org.springframework.data.neo4j.repository.support.GraphRepositoryFactory;
import org.springframework.data.neo4j.template.Neo4jOperations;
import org.springframework.data.neo4j.template.Neo4jTemplate;
@@ -62,4 +64,25 @@ public class ProgrammaticRepositoryTest extends MultiDriverTestClass {
assertEquals(1, IterableUtils.count(movieRepository.findAll()));
}
/**
* @see DATAGRAPH-847
*/
@Test
public void shouldBeAbleToDeleteAllViaRepository() {
RepositoryFactorySupport factory = new GraphRepositoryFactory(session, neo4jOperations);
UserRepository userRepository = factory.getRepository(UserRepository.class);
User userA = new User("A");
User userB = new User("B");
userRepository.save(userA);
userRepository.save(userB);
assertEquals(2, userRepository.count());
userRepository.deleteAll();
assertEquals(0, userRepository.count());
}
}