868d6abb7 2025 -> 2026
63081666f Quelldatei-Header: 2024 -> 2025.
0ceceb28f Alle Cache-Aktualisierungen laufen jetzt in isolierten Transaktionen oder Kontexten.
1b50060c3 BaseDao: umbenannt: get -> find, save -> insert, getList -> select, load -> select
87aaf6a5a Migrationsarbeit in Arbeit... BaseDao umgestaltet (noch nicht abgeschlossen) interne* Methoden umbenannt.
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
index 548b1f2eb..3a8137c9e 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.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 ist dual-lizenziert.
//
63081666f
Quelldatei-Header: 2024 -> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
index d8775d0b2..548b1f2eb 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.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 ist dual-lizenziert.
//
0ceceb28f
Alle Cache-Aktualisierungen laufen jetzt in isolierten Transaktionen oder Kontexten.0ceceb28f1640e1cbd41bad967d82663ed8bbcb1
diff --git a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
index 6217a58cc..d8775d0b2 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
@@ -35,6 +35,7 @@ import org.projectforge.business.user.UserGroupCache;
import org.projectforge.business.user.UserRightId;
import org.projectforge.framework.persistence.api.QueryFilter;
import org.projectforge.framework.persistence.api.UserRightService;
+import org.projectforge.framework.persistence.jpa.PfPersistenceService;
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.framework.time.DateHelper;
@@ -48,250 +49,259 @@ import java.util.*;
*/
@Component
public class TeamEventExternalSubscriptionCache {
- private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
- .getLogger(TeamEventExternalSubscriptionCache.class);
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
+ .getLogger(TeamEventExternalSubscriptionCache.class);
- private static final long MAX_WAIT_MS_AFTER_FAILED_UPDATE = 1000 * 60 * 60 * 24; // 24 h
+ private static final long MAX_WAIT_MS_AFTER_FAILED_UPDATE = 1000 * 60 * 60 * 24; // 24 h
- private final Map<Long, TeamEventSubscription> subscriptions = new HashMap<>();
+ private final Map<Long, TeamEventSubscription> subscriptions = new HashMap<>();
- private static final Long SUBSCRIPTION_UPDATE_TIME = 5L * 60 * 1000; // 5 min
+ private static final Long SUBSCRIPTION_UPDATE_TIME = 5L * 60 * 1000; // 5 min
- private transient TeamCalRight teamCalRight;
+ private transient TeamCalRight teamCalRight;
- private boolean initialized;
+ private boolean initialized;
- @Autowired
- private TeamCalDao teamCalDao;
+ @Autowired
+ private TeamCalDao teamCalDao;
- @Autowired
- private TeamCalCache teamCalCache;
+ @Autowired
+ private PfPersistenceService persistenceService;
- @Autowired
- private UserRightService userRights;
+ @Autowired
+ private TeamCalCache teamCalCache;
- @Autowired
- private UserGroupCache userGroupCache;
+ @Autowired
+ private UserRightService userRights;
- // @PostConstruct funktioniert nicht (wird zu früh aufgerufen, bevor TenantRegistryMap bereit ist).
- private synchronized void init() {
- if (!initialized) { 1b50060c3
BaseDao: umbenannt: get -> find, save -> insert, getList -> select, load -> select1b50060c3a4b099ec07fd85d28f514b101da4d29
diff --git a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
index 6f81f31c9..6217a58cc 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
@@ -78,7 +78,7 @@ public class TeamEventExternalSubscriptionCache {
if (!initialized) {
final QueryFilter filter = new QueryFilter();
filter.add(QueryFilter.eq("externalSubscription", true));
- final List<TeamCalDO> subscribedCalendars = teamCalDao.getList(filter, false);
+ final List<TeamCalDO> subscribedCalendars = teamCalDao.select(filter, false);
for (final TeamCalDO calendar : subscribedCalendars) {
TeamEventSubscription teamEventSubscription = new TeamEventSubscription();
subscriptions.put(calendar.getId(), teamEventSubscription);
@@ -96,7 +96,7 @@ public class TeamEventExternalSubscriptionCache {
final QueryFilter filter = new QueryFilter();
filter.add(QueryFilter.eq("externalSubscription", true));
// internalGetList ist an dieser Stelle gültig, da wir diese Methode in einem asynchronen Thread aufrufen
- final List<TeamCalDO> subscribedCalendars = teamCalDao.getList(filter, false);
+ final List<TeamCalDO> subscribedCalendars = teamCalDao.select(filter, false);
for (final TeamCalDO calendar : subscribedCalendars) {
updateCache(calendar); 87aaf6a5a
Migrationsarbeit in Arbeit... BaseDao umgestaltet (noch nicht abgeschlossen) interne* Methoden umbenannt.87aaf6a5a5d70743be2526b286b2f735e0631193
diff --git a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
index fbeef97b5..6f81f31c9 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/teamcal/externalsubscription/TeamEventExternalSubscriptionCache.java
@@ -78,7 +78,7 @@ public class TeamEventExternalSubscriptionCache {
if (!initialized) {
final QueryFilter filter = new QueryFilter();
filter.add(QueryFilter.eq("externalSubscription", true));
- final List<TeamCalDO> subscribedCalendars = teamCalDao.internalGetList(filter);
+ final List<TeamCalDO> subscribedCalendars = teamCalDao.getList(filter, false);
for (final TeamCalDO calendar : subscribedCalendars) {
TeamEventSubscription teamEventSubscription = new TeamEventSubscription();
subscriptions.put(calendar.getId(), teamEventSubscription);
@@ -96,7 +96,7 @@ public class TeamEventExternalSubscriptionCache {
final QueryFilter filter = new QueryFilter();
filter.add(QueryFilter.eq("externalSubscription", true));
// internalGetList ist an dieser Stelle gültig, da wir diese Methode in einem asynchronen Thread aufrufen
- final List<TeamCalDO> subscribedCalendars = teamCalDao.internalGetList(filter);
+ final List<TeamCalDO> subscribedCalendars = teamCalDao.getList(filter, false);
for (final TeamCalDO calendar : subscribedCalendars) {
updateCache(calendar);