You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2013/12/23 08:51:43 UTC

svn commit: r1553082 - in /openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db: dao/calendar/AppointmentDao.java entity/calendar/Appointment.java

Author: vdegtyarev
Date: Mon Dec 23 07:51:42 2013
New Revision: 1553082

URL: http://svn.apache.org/r1553082
Log:
OPENMEETINGS-864 is fixed. Now event updates without error and events are not duplicated if invite more then one guest.

Modified:
    openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
    openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java

Modified: openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java?rev=1553082&r1=1553081&r2=1553082&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java (original)
+++ openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java Mon Dec 23 07:51:42 2013
@@ -161,8 +161,8 @@ public class AppointmentDao {
 					invitationManager.processInvitation(a, mm, MessageType.Create, baseUrl);
 				} else {
 					boolean sendMail = a0 == null || !a0.getTitle().equals(a.getTitle()) ||
-						!a0.getDescription().equals(a.getDescription()) ||
-						!a0.getLocation().equals(a.getLocation()) ||
+						!(a0.getDescription() != null ? a0.getDescription().equals(a.getDescription()) : true) ||
+						!(a0.getLocation() != null ? a0.getLocation().equals(a.getLocation()) : true) ||
 						!a0.getStart().equals(a.getStart()) ||
 						!a0.getEnd().equals(a.getEnd());
 					mmIds.remove(mm.getId());

Modified: openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java?rev=1553082&r1=1553081&r2=1553082&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java (original)
+++ openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java Mon Dec 23 07:51:42 2013
@@ -48,10 +48,10 @@ import org.simpleframework.xml.Root;
 @Entity
 @Table(name = "appointments")
 @NamedQueries({
-    @NamedQuery(name="getAppointmentById", query="SELECT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers"
+    @NamedQuery(name="getAppointmentById", query="SELECT DISTINCT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers"
     		+ " WHERE a.deleted = false AND a.id = :id")
     , @NamedQuery(name="appointmentsInRange",
-    	query="SELECT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers "
+    	query="SELECT DISTINCT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers "
 			+ "WHERE a.deleted = false "
 			+ "	AND ( "
 			+ "		(a.start BETWEEN :starttime AND :endtime) "
@@ -61,7 +61,7 @@ import org.simpleframework.xml.Root;
 			+ "	AND a.owner.user_id = :userId"
     	)
     , @NamedQuery(name="joinedAppointmentsInRange",
-		query="SELECT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
+		query="SELECT DISTINCT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
 			+ "WHERE mm.deleted = false AND mm.user.user_id <> a.owner.user_id AND mm.user.user_id = :userId "
 			+ "	AND a.id NOT IN (SELECT a.id FROM Appointment a WHERE a.owner.user_id = :userId)"
 			+ "	AND mm.connectedEvent = false " //TODO review: isConnectedEvent is set for the MeetingMember if event is created from "Private Messages", it is weird
@@ -72,7 +72,7 @@ import org.simpleframework.xml.Root;
 			+ "	)"
     	)
     , @NamedQuery(name="appointmentsInRangeRemind",
-		query="SELECT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
+		query="SELECT DISTINCT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
 			//only ReminderType simple mail is concerned!
 			+ "WHERE mm.deleted = false AND a.deleted = false AND a.reminderEmailSend = false"
 			+ " AND (a.remind.typId = 2 OR a.remind.typId = 3) "
@@ -82,7 +82,7 @@ import org.simpleframework.xml.Root;
 			+ "		OR (a.start < :starttime AND a.end > :endtime) "
 			+ "	)"
     	)
-    , @NamedQuery(name="getAppointmentByRoomId", query="SELECT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers"
+    , @NamedQuery(name="getAppointmentByRoomId", query="SELECT DISTINCT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers"
     		+ " WHERE a.deleted = false AND a.room.rooms_id = :room_id")
 	//TODO this query returns duplicates if the user books an appointment with
 	//his own user as second meeting-member, swagner 19.02.2012