EN · DE · RU · FR · ES

#212: MemoDao.java

plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java Java-класс, plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java 71 строка · 31 код · 34 комментария · 6 пустых
Назначение: Исходный файл: projectforge/plugins/memo/MemoDao.java. MemoDao.java является частью приложения управления проектами с открытым исходным кодом ProjectForge.

Исходный код (первые 100 строк)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.plugins.memo;

import org.projectforge.framework.access.OperationType;
import org.projectforge.framework.persistence.api.BaseDao;
import org.projectforge.framework.persistence.api.BaseSearchFilter;
import org.projectforge.framework.persistence.api.QueryFilter;
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.springframework.stereotype.Service;

/**
 * This is the base data access object class. Most functionality such as access checking, select, insert, update, save,
 * delete etc. is implemented by the super class.
 *
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
@Service
public class MemoDao extends BaseDao<MemoDO> {
    public MemoDao() {
        super(MemoDO.class);
        userRightId = MemoPluginUserRightId.PLUGIN_MEMO;
    }

    /**
     * Load only memo's of current logged-in user.
     *
     * @param filter
     * @return
     */
    @Override
    public QueryFilter createQueryFilter(BaseSearchFilter filter) {
        QueryFilter queryFilter = super.createQueryFilter(filter);
        final PFUserDO user = new PFUserDO();
        user.setId(ThreadLocalUserContext.getLoggedInUserId());
        queryFilter.add(QueryFilter.eq("owner", user));
        return queryFilter;
    }

    @Override
    public void onInsertOrModify(final MemoDO obj, final OperationType operationType) {
        obj.setOwner(ThreadLocalUserContext.getRequiredLoggedInUser()); // Set always the logged-in user as owner.
    }

    @Override
    public MemoDO newInstance() {
        return new MemoDO();
    }
}

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
5989b32fd BaseDao: рефакторинг механизма onChangeListener.
1b50060c3 BaseDao: переименовано: get -> find, save -> insert, getList -> select, load -> select
3aeda5ef5 Большое изменение: все save|update|...InTrans переименованы (InTrans удалён). PfPersistenceContext больше не нужен в качестве параметра (вместо него используется ThreadLocal). (все тесты всех пакетов: OK).

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
index 02e49b024..dc54fd3cc 100644
--- a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
+++ b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.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/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
index f18c77df2..02e49b024 100644
--- a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
+++ b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.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.
 //

5989b32fd

BaseDao: рефакторинг механизма onChangeListener.
5989b32fdbe63a7ade7eabba11a8c2b042ecd66b
diff --git a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
index ae2bdf26f..f18c77df2 100644
--- a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
+++ b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
@@ -23,6 +23,7 @@
 
 package org.projectforge.plugins.memo;
 
+import org.projectforge.framework.access.OperationType;
 import org.projectforge.framework.persistence.api.BaseDao;
 import org.projectforge.framework.persistence.api.BaseSearchFilter;
 import org.projectforge.framework.persistence.api.QueryFilter;
@@ -59,8 +60,7 @@ public class MemoDao extends BaseDao<MemoDO> {
     }
 
     @Override
-    public void onInsertOrModify(final MemoDO obj) {
-        super.onInsertOrModify(obj);
+    public void onInsertOrModify(final MemoDO obj, final OperationType operationType) {
         obj.setOwner(ThreadLocalUserContext.getRequiredLoggedInUser()); // Set always the logged-in user as owner.
     }
 

1b50060c3

BaseDao: переименовано: get -> find, save -> insert, getList -> select, load -> select
1b50060c3a4b099ec07fd85d28f514b101da4d29
diff --git a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
index 1c582cf6c..ae2bdf26f 100644
--- a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
+++ b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
@@ -59,8 +59,8 @@ public class MemoDao extends BaseDao<MemoDO> {
     }
 
     @Override
-    public void onSaveOrModify(final MemoDO obj) {
-        super.onSaveOrModify(obj);
+    public void onInsertOrModify(final MemoDO obj) {
+        super.onInsertOrModify(obj);
         obj.setOwner(ThreadLocalUserContext.getRequiredLoggedInUser()); // Set always the logged-in user as owner.
     }
 

3aeda5ef5

Большое изменение: все save|update|...InTrans переименованы (InTrans удалён). PfPersistenceContext больше не нужен в качестве параметра (вместо него используется ThreadLocal). (все тесты всех пакетов: OK).
3aeda5ef5aaaa8a4d627d7f2e771ef0516001a52
diff --git a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
index 614ee9863..1c582cf6c 100644
--- a/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
+++ b/plugins/org.projectforge.plugins.memo/src/main/java/org/projectforge/plugins/memo/MemoDao.java
@@ -26,7 +26,6 @@ package org.projectforge.plugins.memo;
 import org.projectforge.framework.persistence.api.BaseDao;
 import org.projectforge.framework.persistence.api.BaseSearchFilter;
 import org.projectforge.framework.persistence.api.QueryFilter;
-import org.projectforge.framework.persistence.jpa.PfPersistenceContext;
 import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
 import org.projectforge.framework.persistence.user.entities.PFUserDO;
 import org.springframework.stereotype.Service;
@@ -39,34 +38,34 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class MemoDao extends BaseDao<MemoDO> {
-  public MemoDao() {
-    super(MemoDO.class);
-    userRightId = MemoPluginUserRightId.PLUGIN_MEMO;
-  }
+    public MemoDao() {
+        super(MemoDO.class);
+        userRightId = MemoPluginUserRightId.PLUGIN_MEMO;
+    }
 
-  /**
-   * Load only memo's of current logged-in user.
-   *
-   * @param filter
-   * @return
-   */
-  @Override
-  public QueryFilter createQueryFilter(BaseSearchFilter filter) {
-    QueryFilter queryFilter = super.createQueryFilter(filter);
-    final PFUserDO user = new PFUserDO();
-    user.setId(ThreadLocalUserContext.getLoggedInUserId());
-    queryFilter.add(QueryFilter.eq("owner", user));
-    return queryFilter;
-  }
+    /**
+     * Load only memo's of current logged-in user.
+     *
+     * @param filter
+     * @return
+     */
+    @Override
+    public QueryFilter createQueryFilter(BaseSearchFilter filter) {
+        QueryFilter queryFilter = super.createQueryFilter(filter);
+        final PFUserDO user = new PFUserDO();
+        user.setId(ThreadLocalUserContext.getLoggedInUserId());
+        queryFilter.add(QueryFilter.eq("owner", user));
+        return queryFilter;
+    }
 
-  @Override
-  public void onSaveOrModify(final MemoDO obj, final PfPersistenceContext context) {
-    super.onSaveOrModify(obj, context);
-    obj.setOwner(ThreadLocalUserContext.getRequiredLoggedInUser()); // Set always the logged-in user as owner.
-  }