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.

Reply via email to