user3.setName("Spider");
user3.setSurname("Woman");
user3.setGender(User.Gender.FEMALE);
user3.setAccountIds(Collections.<Integer>emptySet());
Account account1 = getModelFactory().makeAccount();
account1.setId(1);
account1.setDescription("John Doe's first bank account");
account1.setCreationDate(makeDate("2013-01-03"));
Account account2 = getModelFactory().makeAccount();
account2.setId(2);
account2.setDescription("John Doe's second bank account");
account2.setCreationDate(makeDate("2013-01-04"));
Account account3 = getModelFactory().makeAccount();
account3.setId(3);
account3.setCreationDate(makeDate("2013-01-20"));
Transaction transaction0 = getModelFactory().makeTransaction();
transaction0.setId(0);
transaction0.setDescription("Birthday present");
transaction0.setAccountId(1);
transaction0.setAmount(1800);
transaction0.setDate(makeDate("2012-09-07"));
transaction0.setDebit(false);
Transaction transaction1 = getModelFactory().makeTransaction();
transaction1.setId(1);
transaction1.setDescription("Feb. rent payment");
transaction1.setAccountId(1);
transaction1.setAmount(1500);
transaction1.setDate(makeDate("2013-01-05"));
transaction1.setDebit(true);
Transaction transaction2 = getModelFactory().makeTransaction();
transaction2.setId(2);
transaction2.setDescription("Starbucks");
transaction2.setAccountId(1);
transaction2.setAmount(23);
transaction2.setDate(makeDate("2013-01-09"));
transaction2.setDebit(true);
Transaction transaction3 = getModelFactory().makeTransaction();
transaction3.setId(3);
transaction3.setDescription("Hotel");
transaction3.setAccountId(2);
transaction3.setAmount(45);
transaction3.setDate(makeDate("2013-02-27"));
transaction3.setDebit(true);
Transaction transaction4 = getModelFactory().makeTransaction();
transaction4.setId(4);
transaction4.setDescription("Last january");
transaction4.setAccountId(2);
transaction4.setAmount(95);
transaction4.setDate(makeDate("2013-01-31"));
transaction4.setDebit(true);
Transaction transaction5 = getModelFactory().makeTransaction();
transaction5.setId(5);
transaction5.setDescription("Popcorn");
transaction5.setAccountId(2);
transaction5.setAmount(5);
transaction5.setDate(makeDate("2013-01-01"));
transaction5.setDebit(true);
// persist and index the test objects
// we put all of them in the same cache for the sake of simplicity
getCacheForWrite().put("user_" + user1.getId(), user1);
getCacheForWrite().put("user_" + user2.getId(), user2);
getCacheForWrite().put("user_" + user3.getId(), user3);
getCacheForWrite().put("account_" + account1.getId(), account1);
getCacheForWrite().put("account_" + account2.getId(), account2);
getCacheForWrite().put("account_" + account3.getId(), account3);
getCacheForWrite().put("transaction_" + transaction0.getId(), transaction0);
getCacheForWrite().put("transaction_" + transaction1.getId(), transaction1);
getCacheForWrite().put("transaction_" + transaction2.getId(), transaction2);
getCacheForWrite().put("transaction_" + transaction3.getId(), transaction3);
getCacheForWrite().put("transaction_" + transaction4.getId(), transaction4);