- remove jms messages
This commit is contained in:
parent
2ac6aaa09a
commit
769470e232
@ -1,7 +1,7 @@
|
||||
#utf-8
|
||||
#Mon Jun 06 06:53:20 UTC 2011
|
||||
#Fri Jun 10 11:32:20 EDT 2011
|
||||
app.version=0.70dev
|
||||
app.servlet.version=2.4
|
||||
app.grails.version=1.1.1
|
||||
plugins.jsecurity=0.4.1
|
||||
app.name=bigbluebutton
|
||||
plugins.jsecurity=0.4.1
|
||||
|
13
bigbluebutton-web/grails-app/conf/spring/doc-conversion.xml
Normal file → Executable file
13
bigbluebutton-web/grails-app/conf/spring/doc-conversion.xml
Normal file → Executable file
@ -14,8 +14,7 @@
|
||||
<integration:gateway id="documentConversionService" service-interface="org.bigbluebutton.presentation.DocumentConversionService"/>
|
||||
<integration:channel id="convertChannel"/>
|
||||
|
||||
<integration:filter ref="supportedDocumentFilter" method="isSupported" input-channel="convertChannel"
|
||||
output-channel="docRouterChannel"/>
|
||||
<integration:filter ref="supportedDocumentFilter" method="isSupported" input-channel="convertChannel" output-channel="docRouterChannel"/>
|
||||
<bean id="supportedDocumentFilter" class="org.bigbluebutton.presentation.SupportedDocumentFilter">
|
||||
<property name="conversionProgressNotifier" ref="conversionProgressNotifier"/>
|
||||
</bean>
|
||||
@ -30,13 +29,11 @@
|
||||
<integration:channel id="conversionProgressChannel"/>
|
||||
<integration:gateway id="conversionProgressNotifier" service-interface="org.bigbluebutton.presentation.ConversionProgressNotifier"/>
|
||||
|
||||
<integration:service-activator input-channel="officeFileChannel" output-channel="officeToPdfConvertResultChannel"
|
||||
ref="officeToPdfConversionService" method="convertOfficeToPdf"/>
|
||||
<integration:service-activator input-channel="officeFileChannel" output-channel="officeToPdfConvertResultChannel" ref="officeToPdfConversionService" method="convertOfficeToPdf"/>
|
||||
<bean id="officeToPdfConversionService" class="org.bigbluebutton.presentation.imp.OfficeToPdfConversionService"/>
|
||||
|
||||
<integration:channel id="officeToPdfConvertResultChannel"/>
|
||||
<integration:filter ref="officeToPdfConversionSuccessFilter" method="didConversionSucceed" input-channel="officeToPdfConvertResultChannel"
|
||||
output-channel="convertChannel"/>
|
||||
<integration:filter ref="officeToPdfConversionSuccessFilter" method="didConversionSucceed" input-channel="officeToPdfConvertResultChannel" output-channel="convertChannel"/>
|
||||
<bean id="officeToPdfConversionSuccessFilter" class="org.bigbluebutton.presentation.OfficeToPdfConversionSuccessFilter">
|
||||
<property name="conversionProgressNotifier" ref="conversionProgressNotifier"/>
|
||||
</bean>
|
||||
@ -45,9 +42,7 @@
|
||||
<integration:channel id="discardChannel"/>
|
||||
|
||||
<integration:service-activator input-channel="imageFileChannel" ref="imageToSwfSlidesGenerationService" method="generateSlides"/>
|
||||
|
||||
<jms:outbound-channel-adapter id="jmsOut" destination-name="UpdatesQueue" channel="conversionProgressChannel"/>
|
||||
|
||||
|
||||
<bean id="pageExtractor" class="org.bigbluebutton.presentation.imp.GhostscriptPageExtractor">
|
||||
<property name="ghostscriptExec" value="${ghostScriptExec}"/>
|
||||
<property name="noPdfMarkWorkaround" value="${noPdfMarkWorkaround}"/>
|
||||
|
13
bigbluebutton-web/grails-app/conf/spring/resources.groovy
Normal file → Executable file
13
bigbluebutton-web/grails-app/conf/spring/resources.groovy
Normal file → Executable file
@ -21,17 +21,4 @@
|
||||
// Place your Spring DSL code here
|
||||
beans = {
|
||||
|
||||
jmsFactory(org.apache.activemq.pool.PooledConnectionFactory) { bean ->
|
||||
connectionFactory = {org.apache.activemq.ActiveMQConnectionFactory cf ->
|
||||
brokerURL = "tcp://localhost:61616"
|
||||
}
|
||||
}
|
||||
|
||||
jmsTemplate(org.springframework.jms.core.JmsTemplate) {
|
||||
connectionFactory = jmsFactory
|
||||
}
|
||||
|
||||
jmsTemplate(org.springframework.jms.core.JmsTemplate) {
|
||||
connectionFactory = jmsFactory
|
||||
}
|
||||
}
|
@ -15,23 +15,8 @@
|
||||
http://www.springframework.org/schema/integration/stream/spring-integration-stream-1.0.xsd
|
||||
http://www.springframework.org/schema/integration/file
|
||||
http://www.springframework.org/schema/integration/file/spring-integration-file-1.0.xsd
|
||||
">
|
||||
<!--
|
||||
<bean id="redisDispatcher" class="org.bigbluebutton.redis.RedisDispatcher">
|
||||
<constructor-arg index="0" value="${redisHost}" />
|
||||
<constructor-arg index="1" value="${redisPort}" />
|
||||
</bean>
|
||||
|
||||
<bean id="redisListener" class="org.bigbluebutton.redis.RedisListener" init-method="init">
|
||||
<constructor-arg index="0" value="${redisHost}" />
|
||||
<constructor-arg index="1" value="${redisPort}" />
|
||||
<property name="pubsubListener" ref="pubsubListener"></property>
|
||||
</bean>
|
||||
|
||||
<bean id="pubsubListener" class="org.bigbluebutton.redis.PubsubListener">
|
||||
<property name="dynamicConferenceService" ref="dynamicConferenceService"></property>
|
||||
</bean>
|
||||
-->
|
||||
">
|
||||
|
||||
<bean id="meetingService" class="org.bigbluebutton.api.MeetingServiceImp">
|
||||
<property name="messagingService" ref="messagingService"></property>
|
||||
</bean>
|
||||
@ -44,13 +29,6 @@
|
||||
<constructor-arg index="0" value="${redisHost}"/>
|
||||
<constructor-arg index="1" value="${redisPort}"/>
|
||||
</bean>
|
||||
|
||||
<!-- Spring Integration / JMS gateways -->
|
||||
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
|
||||
<property name="brokerURL">
|
||||
<value>tcp://localhost:61616</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<import resource="doc-conversion.xml" />
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,22 @@
|
||||
/*
|
||||
* BigBlueButton - http://www.bigbluebutton.org
|
||||
*
|
||||
* Copyright (c) 2008-2009 by respective authors (see below). All rights reserved.
|
||||
*
|
||||
* BigBlueButton is free software; you can redistribute it and/or modify it under the
|
||||
* terms of the GNU Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 3 of the License, or (at your option) any later
|
||||
* version.
|
||||
*
|
||||
* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License along
|
||||
* with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* $Id: $
|
||||
*/
|
||||
/*
|
||||
* BigBlueButton - http://www.bigbluebutton.org
|
||||
*
|
||||
* Copyright (c) 2008-2009 by respective authors (see below). All rights reserved.
|
||||
*
|
||||
* BigBlueButton is free software; you can redistribute it and/or modify it under the
|
||||
* terms of the GNU Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 3 of the License, or (at your option) any later
|
||||
* version.
|
||||
*
|
||||
* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License along
|
||||
* with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* $Id: $
|
||||
*/
|
||||
package org.bigbluebutton.web.controllers
|
||||
|
||||
import org.jsecurity.authc.AuthenticationException
|
||||
@ -28,241 +28,240 @@ import org.springframework.util.FileCopyUtils
|
||||
|
||||
import grails.converters.*
|
||||
import org.bigbluebutton.web.services.PresentationService
|
||||
import org.bigbluebutton.presentation.UploadedPresentation
|
||||
import org.bigbluebutton.presentation.UploadedPresentation
|
||||
|
||||
class PresentationController {
|
||||
PresentationService presentationService
|
||||
|
||||
def index = {
|
||||
println 'in PresentationController index'
|
||||
render(view:'upload-file')
|
||||
}
|
||||
|
||||
def list = {
|
||||
def f = confInfo()
|
||||
println "conference info ${f.conference} ${f.room}"
|
||||
def presentationsList = presentationService.listPresentations(f.conference, f.room)
|
||||
PresentationService presentationService
|
||||
|
||||
def index = {
|
||||
println 'in PresentationController index'
|
||||
render(view:'upload-file')
|
||||
}
|
||||
|
||||
def list = {
|
||||
def f = confInfo()
|
||||
println "conference info ${f.conference} ${f.room}"
|
||||
def presentationsList = presentationService.listPresentations(f.conference, f.room)
|
||||
|
||||
if (presentationsList) {
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:f.conference, room:f.room) {
|
||||
presentations {
|
||||
for (s in presentationsList) {
|
||||
presentation(name:s)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
render(view:'upload-file')
|
||||
}
|
||||
}
|
||||
if (presentationsList) {
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:f.conference, room:f.room) {
|
||||
presentations {
|
||||
for (s in presentationsList) {
|
||||
presentation(name:s)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
render(view:'upload-file')
|
||||
}
|
||||
}
|
||||
|
||||
def delete = {
|
||||
def filename = params.presentation_name
|
||||
def f = confInfo()
|
||||
presentationService.deletePresentation(f.conference, f.room, filename)
|
||||
flash.message = "file ${filename} removed"
|
||||
redirect( action:list )
|
||||
}
|
||||
def delete = {
|
||||
def filename = params.presentation_name
|
||||
def f = confInfo()
|
||||
presentationService.deletePresentation(f.conference, f.room, filename)
|
||||
flash.message = "file ${filename} removed"
|
||||
redirect( action:list )
|
||||
}
|
||||
|
||||
def upload = {
|
||||
println 'PresentationController:upload'
|
||||
def file = request.getFile('fileUpload')
|
||||
if(file && !file.empty) {
|
||||
def upload = {
|
||||
println 'PresentationController:upload'
|
||||
def file = request.getFile('fileUpload')
|
||||
if(file && !file.empty) {
|
||||
flash.message = 'Your file has been uploaded'
|
||||
// Replace any character other than a (A-Z, a-z, 0-9, _ or .) with a - (dash).
|
||||
def notValidCharsRegExp = /[^0-9a-zA-Z_\.]/
|
||||
def notValidCharsRegExp = /[^0-9a-zA-Z_\.]/
|
||||
log.debug "Uploaded presentation name : $params.presentation_name"
|
||||
def presentationName = params.presentation_name.replaceAll(notValidCharsRegExp, '-')
|
||||
def presentationName = params.presentation_name.replaceAll(notValidCharsRegExp, '-')
|
||||
log.debug "Uploaded presentation name : $presentationName"
|
||||
File uploadDir = presentationService.uploadedPresentationDirectory(params.conference, params.room, presentationName)
|
||||
|
||||
|
||||
def newFilename = file.getOriginalFilename().replaceAll(notValidCharsRegExp, '-')
|
||||
def pres = new File( uploadDir.absolutePath + File.separatorChar + newFilename )
|
||||
file.transferTo(pres)
|
||||
|
||||
UploadedPresentation uploadedPres = new UploadedPresentation(params.conference, params.room, presentationName);
|
||||
file.transferTo(pres)
|
||||
|
||||
UploadedPresentation uploadedPres = new UploadedPresentation(params.conference, params.room, presentationName);
|
||||
uploadedPres.setUploadedFile(pres);
|
||||
presentationService.processUploadedPresentation(uploadedPres)
|
||||
}
|
||||
else {
|
||||
flash.message = 'file cannot be empty'
|
||||
}
|
||||
//redirect( action:list)
|
||||
return [];
|
||||
}
|
||||
|
||||
def testConversion = {
|
||||
presentationService.testConversionProcess();
|
||||
}
|
||||
} else {
|
||||
flash.message = 'file cannot be empty'
|
||||
}
|
||||
//redirect( action:list)
|
||||
return [];
|
||||
}
|
||||
|
||||
//handle external presentation server
|
||||
def delegate = {
|
||||
println '\nPresentationController:delegate'
|
||||
|
||||
def presentation_name = request.getParameter('presentation_name')
|
||||
def conference = request.getParameter('conference')
|
||||
def room = request.getParameter('room')
|
||||
def returnCode = request.getParameter('returnCode')
|
||||
def totalSlides = request.getParameter('totalSlides')
|
||||
def slidesCompleted = request.getParameter('slidesCompleted')
|
||||
|
||||
presentationService.processDelegatedPresentation(conference, room, presentation_name, returnCode, totalSlides, slidesCompleted)
|
||||
redirect( action:list)
|
||||
}
|
||||
|
||||
def showSlide = {
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
def slide = params.id
|
||||
|
||||
InputStream is = null;
|
||||
try {
|
||||
def testConversion = {
|
||||
presentationService.testConversionProcess();
|
||||
}
|
||||
|
||||
//handle external presentation server
|
||||
def delegate = {
|
||||
println '\nPresentationController:delegate'
|
||||
|
||||
def presentation_name = request.getParameter('presentation_name')
|
||||
def conference = request.getParameter('conference')
|
||||
def room = request.getParameter('room')
|
||||
def returnCode = request.getParameter('returnCode')
|
||||
def totalSlides = request.getParameter('totalSlides')
|
||||
def slidesCompleted = request.getParameter('slidesCompleted')
|
||||
|
||||
presentationService.processDelegatedPresentation(conference, room, presentation_name, returnCode, totalSlides, slidesCompleted)
|
||||
redirect( action:list)
|
||||
}
|
||||
|
||||
def showSlide = {
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
def slide = params.id
|
||||
|
||||
InputStream is = null;
|
||||
try {
|
||||
// def f = confInfo()
|
||||
def pres = presentationService.showSlide(conf, rm, presentationName, slide)
|
||||
if (pres.exists()) {
|
||||
def bytes = pres.readBytes()
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
response.contentType = 'application/x-shockwave-flash'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def showThumbnail = {
|
||||
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
def thumb = params.id
|
||||
println "Controller: Show thumbnails request for $presentationName $thumb"
|
||||
|
||||
InputStream is = null;
|
||||
try {
|
||||
def pres = presentationService.showThumbnail(conf, rm, presentationName, thumb)
|
||||
if (pres.exists()) {
|
||||
println "Controller: Sending thumbnails reply for $presentationName $thumb"
|
||||
|
||||
def bytes = pres.readBytes()
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
response.contentType = 'image'
|
||||
response.outputStream << bytes;
|
||||
} else {
|
||||
println "$pres does not exist."
|
||||
}
|
||||
} catch (IOException e) {
|
||||
println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def show = {
|
||||
//def filename = params.id.replace('###', '.')
|
||||
def filename = params.presentation_name
|
||||
InputStream is = null;
|
||||
System.out.println("showing ${filename}")
|
||||
try {
|
||||
def f = confInfo()
|
||||
def pres = presentationService.showPresentation(f.conference, f.room, filename)
|
||||
if (pres.exists()) {
|
||||
System.out.println("Found ${filename}")
|
||||
def bytes = pres.readBytes()
|
||||
def pres = presentationService.showSlide(conf, rm, presentationName, slide)
|
||||
if (pres.exists()) {
|
||||
def bytes = pres.readBytes()
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
response.contentType = 'application/x-shockwave-flash'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def showThumbnail = {
|
||||
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
def thumb = params.id
|
||||
println "Controller: Show thumbnails request for $presentationName $thumb"
|
||||
|
||||
InputStream is = null;
|
||||
try {
|
||||
def pres = presentationService.showThumbnail(conf, rm, presentationName, thumb)
|
||||
if (pres.exists()) {
|
||||
println "Controller: Sending thumbnails reply for $presentationName $thumb"
|
||||
|
||||
def bytes = pres.readBytes()
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
response.contentType = 'image'
|
||||
response.outputStream << bytes;
|
||||
} else {
|
||||
println "$pres does not exist."
|
||||
}
|
||||
} catch (IOException e) {
|
||||
println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def show = {
|
||||
//def filename = params.id.replace('###', '.')
|
||||
def filename = params.presentation_name
|
||||
InputStream is = null;
|
||||
System.out.println("showing ${filename}")
|
||||
try {
|
||||
def f = confInfo()
|
||||
def pres = presentationService.showPresentation(f.conference, f.room, filename)
|
||||
if (pres.exists()) {
|
||||
System.out.println("Found ${filename}")
|
||||
def bytes = pres.readBytes()
|
||||
|
||||
response.contentType = 'application/x-shockwave-flash'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def thumbnail = {
|
||||
def filename = params.id.replace('###', '.')
|
||||
System.out.println("showing ${filename} ${params.thumb}")
|
||||
def presDir = confDir() + File.separatorChar + filename
|
||||
try {
|
||||
def pres = presentationService.showThumbnail(presDir, params.thumb)
|
||||
if (pres.exists()) {
|
||||
def bytes = pres.readBytes()
|
||||
response.contentType = 'application/x-shockwave-flash'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def thumbnail = {
|
||||
def filename = params.id.replace('###', '.')
|
||||
System.out.println("showing ${filename} ${params.thumb}")
|
||||
def presDir = confDir() + File.separatorChar + filename
|
||||
try {
|
||||
def pres = presentationService.showThumbnail(presDir, params.thumb)
|
||||
if (pres.exists()) {
|
||||
def bytes = pres.readBytes()
|
||||
|
||||
response.contentType = 'image'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
response.contentType = 'image'
|
||||
response.outputStream << bytes;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Error reading file.\n" + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
def numberOfSlides = {
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
|
||||
def numThumbs = presentationService.numberOfThumbnails(conf, rm, presentationName)
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:conf, room:rm) {
|
||||
presentation(name:presentationName) {
|
||||
slides(count:numThumbs) {
|
||||
for (def i = 1; i <= numThumbs; i++) {
|
||||
slide(number:"${i}", name:"slide/${i}", thumb:"thumbnail/${i}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def numberOfThumbnails = {
|
||||
def filename = params.presentation_name
|
||||
def f = confInfo()
|
||||
def numThumbs = presentationService.numberOfThumbnails(f.conference, f.room, filename)
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:f.conference, room:f.room) {
|
||||
presentation(name:filename) {
|
||||
thumbnails(count:numThumbs) {
|
||||
for (def i=0;i<numThumbs;i++) {
|
||||
thumb(name:"thumbnails/${i}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def confInfo = {
|
||||
def numberOfSlides = {
|
||||
def presentationName = params.presentation_name
|
||||
def conf = params.conference
|
||||
def rm = params.room
|
||||
|
||||
def numThumbs = presentationService.numberOfThumbnails(conf, rm, presentationName)
|
||||
response.addHeader("Cache-Control", "no-cache")
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:conf, room:rm) {
|
||||
presentation(name:presentationName) {
|
||||
slides(count:numThumbs) {
|
||||
for (def i = 1; i <= numThumbs; i++) {
|
||||
slide(number:"${i}", name:"slide/${i}", thumb:"thumbnail/${i}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def numberOfThumbnails = {
|
||||
def filename = params.presentation_name
|
||||
def f = confInfo()
|
||||
def numThumbs = presentationService.numberOfThumbnails(f.conference, f.room, filename)
|
||||
withFormat {
|
||||
xml {
|
||||
render(contentType:"text/xml") {
|
||||
conference(id:f.conference, room:f.room) {
|
||||
presentation(name:filename) {
|
||||
thumbnails(count:numThumbs) {
|
||||
for (def i=0;i<numThumbs;i++) {
|
||||
thumb(name:"thumbnails/${i}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def confInfo = {
|
||||
// Subject currentUser = SecurityUtils.getSubject()
|
||||
// Session session = currentUser.getSession()
|
||||
|
||||
def fname = session["fullname"]
|
||||
def rl = session["role"]
|
||||
def conf = session["conference"]
|
||||
def rm = session["room"]
|
||||
println "Conference info: ${conf} ${rm}"
|
||||
return [conference:conf, room:rm]
|
||||
}
|
||||
def fname = session["fullname"]
|
||||
def rl = session["role"]
|
||||
def conf = session["conference"]
|
||||
def rm = session["room"]
|
||||
println "Conference info: ${conf} ${rm}"
|
||||
return [conference:conf, room:rm]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ public class DynamicConferenceService {
|
||||
|
||||
public String processLogoutUrl(String logoutUrl) {
|
||||
if (StringUtils.isEmpty(logoutUrl)) {
|
||||
if (StringUtils.isEmpty(defaultLogoutUrl)) {
|
||||
if (StringUtils.isEmpty(defaultLogoutUrl)) {
|
||||
return defaultServerUrl;
|
||||
} else {
|
||||
return defaultLogoutUrl;
|
||||
|
@ -20,10 +20,8 @@
|
||||
*/
|
||||
package org.bigbluebutton.api.domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
@ -31,15 +29,12 @@ import java.util.concurrent.ConcurrentMap;
|
||||
public class Meeting {
|
||||
private String name;
|
||||
private String extMeetingId;
|
||||
private String intMeetingId;
|
||||
|
||||
private String intMeetingId;
|
||||
private int duration;
|
||||
private long createdTime;
|
||||
private long startTime = 0;
|
||||
private long endTime = 0;
|
||||
|
||||
private boolean forciblyEnded = false;
|
||||
|
||||
private String telVoice;
|
||||
private String webVoice;
|
||||
private String moderatorPass;
|
||||
@ -47,10 +42,10 @@ public class Meeting {
|
||||
private String welcomeMsg;
|
||||
private String logoutUrl;
|
||||
private int maxUsers;
|
||||
|
||||
private boolean record;
|
||||
|
||||
private final ConcurrentMap<String, String> metadata;
|
||||
private String dialNumber;
|
||||
|
||||
private Map<String, String> metadata;
|
||||
private final ConcurrentMap<String, User> users;
|
||||
|
||||
public Meeting(Builder builder) {
|
||||
@ -60,9 +55,18 @@ public class Meeting {
|
||||
viewerPass = builder.viewerPass;
|
||||
moderatorPass = builder.moderatorPass;
|
||||
maxUsers = builder.maxUsers;
|
||||
logoutUrl = builder.logoutUrl;
|
||||
record = builder.record;
|
||||
duration = builder.duration;
|
||||
webVoice = builder.webVoice;
|
||||
telVoice = builder.telVoice;
|
||||
welcomeMsg = builder.welcomeMsg;
|
||||
dialNumber = builder.dialNumber;
|
||||
metadata = builder.metadata;
|
||||
|
||||
createdTime = System.currentTimeMillis();
|
||||
users = new ConcurrentHashMap<String, User>();
|
||||
metadata = new ConcurrentHashMap<String, String>();
|
||||
|
||||
metadata.put("meetingId", extMeetingId);
|
||||
}
|
||||
|
||||
@ -183,6 +187,9 @@ public class Meeting {
|
||||
return sum;
|
||||
}
|
||||
|
||||
public String getDialNumber() {
|
||||
return dialNumber;
|
||||
}
|
||||
|
||||
/***
|
||||
* Meeting Builder
|
||||
|
Loading…
Reference in New Issue
Block a user