/** * @param book * @param taskId If null, then task will be set to null; * @see BaseDao#getOrLoad(Integer) */ public void setTask(final BookDO book, final Integer taskId) { final TaskDO task = taskDao.getOrLoad(taskId); book.setTask(task); }
@Override protected String formatLabel(final BookDO book) { return StringHelper.listToString("; ", book.getAuthors(), book.getTitle()); }
public void createTestBooks() { accessChecker.checkIsLoggedInUserMemberOfAdminGroup(); accessChecker.checkRestrictedOrDemoUser(); final TaskTree taskTree = TaskTreeHelper.getTaskTree(); final TaskDO task = taskTree .getTaskById(Configuration.getInstance().getTaskIdValue(ConfigurationParam.DEFAULT_TASK_ID_4_BOOKS)); final List<BookDO> list = new ArrayList<BookDO>(); int number = 1; while (myDatabaseUpdater .queryForInt("select count(*) from t_book where title like 'title." + number + ".%'") > 0) { number++; } for (int i = 1; i <= NUMBER_OF_TEST_OBJECTS_TO_CREATE; i++) { list.add(new BookDO().setTitle(get("title", number, i)).setAbstractText(get("abstractText", number, i)) .setAuthors(get("authors", number, i)).setComment(get("comment", number, i)) .setEditor(get("editor", number, i)) .setIsbn(get("isbn", number, i)).setKeywords(get("keywords", number, i)) .setPublisher(get("publisher", number, i)) .setSignature(get("signature", number, i)).setStatus(BookStatus.PRESENT).setTask(task) .setYearOfPublishing("2001")); } bookDao.save(list); setResponsePage( new MessagePage("system.admin.development.testObjectsCreated", String.valueOf(NUMBER_OF_TEST_OBJECTS_TO_CREATE), "BookDO")); }
private BookDO createBookDO(final int createdDayOfMonth, final int lastUpdateDateOfMonth, final boolean deleted, final BookStatus bookStatus, final String testString) { BookDO obj = new BookDO(); DateHolder dateHolder = new DateHolder(DatePrecision.SECOND, Locale.GERMAN); obj.setId(42); dateHolder.setDate(1970, Calendar.NOVEMBER, createdDayOfMonth, 4, 50, 0); obj.setCreated(dateHolder.getDate()); dateHolder.setDate(1970, Calendar.NOVEMBER, lastUpdateDateOfMonth, 4, 50, 0); obj.setLastUpdate(dateHolder.getDate()); obj.setDeleted(deleted); obj.setStatus(bookStatus); obj.setTitle(testString); return obj; }
private BookDO createTestBook(String signature) { BookDO book = new BookDO(); book.setTask(getTask("root")); book.setSignature(signature); book.setStatus(BookStatus.PRESENT); return book; } }
@Test public void determinePropertyName() throws NoSuchMethodException { BookDO obj = createBookDO(21, 22, false, BookStatus.DISPOSED, "Hurzel"); final String created = DateHelper.getForTestCase(obj.getCreated()); final String lastUpdate = DateHelper.getForTestCase(obj.getLastUpdate()); BookDO src = createBookDO(19, 20, true, BookStatus.MISSED, "Test"); obj.copyValuesFrom(src); assertEquals("Test", obj.getTitle()); assertEquals(true, obj.isDeleted()); assertEquals(BookStatus.MISSED, obj.getStatus()); assertEquals(created, DateHelper.getForTestCase(obj.getCreated())); assertEquals(lastUpdate, DateHelper.getForTestCase(obj.getLastUpdate())); obj = createBookDO(21, 22, false, BookStatus.MISSED, "Hurzel"); src = createBookDO(19, 20, false, BookStatus.MISSED, null); obj.copyValuesFrom(src); assertEquals("Expected, that the property will be overwritten by null", null, obj.getTitle()); assertEquals(false, obj.isDeleted()); assertEquals(BookStatus.MISSED, obj.getStatus()); assertEquals(created, DateHelper.getForTestCase(obj.getCreated())); assertEquals(lastUpdate, DateHelper.getForTestCase(obj.getLastUpdate())); }
@Test public void testGetSignature4Sort() { final BookDO book = new BookDO(); book.setSignature(null); assertNull(book.getSignature4Sort()); book.setSignature(""); assertEquals("", book.getSignature4Sort()); book.setSignature("W"); assertEquals("W", book.getSignature4Sort()); book.setSignature("WT-"); assertEquals("WT-", book.getSignature4Sort()); book.setSignature("WT-23a"); assertEquals("WT-00023a", book.getSignature4Sort()); book.setSignature("WT-2-5"); assertEquals("WT-00002-00005", book.getSignature4Sort()); }
public Object doInTransaction(TransactionStatus status) { BookDO dbBook = bookDao.internalGetById(ids[1]); BookDO book = new BookDO(); book.copyValuesFrom(dbBook); assertFalse("Signature should not exist.", bookDao.doesSignatureAlreadyExist(book)); book.setSignature("42"); assertTrue("Signature should already exist.", bookDao.doesSignatureAlreadyExist(book)); book.setSignature("4711"); assertFalse("Signature should not exist.", bookDao.doesSignatureAlreadyExist(book)); bookDao.internalUpdate(book); return null; } });
protected void returnBook() { getData().setLendOutDate(null); getData().setLendOutBy(null); getData().setLendOutComment(null); bookDao.update(getData()); setResponsePage(); }
/** * @see org.projectforge.web.wicket.CellItemListenerPropertyColumn#populateItem(org.apache.wicket.markup.repeater.Item, * java.lang.String, org.apache.wicket.model.IModel) */ @Override public void populateItem(final Item<ICellPopulator<BookDO>> item, final String componentId, final IModel<BookDO> rowModel) { final BookDO book = rowModel.getObject(); item.add(new ListSelectActionPanel(componentId, rowModel, BookEditPage.class, book.getId(), returnToPage, DateTimeFormatter .instance().getFormattedDate(book.getCreated()))); addRowClick(item); cellItemListener.populateItem(item, componentId, rowModel); } });
@Override public BookDO newInstance() { return new BookDO(); }
/** * Does the book's signature already exists? If signature is null, then return always false. * * @param signature * @return */ @SuppressWarnings("unchecked") public boolean doesSignatureAlreadyExist(final BookDO book) { Validate.notNull(book); if (book.getSignature() == null) { return false; } List<BookDO> list = null; if (book.getId() == null) { // New book list = (List<BookDO>) getHibernateTemplate().find("from BookDO b where b.signature = ?", book.getSignature()); } else { // Book already exists. Check maybe changed signature: list = (List<BookDO>) getHibernateTemplate().find("from BookDO b where b.signature = ? and pk <> ?", new Object[] { book.getSignature(), book.getId() }); } if (CollectionUtils.isNotEmpty(list) == true) { return true; } return false; }
/** * @see org.projectforge.framework.persistence.api.BaseDao#hasAccess(Object, OperationType) */ @Override public boolean hasAccess(final PFUserDO user, final BookDO obj, final BookDO oldObj, final OperationType operationType, final boolean throwException) { return accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, operationType, throwException); }
public Object doInTransaction(TransactionStatus status) { BookDO book = createTestBook("42"); assertTrue("Signature should already exist.", bookDao.doesSignatureAlreadyExist(book)); book.setSignature("5"); assertFalse("Signature should not exist.", bookDao.doesSignatureAlreadyExist(book)); bookDao.internalSave(book); return null; } });
/** * @param book * @param lendOutById If null, then task will be set to null; * @see BaseDao#getOrLoad(Integer) */ public void setLendOutBy(final BookDO book, final Integer lendOutById) { final PFUserDO user = userDao.getOrLoad(lendOutById); book.setLendOutBy(user); }
@Override protected String formatValue(final BookDO book) { return "id:" + book.getId(); }
/** * @see org.projectforge.framework.persistence.api.BaseDao#hasUpdateAccess(Object, Object) */ @Override public boolean hasUpdateAccess(final PFUserDO user, final BookDO obj, final BookDO dbObj, final boolean throwException) { Validate.notNull(dbObj); Validate.notNull(obj); Validate.notNull(dbObj.getTaskId()); Validate.notNull(obj.getTaskId()); if (accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, OperationType.UPDATE, throwException) == false) { return false; } if (dbObj.getTaskId().equals(obj.getTaskId()) == false) { // User moves the object to another task: if (accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, OperationType.INSERT, throwException) == false) { // Inserting of object under new task not allowed. return false; } if (accessChecker.hasPermission(user, dbObj.getTaskId(), AccessType.TASKS, OperationType.DELETE, throwException) == false) { // Deleting of object under old task not allowed. return false; } } return true; }