Revision: 3694
Author: seba.wagner
Date: Thu Mar 24 05:28:45 2011
Log: Fixes: Get Recordings by External User id with custom Object
http://code.google.com/p/openmeetings/source/detail?r=3694
Added:
/trunk/singlewebapp/src/roomservice/org/openmeetings/axis/services/FLVRecordingReturn.java
Modified:
/trunk/singlewebapp/build_red5webapp.xml
/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java
/trunk/singlewebapp/src/roomservice/org/openmeetings/axis/services/RoomService.java
=======================================
--- /dev/null
+++
/trunk/singlewebapp/src/roomservice/org/openmeetings/axis/services/FLVRecordingReturn.java
Thu Mar 24 05:28:45 2011
@@ -0,0 +1,325 @@
+package org.openmeetings.axis.services;
+
+import java.util.Date;
+
+import org.openmeetings.app.hibernate.beans.flvrecord.FlvRecording;
+
+
+public class FLVRecordingReturn {
+
+ private long flvRecordingId;
+
+ private String fileName;
+ private String alternateDownload;
+ private String fileHash;
+ private String comment;
+
+ private Long parentFileExplorerItemId;
+ private Long room_id;
+ private Long ownerId;//OwnerID => only set if its directly root in Owner
Directory, other Folders and Files
+ //maybe are also in a Home directory but just because their parent is
+
+ private Boolean isFolder;
+ private Boolean isImage;
+ private Boolean isPresentation;
+ private Boolean isRecording;
+
+ private Date recordStart;
+ private Date recordEnd;
+
+ private Long insertedBy;
+ private Date inserted;
+ private Date updated;
+ private String deleted;
+
+ private Integer width;
+ private Integer height;
+
+ private Integer flvWidth;
+ private Integer flvHeight;
+ private String previewImage;
+
+ private Long fileSize;
+
+ private String recorderStreamId;
+ private Long organization_id;
+
+ private Boolean isInterview;
+ private Integer progressPostProcessing;
+
+ public static FLVRecordingReturn initObject(FlvRecording customObject) {
+
+ FLVRecordingReturn flvRecordingReturn = new
FLVRecordingReturn();
+
+ flvRecordingReturn.flvRecordingId =
customObject.getFlvRecordingId();
+
+ flvRecordingReturn.fileName = customObject.getFileName();
+ flvRecordingReturn.alternateDownload =
customObject.getAlternateDownload();
+ flvRecordingReturn.fileHash = customObject.getFileHash();
+ flvRecordingReturn.comment = customObject.getComment();
+
+ flvRecordingReturn.parentFileExplorerItemId =
customObject.getParentFileExplorerItemId();
+ flvRecordingReturn.room_id = customObject.getRoom_id();
+ flvRecordingReturn.ownerId = customObject.getOwnerId();//OwnerID => only
set if its directly root in Owner Directory, other Folders and Files
+ //maybe are also in a Home directory but just because their
parent is
+
+ flvRecordingReturn.isFolder = customObject.getIsFolder();
+ flvRecordingReturn.isImage = customObject.getIsImage();
+ flvRecordingReturn.isPresentation =
customObject.getIsPresentation();
+ flvRecordingReturn.isRecording = customObject.getIsRecording();
+
+ flvRecordingReturn.recordStart = customObject.getRecordStart();
+ flvRecordingReturn.recordEnd = customObject.getRecordEnd();
+
+ flvRecordingReturn.insertedBy = customObject.getInsertedBy();
+ flvRecordingReturn.inserted = customObject.getInserted();
+ flvRecordingReturn.updated = customObject.getUpdated();
+ flvRecordingReturn.deleted = customObject.getDeleted();
+
+ flvRecordingReturn.width = customObject.getWidth();
+ flvRecordingReturn.height = customObject.getHeight();
+
+ flvRecordingReturn.flvWidth = customObject.getFlvWidth();
+ flvRecordingReturn.flvHeight = customObject.getFlvHeight();
+ flvRecordingReturn.previewImage =
customObject.getPreviewImage();
+
+ flvRecordingReturn.fileSize = customObject.getFileSize();
+
+ flvRecordingReturn.recorderStreamId =
customObject.getRecorderStreamId();
+ flvRecordingReturn.organization_id =
customObject.getOrganization_id();
+
+ flvRecordingReturn.isInterview = customObject.getIsInterview();
+ flvRecordingReturn.progressPostProcessing =
customObject.getProgressPostProcessing();
+
+ return flvRecordingReturn;
+ }
+
+ public long getFlvRecordingId() {
+ return flvRecordingId;
+ }
+
+ public void setFlvRecordingId(long flvRecordingId) {
+ this.flvRecordingId = flvRecordingId;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ public String getAlternateDownload() {
+ return alternateDownload;
+ }
+
+ public void setAlternateDownload(String alternateDownload) {
+ this.alternateDownload = alternateDownload;
+ }
+
+ public String getFileHash() {
+ return fileHash;
+ }
+
+ public void setFileHash(String fileHash) {
+ this.fileHash = fileHash;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+
+ public Long getParentFileExplorerItemId() {
+ return parentFileExplorerItemId;
+ }
+
+ public void setParentFileExplorerItemId(Long parentFileExplorerItemId) {
+ this.parentFileExplorerItemId = parentFileExplorerItemId;
+ }
+
+ public Long getRoom_id() {
+ return room_id;
+ }
+
+ public void setRoom_id(Long roomId) {
+ room_id = roomId;
+ }
+
+ public Long getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(Long ownerId) {
+ this.ownerId = ownerId;
+ }
+
+ public Boolean getIsFolder() {
+ return isFolder;
+ }
+
+ public void setIsFolder(Boolean isFolder) {
+ this.isFolder = isFolder;
+ }
+
+ public Boolean getIsImage() {
+ return isImage;
+ }
+
+ public void setIsImage(Boolean isImage) {
+ this.isImage = isImage;
+ }
+
+ public Boolean getIsPresentation() {
+ return isPresentation;
+ }
+
+ public void setIsPresentation(Boolean isPresentation) {
+ this.isPresentation = isPresentation;
+ }
+
+ public Boolean getIsRecording() {
+ return isRecording;
+ }
+
+ public void setIsRecording(Boolean isRecording) {
+ this.isRecording = isRecording;
+ }
+
+ public Date getRecordStart() {
+ return recordStart;
+ }
+
+ public void setRecordStart(Date recordStart) {
+ this.recordStart = recordStart;
+ }
+
+ public Date getRecordEnd() {
+ return recordEnd;
+ }
+
+ public void setRecordEnd(Date recordEnd) {
+ this.recordEnd = recordEnd;
+ }
+
+ public Long getInsertedBy() {
+ return insertedBy;
+ }
+
+ public void setInsertedBy(Long insertedBy) {
+ this.insertedBy = insertedBy;
+ }
+
+ public Date getInserted() {
+ return inserted;
+ }
+
+ public void setInserted(Date inserted) {
+ this.inserted = inserted;
+ }
+
+ public Date getUpdated() {
+ return updated;
+ }
+
+ public void setUpdated(Date updated) {
+ this.updated = updated;
+ }
+
+ public String getDeleted() {
+ return deleted;
+ }
+
+ public void setDeleted(String deleted) {
+ this.deleted = deleted;
+ }
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public Integer getHeight() {
+ return height;
+ }
+
+ public void setHeight(Integer height) {
+ this.height = height;
+ }
+
+ public Integer getFlvWidth() {
+ return flvWidth;
+ }
+
+ public void setFlvWidth(Integer flvWidth) {
+ this.flvWidth = flvWidth;
+ }
+
+ public Integer getFlvHeight() {
+ return flvHeight;
+ }
+
+ public void setFlvHeight(Integer flvHeight) {
+ this.flvHeight = flvHeight;
+ }
+
+ public String getPreviewImage() {
+ return previewImage;
+ }
+
+ public void setPreviewImage(String previewImage) {
+ this.previewImage = previewImage;
+ }
+
+ public Long getFileSize() {
+ return fileSize;
+ }
+
+ public void setFileSize(Long fileSize) {
+ this.fileSize = fileSize;
+ }
+
+ public String getRecorderStreamId() {
+ return recorderStreamId;
+ }
+
+ public void setRecorderStreamId(String recorderStreamId) {
+ this.recorderStreamId = recorderStreamId;
+ }
+
+ public Long getOrganization_id() {
+ return organization_id;
+ }
+
+ public void setOrganization_id(Long organizationId) {
+ organization_id = organizationId;
+ }
+
+ public Boolean getIsInterview() {
+ return isInterview;
+ }
+
+ public void setIsInterview(Boolean isInterview) {
+ this.isInterview = isInterview;
+ }
+
+ public Integer getProgressPostProcessing() {
+ return progressPostProcessing;
+ }
+
+ public void setProgressPostProcessing(Integer progressPostProcessing) {
+ this.progressPostProcessing = progressPostProcessing;
+ }
+
+
+
+
+
+}
=======================================
--- /trunk/singlewebapp/build_red5webapp.xml Sun Mar 6 04:58:31 2011
+++ /trunk/singlewebapp/build_red5webapp.xml Thu Mar 24 05:28:45 2011
@@ -461,6 +461,7 @@
<include
name="org/openmeetings/axis/services/RoomReturn.class"/>
<include
name="org/openmeetings/axis/services/RoomService.class"/>
<include
name="org/openmeetings/axis/services/RoomCountBean.class"/>
+ <include
name="org/openmeetings/axis/services/FLVRecordingReturn.class"/>
</fileset>
</jar>
<jar
destfile="${dist.dir}/red5/webapps/${project.distname}/WEB-INF/services/UserService.aar">
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java
Sun Feb 27 07:02:40 2011
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java
Thu Mar 24 05:28:45 2011
@@ -82,6 +82,41 @@
} catch (Exception ex2) {
log.error("[getFlvRecordings]: ",ex2);
}
+ return null;
+ }
+
+
+ public List<FlvRecording> getFlvRecordingByExternalUserId(Long
externalUserId) {
+ try {
+
+
log.debug("getFlvRecordingByExternalUserId :externalUserId: "+externalUserId);
+
+ String hql = "SELECT c FROM FlvRecording c, Rooms r, Users u
" +
+ "WHERE c.room_id = r.rooms_id " +
+ "AND c.insertedBy = u.user_id " +
+ "AND u.externalUserId = :externalUserId
" +
+ "AND c.deleted != :deleted ";
+
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+ Query query = session.createQuery(hql);
+ query.setLong("externalUserId", externalUserId);
+ query.setString("deleted", "true");
+
+ List<FlvRecording> flvRecordingList = query.list();
+
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+
log.debug("getFlvRecordingByExternalRoomType :: "+flvRecordingList.size());
+
+ return flvRecordingList;
+ } catch (HibernateException ex) {
+ log.error("[getFlvRecordingByExternalRoomType]: ",ex);
+ } catch (Exception ex2) {
+ log.error("[getFlvRecordingByExternalRoomType]: ",ex2);
+ }
return null;
}
=======================================
---
/trunk/singlewebapp/src/roomservice/org/openmeetings/axis/services/RoomService.java
Sun Feb 27 07:02:40 2011
+++
/trunk/singlewebapp/src/roomservice/org/openmeetings/axis/services/RoomService.java
Thu Mar 24 05:28:45 2011
@@ -92,25 +92,58 @@
log.error("[deleteFlvRecording] ",err);
throw new AxisFault(err.getMessage());
}
- }
-
- public FlvRecording[] getFlvRecordingByExternalRoomTypeAndCreator(String
SID, String externalRoomType, Long insertedBy) throws AxisFault {
+ }
+
+ public FLVRecordingReturn[] getFlvRecordingByExternalUserId(String SID,
String externalUserId) throws AxisFault {
try {
Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
Long user_level =
Usermanagement.getInstance().getUserLevelByID(users_id);
+ if
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)){
+ List<FlvRecording> recordingList =
FlvRecordingDaoImpl.getInstance().getFlvRecordingByExternalUserId(Long.parseLong(externalUserId));
+
+ //We need to re-marshal the Rooms object cause Axis2 cannot use our
objects
+ if (recordingList!=null &&
recordingList.size()!=0) {
+ //roomsListObject.setRoomList(roomList);
+ FLVRecordingReturn[] recordingListItems = new
FLVRecordingReturn[recordingList.size()];
+ int count = 0;
+ for (Iterator<FlvRecording>it =
recordingList.iterator();it.hasNext();){
+ FlvRecording flvRecording =
it.next();
+ recordingListItems[count] =
FLVRecordingReturn.initObject(flvRecording);
+ count++;
+ }
+
+ return recordingListItems;
+ }
+
+ return null;
+ }
+
+ return null;
+ } catch (Exception err) {
+ log.error("[getFlvRecordingByExternalRoomType] ",err);
+ throw new AxisFault(err.getMessage());
+ }
+ }
+
+ public FLVRecordingReturn[]
getFlvRecordingByExternalRoomTypeAndCreator(String SID, String
externalRoomType, Long insertedBy) throws AxisFault {
+ try {
+
+ Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
+ Long user_level =
Usermanagement.getInstance().getUserLevelByID(users_id);
+
if
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)){
List<FlvRecording> recordingList =
FlvRecordingDaoImpl.getInstance().getFlvRecordingByExternalRoomTypeAndCreator(externalRoomType,
insertedBy);
//We need to re-marshal the Rooms object cause Axis2 cannot use our
objects
if (recordingList!=null &&
recordingList.size()!=0) {
//roomsListObject.setRoomList(roomList);
- FlvRecording[] recordingListItems = new
FlvRecording[recordingList.size()];
+ FLVRecordingReturn[] recordingListItems = new
FLVRecordingReturn[recordingList.size()];
int count = 0;
for (Iterator<FlvRecording>it =
recordingList.iterator();it.hasNext();){
FlvRecording flvRecording =
it.next();
- recordingListItems[count] =
flvRecording;
+ recordingListItems[count] =
FLVRecordingReturn.initObject(flvRecording);
count++;
}
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en.