Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fixed to use one entitymanager, else wasn't coordinating across calls…
… to repo.
  • Loading branch information
boneill42 committed Jul 10, 2012
commit 25d6291e63d8e84b218d67930213add63c1736c4
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.EntityManagerFactory;

import org.apache.commons.lang.NotImplementedException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
Expand All @@ -21,6 +22,7 @@
*/
public class SimpleCassandraRepository<T, ID extends Serializable> implements CassandraRepository<T, ID> {

EntityManagerFactory entityManagerFactory;
private EntityManager entityManager;
private Class<T> entityType = null;

Expand All @@ -33,9 +35,10 @@ public SimpleCassandraRepository() {
}
}

@PersistenceContext
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
//@PersistenceContext
@Autowired
public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) {
this.entityManager = entityManagerFactory.createEntityManager();
}

/*
Expand All @@ -45,7 +48,7 @@ public void setEntityManager(EntityManager entityManager) {
* Serializable)
*/
public T findOne(ID id) {
throw new NotImplementedException();
return entityManager.find(this.entityType, id);
}

/*
Expand All @@ -54,7 +57,7 @@ public T findOne(ID id) {
* @see org.springframework.data.repository.CrudRepository#exists(java.io.
* Serializable)
*/
public boolean exists(ID id) {
public boolean exists(ID id) {
T entity = entityManager.find(this.entityType, id);
return (entity != null);
}
Expand All @@ -77,6 +80,8 @@ public long count() {
public void delete(ID id) {
T entity = entityManager.find(this.entityType, id);
entityManager.remove(entity);
entityManager.flush();
// this.delete(entity);
}

/*
Expand All @@ -88,7 +93,7 @@ public void delete(ID id) {
*/
public void delete(T entity) {
entityManager.remove(entity);
entityManager.flush();
//entityManager.flush();
}

/*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
package org.springframework.data.cassandra.repository;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.cassandra.repository.example.User;
import org.springframework.data.cassandra.repository.example.UserRepository;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.*;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:beans.xml")
public class UserRepositoryTest {
@Autowired
UserRepository userRepository;


private final static String USER_ID = "0002";

private User getUser1(){
User user = new User();
user.setUserId("0001");
user.setUserId(USER_ID);
user.setFirstName("Brian");
user.setLastName("Kelley");
user.setCity("Philly");
Expand All @@ -28,16 +34,22 @@ private User getUser1(){
public void testSave() {
User user = this.getUser1();
userRepository.save(user);
assert(userRepository.exists(user.getUserId()));
assertTrue(userRepository.exists(user.getUserId()));
}

@Test
public void testDelete() {
public void testFindOne() {
User user = this.getUser1();
userRepository.save(user);
assert(userRepository.exists(user.getUserId()));
userRepository.delete(user);
assertFalse(userRepository.exists(user.getUserId()));
User findOne = userRepository.findOne(user.getUserId());
assertNotNull(findOne);
}

@Test
public void testDelete() throws InterruptedException {
userRepository.delete(USER_ID);
assertFalse(userRepository.exists(USER_ID));
}

}