DATAGRAPH-847 - deleteAll() invoked delete(Object) instead of deleteAll(Class).
This commit is contained in:
@@ -94,7 +94,7 @@ public class GraphRepositoryImpl<T> implements GraphRepository<T> {
|
||||
|
||||
@Override
|
||||
public void deleteAll() {
|
||||
neo4jOperations.delete(clazz);
|
||||
neo4jOperations.deleteAll(clazz);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user