#373: BookDao.java
projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java Java-класс, projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java 118 строк · 64 кода · 39 комментариев · 15 пустых
Назначение: Исходный файл: projectforge/business/book/BookDao.java. BookDao.java является частью приложения управления проектами с открытым исходным кодом ProjectForge.
Исходный код (первые 100 строк)
/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
// www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge dual-лицензирован.
//
// Эта версия для сообщества является бесплатным программным обеспечением; вы можете распространять и/или
// изменять её в соответствии с условиями Стандартной общественной лицензии GNU (GNU General Public License) в том виде,
// в каком она опубликована Фондом свободного программного обеспечения; версия 3 Лицензии.
//
// Эта версия для сообщества распространяется в надежде, что она будет полезной,
// но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
// КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ. См. Стандартную общественную лицензию GNU
// для получения более подробной информации.
//
// Вы должны были получить копию Стандартной общественной лицензии GNU вместе
// с этой программой; если нет, см. http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////
package org.projectforge.business.book;
import kotlin.Pair;
import org.projectforge.business.user.UserDao;
import org.projectforge.framework.access.OperationType;
import org.projectforge.framework.persistence.api.BaseDao;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Objects;
/**
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
@Service
public class BookDao extends BaseDao<BookDO> {
private static final String[] ADDITIONAL_SEARCH_FIELDS = new String[]{"lendOutBy.username", "lendOutBy.firstname",
"lendOutBy.lastname", "signature_exact"};
@Autowired
private UserDao userDao;
public BookDao() {
super(BookDO.class);
}
@Override
public String[] getAdditionalSearchFields() {
return ADDITIONAL_SEARCH_FIELDS;
}
/**
* Существует ли уже подпись книги? Если подпись равна null, то всегда возвращается false.
*
* @param book
* @return
*/
public boolean doesSignatureAlreadyExist(final BookDO book) {
Objects.requireNonNull(book);
return doesSignatureAlreadyExist(book.getSignature(), book.getId());
}
public boolean doesSignatureAlreadyExist(final String signature, final Long id) {
if (signature == null) {
return false;
}
BookDO other = null;
if (id == null) {
// Новая книга
other = persistenceService.selectNamedSingleResult(
BookDO.FIND_BY_SIGNATURE,
BookDO.class,
new Pair<>("signature", signature));
} else {
// Книга уже существует. Проверка возможно изменённой подписи:
other = persistenceService.selectNamedSingleResult(
BookDO.FIND_OTHER_BY_SIGNATURE,
BookDO.class,
new Pair<>("signature", signature),
new Pair<>("id", id));
}
return other != null;
}
public void setLendOutBy(final BookDO book, final Long lendOutById) {
final PFUserDO user = userDao.findOrLoad(lendOutById);
book.setLendOutBy(user);
}
/**
* @return Всегда true, для объектов книги не требуется общий доступ к выбору.
*/
@Override
public boolean hasUserSelectAccess(final PFUserDO user, final boolean throwException) {
История Git
868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
a33f8f203 Миграция в процессе... (все тесты всех пакетов: OK).
d67bce18b Миграция в процессе...
1b50060c3 BaseDao: переименовано: get -> find, save -> insert, getList -> select, load -> select
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
index 13327cade..8a3f2c1be 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
63081666f
Заголовки исходных файлов: 2024-> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
index 4f2f3b3cf..13327cade 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
a33f8f203
Миграция в процессе... (все тесты всех пакетов: OK).a33f8f203ba809d731307e4785e8ad761ab4bfc0
diff --git a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
index a335504c9..4f2f3b3cf 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
@@ -40,7 +40,7 @@ import java.util.Objects;
public class BookDao extends BaseDao<BookDO> {
private static final String[] ADDITIONAL_SEARCH_FIELDS = new String[]{"lendOutBy.username", "lendOutBy.firstname",
- "lendOutBy.lastname"};
+ "lendOutBy.lastname", "signature_exact"};
@Autowired
private UserDao userDao; d67bce18b
Миграция в процессе...d67bce18b948b5dce6a302daf4cfbfe89f4b9d99
diff --git a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
index 5f9a2ab21..a335504c9 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
@@ -24,7 +24,6 @@
package org.projectforge.business.book;
import kotlin.Pair;
-import org.apache.commons.lang3.Validate;
import org.projectforge.business.user.UserDao;
import org.projectforge.framework.access.OperationType;
import org.projectforge.framework.persistence.api.BaseDao;
@@ -32,86 +31,88 @@ import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Objects;
+
/**
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
@Service
public class BookDao extends BaseDao<BookDO> {
- private static final String[] ADDITIONAL_SEARCH_FIELDS = new String[]{"lendOutBy.username", "lendOutBy.firstname",
- "lendOutBy.lastname"};
-
- @Autowired
- private UserDao userDao;
+ private static final String[] ADDITIONAL_SEARCH_FIELDS = new String[]{"lendOutBy.username", "lendOutBy.firstname",
+ "lendOutBy.lastname"};
- public BookDao() {
- super(BookDO.class);
- }
+ @Autowired
+ private UserDao userDao;
- @Override
- public String[] getAdditionalSearchFields() {
- return ADDITIONAL_SEARCH_FIELDS;
- }
+ public BookDao() {
+ super(BookDO.class);
+ }
- /**
- * Does the book's signature already exists? If signature is null, then return always false.
- *
- * @param book
- * @return
- */
- public boolean doesSignatureAlreadyExist(final BookDO book) {
- Validate.notNull(book);
- return doesSignatureAlreadyExist(book.getSignature(), book.getId());
- }
+ @Override
+ public String[] getAdditionalSearchFields() {
+ return ADDITIONAL_SEARCH_FIELDS; 1b50060c3
BaseDao: переименовано: get -> find, save -> insert, getList -> select, load -> select1b50060c3a4b099ec07fd85d28f514b101da4d29
diff --git a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
index ec7a0d314..5f9a2ab21 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/book/BookDao.java
@@ -88,7 +88,7 @@ public class BookDao extends BaseDao<BookDO> {
}
public void setLendOutBy(final BookDO book, final Long lendOutById) {
- final PFUserDO user = userDao.getOrLoad(lendOutById);
+ final PFUserDO user = userDao.findOrLoad(lendOutById);
book.setLendOutBy(user);
}