generalBook.setDescription("general_book_description");
generalBook.setName("general_book");
generalBook = BooksBusiness.addBook(generalBook);
// create a generic annotation
Annotation annotation = new GeneralIncomeAnnotation();
annotation.setBook(generalBook);
annotation.setTwoDecimalLongCodifiedAmount(1000L * 100L); // 1000.00
annotation.setConcept("test");
Date date = new SimpleDateFormat("dd-MM-yyyy").parse("11-11-2013");
annotation.setDate(date);
annotation = AnnotationsBusiness.createAnnotation(annotation);
Assert.assertEquals(generalBook, annotation.getBook());
Assert.assertEquals(new Long(1000L * 100L),
annotation.getTwoDecimalLongCodifiedAmount());
Assert.assertEquals("test", annotation.getConcept());
Assert.assertEquals(date, annotation.getDate());
// find annotation for current client
List<Annotation> annotations = AnnotationsBusiness
.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2013), ClientDomainType.CURRENT_CLIENT, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(1), new Integer(annotations.size()));
Assert.assertEquals(annotation, annotations.iterator().next());
// find annotation all clients
annotations = AnnotationsBusiness.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2013), ClientDomainType.ALL_CLIENTS, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(1), new Integer(annotations.size()));
Assert.assertEquals(annotation, annotations.iterator().next());
// find annotation all clients
annotations = AnnotationsBusiness.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2011), ClientDomainType.ALL_CLIENTS, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(0), new Integer(annotations.size()));
// create another user
User secondUser = UsersBusiness.persistUserByUsernameAndPassword(
"new_user_2", "fake_password_2");
Assert.assertArrayEquals(
new Object[] { "new_user_2", "fake_password_2" }, new Object[] {
secondUser.getUsername(), secondUser.getPassword() });
// create another client
Client secondClient = ClientsBusiness.addClientByClientName(secondUser,
"new_client_2");
Assert.assertEquals("new_client_2", secondClient.getName());
// create another general book
GeneralBook secondGeneralBook = new GeneralBook();
secondGeneralBook.setClient(secondClient);
secondGeneralBook.setDescription("general_book_description_2");
secondGeneralBook.setName("general_book_2");
secondGeneralBook = BooksBusiness.addBook(secondGeneralBook);
// create another generic annotation
Annotation secondAnnotation = new GeneralIncomeAnnotation();
secondAnnotation.setBook(secondGeneralBook);
secondAnnotation.setTwoDecimalLongCodifiedAmount(1000L * 100L * 2L); // 2000.00
secondAnnotation.setConcept("test_2");
Date secondDate = new SimpleDateFormat("dd-MM-yyyy")
.parse("22-12-2013");
secondAnnotation.setDate(secondDate);
secondAnnotation = AnnotationsBusiness
.createAnnotation(secondAnnotation);
Assert.assertEquals(secondGeneralBook, secondAnnotation.getBook());
Assert.assertEquals(new Long(1000L * 100L * 2L),
secondAnnotation.getTwoDecimalLongCodifiedAmount());
Assert.assertEquals("test_2", secondAnnotation.getConcept());
Assert.assertEquals(secondDate, secondAnnotation.getDate());
// find annotation for current client
annotations = AnnotationsBusiness.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(secondGeneralBook),
Optional.<Integer>of(2013), ClientDomainType.CURRENT_CLIENT, SortingCriteria.ASCENDING,