You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/12/26 19:09:00 UTC
svn commit: r1553534 - in /openmeetings/trunk/singlewebapp:
WebContent/swf10/ src/db/java/org/apache/openmeetings/db/entity/calendar/
src/main/java/org/apache/openmeetings/remote/
src/test/java/org/apache/openmeetings/test/ src/test/java/org/apache/ope...
Author: solomax
Date: Thu Dec 26 18:08:59 2013
New Revision: 1553534
URL: http://svn.apache.org/r1553534
Log:
[OPENMEETINGS-864] tests are fixed; code clean up
Modified:
openmeetings/trunk/singlewebapp/WebContent/swf10/hibAdapter.lzx
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/calendar/Appointment.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestGetAppointment.java
Modified: openmeetings/trunk/singlewebapp/WebContent/swf10/hibAdapter.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/swf10/hibAdapter.lzx?rev=1553534&r1=1553533&r2=1553534&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/swf10/hibAdapter.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/swf10/hibAdapter.lzx Thu Dec 26 18:08:59 2013
@@ -341,8 +341,7 @@
<method name="updateCursorScreenSharing" args="value">
<![CDATA[
if (canvas.screenSharingDialogContainer != null) {
- var obj = canvas.screenSharingDialogContainer
- .searchForSession(value.streamPublishName);
+ var obj = canvas.screenSharingDialogContainer.searchForSession(value.streamPublishName);
obj.updateCursor(value.cursor_x, value.cursor_y);
}
]]>
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=1553534&r1=1553533&r2=1553534&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 Thu Dec 26 18:08:59 2013
@@ -48,10 +48,9 @@ import org.simpleframework.xml.Root;
@Entity
@Table(name = "appointments")
@NamedQueries({
- @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="getAppointmentById", query="SELECT a FROM Appointment a WHERE a.deleted = false AND a.id = :id")
, @NamedQuery(name="appointmentsInRange",
- query="SELECT DISTINCT a FROM Appointment a LEFT JOIN FETCH a.meetingMembers "
+ query="SELECT a FROM Appointment a "
+ "WHERE a.deleted = false "
+ " AND ( "
+ " (a.start BETWEEN :starttime AND :endtime) "
@@ -61,7 +60,7 @@ import org.simpleframework.xml.Root;
+ " AND a.owner.user_id = :userId"
)
, @NamedQuery(name="joinedAppointmentsInRange",
- query="SELECT DISTINCT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
+ query="SELECT a FROM MeetingMember mm INNER JOIN mm.appointment a "
+ "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 +71,7 @@ import org.simpleframework.xml.Root;
+ " )"
)
, @NamedQuery(name="appointmentsInRangeRemind",
- query="SELECT DISTINCT a FROM MeetingMember mm INNER JOIN mm.appointment a LEFT JOIN FETCH a.meetingMembers "
+ query="SELECT a FROM MeetingMember mm INNER JOIN mm.appointment a "
//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,8 +81,7 @@ import org.simpleframework.xml.Root;
+ " OR (a.start < :starttime AND a.end > :endtime) "
+ " )"
)
- , @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")
+ , @NamedQuery(name="getAppointmentByRoomId", query="SELECT a FROM Appointment a 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
, @NamedQuery(name="appointmentsInRangeByUser",
@@ -191,7 +189,7 @@ public class Appointment implements Seri
@Element(data=true, required=false)
private String icalId;
- @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "appointment_id")
private List<MeetingMember> meetingMembers;
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java?rev=1553534&r1=1553533&r2=1553534&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java Thu Dec 26 18:08:59 2013
@@ -156,8 +156,7 @@ public class FLVRecorderService implemen
if (conn instanceof IServiceCapableConnection) {
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- // Send every user a notification that the recording did
- // start
+ // Send every user a notification that the recording did start
if (!rcl.getIsAVClient()) {
((IServiceCapableConnection) conn).invoke("startedRecording", new Object[] { currentClient }, this);
}
@@ -340,14 +339,6 @@ public class FLVRecorderService implemen
if (conn instanceof IServiceCapableConnection) {
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- // FIXME: Check if this function is really in use at
- // the moment
- // if (!rcl.getIsScreenClient()) {
- // ((IServiceCapableConnection)
- // conn).invoke("stoppedRecording",new Object[] {
- // currentClient }, this);
- // }
-
log.debug("is this users still alive? stop it :" + rcl);
if (rcl.getIsScreenClient()) {
Modified: openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1553534&r1=1553533&r2=1553534&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java (original)
+++ openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java Thu Dec 26 18:08:59 2013
@@ -22,12 +22,18 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import java.util.Date;
+import java.util.List;
import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
+import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.calendar.AppointmentReminderTyps;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.RoomType;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
@@ -37,8 +43,8 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class AbstractJUnitDefaults extends AbstractSpringTest {
-
private static final Logger log = Red5LoggerFactory.getLogger(AbstractJUnitDefaults.class);
+ public static final String OM_URL = "http://testserver.apache.org/openmeetings";
protected static final String username = "swagner";
protected static final String userpass = "qweqwe";
@@ -49,6 +55,10 @@ public abstract class AbstractJUnitDefau
@Autowired
private AppointmentDao appointmentDao;
@Autowired
+ private AppointmentReminderTypDao reminderTypeDao;
+ @Autowired
+ private RoomTypeDao roomTypeDao;
+ @Autowired
private UserManager userManager;
@Autowired
private UserDao userDao;
@@ -56,6 +66,9 @@ public abstract class AbstractJUnitDefau
private ImportInitvalues importInitvalues;
@Autowired
private ConfigurationDao configurationDao;
+
+ private List<AppointmentReminderTyps> remindTypes;
+ private List<RoomType> roomTypes;
@Before
public void setUp() throws Exception {
@@ -66,9 +79,18 @@ public abstract class AbstractJUnitDefau
} else {
log.info("Default scheme already created");
}
+ remindTypes = reminderTypeDao.getAppointmentReminderTypList(1L);
+ roomTypes = roomTypeDao.getAll(1L);
}
- public Appointment createAppointment() throws Exception {
+ public Appointment createAppointment() {
+ Date appointmentstart = new Date();
+ Date appointmentend = new Date();
+ appointmentend.setTime(appointmentstart.getTime() + 3600);
+ return createAppointment(appointmentstart, appointmentend);
+ }
+
+ public Appointment getAppointment(Date start, Date end) {
assertNotNull("Can't access to appointment dao implimentation", appointmentDao);
// add new appointment
@@ -77,12 +99,44 @@ public abstract class AbstractJUnitDefau
ap.setTitle("appointmentName");
ap.setLocation("appointmentLocation");
- Date appointmentstart = new Date();
- Date appointmentend = new Date();
- appointmentend.setTime(appointmentstart.getTime() + 3600);
+ ap.setStart(start);
+ ap.setEnd(end);
+ ap.setDescription("appointmentDescription");
+ ap.setInserted(new Date());
+ ap.setDeleted(false);
+ ap.setIsDaily(false);
+ ap.setIsWeekly(false);
+ ap.setIsMonthly(false);
+ ap.setIsYearly(false);
+ ap.setPasswordProtected(false);
+
+ ap.setOwner(userDao.get(1L));
+ ap.setConnectedEvent(false);
+
+ if (ap.getRemind() == null && !remindTypes.isEmpty()) {
+ ap.setRemind(remindTypes.get(0));
+ }
+
+ Room r = new Room();
+ if (!roomTypes.isEmpty()) {
+ r.setRoomtype(roomTypes.get(0));
+ }
+ r.setAppointment(true);
+ ap.setRoom(r);
+ return ap;
+ }
+
+ public Appointment createAppointment(Date start, Date end) {
+ assertNotNull("Can't access to appointment dao implimentation", appointmentDao);
+
+ // add new appointment
+ Appointment ap = new Appointment();
+
+ ap.setTitle("appointmentName");
+ ap.setLocation("appointmentLocation");
- ap.setStart(appointmentstart);
- ap.setEnd(appointmentend);
+ ap.setStart(start);
+ ap.setEnd(end);
ap.setDescription("appointmentDescription");
ap.setInserted(new Date());
ap.setDeleted(false);
@@ -104,7 +158,7 @@ public abstract class AbstractJUnitDefau
// add user
u.setFirstname("firstname" + rnd);
u.setLastname("lastname" + rnd);
- u.setLogin("login");
+ u.setLogin("login" + rnd);
u.updatePassword(configurationDao, "pass" + rnd);
u.setLanguage_id(1L);
Long user_id = userManager.addUser(u);
@@ -124,7 +178,7 @@ public abstract class AbstractJUnitDefau
importInitvalues.loadAll(cfg, false);
}
- public User createUserContact(int rnd, Long ownerId) throws Exception {
+ public User createUserContact(int rnd, Long ownerId) {
User user = userDao.getContact("email" + rnd, "firstname" + rnd, "lastname" + rnd, ownerId);
user = userDao.update(user, ownerId);
assertNotNull("Cann't add user", user);
Modified: openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java?rev=1553534&r1=1553533&r2=1553534&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java (original)
+++ openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java Thu Dec 26 18:08:59 2013
@@ -18,12 +18,16 @@
*/
package org.apache.openmeetings.test.calendar;
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
import java.util.Calendar;
-import java.util.List;
+import java.util.Random;
import org.apache.log4j.Logger;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,11 +39,66 @@ public class TestDatabaseStructureGetApp
@Test
public void test() {
- List<Appointment> listAppoints = appointmentDao.getAppointmentsByRange(1L,
- Calendar.getInstance().getTime(), Calendar.getInstance().getTime());
+ log.debug("Test started");
+ Long userId = 1L;
+
+ Random rnd = new Random();
+ Calendar now = Calendar.getInstance();
+ Calendar rangeStart = Calendar.getInstance();
+ rangeStart.setTime(now.getTime());
+ rangeStart.add(Calendar.DATE, -1);
+ Calendar rangeEnd = Calendar.getInstance();
+ rangeEnd.add(Calendar.DATE, 1);
+ rangeEnd.setTime(now.getTime());
+
+ Calendar a1End = Calendar.getInstance();
+ a1End.setTime(now.getTime());
+ a1End.add(Calendar.HOUR_OF_DAY, 1);
+ Appointment a1 = getAppointment(now.getTime(), a1End.getTime());
+ a1.setTitle("AppointmentByRange_a1");
- for (Appointment appoints : listAppoints) {
- log.debug("" + appoints);
+ Appointment a2 = getAppointment(now.getTime(), a1End.getTime());
+ a2.setTitle("AppointmentByRange_a2");
+ a2.setMeetingMembers(new ArrayList<MeetingMember>());
+ MeetingMember mm1 = new MeetingMember();
+ mm1.setUser(createUserContact(rnd.nextInt(), userId));
+ mm1.setAppointment(a2);
+ a2.getMeetingMembers().add(mm1);
+
+ Appointment a3 = getAppointment(now.getTime(), a1End.getTime());
+ a3.setTitle("AppointmentByRange_a3");
+ a3.setMeetingMembers(new ArrayList<MeetingMember>());
+ MeetingMember mm2 = new MeetingMember();
+ mm2.setUser(createUserContact(rnd.nextInt(), userId));
+ mm2.setAppointment(a3);
+ a3.getMeetingMembers().add(mm2);
+ MeetingMember mm3 = new MeetingMember();
+ mm3.setUser(createUserContact(rnd.nextInt(), userId));
+ mm3.setAppointment(a3);
+ a3.getMeetingMembers().add(mm3);
+
+ a1 = appointmentDao.update(a1, OM_URL, userId);
+ a2 = appointmentDao.update(a2, OM_URL, userId);
+ a3 = appointmentDao.update(a3, OM_URL, userId);
+
+ int a1found = 0, a2found = 0, a3found = 0;
+ for (Appointment a : appointmentDao.getAppointmentsByRange(userId, rangeStart.getTime(), rangeEnd.getTime())) {
+ int mmCount = a.getMeetingMembers() == null ? 0 : a.getMeetingMembers().size();
+ if (a.getId().equals(a1.getId())) {
+ assertEquals("Inapropriate MeetingMembers count", 0, mmCount);
+ a1found++;
+ }
+ if (a.getId().equals(a2.getId())) {
+ assertEquals("Inapropriate MeetingMembers count", 1, mmCount);
+ a2found++;
+ }
+ if (a.getId().equals(a3.getId())) {
+ assertEquals("Inapropriate MeetingMembers count", 2, mmCount);
+ a3found++;
+ }
}
+ assertEquals("Inappropriate count of appointments without members found", 1, a1found);
+ assertEquals("Inappropriate count of appointments with 1 member found", 1, a2found);
+ assertEquals("Inappropriate count of appointments with 2 members found", 1, a3found);
}
}
Modified: openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestGetAppointment.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestGetAppointment.java?rev=1553534&r1=1553533&r2=1553534&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestGetAppointment.java (original)
+++ openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestGetAppointment.java Thu Dec 26 18:08:59 2013
@@ -18,20 +18,19 @@
*/
package org.apache.openmeetings.test.calendar;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import java.util.Calendar;
-import java.util.GregorianCalendar;
import org.apache.log4j.Logger;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
-public class TestGetAppointment extends
-AbstractJUnitDefaults {
-
+public class TestGetAppointment extends AbstractJUnitDefaults {
private static final Logger log = Logger.getLogger(TestGetAppointment.class);
@Autowired
@@ -42,17 +41,18 @@ AbstractJUnitDefaults {
log.debug("getAppoinment enter");
Long userId = 1L;
- Calendar starttime = GregorianCalendar.getInstance();
-
- starttime.set(Calendar.MONTH, starttime.get(Calendar.MONTH-1));
-
- Calendar endtime = GregorianCalendar.getInstance();
-
- appointmentDao.getAppointmentsByRange(userId, starttime.getTime(),
- endtime.getTime());
+ Calendar now = Calendar.getInstance();
+ Calendar a1End = Calendar.getInstance();
+ a1End.setTime(now.getTime());
+ a1End.add(Calendar.HOUR_OF_DAY, 1);
+ Appointment a1 = getAppointment(now.getTime(), a1End.getTime());
+ a1.setTitle("GetAppointment");
- assertTrue(true);
+ a1 = appointmentDao.update(a1, OM_URL, userId);
+ Appointment a = appointmentDao.get(a1.getId());
+ assertNotNull("Failed to get Appointment By id", a);
+ assertEquals("Inapropriate MeetingMembers count", 0, a.getMeetingMembers() == null ? 0 : a.getMeetingMembers().size());
}
}