Author: solomax
Date: Fri Feb  6 05:19:28 2015
New Revision: 1657747

URL: http://svn.apache.org/r1657747
Log:
[OPENMEETINGS-1157] getNextAppointment* methods are fixed, code clean-up

Modified:
    
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebService.java
    
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
    
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
    
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
    
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
    
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java

Modified: 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebService.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebService.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebService.java
 Fri Feb  6 05:19:28 2015
@@ -152,7 +152,7 @@ public class CalendarWebService {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return new 
AppointmentDTO(appointmentLogic.getNextAppointment());
+                               return new 
AppointmentDTO(appointmentDao.getNextAppointment(users_id, new Date()));
                        }
                } catch (Exception err) {
                        log.error("[getNextAppointmentById]", err);
@@ -172,8 +172,8 @@ public class CalendarWebService {
        public AppointmentDTO getNextAppointmentForUserId(String SID, long 
userId) {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return new 
AppointmentDTO(appointmentLogic.getNextAppointment());
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
+                               return new 
AppointmentDTO(appointmentDao.getNextAppointment(userId, new Date()));
                        }
                } catch (Exception err) {
                        log.error("[getNextAppointmentById]", err);
@@ -192,11 +192,11 @@ public class CalendarWebService {
         *            
         * @return - calendar event list
         */
-       public List<AppointmentDTO> searchAppointmentByName(String SID, String 
appointmentName) {
+       public List<AppointmentDTO> searchAppointmentByTitle(String SID, String 
appointmentName) {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return 
getAppointments(appointmentLogic.searchAppointmentByName(appointmentName));
+                               return 
getAppointments(appointmentDao.searchAppointmentsByTitle(users_id, 
appointmentName));
                        }
                } catch (Exception err) {
                        log.error("[searchAppointmentByName]", err);

Modified: 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
 Fri Feb  6 05:19:28 2015
@@ -45,8 +45,8 @@ public class CalendarWebServiceFacade ex
                return 
getBean(CalendarWebService.class).getNextAppointmentForUserId(SID, userId);
        }
 
-       public List<AppointmentDTO> searchAppointmentByName(String SID, String 
appointmentName) throws AxisFault {
-               return 
getBean(CalendarWebService.class).searchAppointmentByName(SID, appointmentName);
+       public List<AppointmentDTO> searchAppointmentByTitle(String SID, String 
appointmentName) throws AxisFault {
+               return 
getBean(CalendarWebService.class).searchAppointmentByTitle(SID, 
appointmentName);
        }
 
        public Long saveAppointment(String SID, String appointmentName,

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
 Fri Feb  6 05:19:28 2015
@@ -277,47 +277,15 @@ public class AppointmentDao {
        }
 
        // next appointment to select date
-       public Appointment getNextAppointment(Date appointmentStarttime) {
-               try {
-
-                       String hql = "select a from Appointment a "
-                                       + "WHERE a.deleted false "
-                                       + "AND a.start > :appointmentStarttime 
";
-
-                       TypedQuery<Appointment> query = em.createQuery(hql, 
Appointment.class);
-                       query.setParameter("appointmentStarttime", 
appointmentStarttime);
-
-                       Appointment appoint = null;
-                       try {
-                               appoint = query.getSingleResult();
-                       } catch (NoResultException ex) {
-                       }
-
-                       return appoint;
-               } catch (Exception ex2) {
-                       log.error("[getNextAppointmentById]: ", ex2);
-               }
-               return null;
+       public Appointment getNextAppointment(Long userId, Date start) {
+               List<Appointment> list = 
em.createNamedQuery("getNextAppointment", Appointment.class)
+                               .setParameter("start", 
start).setParameter("userId", userId).getResultList();
+               return list == null || list.isEmpty() ? null : list.get(0);
        }
 
-       public List<Appointment> searchAppointmentsByName(String name) {
-               try {
-
-                       String hql = "select a from Appointment a "
-                                       + "WHERE a.deleted false "
-                                       + "AND a.title LIKE :appointmentName";
-
-                       TypedQuery<Appointment> query = em.createQuery(hql,
-                                       Appointment.class);
-                       query.setParameter("appointmentName", name);
-
-                       List<Appointment> listAppoints = query.getResultList();
-
-                       return listAppoints;
-               } catch (Exception ex2) {
-                       log.error("[searchAppointmentsByName]: ", ex2);
-               }
-               return null;
+       public List<Appointment> searchAppointmentsByTitle(Long userId, String 
title) {
+               return em.createNamedQuery("getNextAppointment", 
Appointment.class)
+                               .setParameter("title", 
title).setParameter("userId", userId).getResultList();
        }
 
        /**

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 Fri Feb  6 05:19:28 2015
@@ -104,6 +104,8 @@ import org.simpleframework.xml.Root;
                        + "             OR (a.start < :starttime AND a.end > 
:endtime) "
                        + "     )"
            )
+    , @NamedQuery(name="getNextAppointment", query="SELECT a FROM Appointment 
a WHERE a.deleted = false AND a.start > :start AND a.owner.user_id = :userId")
+    , @NamedQuery(name="getAppointmentsByTitle", query="SELECT a FROM 
Appointment a WHERE a.deleted = false AND a.title LIKE :title AND 
a.owner.user_id = :userId")
 })
 @Root(name="appointment")
 public class Appointment implements Serializable {

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
 Fri Feb  6 05:19:28 2015
@@ -30,7 +30,6 @@ import java.util.List;
 import java.util.TimeZone;
 
 import org.apache.openmeetings.data.conference.InvitationManager;
-import org.apache.openmeetings.data.conference.RoomManager;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
@@ -76,8 +75,6 @@ public class AppointmentLogic {
        @Autowired
        private InvitationDao invitationDao;
        @Autowired
-       private RoomManager roomManager;
-       @Autowired
        private UserDao userDao;
        @Autowired
        private MeetingMemberDao meetingMemberDao;
@@ -122,25 +119,6 @@ public class AppointmentLogic {
 
        // 
--------------------------------------------------------------------------------------------
 
-       // next appointment to current date
-       public Appointment getNextAppointment() {
-               try {
-                       return appointmentDao.getNextAppointment(new Date());
-               } catch (Exception err) {
-                       log.error("[getNextAppointmentById]", err);
-               }
-               return null;
-       }
-
-       public List<Appointment> searchAppointmentByName(String 
appointmentName) {
-               try {
-                       return 
appointmentDao.searchAppointmentsByName(appointmentName);
-               } catch (Exception err) {
-                       log.error("[searchAppointmentByName]", err);
-               }
-               return null;
-       }
-
        private void sendReminder(User u, Appointment a) throws Exception {
                Invitation i = new Invitation();
                i.setInvitedBy(u);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
 Fri Feb  6 05:19:28 2015
@@ -241,47 +241,15 @@ public class AppointmentDao {
        }
 
        // next appointment to select date
-       public Appointment getNextAppointment(Date appointmentStarttime) {
-               try {
-
-                       String hql = "select a from Appointment a "
-                                       + "WHERE a.deleted false "
-                                       + "AND a.start > :appointmentStarttime 
";
-
-                       TypedQuery<Appointment> query = em.createQuery(hql, 
Appointment.class);
-                       query.setParameter("appointmentStarttime", 
appointmentStarttime);
-
-                       Appointment appoint = null;
-                       try {
-                               appoint = query.getSingleResult();
-                       } catch (NoResultException ex) {
-                       }
-
-                       return appoint;
-               } catch (Exception ex2) {
-                       log.error("[getNextAppointmentById]: ", ex2);
-               }
-               return null;
+       public Appointment getNextAppointment(Long userId, Date start) {
+               List<Appointment> list = 
em.createNamedQuery("getNextAppointment", Appointment.class)
+                               .setParameter("start", 
start).setParameter("userId", userId).getResultList();
+               return list == null || list.isEmpty() ? null : list.get(0);
        }
 
-       public List<Appointment> searchAppointmentsByName(String name) {
-               try {
-
-                       String hql = "select a from Appointment a "
-                                       + "WHERE a.deleted false "
-                                       + "AND a.title LIKE :appointmentName";
-
-                       TypedQuery<Appointment> query = em.createQuery(hql,
-                                       Appointment.class);
-                       query.setParameter("appointmentName", name);
-
-                       List<Appointment> listAppoints = query.getResultList();
-
-                       return listAppoints;
-               } catch (Exception ex2) {
-                       log.error("[searchAppointmentsByName]: ", ex2);
-               }
-               return null;
+       public List<Appointment> searchAppointmentsByTitle(Long userId, String 
title) {
+               return em.createNamedQuery("getNextAppointment", 
Appointment.class)
+                               .setParameter("title", 
title).setParameter("userId", userId).getResultList();
        }
 
        /**

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
 Fri Feb  6 05:19:28 2015
@@ -104,6 +104,8 @@ import org.simpleframework.xml.Root;
                        + "             OR (a.start < :starttime AND a.end > 
:endtime) "
                        + "     )"
            )
+    , @NamedQuery(name="getNextAppointment", query="SELECT a FROM Appointment 
a WHERE a.deleted = false AND a.start > :start AND a.owner.id = :userId")
+    , @NamedQuery(name="getAppointmentsByTitle", query="SELECT a FROM 
Appointment a WHERE a.deleted = false AND a.title LIKE :title AND a.owner.id = 
:userId")
 })
 @Root(name="appointment")
 public class Appointment implements IDataProviderEntity {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java
 Fri Feb  6 05:19:28 2015
@@ -30,7 +30,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
 
-import org.apache.openmeetings.core.data.conference.RoomManager;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
@@ -77,8 +76,6 @@ public class AppointmentLogic {
        @Autowired
        private InvitationDao invitationDao;
        @Autowired
-       private RoomManager roomManager;
-       @Autowired
        private UserDao userDao;
        @Autowired
        private MeetingMemberDao meetingMemberDao;
@@ -87,25 +84,6 @@ public class AppointmentLogic {
 
        // 
--------------------------------------------------------------------------------------------
 
-       // next appointment to current date
-       public Appointment getNextAppointment() {
-               try {
-                       return appointmentDao.getNextAppointment(new Date());
-               } catch (Exception err) {
-                       log.error("[getNextAppointmentById]", err);
-               }
-               return null;
-       }
-
-       public List<Appointment> searchAppointmentByName(String 
appointmentName) {
-               try {
-                       return 
appointmentDao.searchAppointmentsByName(appointmentName);
-               } catch (Exception err) {
-                       log.error("[searchAppointmentByName]", err);
-               }
-               return null;
-       }
-
        private void sendReminder(User u, Appointment a) throws Exception {
                Invitation i = new Invitation();
                i.setInvitedBy(u);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1657747&r1=1657746&r2=1657747&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 Fri Feb  6 05:19:28 2015
@@ -162,7 +162,7 @@ public class CalendarWebService {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return new 
AppointmentDTO(appointmentLogic.getNextAppointment());
+                               return new 
AppointmentDTO(appointmentDao.getNextAppointment(users_id, new Date()));
                        }
                } catch (Exception err) {
                        log.error("[getNextAppointmentById]", err);
@@ -182,8 +182,8 @@ public class CalendarWebService {
        public AppointmentDTO getNextAppointmentForUserId(String SID, long 
userId) {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return new 
AppointmentDTO(appointmentLogic.getNextAppointment());
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
+                               return new 
AppointmentDTO(appointmentDao.getNextAppointment(userId, new Date()));
                        }
                } catch (Exception err) {
                        log.error("[getNextAppointmentById]", err);
@@ -202,11 +202,11 @@ public class CalendarWebService {
         *            
         * @return - calendar event list
         */
-       public List<AppointmentDTO> searchAppointmentByName(String SID, String 
appointmentName) {
+       public List<AppointmentDTO> searchAppointmentByTitle(String SID, String 
appointmentName) {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               return 
getAppointments(appointmentLogic.searchAppointmentByName(appointmentName));
+                               return 
getAppointments(appointmentDao.searchAppointmentsByTitle(users_id, 
appointmentName));
                        }
                } catch (Exception err) {
                        log.error("[searchAppointmentByName]", err);


Reply via email to