diff --git a/wise-webapp/src/main/java/com/wisemapping/config/AppConfig.java b/wise-webapp/src/main/java/com/wisemapping/config/AppConfig.java
index 647863eb..a31c0be8 100644
--- a/wise-webapp/src/main/java/com/wisemapping/config/AppConfig.java
+++ b/wise-webapp/src/main/java/com/wisemapping/config/AppConfig.java
@@ -1,7 +1,12 @@
package com.wisemapping.config;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.TransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.transaction.interceptor.TransactionAttributeSource;
+import org.springframework.transaction.interceptor.TransactionInterceptor;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@@ -11,8 +16,12 @@ import org.springframework.web.servlet.view.JstlView;
@EnableWebMvc
@Configuration
+@EnableTransactionManagement
public class AppConfig {
+ @Autowired
+ TransactionManager txManager;
+
@Bean
HandlerExceptionResolver errorHandler() {
final SimpleMappingExceptionResolver result = new SimpleMappingExceptionResolver();
diff --git a/wise-webapp/src/main/java/com/wisemapping/service/HibernateAppListener.java b/wise-webapp/src/main/java/com/wisemapping/service/HibernateAppListener.java
deleted file mode 100755
index 1e9da9a2..00000000
--- a/wise-webapp/src/main/java/com/wisemapping/service/HibernateAppListener.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-* Copyright [2022] [wisemapping]
-*
-* Licensed under WiseMapping Public License, Version 1.0 (the "License").
-* It is basically the Apache License, Version 2.0 (the "License") plus the
-* "powered by wisemapping" text requirement on every single page;
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the license at
-*
-* http://www.wisemapping.org/license
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-package com.wisemapping.service;
-
-import jakarta.servlet.ServletContextEvent;
-import jakarta.servlet.ServletContextListener;
-
-public class HibernateAppListener implements ServletContextListener {
-
- public void contextInitialized(ServletContextEvent ce) {
-
- try {
-
- Class.forName("tomcatJndi.HibernateUtil").newInstance();
-
- } catch (Exception e) {}
- }
-
- /* Application Shutdown Event */
- public void contextDestroyed(ServletContextEvent ce)
- { }
-}
diff --git a/wise-webapp/src/main/java/com/wisemapping/service/LabelServiceImpl.java b/wise-webapp/src/main/java/com/wisemapping/service/LabelServiceImpl.java
index 8217dc1b..daaa0c9b 100644
--- a/wise-webapp/src/main/java/com/wisemapping/service/LabelServiceImpl.java
+++ b/wise-webapp/src/main/java/com/wisemapping/service/LabelServiceImpl.java
@@ -23,17 +23,20 @@ import com.wisemapping.model.Label;
import com.wisemapping.model.User;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
+@Service("labelService")
+@Transactional(propagation = Propagation.REQUIRED)
public class LabelServiceImpl implements LabelService {
+ @Autowired
private LabelManager labelManager;
- public void setLabelManager(LabelManager labelManager) {
- this.labelManager = labelManager;
- }
-
@Override
public void addLabel(@NotNull final Label label, @NotNull final User user) throws WiseMappingException {
diff --git a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java
index eeb46f01..c9ed4207 100755
--- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java
+++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java
@@ -27,7 +27,11 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
@@ -35,8 +39,10 @@ import java.util.List;
import java.util.Optional;
import java.util.Set;
-
+@Service("mindmapService")
+@Transactional(propagation = Propagation.REQUIRED)
public class MindmapServiceImpl
+
implements MindmapService {
@Autowired
@@ -49,6 +55,8 @@ public class MindmapServiceImpl
@Autowired
private NotificationService notificationService;
+
+ @Value("${admin.user}")
private String adminUser;
final private LockManager lockManager;
diff --git a/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java b/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java
index 5054ef99..f62aea75 100755
--- a/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java
+++ b/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java
@@ -33,18 +33,31 @@ import com.wisemapping.util.VelocityEngineUtils;
import com.wisemapping.util.VelocityEngineWrapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+@Service("userService")
+@Transactional(propagation = Propagation.REQUIRED)
public class UserServiceImpl
implements UserService {
+
+ @Autowired
private UserManager userManager;
+ @Autowired
private MindmapService mindmapService;
+ @Autowired
private NotificationService notificationService;
+ @Autowired
private MessageSource messageSource;
+ @Autowired
private VelocityEngineWrapper velocityEngineWrapper;
+ @Autowired
private GoogleService googleService;
@Override
diff --git a/wise-webapp/src/main/webapp/WEB-INF/web.xml b/wise-webapp/src/main/webapp/WEB-INF/web.xml
index 291b7ed2..a724fbf6 100644
--- a/wise-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/wise-webapp/src/main/webapp/WEB-INF/web.xml
@@ -44,9 +44,6 @@
- WebApplicationContextUtils.getWebApplicationContext(servletContext).
-->
-
- com.wisemapping.service.HibernateAppListener
-
com.wisemapping.listener.UnlockOnExpireListener
diff --git a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-dao.xml b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-dao.xml
index 3a0d213f..ba55daa0 100644
--- a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-dao.xml
+++ b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-dao.xml
@@ -35,19 +35,4 @@
-
-
-
-
- PROPAGATION_REQUIRED
-
-
-
-
-
-
-
-
-
diff --git a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml
index 2b6a3a8f..97dadf1c 100755
--- a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml
+++ b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml
@@ -30,61 +30,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PROPAGATION_REQUIRED
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- txInterceptor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PROPAGATION_REQUIRED
-
-
-
-