Author: solomax
Date: Sun Sep 11 16:22:08 2016
New Revision: 1760260

URL: http://svn.apache.org/viewvc?rev=1760260&view=rev
Log:
[OPENMEETINGS-1457] WB is partially fixed, WB video storing is changed

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
    
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
    
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 Sun Sep 11 16:22:08 2016
@@ -89,10 +89,6 @@ public class FlvExplorerConverter extend
                        
returnLog.add(ProcessHelper.executeScript("previewUpload ID :: " + f.getId(), 
argv_previewFLV));
 
                        fileDao.update(f);
-
-                       for (ConverterProcessResult returnMap : returnLog) {
-                               fileLogDao.add(returnMap.getProcess(), null, 
returnMap);
-                       }
                } catch (Exception err) {
                        log.error("[convertToFLV]", err);
                        returnLog.add(new 
ConverterProcessResult("convertToMP4", err.getMessage(), err));

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Sun Sep 11 16:22:08 2016
@@ -96,6 +96,11 @@ public class WhiteboardObject {
                zIndex = 1;
        }
 
+       //getter is required, otherwise roomItems are not available in red5
+       public Map<String, List<Object>> getRoomItems() {
+               return roomItems;
+       }
+
        public void add(String oid, List<Object> actionObject) {
                Object type = actionObject.size() > 0 ? actionObject.get(0) : 
"";
                if (actionObject.size() > 8 && ("swf".equals(type) || 
"image".equals(type) || "flv".equals(type))) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 Sun Sep 11 16:22:08 2016
@@ -112,20 +112,19 @@ public class FileExplorerItem extends Fi
        @Override
        protected File internalGetFile(String ext) {
                File f = null;
+               File d = new File(OmFileHelper.getUploadFilesDir(), getHash());
                switch (getType()) {
                        case WmlFile:
                                f = new File(OmFileHelper.getUploadWmlDir(), 
String.format("%s.%s", getHash(), ext == null ? EXTENSION_WML : ext));
                                break;
                        case Image:
-                               f = new File(OmFileHelper.getUploadFilesDir(), 
String.format("%s.%s", getHash(), ext == null ? EXTENSION_JPG : ext));
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_JPG : ext));
                                break;
                        case Video:
-                               f = new 
File(OmFileHelper.getStreamsHibernateDir(), String.format("%s%s.%s", 
WB_VIDEO_FILE_PREFIX, getId(), ext == null ? EXTENSION_MP4 : ext));
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_MP4 : ext));
                                break;
-                       case Presentation: {
-                                       File d = new 
File(OmFileHelper.getUploadFilesDir(), getHash());
-                                       f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_SWF : ext));
-                               }
+                       case Presentation:
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_SWF : ext));
                                break;
                        case PollChart:
                        case Folder:

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 Sun Sep 11 16:22:08 2016
@@ -37,7 +37,7 @@ import org.slf4j.Logger;
 public class ConverterProcessResultList {
        private static final Logger log = 
getLogger(ConverterProcessResultList.class, webAppRootKey);
 
-       private Map<String, ConverterProcessResult> jobslist = new 
LinkedHashMap<>();
+       private Map<String, ConverterProcessResult> jobs = new 
LinkedHashMap<>();
 
        private Long fileItemId;
        private String completeName;
@@ -59,11 +59,11 @@ public class ConverterProcessResultList
        }
 
        public ConverterProcessResult addItem(String name, 
ConverterProcessResult processResult) {
-               if (jobslist.containsKey(name)) {
+               if (jobs.containsKey(name)) {
                        log.error("Duplicate key in jobslist");
                        return null;
                }
-               return jobslist.put(name, processResult);
+               return jobs.put(name, processResult);
        }
 
        /**
@@ -72,7 +72,7 @@ public class ConverterProcessResultList
         * @return
         */
        public boolean hasError() {
-               for (Entry<String, ConverterProcessResult> entry : 
jobslist.entrySet()) {
+               for (Entry<String, ConverterProcessResult> entry : 
jobs.entrySet()) {
                        if (!entry.getValue().isOk()) {
                                return true;
                        }
@@ -87,7 +87,7 @@ public class ConverterProcessResultList
         */
        public String getLogMessage() {
                StringBuilder logMessage = new StringBuilder();
-               for (Entry<String, ConverterProcessResult> entry : 
jobslist.entrySet()) {
+               for (Entry<String, ConverterProcessResult> entry : 
jobs.entrySet()) {
                        logMessage.append("key: ");
                        logMessage.append(entry.getKey());
                        logMessage.append("\r\n");
@@ -97,7 +97,10 @@ public class ConverterProcessResultList
        }
 
        public int size() {
-               return jobslist.size();
+               return jobs.size();
        }
 
+       public Map<String, ConverterProcessResult> getJobs() {
+               return jobs;
+       }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Sun Sep 11 16:22:08 2016
@@ -25,11 +25,10 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
 
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.PollDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
@@ -73,12 +72,7 @@ public class RoomMenuPanel extends Panel
        private final MenuPanel menuPanel;
        private final StartSharingButton shareBtn;
        private final Label roomName;
-       private static ThreadLocal<DateFormat> df = new 
ThreadLocal<DateFormat>() {
-               @Override
-               protected DateFormat initialValue() {
-                       return new SimpleDateFormat("dd.MM.yyyy HH:mm");
-               };
-       };
+       private static final FastDateFormat df = 
FastDateFormat.getInstance("dd.MM.yyyy HH:mm");
        private final OmButton askBtn = new OmButton("ask") {
                private static final long serialVersionUID = 1L;
                {
@@ -291,7 +285,7 @@ public class RoomMenuPanel extends Panel
                        org.apache.openmeetings.db.entity.room.Client recUser = 
sessMngr.getClientByPublicSID(room.getRecordingUser(), null); //TODO check 
server
                        if (recUser != null) {
                                roomTitle.append(String.format("%s %s %s %s 
%s", getString("419")
-                                               , recUser.getUsername(), 
recUser.getFirstname(), recUser.getLastname(), 
df.get().format(recUser.getConnectedSince())));
+                                               , recUser.getUsername(), 
recUser.getFirstname(), recUser.getLastname(), 
df.format(recUser.getConnectedSince())));
                                roomClass.append(" screen");
                        }
                        org.apache.openmeetings.db.entity.room.Client pubUser = 
sessMngr.getClientByPublicSID(room.getPublishingUser(), null); //TODO check 
server
@@ -336,9 +330,10 @@ public class RoomMenuPanel extends Panel
        }
        
        public static void roomExit(Client c, boolean broadcast) {
+               Long roomId = c.getRoomId();
                removeUserFromRoom(c);
-               if (broadcast) {
-                       RoomPanel.broadcast(new RoomMessage(c.getRoomId(), 
c.getUserId(), RoomMessage.Type.roomExit));
+               if (broadcast && roomId != null) {
+                       RoomPanel.broadcast(new RoomMessage(roomId, 
c.getUserId(), RoomMessage.Type.roomExit));
                }
        }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 Sun Sep 11 16:22:08 2016
@@ -24,12 +24,15 @@ import static org.apache.openmeetings.we
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.openmeetings.core.data.file.FileProcessor;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.file.FileItemLogDao;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.util.StoredFile;
+import org.apache.openmeetings.util.process.ConverterProcessResult;
 import org.apache.openmeetings.util.process.ConverterProcessResultList;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.room.RoomPanel;
@@ -194,9 +197,12 @@ public class UploadDialog extends Abstra
                        f.setInsertedBy(getUserId());
                        
                        try {
-                               ConverterProcessResultList result = 
getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+                               ConverterProcessResultList logs = 
getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+                               for (Entry<String, ConverterProcessResult> 
entry : logs.getJobs().entrySet()) {
+                                       
getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, 
entry.getValue());
+                               }
                                room.getSidebar().updateFiles(target);
-                               if (result.hasError()) {
+                               if (logs.hasError()) {
                                        
form.error(getString("convert.errors.file"));
                                        onError(target);
                                } else {

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 Sun Sep 11 16:22:08 2016
@@ -89,10 +89,6 @@ public class FlvExplorerConverter extend
                        
returnLog.add(ProcessHelper.executeScript("previewUpload ID :: " + f.getId(), 
argv_previewFLV));
 
                        fileDao.update(f);
-
-                       for (ConverterProcessResult returnMap : returnLog) {
-                               fileLogDao.add(returnMap.getProcess(), null, 
returnMap);
-                       }
                } catch (Exception err) {
                        log.error("[convertToFLV]", err);
                        returnLog.add(new 
ConverterProcessResult("convertToMP4", err.getMessage(), err));

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Sun Sep 11 16:22:08 2016
@@ -96,6 +96,11 @@ public class WhiteboardObject {
                zIndex = 1;
        }
 
+       //getter is required, otherwise roomItems are not available in red5
+       public Map<String, List<Object>> getRoomItems() {
+               return roomItems;
+       }
+
        public void add(String oid, List<Object> actionObject) {
                Object type = actionObject.size() > 0 ? actionObject.get(0) : 
"";
                if (actionObject.size() > 8 && ("swf".equals(type) || 
"image".equals(type) || "flv".equals(type))) {

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 Sun Sep 11 16:22:08 2016
@@ -112,20 +112,19 @@ public class FileExplorerItem extends Fi
        @Override
        protected File internalGetFile(String ext) {
                File f = null;
+               File d = new File(OmFileHelper.getUploadFilesDir(), getHash());
                switch (getType()) {
                        case WmlFile:
                                f = new File(OmFileHelper.getUploadWmlDir(), 
String.format("%s.%s", getHash(), ext == null ? EXTENSION_WML : ext));
                                break;
                        case Image:
-                               f = new File(OmFileHelper.getUploadFilesDir(), 
String.format("%s.%s", getHash(), ext == null ? EXTENSION_JPG : ext));
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_JPG : ext));
                                break;
                        case Video:
-                               f = new 
File(OmFileHelper.getStreamsHibernateDir(), String.format("%s%s.%s", 
WB_VIDEO_FILE_PREFIX, getId(), ext == null ? EXTENSION_MP4 : ext));
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_MP4 : ext));
                                break;
-                       case Presentation: {
-                                       File d = new 
File(OmFileHelper.getUploadFilesDir(), getHash());
-                                       f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_SWF : ext));
-                               }
+                       case Presentation:
+                               f = new File(d, String.format("%s.%s", 
getHash(), ext == null ? EXTENSION_SWF : ext));
                                break;
                        case PollChart:
                        case Folder:

Modified: 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 Sun Sep 11 16:22:08 2016
@@ -37,7 +37,7 @@ import org.slf4j.Logger;
 public class ConverterProcessResultList {
        private static final Logger log = 
getLogger(ConverterProcessResultList.class, webAppRootKey);
 
-       private Map<String, ConverterProcessResult> jobslist = new 
LinkedHashMap<>();
+       private Map<String, ConverterProcessResult> jobs = new 
LinkedHashMap<>();
 
        private Long fileItemId;
        private String completeName;
@@ -59,11 +59,11 @@ public class ConverterProcessResultList
        }
 
        public ConverterProcessResult addItem(String name, 
ConverterProcessResult processResult) {
-               if (jobslist.containsKey(name)) {
+               if (jobs.containsKey(name)) {
                        log.error("Duplicate key in jobslist");
                        return null;
                }
-               return jobslist.put(name, processResult);
+               return jobs.put(name, processResult);
        }
 
        /**
@@ -72,7 +72,7 @@ public class ConverterProcessResultList
         * @return
         */
        public boolean hasError() {
-               for (Entry<String, ConverterProcessResult> entry : 
jobslist.entrySet()) {
+               for (Entry<String, ConverterProcessResult> entry : 
jobs.entrySet()) {
                        if (!entry.getValue().isOk()) {
                                return true;
                        }
@@ -87,7 +87,7 @@ public class ConverterProcessResultList
         */
        public String getLogMessage() {
                StringBuilder logMessage = new StringBuilder();
-               for (Entry<String, ConverterProcessResult> entry : 
jobslist.entrySet()) {
+               for (Entry<String, ConverterProcessResult> entry : 
jobs.entrySet()) {
                        logMessage.append("key: ");
                        logMessage.append(entry.getKey());
                        logMessage.append("\r\n");
@@ -97,7 +97,10 @@ public class ConverterProcessResultList
        }
 
        public int size() {
-               return jobslist.size();
+               return jobs.size();
        }
 
+       public Map<String, ConverterProcessResult> getJobs() {
+               return jobs;
+       }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Sun Sep 11 16:22:08 2016
@@ -25,11 +25,10 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
 
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.room.PollDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
@@ -73,12 +72,7 @@ public class RoomMenuPanel extends Panel
        private final MenuPanel menuPanel;
        private final StartSharingButton shareBtn;
        private final Label roomName;
-       private static ThreadLocal<DateFormat> df = new 
ThreadLocal<DateFormat>() {
-               @Override
-               protected DateFormat initialValue() {
-                       return new SimpleDateFormat("dd.MM.yyyy HH:mm");
-               };
-       };
+       private static final FastDateFormat df = 
FastDateFormat.getInstance("dd.MM.yyyy HH:mm");
        private final OmButton askBtn = new OmButton("ask") {
                private static final long serialVersionUID = 1L;
                {
@@ -291,7 +285,7 @@ public class RoomMenuPanel extends Panel
                        org.apache.openmeetings.db.entity.room.Client recUser = 
sessMngr.getClientByPublicSID(room.getRecordingUser(), null); //TODO check 
server
                        if (recUser != null) {
                                roomTitle.append(String.format("%s %s %s %s 
%s", getString("419")
-                                               , recUser.getUsername(), 
recUser.getFirstname(), recUser.getLastname(), 
df.get().format(recUser.getConnectedSince())));
+                                               , recUser.getUsername(), 
recUser.getFirstname(), recUser.getLastname(), 
df.format(recUser.getConnectedSince())));
                                roomClass.append(" screen");
                        }
                        org.apache.openmeetings.db.entity.room.Client pubUser = 
sessMngr.getClientByPublicSID(room.getPublishingUser(), null); //TODO check 
server
@@ -336,9 +330,10 @@ public class RoomMenuPanel extends Panel
        }
        
        public static void roomExit(Client c, boolean broadcast) {
+               Long roomId = c.getRoomId();
                removeUserFromRoom(c);
-               if (broadcast) {
-                       RoomPanel.broadcast(new RoomMessage(c.getRoomId(), 
c.getUserId(), RoomMessage.Type.roomExit));
+               if (broadcast && roomId != null) {
+                       RoomPanel.broadcast(new RoomMessage(roomId, 
c.getUserId(), RoomMessage.Type.roomExit));
                }
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1760260&r1=1760259&r2=1760260&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 Sun Sep 11 16:22:08 2016
@@ -24,12 +24,15 @@ import static org.apache.openmeetings.we
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.openmeetings.core.data.file.FileProcessor;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.file.FileItemLogDao;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.util.StoredFile;
+import org.apache.openmeetings.util.process.ConverterProcessResult;
 import org.apache.openmeetings.util.process.ConverterProcessResultList;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.room.RoomPanel;
@@ -194,9 +197,12 @@ public class UploadDialog extends Abstra
                        f.setInsertedBy(getUserId());
                        
                        try {
-                               ConverterProcessResultList result = 
getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+                               ConverterProcessResultList logs = 
getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+                               for (Entry<String, ConverterProcessResult> 
entry : logs.getJobs().entrySet()) {
+                                       
getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, 
entry.getValue());
+                               }
                                room.getSidebar().updateFiles(target);
-                               if (result.hasError()) {
+                               if (logs.hasError()) {
                                        
form.error(getString("convert.errors.file"));
                                        onError(target);
                                } else {


Reply via email to