Author: solomax
Date: Mon Jan 19 09:22:34 2015
New Revision: 1652945

URL: http://svn.apache.org/r1652945
Log:
[OPENMEETINGS-547] re-conversion is started in separate thread not to block the 
interface

Added:
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/IRecordingConverter.java
    
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java
Modified:
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvInterviewConverter.java
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvRecorderConverter.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
    
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvInterviewConverter.java
    
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvRecorderConverter.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvInterviewConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvInterviewConverter.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvInterviewConverter.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvInterviewConverter.java
 Mon Jan 19 09:22:34 2015
@@ -38,7 +38,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-public class FlvInterviewConverter extends BaseConverter {
+public class FlvInterviewConverter extends BaseConverter implements 
IRecordingConverter {
        private static final Logger log = 
Red5LoggerFactory.getLogger(FlvInterviewConverter.class, webAppRootKey);
        private static class ReConverterParams {
                private int leftSideLoud = 1;

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvRecorderConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvRecorderConverter.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvRecorderConverter.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/FlvRecorderConverter.java
 Mon Jan 19 09:22:34 2015
@@ -38,7 +38,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-public class FlvRecorderConverter extends BaseConverter {
+public class FlvRecorderConverter extends BaseConverter implements 
IRecordingConverter {
 
        private static final Logger log = 
Red5LoggerFactory.getLogger(FlvRecorderConverter.class, webAppRootKey);
 

Added: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/IRecordingConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/IRecordingConverter.java?rev=1652945&view=auto
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/IRecordingConverter.java
 (added)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/IRecordingConverter.java
 Mon Jan 19 09:22:34 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.converter;
+
+public interface IRecordingConverter {
+       void startConversion(Long recordingId);
+}

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Mon Jan 19 09:22:34 2015
@@ -28,6 +28,7 @@ import java.util.List;
 
 import org.apache.openmeetings.converter.FlvInterviewConverter;
 import org.apache.openmeetings.converter.FlvRecorderConverter;
+import org.apache.openmeetings.converter.IRecordingConverter;
 import org.apache.openmeetings.db.dao.record.FlvRecordingMetaDataDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.entity.record.FlvRecording;
@@ -90,11 +91,12 @@ public class VideoInfo extends Panel {
                
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
-                       if (isInterview) {
-                               
getBean(FlvInterviewConverter.class).startConversion(rm.getObject().getFlvRecordingId());
-                       } else {
-                               
getBean(FlvRecorderConverter.class).startConversion(rm.getObject().getFlvRecordingId());
-                       }
+                       final IRecordingConverter converter = 
getBean(isInterview ? FlvInterviewConverter.class : FlvRecorderConverter.class);
+                       new Thread() {
+                               public void run() {
+                                       
converter.startConversion(rm.getObject().getFlvRecordingId());
+                               }
+                       }.start();
                }
        };
        private final AjaxDownload download = new AjaxDownload();

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvInterviewConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvInterviewConverter.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvInterviewConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvInterviewConverter.java
 Mon Jan 19 09:22:34 2015
@@ -38,7 +38,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-public class FlvInterviewConverter extends BaseConverter {
+public class FlvInterviewConverter extends BaseConverter implements 
IRecordingConverter {
        private static final Logger log = 
Red5LoggerFactory.getLogger(FlvInterviewConverter.class, webAppRootKey);
        private static class ReConverterParams {
                private int leftSideLoud = 1;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvRecorderConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvRecorderConverter.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvRecorderConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvRecorderConverter.java
 Mon Jan 19 09:22:34 2015
@@ -38,7 +38,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-public class FlvRecorderConverter extends BaseConverter {
+public class FlvRecorderConverter extends BaseConverter implements 
IRecordingConverter {
 
        private static final Logger log = 
Red5LoggerFactory.getLogger(FlvRecorderConverter.class, webAppRootKey);
 

Added: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java?rev=1652945&view=auto
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java
 (added)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java
 Mon Jan 19 09:22:34 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.core.converter;
+
+public interface IRecordingConverter {
+       void startConversion(Long recordingId);
+}

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1652945&r1=1652944&r2=1652945&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Mon Jan 19 09:22:34 2015
@@ -28,6 +28,7 @@ import java.util.List;
 
 import org.apache.openmeetings.core.converter.FlvInterviewConverter;
 import org.apache.openmeetings.core.converter.FlvRecorderConverter;
+import org.apache.openmeetings.core.converter.IRecordingConverter;
 import org.apache.openmeetings.db.dao.record.FlvRecordingMetaDataDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.entity.record.FlvRecording;
@@ -90,11 +91,12 @@ public class VideoInfo extends Panel {
                
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
-                       if (isInterview) {
-                               
getBean(FlvInterviewConverter.class).startConversion(rm.getObject().getId());
-                       } else {
-                               
getBean(FlvRecorderConverter.class).startConversion(rm.getObject().getId());
-                       }
+                       final IRecordingConverter converter = 
getBean(isInterview ? FlvInterviewConverter.class : FlvRecorderConverter.class);
+                       new Thread() {
+                               public void run() {
+                                       
converter.startConversion(rm.getObject().getId());
+                               }
+                       }.start();
                }
        };
        private final AjaxDownload download = new AjaxDownload();


Reply via email to