diff --git a/bbb-voice/build.gradle b/bbb-voice/build.gradle index 21137a340ca2163064965c6c4bf31d868f5de7e9..805c83b9d8441ab10c0690ce5dab068dbbc767d1 100755 --- a/bbb-voice/build.gradle +++ b/bbb-voice/build.gradle @@ -50,7 +50,13 @@ repositories { addArtifactPattern "http://repository.springsource.com/maven/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" addArtifactPattern "http://repository.springsource.com/maven/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" } - } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "Red5" + m2compatible = true + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + } + } } dependencies { @@ -62,22 +68,23 @@ dependencies { providedCompile 'org.apache.mina:mina-integration-beans:2.0.7@jar' providedCompile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' - // Spring - providedCompile 'org.springframework:spring-web:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-context:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-core:3.1.1.RELEASE@jar' - - // Red5 - providedCompile 'org/red5:red5:1.0r4643@jar' - - // Logging - providedCompile 'ch.qos.logback:logback-core:1.0.9@jar' - providedCompile 'ch.qos.logback:logback-classic:1.0.9@jar' - providedCompile 'org.slf4j:log4j-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jcl-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jul-to-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:slf4j-api:1.7.2@jar' + // Spring + providedCompile 'org.springframework:spring-web:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.0.0.RELEASE@jar' + + // Red5 + providedCompile 'org/red5:red5:1.0.2-M1@jar' + providedCompile 'org.red5:red5-io:1.0.3@jar' + + // Logging + providedCompile 'ch.qos.logback:logback-core:1.0.13@jar' + providedCompile 'ch.qos.logback:logback-classic:1.0.13@jar' + providedCompile 'org.slf4j:log4j-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jcl-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jul-to-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:slf4j-api:1.7.5@jar' // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. diff --git a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/AudioBroadcastStream.java b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/AudioBroadcastStream.java index 37a27cf86b3cb39e31e23b637bd9620310b14998..9dcb4d578615b58861b20a1de2663066df10bbb5 100755 --- a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/AudioBroadcastStream.java +++ b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/AudioBroadcastStream.java @@ -26,7 +26,8 @@ import org.red5.logging.Red5LoggerFactory; import org.red5.server.api.event.IEvent; import org.red5.server.api.scope.IScope; import org.red5.server.api.stream.IBroadcastStream; -import org.red5.server.api.stream.IStreamCodecInfo; +import org.red5.codec.IStreamCodecInfo; +import org.red5.codec.StreamCodecInfo; import org.red5.server.api.stream.IStreamListener; import org.red5.server.api.stream.ResourceExistException; import org.red5.server.api.stream.ResourceNotFoundException; @@ -38,7 +39,7 @@ import org.red5.server.messaging.OOBControlMessage; import org.red5.server.messaging.PipeConnectionEvent; import org.red5.server.net.rtmp.event.IRTMPEvent; import org.red5.server.net.rtmp.event.Notify; -import org.red5.server.stream.codec.StreamCodecInfo; + import org.red5.server.stream.message.RTMPMessage; import org.slf4j.Logger; diff --git a/bbb-voice/src/main/java/org/red5/app/sip/AudioStream.java b/bbb-voice/src/main/java/org/red5/app/sip/AudioStream.java index 9239ad7ab11bd86149a98333e67a4454e457f261..9ae660ec13a66830fa64f868e8978e2e96fd7e10 100755 --- a/bbb-voice/src/main/java/org/red5/app/sip/AudioStream.java +++ b/bbb-voice/src/main/java/org/red5/app/sip/AudioStream.java @@ -8,7 +8,8 @@ import org.red5.logging.Red5LoggerFactory; import org.red5.server.api.event.IEvent; import org.red5.server.api.scope.IScope; import org.red5.server.api.stream.IBroadcastStream; -import org.red5.server.api.stream.IStreamCodecInfo; +import org.red5.codec.IStreamCodecInfo; +import org.red5.codec.StreamCodecInfo; import org.red5.server.api.stream.IStreamListener; import org.red5.server.api.stream.ResourceExistException; import org.red5.server.api.stream.ResourceNotFoundException; @@ -20,7 +21,6 @@ import org.red5.server.messaging.OOBControlMessage; import org.red5.server.messaging.PipeConnectionEvent; import org.red5.server.net.rtmp.event.IRTMPEvent; import org.red5.server.net.rtmp.event.Notify; -import org.red5.server.stream.codec.StreamCodecInfo; import org.red5.server.stream.message.RTMPMessage; import org.slf4j.Logger; import org.red5.server.api.stream.IStreamPacket;; diff --git a/bigbluebutton-apps/build.gradle b/bigbluebutton-apps/build.gradle index 21c459809b720fedf581c1bd8cfad4cff8995c3e..6339329b12819a7ff903a7fc6d532abff4d44a18 100755 --- a/bigbluebutton-apps/build.gradle +++ b/bigbluebutton-apps/build.gradle @@ -67,46 +67,38 @@ dependencies { providedCompile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' // Spring - providedCompile 'org.springframework:spring-web:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-context:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-core:3.1.1.RELEASE@jar' + providedCompile 'org.springframework:spring-web:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.0.0.RELEASE@jar' - compile 'org.springframework.amqp:spring-rabbit:1.2.0.RELEASE@jar' - compile 'org.springframework.integration:spring-integration-core:2.2.5.RELEASE@jar' - compile 'org.springframework.integration:spring-integration-amqp:2.2.5.RELEASE@jar' - compile 'org.springframework.integration:spring-integration-stream:2.2.5.RELEASE@jar' - + // Red5 + providedCompile 'org/red5:red5:1.0.2-M1@jar' + + // Logging + providedCompile 'ch.qos.logback:logback-core:1.0.13@jar' + providedCompile 'ch.qos.logback:logback-classic:1.0.13@jar' + providedCompile 'org.slf4j:log4j-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jcl-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jul-to-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:slf4j-api:1.7.5@jar' + compile "redis.clients:jedis:2.1.0" - compile "org.codehaus.jackson:jackson-core-asl:$jacksonVersion" - compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion" - compile "javax.servlet:com.springsource.javax.servlet.jsp.jstl:1.2.0" - compile ("org.springframework.data:spring-data-redis:$springRedisVersion") { - exclude group: 'commons-logging' - } + compile "org.codehaus.jackson:jackson-core-asl:$jacksonVersion" + compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion" + compile "javax.servlet:com.springsource.javax.servlet.jsp.jstl:1.2.0" + compile ("org.springframework.data:spring-data-redis:$springRedisVersion") { + exclude group: 'commons-logging' + } - // Red5 - providedCompile 'org/red5:red5:1.0r4643@jar' - - // Logging - providedCompile 'ch.qos.logback:logback-core:1.0.9@jar' - providedCompile 'ch.qos.logback:logback-classic:1.0.9@jar' - providedCompile 'org.slf4j:log4j-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jcl-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jul-to-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:slf4j-api:1.7.2@jar' - // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. - providedCompile 'org.springframework:spring-aop:3.0.6.RELEASE@jar' + providedCompile 'org.springframework:spring-aop:4.0.0.RELEASE@jar' compile 'aopalliance:aopalliance:1.0@jar' - - // Java Concurrency In Practice - providedCompile 'net.jcip:jcip-annotations:1.0@jar' - - // Testing - compile 'org.testng:testng:5.8@jar' - compile 'org.easymock:easymock:2.4@jar' + + // Testing + compile 'org.testng:testng:5.8@jar' + compile 'org.easymock:easymock:2.4@jar' //redis //compile 'redis.clients:jedis:2.0.0' @@ -122,15 +114,13 @@ dependencies { // workaround for http://issues.gradle.org/browse/GRADLE-1273 //compileScala.classpath = sourceSets.main.compileClasspath + files(sourceSets.main.classesDir) //compileTestScala.classpath = sourceSets.test.compileClasspath + files(sourceSets.test.classesDir) - - compile 'net.lag:configgy:2.0.0' - + // Freeswitch ESL Client compile 'org/freeswitch:fs-esl-client:0.8.2@jar' compile 'org.jboss.netty:netty:3.2.1.Final@jar' compile 'com.google.code.gson:gson:1.7.1' providedCompile 'org.apache.commons:commons-lang3:3.1' - compile 'commons-lang:commons-lang:2.5' + //compile 'commons-lang:commons-lang:2.5' } test { diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java index bd63f4787db1286740cf8d1ca7942eea648d037f..d7ddc85f5775e8f1cd49f7d1ba3f4e5900f240c7 100755 --- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java +++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java @@ -2,7 +2,6 @@ package org.bigbluebutton.conference.service.presentation; import java.util.HashMap; import java.util.Map; -import org.apache.commons.lang.StringEscapeUtils; import org.bigbluebutton.conference.service.messaging.MessagingConstants; import org.bigbluebutton.conference.service.messaging.redis.MessageHandler; import com.google.gson.Gson; diff --git a/bigbluebutton-apps/src/main/resources/logback-bigbluebutton.xml b/bigbluebutton-apps/src/main/resources/logback-bigbluebutton.xml index 9d2cf1f35f786cc7f3bd6b3af7afb72c8fc11b48..2bf26a1c56015012f8505fe2e4d23e342f28dd37 100755 --- a/bigbluebutton-apps/src/main/resources/logback-bigbluebutton.xml +++ b/bigbluebutton-apps/src/main/resources/logback-bigbluebutton.xml @@ -37,4 +37,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <level value="DEBUG" /> <appender-ref ref="BIGBLUEBUTTON" /> </root> + + <!-- LEVEL CAN NOT BE DEBUG --> + <logger name="org.apache" level="INFO"></logger> </configuration> diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala index bcb0dc0ef2cd88ad3dbcdecc5e92c389aa317dba..76669d953ee0981dd2fe6c3170dd79c0c586c6e0 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala @@ -4,15 +4,12 @@ import scala.actors.Actor import scala.actors.Actor._ import scala.collection.mutable.HashMap import org.bigbluebutton.core.api._ -import net.lag.logging.Logger class BigBlueButtonActor(outGW: MessageOutGateway) extends Actor { - private val log = Logger.get private var meetings = new HashMap[String, MeetingActor] - log.debug("Starting up BigBlueButton Actor") - + def act() = { loop { react { diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonGateway.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonGateway.scala index f46fa035ded794373d6d80e92b2e98619dee3b43..c9e0a5429ca50af204a6bc96b50a221c9cef2b16 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonGateway.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonGateway.scala @@ -1,19 +1,11 @@ package org.bigbluebutton.core import org.bigbluebutton.core.api._ -import net.lag.configgy.Configgy import java.util.concurrent.CountDownLatch import scala.actors.Actor import scala.actors.Actor._ class BigBlueButtonGateway(outGW: MessageOutGateway, collGW: CollectorGateway) { - private val deathSwitch = new CountDownLatch(1) - // load our config file and configure logfiles. - Configgy.configure("webapps/bigbluebutton/WEB-INF/configgy-logger.conf") - // make sure there's always one actor running so scala 2.7.2 doesn't kill off the actors library. - actor { - deathSwitch.await - } private val bbbActor = new BigBlueButtonActor(outGW) bbbActor.start diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala index c11b17e774ce2fda300157b8d32ebc48e9da8d29..cdd04e9a46532ae1d88c4ee4af08a5db741ff638 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala @@ -13,11 +13,9 @@ import java.util.ArrayList import scala.collection.mutable.ArrayBuffer import org.bigbluebutton.core.apps.presentation.Page import org.bigbluebutton.core.apps.presentation.Presentation -import net.lag.logging.Logger class BigBlueButtonInGW(bbbGW: BigBlueButtonGateway) extends IBigBlueButtonInGW { - private val log = Logger.get - + val presUtil = new PreuploadedPresentationsUtil() // Meeting @@ -249,7 +247,6 @@ class BigBlueButtonInGW(bbbGW: BigBlueButtonGateway) extends IBigBlueButtonInGW def getPresentationInfo(meetingID: String, requesterID: String) { println("**** Forwarding GetPresentationInfo for meeting[" + meetingID + "] ****") - log.debug("**** Forwarding GetPresentationInfo for meeting[{}] ****", meetingID) bbbGW.accept(new GetPresentationInfo(meetingID, requesterID)) } diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala index e0e5780a35c70f71fc85e72c5f9f004cfabc5c4c..b913b51d5b02071cefb4af1e6cd72df5484e9286 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala @@ -11,7 +11,6 @@ import org.bigbluebutton.core.apps.presentation.PresentationApp import org.bigbluebutton.core.apps.layout.LayoutApp import org.bigbluebutton.core.apps.chat.ChatApp import org.bigbluebutton.core.apps.whiteboard.WhiteboardApp -import net.lag.logging.Logger import scala.actors.TIMEOUT case object StopMeetingActor @@ -21,8 +20,7 @@ class MeetingActor(val meetingID: String, meetingName: String, val recorded: Boo extends Actor with UsersApp with PresentationApp with PollApp with LayoutApp with ChatApp with WhiteboardApp { - private val log = Logger.get - + var permissions = new PermissionsSetting(false, new Permissions()) var recording = false; var muted = false; diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/chat/ChatApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/chat/ChatApp.scala index 678d8a07d5d174cf64decec95afd52f6006404f9..8e408eadb367328f65d3c36da9fcb68db46f716c 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/chat/ChatApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/chat/ChatApp.scala @@ -2,13 +2,11 @@ package org.bigbluebutton.core.apps.chat import org.bigbluebutton.core.api._ import scala.collection.mutable.ArrayBuffer -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor trait ChatApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway val messages = new ArrayBuffer[Map[String, String]]() diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala index fc98ba58fc65c1a49e96b657b095754af2991f2c..355be4ac15703a94fea6a007b05338ab865fd748 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala @@ -1,13 +1,11 @@ package org.bigbluebutton.core.apps.layout import org.bigbluebutton.core.api._ -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor trait LayoutApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway private var _locked:Boolean = false; diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutInGateway.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutInGateway.scala index 07632b178388553e9ec180518f46c689ce281c4e..1eba8f2fd8f3b333e2f3b5018153fbb11b3c796e 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutInGateway.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutInGateway.scala @@ -2,14 +2,10 @@ package org.bigbluebutton.core.apps.layout import org.bigbluebutton.core.BigBlueButtonGateway import org.bigbluebutton.core.api._ -import net.lag.logging.Logger class LayoutInGateway(bbbGW: BigBlueButtonGateway) { - val log = Logger.get - def getCurrentLayout(meetingID: String, requesterID: String) { - log.debug("Received getCurrentLayout for meeting[{}]", meetingID) bbbGW.accept(new GetCurrentLayoutRequest(meetingID, requesterID)) } diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/poll/PollApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/poll/PollApp.scala index 3bb536cc93aed127136e025a4b322aabc455618d..1b66d216591dbdc996f8ffff8bfa765bf97adfae 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/poll/PollApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/poll/PollApp.scala @@ -4,12 +4,10 @@ import scala.collection.mutable.HashMap import org.bigbluebutton.core.api._ import scala.collection.mutable.ArrayBuffer import org.bigbluebutton.core.MeetingActor -import net.lag.logging.Logger trait PollApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway private val pollModel = new PollModel diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationApp.scala index ee90815e0115c9191b0f357e0c8bea7cf905fa82..e0ccc53dc753b7b2dcf654398f4b3568fe73b6aa 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationApp.scala @@ -1,7 +1,6 @@ package org.bigbluebutton.core.apps.presentation import org.bigbluebutton.core.api._ -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor import com.google.gson.Gson @@ -16,7 +15,6 @@ case class CursorLocation(xPercent: Double = 0D, yPercent: Double = 0D) trait PresentationApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway private var cursorLocation = new CursorLocation @@ -85,7 +83,6 @@ trait PresentationApp { def handleGetPresentationInfo(msg: GetPresentationInfo) { println("PresentationApp : handleGetPresentationInfo GetPresentationInfo for meeting [" + msg.meetingID + "] [" + msg.requesterID + "]" ) - log.debug("Received GetPresentationInfo for meeting [{}] [{}]", msg.meetingID, msg.requesterID) val curPresenter = getCurrentPresenter; val presenter = new CurrentPresenter(curPresenter.presenterID, curPresenter.presenterName, diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala index eebc24578826dd26dcb5a626b8b2a55aa1384ea6..b469f54eb8b3aad41b7e3a228668d27e5529f518 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala @@ -9,12 +9,10 @@ import com.google.gson.Gson import java.util.ArrayList import org.bigbluebutton.core.apps.presentation.Page import org.bigbluebutton.core.apps.presentation.Presentation -import net.lag.logging.Logger + class PresentationClientMessageSender(service: ConnectionInvokerService) extends OutMessageListener2 { - private val log = Logger.get - private val OFFICE_DOC_CONVERSION_SUCCESS_KEY = "OFFICE_DOC_CONVERSION_SUCCESS"; private val OFFICE_DOC_CONVERSION_FAILED_KEY = "OFFICE_DOC_CONVERSION_FAILED"; private val SUPPORTED_DOCUMENT_KEY = "SUPPORTED_DOCUMENT"; @@ -61,7 +59,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends message.put("msg", gson.toJson(args)) println("PresentationClientMessageSender - handlePresentationConversionProgress \n" + message.get("msg") + "\n") - log.debug("PresentationClientMessageSender - handlePresentationConversionProgress \n" + message.get("msg") + "\n") + val m = new BroadcastClientMessage(msg.meetingID, "conversionUpdateMessageCallback", message); service.sendMessage(m); } @@ -81,7 +79,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends message.put("msg", gson.toJson(args)) println("PresentationClientMessageSender - handlePresentationConversionError \n" + message.get("msg") + "\n") - log.debug("PresentationClientMessageSender - handlePresentationConversionError \n" + message.get("msg") + "\n") + val m = new BroadcastClientMessage(msg.meetingID, "pageCountExceededUpdateMessageCallback", message); service.sendMessage(m); } @@ -101,7 +99,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends message.put("msg", gson.toJson(args)) println("PresentationClientMessageSender - handlePresentationPageGenerated \n" + message.get("msg") + "\n") - log.debug("PresentationClientMessageSender - handlePresentationPageGenerated \n" + message.get("msg") + "\n") + val m = new BroadcastClientMessage(msg.meetingID, "generatedSlideUpdateMessageCallback", message); service.sendMessage(m); } @@ -132,7 +130,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends message.put("msg", gson.toJson(args)) println("PresentationClientMessageSender - handlePresentationConversionDone \n" + message.get("msg") + "\n") - log.debug("PresentationClientMessageSender - handlePresentationConversionDone \n" + message.get("msg") + "\n") + val m = new BroadcastClientMessage(msg.meetingID, "conversionCompletedUpdateMessageCallback", message); service.sendMessage(m); } @@ -190,9 +188,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends val message = new java.util.HashMap[String, Object]() val gson = new Gson(); message.put("msg", gson.toJson(args)) - - log.debug("PresentationClientMessageSender - handleGetPresentationInfoOutMsg to user[{}] \n [{}]", msg.requesterID, message.get("msg")) - + println("***** PresentationClientMessageSender - handleGetPresentationInfoOutMsg to user[" +msg.requesterID + "] message[" + message.get("msg") + "]") val m = new DirectClientMessage(msg.meetingID, msg.requesterID, "getPresentationInfoReply", message); @@ -207,9 +203,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends val message = new java.util.HashMap[String, Object]() val gson = new Gson(); message.put("msg", gson.toJson(args)) - - log.debug("PresentationClientMessageSender - handleSendCursorUpdateOutMsg \n [{}]", message.get("msg")) - + val m = new BroadcastClientMessage(msg.meetingID, "PresentationCursorUpdateCommand", message); service.sendMessage(m); } @@ -231,9 +225,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends val message = new java.util.HashMap[String, Object]() val gson = new Gson(); message.put("msg", gson.toJson(args)) - - log.debug("PresentationClientMessageSender - handleResizeAndMoveSlideOutMsg \n [{}]", message.get("msg")) - + val m = new BroadcastClientMessage(msg.meetingID, "moveCallback", message); service.sendMessage(m); } @@ -255,9 +247,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends val message = new java.util.HashMap[String, Object]() val gson = new Gson(); message.put("msg", gson.toJson(args)) - - log.debug("PresentationClientMessageSender - handleGotoSlideOutMsg \n [{}]", message.get("msg")) - + val m = new BroadcastClientMessage(msg.meetingID, "goToSlideCallback", message); service.sendMessage(m); } @@ -283,9 +273,7 @@ class PresentationClientMessageSender(service: ConnectionInvokerService) extends val message = new java.util.HashMap[String, Object]() val gson = new Gson(); message.put("msg", gson.toJson(args)) - - log.debug("PresentationClientMessageSender - handleSharePresentationOutMsg to presentation[{}] \n [{}]", msg.presentation.id, message.get("msg")) - + val m = new BroadcastClientMessage(msg.meetingID, "sharePresentationCallback", message); service.sendMessage(m); } diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala index 974ed5ef4300862cb7973ef35cf73867621eca09..0f31eae2726f8d5154258ac36d7a6b24868b580a 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala @@ -4,13 +4,11 @@ import org.bigbluebutton.core.api._ import scala.collection.mutable.HashMap import org.bigbluebutton.core.User import java.util.ArrayList -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor trait UsersApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway private val users = new UsersModel @@ -163,7 +161,6 @@ trait UsersApp { } def handleUserJoin(msg: UserJoining):Unit = { - log.debug("UsersApp: init handleUserJoin") val vu = new VoiceUser(msg.userID, msg.userID, msg.name, msg.name, false, false, false, false) val uvo = new UserVO(msg.userID, msg.extUserID, msg.name, @@ -190,7 +187,7 @@ trait UsersApp { } else{ - log.warning("This user is not here:" + msg.userID) + } } diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala index 9e2b0212ef38937d0acaadee69602a8007e9761d..ab681791a8e0ce2fc03dc68c9290ceac7e9e7936 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala @@ -1,13 +1,11 @@ package org.bigbluebutton.core.apps.voice import org.bigbluebutton.core.api._ -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor trait VoiceApp { this : MeetingActor => - val log: Logger val outGW: MessageOutGateway def handleSendVoiceUsersRequest(msg: SendVoiceUsersRequest) { diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/whiteboard/WhiteboardApp.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/whiteboard/WhiteboardApp.scala index a1e45e8249fc31b992a52d606797a7f9538fc214..17a4d9fc3caa996c5d538cedaeeefd8f58359a75 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/whiteboard/WhiteboardApp.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/whiteboard/WhiteboardApp.scala @@ -2,7 +2,6 @@ package org.bigbluebutton.core.apps.whiteboard import org.bigbluebutton.core.api._ import org.bigbluebutton.conference.service.whiteboard.WhiteboardKeyUtil -import net.lag.logging.Logger import org.bigbluebutton.core.MeetingActor import org.bigbluebutton.core.apps.whiteboard.vo._ @@ -11,7 +10,6 @@ case class Whiteboard(id: String, shapes:Seq[AnnotationVO]) trait WhiteboardApp { this : MeetingActor => - private val log = Logger.get val outGW: MessageOutGateway private val wbModel = new WhiteboardModel diff --git a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/freeswitch/FreeswitchConferenceActor.scala b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/freeswitch/FreeswitchConferenceActor.scala index 08f416fc307454759f5a85de5112834409207356..e4b83245d2bfcadafc008ebf09e66d8cbd73a29b 100755 --- a/bigbluebutton-apps/src/main/scala/org/bigbluebutton/freeswitch/FreeswitchConferenceActor.scala +++ b/bigbluebutton-apps/src/main/scala/org/bigbluebutton/freeswitch/FreeswitchConferenceActor.scala @@ -3,7 +3,6 @@ package org.bigbluebutton.freeswitch import scala.actors.Actor import scala.actors.Actor._ import org.bigbluebutton.core.api._ -import net.lag.logging.Logger case class FsVoiceUserJoined(userId: String, webUserId: String, conference: String, callerIdNum: String, @@ -18,7 +17,6 @@ case class FsRecording(conference: String, recordingFile: String, timestamp: String, recording: Boolean) class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBlueButtonInGW) extends Actor { - private val log = Logger.get private var confs = new scala.collection.immutable.HashMap[String, FreeswitchConference] @@ -71,7 +69,6 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl val fsconf = confs.values find (c => c.meetingId == msg.meetingID) fsconf foreach {fc => - log.debug("Web user id joining meeting id[" + fc.meetingId + "] wid=[" + msg.user.userID + "]") println("Web user has joined voice. mid[" + fc.meetingId + "] wid=[" + msg.user.userID + "], vid=[" + msg.user.voiceUser.userId + "]") fc.addUser(msg.user) if (fc.numUsersInVoiceConference == 1 && fc.recorded) { @@ -88,7 +85,6 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl fsconf foreach {fc => fc.addUser(msg.user) - log.debug("Web user id leaving meeting id[" + fc.meetingId + "] wid=[" + msg.user.userID + "]") println("Web user has left voice. mid[" + fc.meetingId + "] wid=[" + msg.user.userID + "], vid=[" + msg.user.voiceUser.userId + "]") if (fc.numUsersInVoiceConference == 0 && fc.recorded) { println("Meeting is recorded. No more users in voice conference. Tell FreeSWITCH to stop recording.") @@ -101,7 +97,6 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl val fsconf = confs.values find (c => c.meetingId == msg.meetingID) fsconf foreach (fc => { - log.debug("Web user id joining meeting id[" + fc.meetingId + "] wid=[" + msg.user.userID + "]") println("Web user id joining meeting id[" + fc.meetingId + "] wid=[" + msg.user.userID + "]") fc.addUser(msg.user) }) @@ -117,7 +112,6 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl private def handleMuteVoiceUser(msg: MuteVoiceUser) { val fsconf = confs.values find (c => c.meetingId == msg.meetingID) - log.debug("Mute user request for wid[" + msg.userId + "] mute=[" + msg.mute + "]") println("Mute user request for wid[" + msg.userId + "] mute=[" + msg.mute + "]") fsconf foreach (fc => { val user = fc.getWebUser(msg.userId) @@ -186,7 +180,7 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl private def handleFsVoiceUserLeft(msg: FsVoiceUserLeft) { val fsconf = confs.values find (c => c.conferenceNum == msg.conference) - log.debug("Rx voice user left for cnum=[" + msg.conference + "] vid[" + msg.userId + "]") + fsconf foreach (fc => { val user = fc.getVoiceUser(msg.userId) user foreach (u => bbbInGW.voiceUserLeft(fc.meetingId, u.userID)) @@ -204,7 +198,7 @@ class FreeswitchConferenceActor(fsproxy: FreeswitchManagerProxy, bbbInGW: IBigBl private def handleFsVoiceUserMuted(msg: FsVoiceUserMuted) { val fsconf = confs.values find (c => c.conferenceNum == msg.conference) - log.debug("Rx voice user muted for cnum=[" + msg.conference + "] vid[" + msg.userId + "] mute=[" + msg.muted + "]") + println("Rx voice user muted for cnum=[" + msg.conference + "] vid[" + msg.userId + "] mute=[" + msg.muted + "]") fsconf foreach (fc => { val user = fc.getVoiceUser(msg.userId) diff --git a/bigbluebutton-apps/src/main/webapp/WEB-INF/configgy-logger.conf b/bigbluebutton-apps/src/main/webapp/WEB-INF/configgy-logger.conf index 2a228e49eb070a9dc9bf769213f997f5043c2641..53fcebf01d019d00bbfb15932a69edbb06461af7 100755 --- a/bigbluebutton-apps/src/main/webapp/WEB-INF/configgy-logger.conf +++ b/bigbluebutton-apps/src/main/webapp/WEB-INF/configgy-logger.conf @@ -1,7 +1,7 @@ log { filename = "/usr/share/red5/log/bigbluebutton-scala.log" roll = "daily" - level = "debug" + level = "info" use_full_package_names = on silence_net_sf_cache { @@ -13,4 +13,9 @@ log { node = "sun.rmi" level = "error" } + + silence_org_apache { + node = "org.apache" + level = "error" + } } \ No newline at end of file diff --git a/deskshare/app/build.gradle b/deskshare/app/build.gradle index 28f9f6515e47d0d98c92eb3a0cba60e562e5f5db..31f31b8373a935274a689c2fa1be16f68ed2226f 100755 --- a/deskshare/app/build.gradle +++ b/deskshare/app/build.gradle @@ -8,75 +8,130 @@ jar.enabled = true archivesBaseName = 'bbb-deskshare-app' +task resolveDeps(type: Copy) { + into('lib') + from configurations.default + from configurations.default.allArtifacts.file +} + +/* + * Seems like we need this here and in the sub-projects section for testng to resolve. + * (ralam Oct 4, 2009) + */ +repositories { + add(new org.apache.ivy.plugins.resolver.ChainResolver()) { + name = 'remote' + returnFirst = true + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "googlecode" + addArtifactPattern "http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "blindside-repos" + addArtifactPattern "http://blindside.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" + addArtifactPattern "http://blindside.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "maven2-central" + m2compatible = true + addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]" + addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "testng_ibiblio_maven2" + m2compatible = true + addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision])-jdk15.[ext]" + addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision])-jdk15.[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "netty-dependency" + m2compatible = true + addArtifactPattern "http://repository.jboss.org/nexus/content/groups/public-jboss/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]" + addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "spring-bundles" + m2compatible = true + addArtifactPattern "http://repository.springsource.com/maven/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + addArtifactPattern "http://repository.springsource.com/maven/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "Red5" + m2compatible = true + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + } + } +} + dependencies { - // Servlet - providedCompile 'javax.servlet:servlet-api:2.5@jar' + // Servlet + providedCompile 'javax.servlet:servlet-api:2.5@jar' - // Mina - providedCompile 'org.apache.mina:mina-core:2.0.7@jar' - providedCompile 'org.apache.mina:mina-integration-beans:2.0.7@jar' - providedCompile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' + // Mina + providedCompile 'org.apache.mina:mina-core:2.0.7@jar' + providedCompile 'org.apache.mina:mina-integration-beans:2.0.7@jar' + providedCompile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' - // Spring - providedCompile 'org.springframework:spring-web:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-context:3.1.1.RELEASE@jar' - providedCompile 'org.springframework:spring-core:3.1.1.RELEASE@jar' - - // Red5 - providedCompile 'org/red5:red5:1.0r4643@jar' - - // Logging - providedCompile 'ch.qos.logback:logback-core:1.0.9@jar' - providedCompile 'ch.qos.logback:logback-classic:1.0.9@jar' - providedCompile 'org.slf4j:log4j-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jcl-over-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:jul-to-slf4j:1.7.2@jar' - providedCompile 'org.slf4j:slf4j-api:1.7.2@jar' + // Spring + providedCompile 'org.springframework:spring-web:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.0.0.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.0.0.RELEASE@jar' + + // Red5 + providedCompile 'org/red5:red5:1.0.2-M1@jar' + providedCompile 'org.red5:red5-io:1.0.3@jar' + + // Logging + providedCompile 'ch.qos.logback:logback-core:1.0.13@jar' + providedCompile 'ch.qos.logback:logback-classic:1.0.13@jar' + providedCompile 'org.slf4j:log4j-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jcl-over-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:jul-to-slf4j:1.7.5@jar' + providedCompile 'org.slf4j:slf4j-api:1.7.5@jar' - // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. - // Otherwise we get exception on aop utils class not found. - providedCompile 'org.springframework:spring-aop:3.1.1.RELEASE@jar' - providedCompile 'aopalliance:aopalliance:1.0@jar' - - // Java Concurrency In Practice - providedCompile 'net.jcip:jcip-annotations:1.0@jar' - - // Testing - compile 'org.testng:testng:5.8@jar' - compile 'org.easymock:easymock:2.4@jar' + // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. + // Otherwise we get exception on aop utils class not found. + providedCompile 'org.springframework:spring-aop:4.0.0.RELEASE@jar' + providedCompile 'aopalliance:aopalliance:1.0@jar' + + // Testing + compile 'org.testng:testng:5.8@jar' + compile 'org.easymock:easymock:2.4@jar' - // Testing - testRuntime 'org/testng:testng:5.8@jar' - testRuntime 'org.easymock:easymock:2.4@jar' + // Testing + testRuntime 'org/testng:testng:5.8@jar' + testRuntime 'org.easymock:easymock:2.4@jar' - // Tunnelling servlet - compile 'org.springframework:spring-webmvc:3.1.1.RELEASE@jar' + // Tunnelling servlet + compile 'org.springframework:spring-webmvc:4.0.0.RELEASE@jar' - compile project(':common') + compile project(':common') - // Need to put commons-fileupload and commons-io in red5/lib dir. Otherwise, we get an - // java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory or - // java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream - // ralam (Feb 27, 2013) - providedCompile 'commons-fileupload:commons-fileupload:1.2.2@jar' - providedCompile 'commons-io:commons-io:2.1@jar' + // Need to put commons-fileupload and commons-io in red5/lib dir. Otherwise, we get an + // java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory or + // java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream + // ralam (Feb 27, 2013) + providedCompile 'commons-fileupload:commons-fileupload:1.2.2@jar' + providedCompile 'commons-io:commons-io:2.1@jar' - // Libraries needed to run the scala tools - scalaTools 'org.scala-lang:scala-compiler:2.9.2' - scalaTools 'org.scala-lang:scala-library:2.9.2' + // Libraries needed to run the scala tools + scalaTools 'org.scala-lang:scala-compiler:2.9.2' + scalaTools 'org.scala-lang:scala-library:2.9.2' - // workaround for http://issues.gradle.org/browse/GRADLE-1273 - //compileScala.classpath = sourceSets.main.compileClasspath + files(sourceSets.main.classesDir) - //compileTestScala.classpath = sourceSets.test.compileClasspath + files(sourceSets.test.classesDir) + // workaround for http://issues.gradle.org/browse/GRADLE-1273 + //compileScala.classpath = sourceSets.main.compileClasspath + files(sourceSets.main.classesDir) + //compileTestScala.classpath = sourceSets.test.compileClasspath + files(sourceSets.test.classesDir) - // Libraries needed for scala api - compile 'org.scala-lang:scala-library:2.9.2' - compile 'net.lag:configgy:2.0.0' + // Libraries needed for scala api + compile 'org.scala-lang:scala-library:2.9.2' + compile 'net.lag:configgy:2.0.0' - //redis - compile 'redis.clients:jedis:1.5.1' - providedCompile 'commons-pool:commons-pool:1.5.6' + //redis + compile 'redis.clients:jedis:1.5.1' + providedCompile 'commons-pool:commons-pool:1.5.6' } test { diff --git a/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideo.java b/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideo.java index cf8eb23e2f32f28c22c196ed8bab20891596cd2a..7ec07b3b85ca462fd8185a919d4fd9555c8432bb 100755 --- a/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideo.java +++ b/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideo.java @@ -20,7 +20,7 @@ package org.bigbluebutton.deskshare.server; import org.apache.mina.core.buffer.IoBuffer; import org.red5.logging.Red5LoggerFactory; -import org.red5.server.api.stream.IVideoStreamCodec; +import org.red5.codec.IVideoStreamCodec; import org.slf4j.Logger; public class ScreenVideo implements IVideoStreamCodec { diff --git a/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.java b/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.java index 7b57ea9a3a93d8561afb5b53658f2a0a1f01ee09..b1dff6873bdcc3f1c1d989b00342371cf739c227 100755 --- a/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.java +++ b/deskshare/app/src/main/java/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.java @@ -26,9 +26,7 @@ import org.red5.logging.Red5LoggerFactory; import org.red5.server.api.event.IEvent; import org.red5.server.api.scope.IScope; import org.red5.server.api.stream.IBroadcastStream; -import org.red5.server.api.stream.IStreamCodecInfo; import org.red5.server.api.stream.IStreamListener; -import org.red5.server.api.stream.IVideoStreamCodec; import org.red5.server.api.stream.ResourceExistException; import org.red5.server.api.stream.ResourceNotFoundException; import org.red5.server.messaging.IMessageComponent; @@ -40,8 +38,10 @@ import org.red5.server.messaging.PipeConnectionEvent; import org.red5.server.net.rtmp.event.IRTMPEvent; import org.red5.server.net.rtmp.event.Notify; import org.red5.server.net.rtmp.event.VideoData; -import org.red5.server.stream.codec.StreamCodecInfo; import org.red5.server.stream.message.RTMPMessage; +import org.red5.codec.IVideoStreamCodec; +import org.red5.codec.IStreamCodecInfo; +import org.red5.codec.StreamCodecInfo; import org.slf4j.Logger; import org.red5.server.api.stream.IStreamPacket;; diff --git a/deskshare/app/src/main/resources/logback-deskshare.xml b/deskshare/app/src/main/resources/logback-deskshare.xml index e233057f71e41e00ec521a37051f380ab3f996ec..4f2fdfe5d92fdd2d571bbb556ce892b67a90260d 100755 --- a/deskshare/app/src/main/resources/logback-deskshare.xml +++ b/deskshare/app/src/main/resources/logback-deskshare.xml @@ -18,4 +18,7 @@ <level value="DEBUG" /> <appender-ref ref="deskshare" /> </root> + + <!-- LEVEL CAN NOT BE DEBUG --> + <logger name="org.apache" level="INFO"></logger> </configuration> diff --git a/deskshare/app/src/main/webapp/WEB-INF/deskshare.conf b/deskshare/app/src/main/webapp/WEB-INF/deskshare.conf index 3b36253372616597c4d58938a70e541cc6ed2ee3..9a60c98b458361a70ab71fc923cba7caa482a116 100755 --- a/deskshare/app/src/main/webapp/WEB-INF/deskshare.conf +++ b/deskshare/app/src/main/webapp/WEB-INF/deskshare.conf @@ -1,7 +1,7 @@ log { filename = "/usr/share/red5/log/deskshare.log" roll = "daily" - level = "debug" + level = "info" use_full_package_names = on silence_net_sf_cache { @@ -13,4 +13,9 @@ log { node = "sun.rmi" level = "error" } + + silence_org_apache { + node = "org.apache" + level = "error" + } } \ No newline at end of file diff --git a/deskshare/build.gradle b/deskshare/build.gradle index ee483370415dcde1f8b67cb2cd5bf8bfae6ddccd..6bdacbb152ecfdf91022df7b359b9e23a689a56e 100755 --- a/deskshare/build.gradle +++ b/deskshare/build.gradle @@ -49,7 +49,13 @@ repositories { m2compatible = true addArtifactPattern "http://repository.springsource.com/maven/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" addArtifactPattern "http://repository.springsource.com/maven/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" - } + } + add(new org.apache.ivy.plugins.resolver.URLResolver()) { + name = "Red5" + m2compatible = true + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + } } } @@ -58,50 +64,45 @@ repositories { * 1. You cannot use provideCompile here as gradle will complain. But you can use it in the sub-projects. */ dependencies { - // Servlet - compile 'javax.servlet:servlet-api:2.5@jar' + // Servlet + compile 'javax.servlet:servlet-api:2.5@jar' - // Mina - compile 'org.apache.mina:mina-core:2.0.7@jar' - compile 'org.apache.mina:mina-integration-beans:2.0.7@jar' - compile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' + // Mina + compile 'org.apache.mina:mina-core:2.0.7@jar' + compile 'org.apache.mina:mina-integration-beans:2.0.7@jar' + compile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' - // Spring - compile 'org.springframework:spring-web:3.1.1.RELEASE@jar' - compile 'org.springframework:spring-beans:3.1.1.RELEASE@jar' - compile 'org.springframework:spring-context:3.1.1.RELEASE@jar' - compile 'org.springframework:spring-core:3.1.1.RELEASE@jar' + // Spring + compile 'org.springframework:spring-web:4.0.0.RELEASE@jar' + compile 'org.springframework:spring-beans:4.0.0.RELEASE@jar' + compile 'org.springframework:spring-context:4.0.0.RELEASE@jar' + compile 'org.springframework:spring-core:4.0.0.RELEASE@jar' - // Red5 - compile 'org/red5:red5:1.0r4643@jar' - - // Logging - compile 'ch.qos.logback:logback-core:1.0.9@jar' - compile 'ch.qos.logback:logback-classic:1.0.9@jar' - compile 'org.slf4j:log4j-over-slf4j:1.7.2@jar' - compile 'org.slf4j:jcl-over-slf4j:1.7.2@jar' - compile 'org.slf4j:jul-to-slf4j:1.7.2@jar' - compile 'org.slf4j:slf4j-api:1.7.2@jar' + // Red5 + compile 'org/red5:red5:1.0.2-M1@jar' + compile 'org.red5:red5-io:1.0.3@jar' + + // Logging + compile 'ch.qos.logback:logback-core:1.0.13@jar' + compile 'ch.qos.logback:logback-classic:1.0.13@jar' + compile 'org.slf4j:log4j-over-slf4j:1.7.5@jar' + compile 'org.slf4j:jcl-over-slf4j:1.7.5@jar' + compile 'org.slf4j:jul-to-slf4j:1.7.5@jar' + compile 'org.slf4j:slf4j-api:1.7.5@jar' // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. - compile 'org.springframework:spring-aop:3.0.6.RELEASE@jar' + compile 'org.springframework:spring-aop:4.0.0.RELEASE@jar' compile 'aopalliance:aopalliance:1.0@jar' - - // Java Concurrency In Practice - compile 'net.jcip:jcip-annotations:1.0@jar' - + // Testing compile 'org.testng:testng:5.8@jar' compile 'org.easymock:easymock:2.4@jar' compile project(':common') - compile 'commons-fileupload:commons-fileupload:1.2.2@jar' + compile 'commons-fileupload:commons-fileupload:1.2.2@jar' compile 'commons-io:commons-io:2.1@jar' - - // Java Concurrency In Practice - compile 'net.jcip:jcip-annotations:1.0@jar' - + // Libraries needed to run the scala tools scalaTools 'org.scala-lang:scala-compiler:2.9.2' scalaTools 'org.scala-lang:scala-library:2.9.2'