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 2016/11/17 17:24:44 UTC

svn commit: r1770248 - in /openmeetings/application: branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/ branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/ branches/3.1.x/openmeetings-db/sr...

Author: solomax
Date: Thu Nov 17 17:24:44 2016
New Revision: 1770248

URL: http://svn.apache.org/viewvc?rev=1770248&view=rev
Log:
[OPENMEETINGS-1488] initial work on expiring recordings

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
    openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
    openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
    openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java Thu Nov 17 17:24:44 2016
@@ -25,6 +25,8 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.time.Duration;
+import java.time.Instant;
 import java.util.Date;
 import java.util.List;
 
@@ -174,8 +176,14 @@ public class RecordingDao {
 		return null;
 	}
 
-	public List<Recording> getExpiring() {
-		return null;
+	public List<Recording> getExpiring(Long groupId, int reminderDays) {
+		Date startDate = Date.from(Instant.now().minus(Duration.ofDays(reminderDays)));
+		Date endDate = Date.from(Instant.now().minus(Duration.ofMinutes(15)));
+		return em.createNamedQuery("getExpiringRecordings", Recording.class)
+				.setParameter("groupId", groupId)
+				.setParameter("startDate", startDate)
+				.setParameter("endDate", endDate)
+				.getResultList();
 	}
 
 	public List<Recording> getByParent(Long parentId) {

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java Thu Nov 17 17:24:44 2016
@@ -111,6 +111,10 @@ public class GroupDao implements IGroupA
 		return em.createNamedQuery("getGroupsByIds", Group.class).setParameter("ids", ids).getResultList();
 	}
 
+	public List<Group> getLimited() {
+		return em.createNamedQuery("getLimitedGroups", Group.class).getResultList();
+	}
+
 	@Override
 	public Group update(Group entity, Long userId) {
 		if (entity.getId() == null) {
@@ -137,7 +141,6 @@ public class GroupDao implements IGroupA
 		if (userId != null) {
 			g.setUpdatedby(userId);
 		}
-
 		em.merge(g);
 	}
 }

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Thu Nov 17 17:24:44 2016
@@ -96,6 +96,11 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM Recording rec, Room r, User u "
 			+ "WHERE rec.deleted = false AND rec.roomId = r.id AND rec.insertedBy = u.id "
 			+ "AND (r.externalType = :externalType OR u.externalType = :externalType)")
+	, @NamedQuery(name = "getExpiringRecordings", query = "SELECT DISTINCT rec FROM Recording rec "
+			+ "WHERE rec.deleted = false AND (rec.groupId = : groupId "
+			+ "    OR rec.ownerId IN (SELECT gu.user.id FROM GroupUser gu WHERE gu.group.id = :groupId)"
+			+ "    OR rec.roomId IN (SELECT rg.room.id FROM RoomGroup rg WHERE rg.group.id = :groupId))"
+			+ "  AND rec.inserted BETWEEN :startDate AND :endDate")
 })
 @Table(name = "recording")
 @Root(name = "flvrecording")

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java Thu Nov 17 17:24:44 2016
@@ -41,6 +41,7 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name="getGroupsByIds", query="SELECT g FROM Group AS g WHERE g.id IN :ids")
 	, @NamedQuery(name="getNondeletedGroups", query="SELECT g FROM Group g WHERE g.deleted = false ORDER BY g.id")
 	, @NamedQuery(name="countGroups", query="SELECT COUNT(g) FROM Group AS g WHERE g.deleted = false")
+	, @NamedQuery(name="getLimitedGroups", query="SELECT g FROM Group AS g WHERE g.deleted = false AND g.limited = true")
 })
 @Table(name = "om_group")
 @Root(name = "organisation")

Modified: openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java Thu Nov 17 17:24:44 2016
@@ -21,6 +21,9 @@ package org.apache.openmeetings.service.
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import org.apache.openmeetings.db.dao.record.RecordingDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.service.calendar.AppointmentLogic;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.red5.logging.Red5LoggerFactory;
@@ -33,9 +36,11 @@ public class MeetingReminderJob {
 	private AppointmentLogic appointmentLogic;
 	@Autowired
 	private RecordingDao recordingDao;
+	@Autowired
+	private GroupDao groupDao;
 
 	public void remindIt() {
-		log.debug("MeetingReminderJob.execute");
+		log.debug("MeetingReminderJob.remindIt");
 		if (!InitializationContainer.initComplete) {
 			return;
 		}
@@ -47,6 +52,14 @@ public class MeetingReminderJob {
 	}
 
 	public void remindExpiring() {
-		//recordingDao.
+		log.debug("MeetingReminderJob.remindExpiring");
+		if (!InitializationContainer.initComplete) {
+			return;
+		}
+		for (Group g : groupDao.getLimited()) {
+			for (Recording rec : recordingDao.getExpiring(g.getId(), g.getReminderDays())) {
+				
+			}
+		}
 	}
 }

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java Thu Nov 17 17:24:44 2016
@@ -25,6 +25,8 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.time.Duration;
+import java.time.Instant;
 import java.util.Date;
 import java.util.List;
 
@@ -174,8 +176,14 @@ public class RecordingDao {
 		return null;
 	}
 
-	public List<Recording> getExpiring() {
-		return null;
+	public List<Recording> getExpiring(Long groupId, int reminderDays) {
+		Date startDate = Date.from(Instant.now().minus(Duration.ofDays(reminderDays)));
+		Date endDate = Date.from(Instant.now().minus(Duration.ofMinutes(15)));
+		return em.createNamedQuery("getExpiringRecordings", Recording.class)
+				.setParameter("groupId", groupId)
+				.setParameter("startDate", startDate)
+				.setParameter("endDate", endDate)
+				.getResultList();
 	}
 
 	public List<Recording> getByParent(Long parentId) {

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java Thu Nov 17 17:24:44 2016
@@ -111,6 +111,10 @@ public class GroupDao implements IGroupA
 		return em.createNamedQuery("getGroupsByIds", Group.class).setParameter("ids", ids).getResultList();
 	}
 
+	public List<Group> getLimited() {
+		return em.createNamedQuery("getLimitedGroups", Group.class).getResultList();
+	}
+
 	@Override
 	public Group update(Group entity, Long userId) {
 		if (entity.getId() == null) {
@@ -137,7 +141,6 @@ public class GroupDao implements IGroupA
 		if (userId != null) {
 			g.setUpdatedby(userId);
 		}
-
 		em.merge(g);
 	}
 }

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Thu Nov 17 17:24:44 2016
@@ -90,6 +90,11 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM Recording rec, Room r, User u "
 			+ "WHERE rec.deleted = false AND rec.roomId = r.id AND rec.insertedBy = u.id "
 			+ "AND (r.externalType = :externalType OR u.externalType = :externalType)")
+	, @NamedQuery(name = "getExpiringRecordings", query = "SELECT DISTINCT rec FROM Recording rec "
+			+ "WHERE rec.deleted = false AND (rec.groupId = : groupId "
+			+ "    OR rec.ownerId IN (SELECT gu.user.id FROM GroupUser gu WHERE gu.group.id = :groupId)"
+			+ "    OR rec.roomId IN (SELECT rg.room.id FROM RoomGroup rg WHERE rg.group.id = :groupId))"
+			+ "  AND rec.inserted BETWEEN :startDate AND :endDate")
 })
 @Table(name = "recording")
 @Root(name = "flvrecording")

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java Thu Nov 17 17:24:44 2016
@@ -41,6 +41,7 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name="getGroupsByIds", query="SELECT g FROM Group AS g WHERE g.id IN :ids")
 	, @NamedQuery(name="getNondeletedGroups", query="SELECT g FROM Group g WHERE g.deleted = false ORDER BY g.id")
 	, @NamedQuery(name="countGroups", query="SELECT COUNT(g) FROM Group AS g WHERE g.deleted = false")
+	, @NamedQuery(name="getLimitedGroups", query="SELECT g FROM Group AS g WHERE g.deleted = false AND g.limited = true")
 })
 @Table(name = "om_group")
 @Root(name = "organisation")

Modified: openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java Thu Nov 17 17:24:44 2016
@@ -21,6 +21,9 @@ package org.apache.openmeetings.service.
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import org.apache.openmeetings.db.dao.record.RecordingDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.service.calendar.AppointmentLogic;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.red5.logging.Red5LoggerFactory;
@@ -33,9 +36,11 @@ public class MeetingReminderJob {
 	private AppointmentLogic appointmentLogic;
 	@Autowired
 	private RecordingDao recordingDao;
+	@Autowired
+	private GroupDao groupDao;
 
 	public void remindIt() {
-		log.debug("MeetingReminderJob.execute");
+		log.debug("MeetingReminderJob.remindIt");
 		if (!InitializationContainer.initComplete) {
 			return;
 		}
@@ -47,6 +52,14 @@ public class MeetingReminderJob {
 	}
 
 	public void remindExpiring() {
-		//recordingDao.
+		log.debug("MeetingReminderJob.remindExpiring");
+		if (!InitializationContainer.initComplete) {
+			return;
+		}
+		for (Group g : groupDao.getLimited()) {
+			for (Recording rec : recordingDao.getExpiring(g.getId(), g.getReminderDays())) {
+				
+			}
+		}
 	}
 }

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java Thu Nov 17 17:24:44 2016
@@ -25,6 +25,8 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.time.Duration;
+import java.time.Instant;
 import java.util.Date;
 import java.util.List;
 
@@ -174,8 +176,14 @@ public class RecordingDao {
 		return null;
 	}
 
-	public List<Recording> getExpiring() {
-		return null;
+	public List<Recording> getExpiring(Long groupId, int reminderDays) {
+		Date startDate = Date.from(Instant.now().minus(Duration.ofDays(reminderDays)));
+		Date endDate = Date.from(Instant.now().minus(Duration.ofMinutes(15)));
+		return em.createNamedQuery("getExpiringRecordings", Recording.class)
+				.setParameter("groupId", groupId)
+				.setParameter("startDate", startDate)
+				.setParameter("endDate", endDate)
+				.getResultList();
 	}
 
 	public List<Recording> getByParent(Long parentId) {

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/GroupDao.java Thu Nov 17 17:24:44 2016
@@ -111,6 +111,10 @@ public class GroupDao implements IGroupA
 		return em.createNamedQuery("getGroupsByIds", Group.class).setParameter("ids", ids).getResultList();
 	}
 
+	public List<Group> getLimited() {
+		return em.createNamedQuery("getLimitedGroups", Group.class).getResultList();
+	}
+
 	@Override
 	public Group update(Group entity, Long userId) {
 		if (entity.getId() == null) {
@@ -137,7 +141,6 @@ public class GroupDao implements IGroupA
 		if (userId != null) {
 			g.setUpdatedby(userId);
 		}
-
 		em.merge(g);
 	}
 }

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Thu Nov 17 17:24:44 2016
@@ -90,6 +90,11 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM Recording rec, Room r, User u "
 			+ "WHERE rec.deleted = false AND rec.roomId = r.id AND rec.insertedBy = u.id "
 			+ "AND (r.externalType = :externalType OR u.externalType = :externalType)")
+	, @NamedQuery(name = "getExpiringRecordings", query = "SELECT DISTINCT rec FROM Recording rec "
+			+ "WHERE rec.deleted = false AND (rec.groupId = : groupId "
+			+ "    OR rec.ownerId IN (SELECT gu.user.id FROM GroupUser gu WHERE gu.group.id = :groupId)"
+			+ "    OR rec.roomId IN (SELECT rg.room.id FROM RoomGroup rg WHERE rg.group.id = :groupId))"
+			+ "  AND rec.inserted BETWEEN :startDate AND :endDate")
 })
 @Table(name = "recording")
 @Root(name = "flvrecording")

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java Thu Nov 17 17:24:44 2016
@@ -41,6 +41,7 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name="getGroupsByIds", query="SELECT g FROM Group AS g WHERE g.id IN :ids")
 	, @NamedQuery(name="getNondeletedGroups", query="SELECT g FROM Group g WHERE g.deleted = false ORDER BY g.id")
 	, @NamedQuery(name="countGroups", query="SELECT COUNT(g) FROM Group AS g WHERE g.deleted = false")
+	, @NamedQuery(name="getLimitedGroups", query="SELECT g FROM Group AS g WHERE g.deleted = false AND g.limited = true")
 })
 @Table(name = "om_group")
 @Root(name = "organisation")

Modified: openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java?rev=1770248&r1=1770247&r2=1770248&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java (original)
+++ openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/MeetingReminderJob.java Thu Nov 17 17:24:44 2016
@@ -21,6 +21,9 @@ package org.apache.openmeetings.service.
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import org.apache.openmeetings.db.dao.record.RecordingDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.service.calendar.AppointmentLogic;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.red5.logging.Red5LoggerFactory;
@@ -33,9 +36,11 @@ public class MeetingReminderJob {
 	private AppointmentLogic appointmentLogic;
 	@Autowired
 	private RecordingDao recordingDao;
+	@Autowired
+	private GroupDao groupDao;
 
 	public void remindIt() {
-		log.debug("MeetingReminderJob.execute");
+		log.debug("MeetingReminderJob.remindIt");
 		if (!InitializationContainer.initComplete) {
 			return;
 		}
@@ -47,6 +52,14 @@ public class MeetingReminderJob {
 	}
 
 	public void remindExpiring() {
-		//recordingDao.
+		log.debug("MeetingReminderJob.remindExpiring");
+		if (!InitializationContainer.initComplete) {
+			return;
+		}
+		for (Group g : groupDao.getLimited()) {
+			for (Recording rec : recordingDao.getExpiring(g.getId(), g.getReminderDays())) {
+				
+			}
+		}
 	}
 }