This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new a9f09fc  [OPENMEETINGS-1649] tests should be fixed
a9f09fc is described below

commit a9f09fc71609387b5e01eb9afd707d0b42d430af
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 9 23:09:43 2018 +0700

    [OPENMEETINGS-1649] tests should be fixed
---
 openmeetings-core/pom.xml                          |  5 --
 openmeetings-web/pom.xml                           |  1 +
 .../apache/openmeetings/web/app/Application.java   |  5 +-
 openmeetings-web/src/main/webapp/WEB-INF/web.xml   |  2 +-
 .../apache/openmeetings/AbstractWicketTester.java  | 32 ++++++++---
 .../web/pages/install/TestInstall.java             |  4 +-
 .../webservice/AbstractWebServiceTest.java         |  7 ++-
 .../openmeetings/webservice/BaseWebService.java    | 62 +++++++---------------
 .../webservice/CalendarWebService.java             | 26 ++++-----
 .../openmeetings/webservice/FileWebService.java    | 39 +++++++-------
 .../openmeetings/webservice/GroupWebService.java   | 33 +++++-------
 .../webservice/RecordingWebService.java            | 16 +++---
 .../openmeetings/webservice/RoomWebService.java    | 40 +++++++-------
 .../openmeetings/webservice/UserWebService.java    | 32 ++++++-----
 .../openmeetings/webservice/TestBaseService.java   | 14 ++---
 pom.xml                                            |  2 +-
 16 files changed, 156 insertions(+), 164 deletions(-)

diff --git a/openmeetings-core/pom.xml b/openmeetings-core/pom.xml
index bc1be22..e7ec3aa 100644
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-core/pom.xml
@@ -93,11 +93,6 @@
                </dependency>
                <dependency>
                        <groupId>org.springframework</groupId>
-                       <artifactId>spring-websocket</artifactId>
-                       <version>${spring.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
                        <artifactId>spring-webmvc</artifactId>
                        <version>${spring.version}</version>
                </dependency>
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index c51d872..60a7718 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -465,6 +465,7 @@
                                                
<backups.dir>${old-backups.dir}</backups.dir>
                                                
<catalina.useNaming>true</catalina.useNaming>
                                                
<current_openmeetings_log_dir>${project.build.directory}</current_openmeetings_log_dir>
+                                               
<current_openmeetings_context_name>openmeetings</current_openmeetings_context_name>
                                        </systemPropertyVariables>
                                        <skip>${maven.test.skip}</skip>
                                </configuration>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index cf51be5..01b3587 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -121,6 +121,7 @@ import org.apache.wicket.validation.validator.UrlValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.WebApplicationContext;
 import org.wicketstuff.dashboard.WidgetRegistry;
@@ -161,6 +162,8 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
        private ITopic<IClusterWsMessage> hazelWsTopic;
 
        @Autowired
+       private ApplicationContext ctx;
+       @Autowired
        private ConfigurationDao cfgDao;
        @Autowired
        private RecordingDao recordingDao;
@@ -272,7 +275,7 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
                mountResource("/room/preview/${id}", new 
RoomPreviewResourceReference());
                mountResource("/profile/${id}", new 
ProfileImageResourceReference());
                mountResource("/group/${id}", new GroupLogoResourceReference());
-               getComponentInstantiationListeners().add(new 
SpringComponentInjector(this));
+               getComponentInstantiationListeners().add(new 
SpringComponentInjector(this, ctx, true));
 
                log.debug("InitComponent::PostConstruct");
                try {
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/web.xml 
b/openmeetings-web/src/main/webapp/WEB-INF/web.xml
index 93f9a2a..1a3fdc7 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/web.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/web.xml
@@ -93,7 +93,7 @@
                        <http-method>GET</http-method>
                        <http-method>POST</http-method>
                </web-resource-collection>
-               <!-- no auth-constraint tag here -->
+               <!-- no auth-constraint means everybody allowed -->
        </security-constraint>
        <security-constraint>
                <web-resource-collection>
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
index 6d5015d..14847db 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings;
 
 import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setInitComplete;
 import static org.apache.wicket.util.string.Strings.escapeMarkup;
 import static org.junit.Assert.assertEquals;
@@ -33,23 +34,28 @@ import java.util.Locale;
 import java.util.function.Consumer;
 
 import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
 
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.util.OMContextListener;
 import org.apache.openmeetings.util.OmException;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
+import org.apache.wicket.RuntimeConfigurationType;
+import org.apache.wicket.ThreadContext;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
 import org.apache.wicket.feedback.FeedbackMessage;
-import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.protocol.http.mock.MockServletContext;
 import org.apache.wicket.protocol.ws.util.tester.WebSocketTester;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.Assert;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.context.support.XmlWebApplicationContext;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
@@ -61,12 +67,26 @@ public class AbstractWicketTester extends 
AbstractJUnitDefaults {
        public static final String PATH_MENU = 
"main-container:main:topControls:menu:menu";
        protected WicketTester tester;
 
-       public static WicketTester getWicketTester() {
-               return getWicketTester(-1);
+       @Autowired
+       private Application app;
+
+       public static WicketTester getWicketTester(Application app) {
+               return getWicketTester(app, -1);
        }
 
-       public static WicketTester getWicketTester(long langId) {
-               WebApplication app = (WebApplication)ensureApplication(langId);
+       public static WicketTester getWicketTester(Application app, long 
langId) {
+               if (app.getName() == null) {
+                       //FIXME TODO re-use this for templates
+                       app.setName(getWicketApplicationName());
+                       app.setServletContext(new MockServletContext(app, 
null));
+                       
app.setConfigurationType(RuntimeConfigurationType.DEPLOYMENT);
+                       ServletContext sc = app.getServletContext();
+                       OMContextListener omcl = new OMContextListener();
+                       omcl.contextInitialized(new ServletContextEvent(sc));
+                       ThreadContext.setApplication(app);
+                       app.initApplication();
+               }
+               ensureApplication(langId); // to ensure WebSession is attached
 
                WicketTester tester = new WicketTester(app, 
app.getServletContext());
                setInitComplete(true);
@@ -96,7 +116,7 @@ public class AbstractWicketTester extends 
AbstractJUnitDefaults {
        @Override
        public void setUp() throws Exception {
                super.setUp();
-               tester = getWicketTester();
+               tester = getWicketTester(app);
                assertNotNull("Web session should not be null", 
WebSession.get());
                Locale[] locales = Locale.getAvailableLocales();
                
tester.getSession().setLocale(locales[rnd.nextInt(locales.length)]);
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index 15dbada..961bd97 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -28,6 +28,7 @@ import static 
org.apache.openmeetings.AbstractWicketTester.checkErrors;
 import static org.apache.openmeetings.AbstractWicketTester.countErrors;
 import static org.apache.openmeetings.AbstractWicketTester.getButtonBehavior;
 import static org.apache.openmeetings.AbstractWicketTester.getWicketTester;
+import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
 import static org.junit.Assert.assertFalse;
@@ -44,6 +45,7 @@ import java.util.TimeZone;
 import org.apache.openmeetings.AbstractSpringTest;
 import org.apache.openmeetings.AbstractWicketTester;
 import org.apache.openmeetings.util.crypt.SCryptImplementation;
+import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.util.tester.FormTester;
@@ -78,7 +80,7 @@ public class TestInstall {
                setWicketApplicationName(DEFAULT_APP_NAME);
                tempFolder = Files.createTempDirectory("omtempdb").toFile();
                setDerbyHome(tempFolder);
-               tester = getWicketTester();
+               tester = getWicketTester((Application)ensureApplication(-1L));
                assertNotNull("Web session should not be null", 
WebSession.get());
                Locale[] locales = Locale.getAvailableLocales();
                
tester.getSession().setLocale(locales[rnd.nextInt(locales.length)]);
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
index 6490105..6e3ec32 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
@@ -52,6 +52,7 @@ import org.apache.openmeetings.db.dto.room.RoomDTO;
 import org.apache.openmeetings.db.dto.user.UserDTO;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.webservice.util.AppointmentMessageBodyReader;
 import org.apache.wicket.util.tester.WicketTester;
@@ -59,6 +60,7 @@ import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.springframework.beans.factory.annotation.Autowired;
 
 public class AbstractWebServiceTest extends AbstractJUnitDefaults {
        private static Tomcat tomcat;
@@ -72,6 +74,9 @@ public class AbstractWebServiceTest extends 
AbstractJUnitDefaults {
        public static final long TIMEOUT = 5 * 60 * 1000;
        protected WicketTester tester;
 
+       @Autowired
+       private Application app;
+
        public static WebClient getClient(String url) {
                WebClient c = WebClient.create(url, Arrays.asList(new 
AppointmentMessageBodyReader()))
                                
.accept("application/json").type("application/json");
@@ -119,7 +124,7 @@ public class AbstractWebServiceTest extends 
AbstractJUnitDefaults {
        @Override
        public void setUp() throws Exception {
                super.setUp();
-               tester = getWicketTester();
+               tester = getWicketTester(app);
                assertNotNull("Web session should not be null", 
WebSession.get());
        }
 
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/BaseWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/BaseWebService.java
index d790264..d6da8f2 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/BaseWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/BaseWebService.java
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.webservice;
 
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
 import static 
org.apache.openmeetings.webservice.error.ServiceException.NO_PERMISSION;
 
 import java.util.HashSet;
@@ -26,7 +25,6 @@ import java.util.Set;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
-import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.db.dao.file.FileItemDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
@@ -36,76 +34,52 @@ import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
-import org.apache.wicket.Application;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 
 public abstract class BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(BaseWebService.class);
 
-       static IApplication getApp() {
-               return 
(IApplication)Application.get(getWicketApplicationName());
-       }
-
-       static <T> T getBean(Class<T> clazz) {
-               T b = null;
-               try {
-                       b = getApp()._getOmBean(clazz);
-               } catch (Exception e) {
-                       throw new ServiceException(e.getMessage());
-               }
-               if (b == null) {
-                       throw new ServiceException("");
-               }
-               return b;
-       }
-
-       static SessiondataDao getSessionDao() {
-               return getBean(SessiondataDao.class);
-       }
+       @Autowired
+       protected SessiondataDao sessionDao;
+       @Autowired
+       protected UserDao userDao;
+       @Autowired
+       protected RoomDao roomDao;
+       @Autowired
+       protected FileItemDao fileDao;
 
        // this one is fail safe
-       static Sessiondata check(String sid) {
+       Sessiondata check(String sid) {
                try {
-                       return getSessionDao().check(sid);
-               } catch (ServiceException e) {
+                       return sessionDao.check(sid);
+               } catch (Exception e) {
                        log.debug("Exception while checking sid", e);
                }
                return new Sessiondata();
        }
 
-       static Set<Right> getRights(String sid) {
+       Set<Right> getRights(String sid) {
                Sessiondata sd = check(sid);
                return getRights(sd.getUserId());
        }
 
-       static UserDao getUserDao() {
-               return getBean(UserDao.class);
-       }
-
-       static RoomDao getRoomDao() {
-               return getBean(RoomDao.class);
-       }
-
-       static FileItemDao getFileDao() {
-               return getBean(FileItemDao.class);
-       }
-
        // this one is fail safe
-       static Set<Right> getRights(Long id) {
+       Set<Right> getRights(Long id) {
                try {
-                       return getUserDao().getRights(id);
-               } catch (ServiceException e) {
+                       return userDao.getRights(id);
+               } catch (Exception e) {
                        log.debug("Exception while getting rights", e);
                }
                return new HashSet<>();
        }
 
-       static <T> T performCall(String sid, User.Right level, 
Function<Sessiondata, T> action) {
+       <T> T performCall(String sid, User.Right level, Function<Sessiondata, 
T> action) {
                return performCall(sid, sd -> 
AuthLevelUtil.check(getRights(sd.getUserId()), level), action);
        }
 
-       static <T> T performCall(String sid, Predicate<Sessiondata> allowed, 
Function<Sessiondata, T> action) {
+       <T> T performCall(String sid, Predicate<Sessiondata> allowed, 
Function<Sessiondata, T> action) {
                try {
                        Sessiondata sd = check(sid);
                        if (allowed.test(sd)) {
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
index f292b4c..dd2969a 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
@@ -40,7 +40,6 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.calendar.AppointmentDTO;
@@ -51,6 +50,7 @@ import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -67,9 +67,8 @@ import org.springframework.stereotype.Service;
 public class CalendarWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(CalendarWebService.class);
 
-       private static AppointmentDao getDao() {
-               return getBean(AppointmentDao.class);
-       }
+       @Autowired
+       private AppointmentDao dao;
        /**
         * Load appointments by a start / end range for the current SID
         *
@@ -93,7 +92,7 @@ public class CalendarWebService extends BaseWebService {
                                , start == null ? "" : start.getTime()
                                , end == null ? "" : end.getTime());
                return performCall(sid, User.Right.Room
-                               , sd -> 
AppointmentDTO.list(getDao().getInRange(sd.getUserId(), start.getTime(), 
end.getTime())));
+                               , sd -> 
AppointmentDTO.list(dao.getInRange(sd.getUserId(), start.getTime(), 
end.getTime())));
        }
 
        /**
@@ -123,7 +122,7 @@ public class CalendarWebService extends BaseWebService {
                                , start == null ? "" : start.getTime()
                                , end == null ? "" : end.getTime());
                return performCall(sid, User.Right.Soap
-                               , sd -> 
AppointmentDTO.list(getDao().getInRange(userid, start.getTime(), 
end.getTime())));
+                               , sd -> 
AppointmentDTO.list(dao.getInRange(userid, start.getTime(), end.getTime())));
        }
 
        /**
@@ -137,7 +136,7 @@ public class CalendarWebService extends BaseWebService {
        @Path("/next")
        public AppointmentDTO next(@QueryParam("sid") @WebParam(name="sid") 
String sid) {
                return performCall(sid, User.Right.Room, sd -> {
-                       Appointment a = getDao().getNext(sd.getUserId(), new 
Date());
+                       Appointment a = dao.getNext(sd.getUserId(), new Date());
                        return a == null ? null : new AppointmentDTO(a);
                });
        }
@@ -156,7 +155,7 @@ public class CalendarWebService extends BaseWebService {
        @Path("/next/{userid}")
        public AppointmentDTO nextForUser(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("userid") @WebParam(name="userid") 
long userid) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       Appointment a = getDao().getNext(userid, new Date());
+                       Appointment a = dao.getNext(userid, new Date());
                        return a == null ? null : new AppointmentDTO(a);
                });
        }
@@ -175,7 +174,7 @@ public class CalendarWebService extends BaseWebService {
        @Path("/room/{roomid}")
        public AppointmentDTO getByRoom(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("roomid") @WebParam(name="roomid") 
long roomid) {
                return performCall(sid, User.Right.Room, sd -> {
-                       Appointment a = getDao().getByRoom(sd.getUserId(), 
roomid);
+                       Appointment a = dao.getByRoom(sd.getUserId(), roomid);
                        return a == null ? null : new AppointmentDTO(a);
                });
        }
@@ -193,7 +192,7 @@ public class CalendarWebService extends BaseWebService {
        @GET
        @Path("/title/{title}")
        public List<AppointmentDTO> getByTitle(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("title") @WebParam(name="title") 
String title) {
-               return performCall(sid, User.Right.Room, sd -> 
AppointmentDTO.list(getDao().searchByTitle(sd.getUserId(), title)));
+               return performCall(sid, User.Right.Room, sd -> 
AppointmentDTO.list(dao.searchByTitle(sd.getUserId(), title)));
        }
 
        /**
@@ -213,7 +212,6 @@ public class CalendarWebService extends BaseWebService {
                //Seems to be create
                log.debug("save SID: {}", sid);
 
-               UserDao userDao = getUserDao();
                return performCall(sid, sd -> {
                                User u = userDao.get(sd.getUserId());
                                if (!AuthLevelUtil.hasUserLevel(u.getRights())) 
{
@@ -225,13 +223,12 @@ public class CalendarWebService extends BaseWebService {
                                                || 
appointment.getOwner().getId().equals(u.getId());
                        }, sd -> {
                                User u = userDao.get(sd.getUserId());
-                               AppointmentDao dao = getDao();
-                               Appointment a = appointment.get(userDao, 
getFileDao(), dao, u);
+                               Appointment a = appointment.get(userDao, 
fileDao, dao, u);
                                if (a.getRoom().getId() != null) {
                                        if (a.getRoom().isAppointment()) {
                                                a.getRoom().setIspublic(false);
                                        } else {
-                                               
a.setRoom(getRoomDao().get(a.getRoom().getId()));
+                                               
a.setRoom(roomDao.get(a.getRoom().getId()));
                                        }
                                }
                                return new AppointmentDTO(dao.update(a, 
u.getId()));
@@ -256,7 +253,6 @@ public class CalendarWebService extends BaseWebService {
        @DELETE
        @Path("/{id}")
        public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) {
-               AppointmentDao dao = getDao();
                Appointment a = dao.get(id);
                return performCall(sid, sd -> {
                                Set<Right> rights = getRights(sd.getUserId());
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
index a06e520..4bce540 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
@@ -40,7 +40,6 @@ import javax.ws.rs.core.MediaType;
 import org.apache.cxf.feature.Features;
 import org.apache.cxf.jaxrs.ext.multipart.Multipart;
 import org.apache.openmeetings.core.data.file.FileProcessor;
-import org.apache.openmeetings.db.dao.file.FileItemDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.file.FileExplorerObject;
@@ -53,6 +52,7 @@ import org.apache.openmeetings.util.process.ProcessResultList;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -71,6 +71,9 @@ import org.springframework.stereotype.Service;
 public class FileWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(FileWebService.class);
 
+       @Autowired
+       private FileProcessor fileProcessor;
+
        /**
         * deletes files or folders based on it id
         *
@@ -83,8 +86,7 @@ public class FileWebService extends BaseWebService {
        @DELETE
        @Path("/{id}")
        public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) {
-               FileItemDao dao = getFileDao();
-               FileItem f = dao.get(id);
+               FileItem f = fileDao.get(id);
                return performCall(sid, sd -> {
                                Long userId = sd.getUserId();
                                Set<Right> rights = getRights(userId);
@@ -95,7 +97,7 @@ public class FileWebService extends BaseWebService {
                                if (f == null) {
                                        return new ServiceResult("Bad id", 
Type.ERROR);
                                }
-                               dao.delete(f);
+                               fileDao.delete(f);
                                return new ServiceResult("Deleted", 
Type.SUCCESS);
                        });
        }
@@ -121,9 +123,8 @@ public class FileWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Soap, sd -> {
-                       FileItemDao dao = getFileDao();
-                       FileItem f = dao.get(externalId, externalType);
-                       dao.delete(f);
+                       FileItem f = fileDao.get(externalId, externalType);
+                       fileDao.delete(f);
                        return new ServiceResult("Deleted", Type.SUCCESS);
                });
        }
@@ -157,7 +158,7 @@ public class FileWebService extends BaseWebService {
                        f.setInsertedBy(sd.getUserId());
                        if (stream != null) {
                                try {
-                                       ProcessResultList result = 
getBean(FileProcessor.class).processFile(f, stream);
+                                       ProcessResultList result = 
fileProcessor.processFile(f, stream);
                                        if (result.hasError()) {
                                                throw new 
ServiceException(result.getLogMessage());
                                        }
@@ -165,7 +166,7 @@ public class FileWebService extends BaseWebService {
                                        throw new 
ServiceException(e.getMessage());
                                }
                        } else {
-                               f = getFileDao().update(f);
+                               f = fileDao.update(f);
                        }
                        return new FileItemDTO(f);
                });
@@ -189,16 +190,15 @@ public class FileWebService extends BaseWebService {
        {
                log.debug("getRoom::roomId {}", roomId);
                return performCall(sid, User.Right.Room, sd -> {
-                       FileItemDao dao = getFileDao();
                        FileExplorerObject fileExplorerObject = new 
FileExplorerObject();
 
                        // Home File List
-                       List<FileItem> fList = dao.getByOwner(sd.getUserId());
-                       fileExplorerObject.setUser(fList, dao.getSize(fList));
+                       List<FileItem> fList = 
fileDao.getByOwner(sd.getUserId());
+                       fileExplorerObject.setUser(fList, 
fileDao.getSize(fList));
 
                        // Public File List
-                       List<FileItem> rList = dao.getByRoom(roomId);
-                       fileExplorerObject.setRoom(rList, dao.getSize(rList));
+                       List<FileItem> rList = fileDao.getByRoom(roomId);
+                       fileExplorerObject.setRoom(rList, 
fileDao.getSize(rList));
 
                        return fileExplorerObject;
                });
@@ -226,16 +226,15 @@ public class FileWebService extends BaseWebService {
        {
                log.debug("getRoomByParent {}", parentId);
                return performCall(sid, User.Right.Room, sd -> {
-                       FileItemDao dao = getFileDao();
                        List<FileItem> list;
                        if (parentId < 0) {
                                if (parentId == -1) {
-                                       list = dao.getByOwner(sd.getUserId());
+                                       list = 
fileDao.getByOwner(sd.getUserId());
                                } else {
-                                       list = dao.getByRoom(roomId);
+                                       list = fileDao.getByRoom(roomId);
                                }
                        } else {
-                               list = dao.getByParent(parentId);
+                               list = fileDao.getByParent(parentId);
                        }
                        return FileItemDTO.list(list);
                });
@@ -262,7 +261,7 @@ public class FileWebService extends BaseWebService {
        {
                log.debug("rename {}", id);
                return performCall(sid, User.Right.Soap, sd -> {
-                       FileItem f = getFileDao().rename(id, name);
+                       FileItem f = fileDao.rename(id, name);
                        return f == null ? null : new FileItemDTO(f);
                });
        }
@@ -290,7 +289,7 @@ public class FileWebService extends BaseWebService {
        {
                log.debug("move {}", id);
                return performCall(sid, User.Right.Soap, sd -> {
-                       FileItem f = getFileDao().move(id, parentId, 
sd.getUserId(), roomId);
+                       FileItem f = fileDao.move(id, parentId, sd.getUserId(), 
roomId);
                        return f == null ? null : new FileItemDTO(f);
                });
        }
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
index 829e4e8..64999f2 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
@@ -38,10 +38,8 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.basic.SearchResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
@@ -54,6 +52,7 @@ import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -72,9 +71,10 @@ import org.springframework.stereotype.Service;
 public class GroupWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(GroupWebService.class);
 
-       private static GroupDao getDao() {
-               return getBean(GroupDao.class);
-       }
+       @Autowired
+       private GroupDao groupDao;
+       @Autowired
+       private GroupUserDao groupUserDao;
 
        /**
         * add a new group
@@ -92,7 +92,7 @@ public class GroupWebService extends BaseWebService {
                return performCall(sid, User.Right.Soap, sd -> {
                        Group o = new Group();
                        o.setName(name);
-                       return new 
ServiceResult(String.valueOf(getDao().update(o, sd.getUserId()).getId()), 
Type.SUCCESS);
+                       return new 
ServiceResult(String.valueOf(groupDao.update(o, sd.getUserId()).getId()), 
Type.SUCCESS);
                });
        }
 
@@ -106,7 +106,7 @@ public class GroupWebService extends BaseWebService {
        @GET
        @Path("/")
        public List<GroupDTO> get(@QueryParam("sid") @WebParam(name="sid") 
String sid) {
-               return performCall(sid, User.Right.Soap, sd -> 
GroupDTO.list(getDao().get(0, Integer.MAX_VALUE)));
+               return performCall(sid, User.Right.Soap, sd -> 
GroupDTO.list(groupDao.get(0, Integer.MAX_VALUE)));
        }
 
        /**
@@ -130,10 +130,9 @@ public class GroupWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Soap, sd -> {
-                       if (!getBean(GroupUserDao.class).isUserInGroup(id, 
userid)) {
-                               UserDao userDao = getUserDao();
+                       if (!groupUserDao.isUserInGroup(id, userid)) {
                                User u = userDao.get(userid);
-                               u.getGroupUsers().add(new 
GroupUser(getDao().get(id), u));
+                               u.getGroupUsers().add(new 
GroupUser(groupDao.get(id), u));
                                userDao.update(u, sd.getUserId());
                        }
                        return new ServiceResult(String.valueOf(userid), 
Type.SUCCESS);
@@ -161,8 +160,7 @@ public class GroupWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Soap, sd -> {
-                       if (getBean(GroupUserDao.class).isUserInGroup(id, 
userid)) {
-                               UserDao userDao = getUserDao();
+                       if (groupUserDao.isUserInGroup(id, userid)) {
                                User u = userDao.get(userid);
                                for (Iterator<GroupUser> iter = 
u.getGroupUsers().iterator(); iter.hasNext(); ) {
                                        GroupUser gu = iter.next();
@@ -194,7 +192,6 @@ public class GroupWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Soap, sd -> {
-                       RoomDao roomDao = getRoomDao();
                        Room r = roomDao.get(roomid);
                        if (r != null) {
                                if (r.getGroups() == null) {
@@ -207,7 +204,7 @@ public class GroupWebService extends BaseWebService {
                                        }
                                }
                                if (!found) {
-                                       r.getGroups().add(new 
RoomGroup(getDao().get(id), r));
+                                       r.getGroups().add(new 
RoomGroup(groupDao.get(id), r));
                                        roomDao.update(r, sd.getUserId());
                                        return new ServiceResult("Success", 
Type.SUCCESS);
                                }
@@ -247,11 +244,10 @@ public class GroupWebService extends BaseWebService {
                return performCall(sid, User.Right.Soap, sd -> {
                        SearchResult<User> result = new SearchResult<>();
                        result.setObjectName(User.class.getName());
-                       GroupUserDao dao = getBean(GroupUserDao.class);
-                       result.setRecords(dao.count(id));
+                       result.setRecords(groupUserDao.count(id));
                        result.setResult(new ArrayList<User>());
                        String order = isAlphanumeric(orderby) ? orderby : "id";
-                       for (GroupUser ou : dao.get(id, null, start, max, order 
+ " " + (asc ? "ASC" : "DESC"))) {
+                       for (GroupUser ou : groupUserDao.get(id, null, start, 
max, order + " " + (asc ? "ASC" : "DESC"))) {
                                result.getResult().add(ou.getUser());
                        }
                        return new UserSearchResult(result);
@@ -272,8 +268,7 @@ public class GroupWebService extends BaseWebService {
        @Path("/{id}")
        public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Admin, sd -> {
-                       GroupDao dao = getDao();
-                       dao.delete(dao.get(id), sd.getUserId());
+                       groupDao.delete(groupDao.get(id), sd.getUserId());
 
                        return new ServiceResult("Deleted", Type.SUCCESS);
                });
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
index eaa7890..4104986 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
@@ -41,6 +41,7 @@ import org.apache.openmeetings.db.dto.record.RecordingDTO;
 import org.apache.openmeetings.db.entity.user.User;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -58,9 +59,9 @@ import org.springframework.stereotype.Service;
 public class RecordingWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(RecordingWebService.class);
 
-       private static RecordingDao getDao() {
-               return getBean(RecordingDao.class);
-       }
+       @Autowired
+       private RecordingDao recordingDao;
+
        /**
         * Deletes a flv recording
         *
@@ -75,8 +76,7 @@ public class RecordingWebService extends BaseWebService {
        @Path("/{id}")
        public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       RecordingDao dao = getDao();
-                       dao.delete(dao.get(id));
+                       recordingDao.delete(recordingDao.get(id));
                        return new ServiceResult("Deleted", Type.SUCCESS);
                });
        }
@@ -97,7 +97,7 @@ public class RecordingWebService extends BaseWebService {
                        , @PathParam("externaltype") 
@WebParam(name="externaltype") String externalType
                        , @PathParam("externalid") @WebParam(name="externalid") 
String externalId) {
                log.debug("getExternal:: type {}, id {}", externalType, 
externalId);
-               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(getDao().getByExternalId(externalId, externalType)));
+               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(recordingDao.getByExternalId(externalId, externalType)));
        }
 
        /**
@@ -114,7 +114,7 @@ public class RecordingWebService extends BaseWebService {
        @Path("/{externaltype}")
        public List<RecordingDTO> getExternalByType(@WebParam(name="sid") 
@QueryParam("sid") String sid
                        , @PathParam("externaltype") 
@WebParam(name="externaltype") String externalType) {
-               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(getDao().getByExternalType(externalType)));
+               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(recordingDao.getByExternalType(externalType)));
        }
 
        /**
@@ -131,6 +131,6 @@ public class RecordingWebService extends BaseWebService {
        @Path("/room/{roomid}")
        public List<RecordingDTO> getExternalByRoom(@WebParam(name="sid") 
@QueryParam("sid") String sid
                        , @PathParam("roomid") @WebParam(name="roomid") Long 
roomId) {
-               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(getDao().getByRoomId(roomId)));
+               return performCall(sid, User.Right.Soap, sd -> 
RecordingDTO.list(recordingDao.getByRoomId(roomId)));
        }
 }
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index eb81dbb..4909497 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -39,7 +39,6 @@ import javax.ws.rs.core.MediaType;
 import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
-import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
@@ -57,6 +56,7 @@ import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -73,6 +73,15 @@ import org.springframework.stereotype.Service;
 public class RoomWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(RoomWebService.class);
 
+       @Autowired
+       private IUserManager userManager;
+       @Autowired
+       private IClientManager clientManager;
+       @Autowired
+       private InvitationDao inviteDao;
+       @Autowired
+       private InvitationManager inviteManager;
+
        /**
         * Returns an Object of Type RoomsList which contains a list of
         * Room-Objects. Every Room-Object contains a Roomtype and all 
informations
@@ -90,7 +99,7 @@ public class RoomWebService extends BaseWebService {
        @GET
        @Path("/public/{type}")
        public List<RoomDTO> getPublic(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("type") @WebParam(name="type") String type) {
-               return performCall(sid, User.Right.Room, sd -> 
RoomDTO.list(getRoomDao().getPublicRooms(Room.Type.valueOf(type))));
+               return performCall(sid, User.Right.Room, sd -> 
RoomDTO.list(roomDao.getPublicRooms(Room.Type.valueOf(type))));
        }
 
        /**
@@ -104,18 +113,17 @@ public class RoomWebService extends BaseWebService {
        @GET
        @Path("/{id}")
        public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) {
-               return performCall(sid, User.Right.Soap, sd -> new 
RoomDTO(getRoomDao().get(id)));
+               return performCall(sid, User.Right.Soap, sd -> new 
RoomDTO(roomDao.get(id)));
        }
 
        /*
         * This method is required to set additional fields on room sub-objects
         * for ex: RoomFile.roomId
         */
-       private static Room updateRtoRoom(Room r, Long userId) {
+       private Room updateRtoRoom(Room r, Long userId) {
                if (r.getFiles() == null) {
                        r.setFiles(new ArrayList<>());
                }
-               RoomDao roomDao = getRoomDao();
                if (r.getId() == null) {
                        List<RoomFile> files = r.getFiles();
                        r.setFiles(null);
@@ -155,13 +163,12 @@ public class RoomWebService extends BaseWebService {
                        , @PathParam("externalid") @WebParam(name="externalid") 
String externalId
                        , @WebParam(name="room") @QueryParam("room") RoomDTO 
room) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       RoomDao roomDao = getRoomDao();
                        Room r = roomDao.getExternal(Room.Type.valueOf(type), 
externalType, externalId);
                        if (r == null) {
                                if (room == null) {
                                        return null;
                                } else {
-                                       r = room.get(getFileDao());
+                                       r = room.get(fileDao);
                                        r.setExternalType(externalType);
                                        r.setExternalId(externalId);
                                        r = updateRtoRoom(r, sd.getUserId());
@@ -188,7 +195,7 @@ public class RoomWebService extends BaseWebService {
        @Path("/")
        public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid, 
@WebParam(name="room") @FormParam("room") RoomDTO room) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       Room r = room.get(getFileDao());
+                       Room r = room.get(fileDao);
                        r = updateRtoRoom(r, sd.getUserId());
                        return new RoomDTO(r);
                });
@@ -207,7 +214,6 @@ public class RoomWebService extends BaseWebService {
        @Path("/{id}")
        public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       RoomDao roomDao = getRoomDao();
                        Room r = roomDao.get(id);
                        if (r == null) {
                                return new ServiceResult("Not found", 
Type.SUCCESS);
@@ -238,13 +244,12 @@ public class RoomWebService extends BaseWebService {
        public ServiceResult close(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Soap, sd -> {
                        Long userId = sd.getUserId();
-                       RoomDao roomDao = getRoomDao();
                        Room room = roomDao.get(id);
                        room.setClosed(true);
 
                        roomDao.update(room, userId);
 
-                       WebSocketHelper.sendRoom(new RoomMessage(room.getId(),  
getUserDao().get(userId),  RoomMessage.Type.roomClosed));
+                       WebSocketHelper.sendRoom(new RoomMessage(room.getId(), 
userDao.get(userId),  RoomMessage.Type.roomClosed));
 
                        return new ServiceResult("Closed", Type.SUCCESS);
                });
@@ -269,7 +274,6 @@ public class RoomWebService extends BaseWebService {
        @Path("/open/{id}")
        public ServiceResult open(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       RoomDao roomDao = getRoomDao();
                        Room room = roomDao.get(id);
                        room.setClosed(false);
                        roomDao.update(room, sd.getUserId());
@@ -294,7 +298,7 @@ public class RoomWebService extends BaseWebService {
        @Path("/kick/{id}")
        public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       boolean result = 
getBean(IUserManager.class).kickUsersByRoomId(id);
+                       boolean result = userManager.kickUsersByRoomId(id);
                        return new ServiceResult(result ? "Kicked" : "Not 
kicked", Type.SUCCESS);
                });
        }
@@ -312,14 +316,14 @@ public class RoomWebService extends BaseWebService {
        public List<RoomCountDTO> counters(@WebParam(name="sid") 
@QueryParam("sid") String sid, @WebParam(name="id") @QueryParam("id") 
List<Long> ids) {
                return performCall(sid, User.Right.Soap, sd -> {
                        List<RoomCountDTO> roomBeans = new ArrayList<>();
-                       List<Room> rooms = getRoomDao().get(ids);
+                       List<Room> rooms = roomDao.get(ids);
 
                        for (Room room : rooms) {
                                RoomCountDTO rCountBean = new RoomCountDTO();
                                rCountBean.setRoomId(room.getId());
                                rCountBean.setRoomName(room.getName());
                                rCountBean.setMaxUser(room.getCapacity());
-                               
rCountBean.setRoomCount(getBean(IClientManager.class).listByRoom(room.getId()).size());
+                               
rCountBean.setRoomCount(clientManager.listByRoom(room.getId()).size());
 
                                roomBeans.add(rCountBean);
                        }
@@ -345,13 +349,13 @@ public class RoomWebService extends BaseWebService {
        {
                log.debug("[hash] invite {}", invite);
                return performCall(sid, User.Right.Soap, sd -> {
-                       Invitation i = invite.get(sd.getUserId(), getUserDao(), 
getRoomDao());
-                       i = getBean(InvitationDao.class).update(i);
+                       Invitation i = invite.get(sd.getUserId(), userDao, 
roomDao);
+                       i = inviteDao.update(i);
 
                        if (i != null) {
                                if (sendmail) {
                                        try {
-                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
invite.getSubject(), invite.getMessage(), false);
+                                               
inviteManager.sendInvitationLink(i, MessageType.Create, invite.getSubject(), 
invite.getMessage(), false);
                                        } catch (Exception e) {
                                                throw new 
ServiceException(e.getMessage());
                                        }
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
index 383e79b..7a6d14e 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
@@ -46,8 +46,6 @@ import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
-import org.apache.openmeetings.db.dao.user.IUserManager;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.room.RoomOptionsDTO;
@@ -69,6 +67,7 @@ import org.apache.wicket.validation.Validatable;
 import org.apache.wicket.validation.ValidationError;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -87,6 +86,15 @@ import org.springframework.stereotype.Service;
 public class UserWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(UserWebService.class);
 
+       @Autowired
+       private ConfigurationDao cfgDao;
+       @Autowired
+       private UserManager userManager;
+       @Autowired
+       private IClientManager clientManager;
+       @Autowired
+       private SOAPLoginDao soapDao;
+
        /**
         * @param user - login or email of Openmeetings user with admin or 
SOAP-rights
         * @param pass - password
@@ -99,12 +107,12 @@ public class UserWebService extends BaseWebService {
        public ServiceResult login(@WebParam(name="user") @QueryParam("user") 
String user, @WebParam(name="pass") @QueryParam("pass") String pass) {
                try {
                        log.debug("Login user");
-                       User u = getUserDao().login(user, pass);
+                       User u = userDao.login(user, pass);
                        if (u == null) {
                                return new 
ServiceResult("error.bad.credentials", Type.ERROR);
                        }
 
-                       Sessiondata sd = getSessionDao().create(u.getId(), 
u.getLanguageId());
+                       Sessiondata sd = sessionDao.create(u.getId(), 
u.getLanguageId());
                        log.debug("Login user: {}", u.getId());
                        return new ServiceResult(sd.getSessionId(), 
Type.SUCCESS);
                } catch (OmException oe) {
@@ -127,7 +135,7 @@ public class UserWebService extends BaseWebService {
        @GET
        @Path("/")
        public List<UserDTO> get(@WebParam(name="sid") @QueryParam("sid") 
String sid) {
-               return performCall(sid, User.Right.Soap, sd -> 
UserDTO.list(getUserDao().getAllUsers()));
+               return performCall(sid, User.Right.Soap, sd -> 
UserDTO.list(userDao.getAllUsers()));
        }
 
        /**
@@ -153,7 +161,6 @@ public class UserWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Soap, sd -> {
-                       UserDao userDao = getUserDao();
                        User testUser = 
userDao.getExternalUser(user.getExternalId(), user.getExternalType());
 
                        if (testUser != null) {
@@ -171,7 +178,6 @@ public class UserWebService extends BaseWebService {
                        if (user.getLanguageId() == null) {
                                user.setLanguageId(1L);
                        }
-                       ConfigurationDao cfgDao = 
getBean(ConfigurationDao.class);
                        IValidator<String> passValidator = new 
StrongPasswordValidator(true, getMinPasswdLength(cfgDao), user.get(userDao));
                        Validatable<String> passVal = new 
Validatable<>(user.getPassword());
                        passValidator.validate(passVal);
@@ -183,7 +189,7 @@ public class UserWebService extends BaseWebService {
                                log.debug("addNewUser::weak password '{}', msg: 
{}", user.getPassword(), sb);
                                throw new ServiceException(sb.toString());
                        }
-                       Object _user = 
getBean(UserManager.class).registerUser(user.getLogin(), user.getPassword(),
+                       Object _user = 
userManager.registerUser(user.getLogin(), user.getPassword(),
                                        user.getLastname(), 
user.getFirstname(), user.getAddress().getEmail(), new Date(), 
user.getAddress().getStreet(),
                                        user.getAddress().getAdditionalname(), 
user.getAddress().getFax(), user.getAddress().getZip(), 
user.getAddress().getCountry()
                                        , user.getAddress().getTown(), 
user.getLanguageId(),
@@ -231,7 +237,6 @@ public class UserWebService extends BaseWebService {
        @Path("/{id}")
        public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) {
                return performCall(sid, User.Right.Admin, sd -> {
-                       UserDao userDao = getUserDao();
                        userDao.delete(userDao.get(id), sd.getUserId());
 
                        return new ServiceResult("Deleted", Type.SUCCESS);
@@ -260,7 +265,6 @@ public class UserWebService extends BaseWebService {
                        )
        {
                return performCall(sid, User.Right.Admin, sd -> {
-                       UserDao userDao = getUserDao();
                        User user = userDao.getExternalUser(externalId, 
externalType);
 
                        // Setting user deleted
@@ -305,7 +309,7 @@ public class UserWebService extends BaseWebService {
 
                        log.debug("xmlString " + xmlString);
 
-                       String hash = 
getBean(SOAPLoginDao.class).addSOAPLogin(sid, options.getRoomId(),
+                       String hash = soapDao.addSOAPLogin(sid, 
options.getRoomId(),
                                        options.isModerator(), 
options.isShowAudioVideoTest(), options.isAllowSameURLMultipleTimes(),
                                        options.getRecordingId(),
                                        options.isAllowRecording()
@@ -316,7 +320,7 @@ public class UserWebService extends BaseWebService {
                                        sd.setPermanent(true);
                                }
                                sd.setXml(xmlString);
-                               getSessionDao().update(sd);
+                               sessionDao.update(sd);
                                return new ServiceResult(hash, Type.SUCCESS);
                        }
                        return UNKNOWN;
@@ -336,7 +340,7 @@ public class UserWebService extends BaseWebService {
        @Path("/kick/{uid}")
        public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="uid") @PathParam("uid") String uid) {
                return performCall(sid, User.Right.Soap, sd -> {
-                       boolean success = 
getBean(IUserManager.class).kickById(uid);
+                       boolean success = userManager.kickById(uid);
 
                        return new ServiceResult(Boolean.TRUE.equals(success) ? 
"kicked" : "not kicked", Type.SUCCESS);
                });
@@ -354,6 +358,6 @@ public class UserWebService extends BaseWebService {
        @GET
        @Path("/count/{roomid}")
        public ServiceResult count(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId) {
-               return performCall(sid, User.Right.Soap, sd -> new 
ServiceResult(String.valueOf(getBean(IClientManager.class).listByRoom(roomId).size()),
 Type.SUCCESS));
+               return performCall(sid, User.Right.Soap, sd -> new 
ServiceResult(String.valueOf(clientManager.listByRoom(roomId).size()), 
Type.SUCCESS));
        }
 }
diff --git 
a/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
 
b/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
index 344fb14..051b965 100644
--- 
a/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
+++ 
b/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
@@ -25,7 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.util.Set;
 
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -44,13 +43,8 @@ public class TestBaseService {
        }
 
        @Test
-       public void testGetBeanExc() {
-               checkException(() -> BaseWebService.getBean(UserDao.class));
-       }
-
-       @Test
        public void testCheck() {
-               Sessiondata sd = BaseWebService.check(null);
+               Sessiondata sd = new BaseWebService() {}.check(null);
                assertNotNull("NOT null Sessiondata should be returned", sd);
                assertNull("UserId should be null", sd.getUserId());
        }
@@ -62,17 +56,17 @@ public class TestBaseService {
 
        @Test
        public void testGetRights1() {
-               checkRights(BaseWebService.getRights(1L));
+               checkRights(new BaseWebService() {}.getRights(1L));
        }
 
        @Test
        public void testGetRights2() {
-               checkRights(BaseWebService.getRights(""));
+               checkRights(new BaseWebService() {}.getRights(""));
        }
 
        @Test
        public void testPerformCall() {
-               checkException(() -> BaseWebService.performCall("", sd -> true
+               checkException(() -> new BaseWebService() {}.performCall("", sd 
-> true
                                , sd -> { throw new RuntimeException("test"); 
}));
        }
 }
diff --git a/pom.xml b/pom.xml
index b6340b4..95db933 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@
                <red5-client.version>1.0.10-M4</red5-client.version>
                <spring.version>4.3.14.RELEASE</spring.version>
                <mina.version>2.0.16</mina.version>
-               <tomcat.version>9.0.5</tomcat.version>
+               <tomcat.version>9.0.6</tomcat.version>
                <ical4j.version>2.1.5</ical4j.version>
                <cxf.version>3.2.2</cxf.version>
                <selenium.version>3.9.1</selenium.version>

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to