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();