This is an automated email from the ASF dual-hosted git repository.

sebawagner pushed a commit to branch 
feature/openmeetings-2742-add-maven-mediaserver-module
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit 5b0997b4313c266a1fc1ad4b603dd4e18c4f33df
Author: Sebastian <sebawag...@apache.org>
AuthorDate: Sun Jun 19 11:33:34 2022 +1200

    OPENMEETINGS-2742 Introduce openmeetings-mdeiaserver module.
---
 openmeetings-core/pom.xml                          |  8 +--
 .../pom.xml                                        | 74 +++-------------------
 .../mediaserver}/remote/AbstractStream.java        |  2 +-
 .../mediaserver}/remote/IStreamProcessor.java      |  2 +-
 .../openmeetings/mediaserver}/remote/KRoom.java    |  6 +-
 .../openmeetings/mediaserver}/remote/KStream.java  | 14 ++--
 .../mediaserver}/remote/KTestStream.java           | 14 ++--
 .../mediaserver}/remote/KurentoHandler.java        |  2 +-
 .../mediaserver}/remote/StreamProcessor.java       |  8 +--
 .../remote/StreamProcessorActions.java             |  6 +-
 .../mediaserver}/remote/TestStreamProcessor.java   | 10 +--
 .../mediaserver}/remote/BaseMockedTest.java        | 10 ++-
 .../remote/TestNotConnectedMocked.java             |  2 +-
 .../remote/TestRecordingFlowMocked.java            |  2 +-
 .../mediaserver}/remote/TestRoomFlowMocked.java    |  2 +-
 .../mediaserver}/remote/TestSetupFlowMocked.java   |  9 +--
 openmeetings-web/pom.xml                           |  4 ++
 .../web/admin/connection/ConnectionsPanel.java     |  4 +-
 .../web/admin/connection/KStreamDto.java           |  2 +-
 .../apache/openmeetings/web/app/Application.java   |  2 +-
 .../apache/openmeetings/web/app/ClientManager.java |  2 +-
 .../apache/openmeetings/web/app/TimerService.java  |  2 +-
 .../openmeetings/web/common/OmWebSocketPanel.java  |  4 +-
 .../apache/openmeetings/web/room/RoomPanel.java    |  6 +-
 .../openmeetings/web/room/menu/RoomMenuPanel.java  |  4 +-
 .../openmeetings/web/room/sidebar/RoomSidebar.java |  2 +-
 .../openmeetings/web/room/wb/InterviewWbPanel.java |  2 +-
 pom.xml                                            | 12 ++++
 28 files changed, 93 insertions(+), 124 deletions(-)

diff --git a/openmeetings-core/pom.xml b/openmeetings-core/pom.xml
index 3cabb9d76..c634aefdb 100644
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-core/pom.xml
@@ -89,10 +89,6 @@
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-webmvc</artifactId>
                </dependency>
-               <dependency>
-                       <groupId>org.kurento</groupId>
-                       <artifactId>kurento-client</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.asteriskjava</groupId>
                        <artifactId>asterisk-java</artifactId>
@@ -101,6 +97,10 @@
                        <groupId>javax.sip</groupId>
                        <artifactId>jain-sip-ri</artifactId>
                </dependency>
+               <dependency>
+                       <groupId>javax.annotation</groupId>
+                       <artifactId>javax.annotation-api</artifactId>
+               </dependency>
                <!-- Test dependencies -->
                <dependency>
                        <groupId>org.junit.jupiter</groupId>
diff --git a/openmeetings-core/pom.xml b/openmeetings-mediaserver/pom.xml
similarity index 51%
copy from openmeetings-core/pom.xml
copy to openmeetings-mediaserver/pom.xml
index 3cabb9d76..fd0a0fe2a 100644
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-mediaserver/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +15,8 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
                xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
        <modelVersion>4.0.0</modelVersion>
        <parent>
@@ -25,29 +25,14 @@
                <version>7.0.0-SNAPSHOT</version>
                <relativePath>..</relativePath>
        </parent>
-       <artifactId>openmeetings-core</artifactId>
+       <artifactId>openmeetings-mediaserver</artifactId>
        <packaging>jar</packaging>
-       <name>Openmeetings Core</name>
-       <description>Module for OpenMeetings core classes and 
services</description>
+       <name>Openmeetings MediaServer</name>
+       <description>Module for OpenMeetings MediaServer classes and 
services</description>
        <properties>
                <site.basedir>${project.parent.basedir}</site.basedir>
                <autoModuleName>apache.openmeetings.core</autoModuleName>
        </properties>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>test-jar</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
        <dependencies>
                <dependency>
                        <groupId>org.apache.openmeetings</groupId>
@@ -55,57 +40,16 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.openmeetings</groupId>
-                       <artifactId>openmeetings-db</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-collections4</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>com.thoughtworks.xstream</groupId>
-                       <artifactId>xstream</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.wicket</groupId>
-                       <artifactId>wicket-core</artifactId>
+                       <artifactId>openmeetings-core</artifactId>
                </dependency>
                <dependency>
-                       <groupId>org.apache.wicket</groupId>
-                       <artifactId>wicket-ioc</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.directory.api</groupId>
-                       <artifactId>api-all</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.jodconverter</groupId>
-                       <artifactId>jodconverter-local</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>spring-webmvc</artifactId>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-db</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.kurento</groupId>
                        <artifactId>kurento-client</artifactId>
                </dependency>
-               <dependency>
-                       <groupId>org.asteriskjava</groupId>
-                       <artifactId>asterisk-java</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.sip</groupId>
-                       <artifactId>jain-sip-ri</artifactId>
-               </dependency>
-               <!-- Test dependencies -->
-               <dependency>
-                       <groupId>org.junit.jupiter</groupId>
-                       <artifactId>junit-jupiter-params</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.apache.openmeetings</groupId>
                        <artifactId>openmeetings-util</artifactId>
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
similarity index 98%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
index f07e051d2..0dc76efc8 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import org.kurento.client.CertificateKeyType;
 import org.kurento.client.MediaPipeline;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
similarity index 94%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
index f14228573..eacf0e402 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 public interface IStreamProcessor {
        void release(AbstractStream stream, boolean releaseStream);
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
similarity index 97%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
index 04c9a0818..5409e243f 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static java.util.UUID.randomUUID;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
 import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
 
 import java.util.Date;
 import java.util.Optional;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
similarity index 97%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
index 52462c8eb..447209c9c 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
@@ -19,16 +19,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static java.util.UUID.randomUUID;
 import static java.util.concurrent.CompletableFuture.delayedExecutor;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_ROOM;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.TAG_STREAM_UID;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.getFlowoutTimeout;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_ROOM;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_STREAM_UID;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.getFlowoutTimeout;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
 import static org.apache.openmeetings.util.OmFileHelper.getRecUri;
 import static org.apache.openmeetings.util.OmFileHelper.getRecordingChunk;
 
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
similarity index 93%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
index a4f0f8555..24ade96e7 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static java.util.UUID.randomUUID;
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_ROOM;
-import static org.apache.openmeetings.core.remote.KurentoHandler.sendError;
-import static 
org.apache.openmeetings.core.remote.TestStreamProcessor.newTestKurentoMsg;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_ROOM;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.sendError;
+import static 
org.apache.openmeetings.mediaserver.remote.TestStreamProcessor.newTestKurentoMsg;
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_WEBM;
 import static org.apache.openmeetings.util.OmFileHelper.TEST_SETUP_PREFIX;
 import static org.apache.openmeetings.util.OmFileHelper.getStreamsDir;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
similarity index 99%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
index 3c3d1300e..f13a18ced 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
similarity index 98%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
index 2ef4b79f0..8d1e2d748 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
@@ -17,11 +17,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.activityAllowed;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.activityAllowed;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
 
 import java.util.Collection;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
similarity index 95%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
index b80a290bc..5c4cb1b59 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
@@ -17,10 +17,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.sendError;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.sendError;
 
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.entity.basic.Client;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java
 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
similarity index 88%
rename from 
openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java
rename to 
openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
index 3bd7bdec6..e9a8faf50 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java
+++ 
b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
@@ -17,12 +17,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
 
 import java.util.Map;
 import java.util.Map.Entry;
diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
similarity index 91%
rename from 
openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
rename to 
openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
index a19a3ca6d..9644a94b7 100644
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
+++ 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -41,6 +41,14 @@ import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.entity.basic.IWsClient;
 import org.apache.openmeetings.db.entity.label.OmLanguage;
 import org.apache.openmeetings.db.util.ApplicationHelper;
+import org.apache.openmeetings.mediaserver.remote.AbstractStream;
+import org.apache.openmeetings.mediaserver.remote.KRoom;
+import org.apache.openmeetings.mediaserver.remote.KStream;
+import org.apache.openmeetings.mediaserver.remote.KTestStream;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessorActions;
+import org.apache.openmeetings.mediaserver.remote.TestStreamProcessor;
 import org.apache.wicket.injection.Injector;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java
 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
similarity index 98%
rename from 
openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java
rename to 
openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
index a951ed136..80a799807 100644
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java
+++ 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
similarity index 99%
rename from 
openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
rename to 
openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
index b8ddf50c9..00aa5f8ad 100644
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
+++ 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
similarity index 98%
rename from 
openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
rename to 
openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
index 422905684..3fd44cb87 100644
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
+++ 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
similarity index 90%
rename from 
openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
rename to 
openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
index bf355a5c2..ebd151795 100644
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
+++ 
b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
@@ -17,11 +17,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
 
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -29,6 +29,7 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import org.apache.openmeetings.db.entity.basic.WsClient;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.kurento.client.MediaPipeline;
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 821926217..adc87bd63 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -494,6 +494,10 @@
                        <groupId>org.apache.openmeetings</groupId>
                        <artifactId>openmeetings-core</artifactId>
                </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-mediaserver</artifactId>
+               </dependency>
                <dependency>
                        <groupId>org.apache.openmeetings</groupId>
                        <artifactId>openmeetings-install</artifactId>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index c630a6454..5869cc044 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -28,8 +28,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Stream;
 
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.entity.IDataProviderEntity;
 import org.apache.openmeetings.db.entity.basic.Client;
@@ -48,6 +46,8 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.RepeatingView;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
 
 import 
de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxLink;
 import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
index 75265a71e..fa42b5aa1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
@@ -20,10 +20,10 @@ package org.apache.openmeetings.web.admin.connection;
 
 import java.util.Date;
 
-import org.apache.openmeetings.core.remote.KStream;
 import org.apache.openmeetings.db.entity.IDataProviderEntity;
 import org.apache.openmeetings.db.entity.basic.Client.StreamType;
 import org.apache.openmeetings.db.entity.record.RecordingChunk.Type;
+import org.apache.openmeetings.mediaserver.remote.KStream;
 
 /**
  * A KStream for the Wicket UI to display. This object can be serialized, 
otherwise
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 728d717c1..916be049b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -47,7 +47,6 @@ import java.util.stream.Stream;
 import javax.websocket.WebSocketContainer;
 
 import org.apache.openmeetings.IApplication;
-import org.apache.openmeetings.core.remote.KStream;
 import org.apache.openmeetings.core.sip.SipManager;
 import org.apache.openmeetings.core.util.ChatWebSocketHelper;
 import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -133,6 +132,7 @@ import org.apache.wicket.settings.ExceptionSettings;
 import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.validation.validator.UrlValidator;
+import org.apache.openmeetings.mediaserver.remote.KStream;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
index f447cf24e..ab4f427a8 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
@@ -35,7 +35,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import org.apache.openmeetings.core.remote.KurentoHandler;
 import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.log.ConferenceLog;
@@ -43,6 +42,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.manager.IClientManager;
 import org.apache.openmeetings.db.util.ws.RoomMessage;
 import org.apache.openmeetings.db.util.ws.TextRoomMessage;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
index 256841e51..1e94ec5f2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
@@ -29,7 +29,6 @@ import java.util.function.Predicate;
 
 import javax.annotation.PostConstruct;
 
-import org.apache.openmeetings.core.remote.KurentoHandler;
 import org.apache.openmeetings.core.sip.SipManager;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.entity.basic.Client;
@@ -39,6 +38,7 @@ import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.ws.RoomMessage;
 import org.apache.openmeetings.db.util.ws.TextRoomMessage;
 import org.apache.wicket.ThreadContext;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
index 9edecc382..4faed1687 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
@@ -18,13 +18,12 @@
  */
 package org.apache.openmeetings.web.common;
 
-import static org.apache.openmeetings.core.remote.KurentoHandler.KURENTO_TYPE;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.KURENTO_TYPE;
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.openmeetings.core.remote.KurentoHandler;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.basic.IWsClient;
@@ -44,6 +43,7 @@ import 
org.apache.wicket.protocol.ws.api.message.ConnectedMessage;
 import org.apache.wicket.protocol.ws.api.message.ErrorMessage;
 import org.apache.wicket.protocol.ws.api.message.TextMessage;
 import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 3a4152b35..198107737 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -20,13 +20,13 @@ package org.apache.openmeetings.web.room;
 
 import static 
de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal.BUTTON_MARKUP_ID;
 import static java.time.Duration.ZERO;
-import static 
org.apache.openmeetings.core.remote.KurentoHandler.activityAllowed;
 import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
 import static 
org.apache.openmeetings.db.entity.calendar.Appointment.allowedStart;
 import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
 import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.room.wb.WbPanel.WB_JS_REFERENCE;
+import static 
org.apache.openmeetings.mediaserver.remote.KurentoHandler.activityAllowed;
 
 import java.io.IOException;
 import java.nio.file.Files;
@@ -38,8 +38,6 @@ import java.util.Set;
 import java.util.stream.Stream;
 
 import org.apache.commons.text.StringEscapeUtils;
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.file.FileItemDao;
@@ -100,6 +98,8 @@ import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.resource.FileResourceStream;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index d96d16f2a..db54eebbb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -34,8 +34,6 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.lang3.time.FastDateFormat;
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ChatDao;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -65,6 +63,8 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.request.flow.RedirectToUrlException;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
 
 import com.github.openjson.JSONObject;
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 79101d4d8..c91659b8b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.room.sidebar;
 
 import static org.apache.openmeetings.web.app.Application.kickUser;
 
-import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.room.Room.Right;
@@ -40,6 +39,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
index f820baffd..24e708d45 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
@@ -20,13 +20,13 @@ package org.apache.openmeetings.web.room.wb;
 
 import java.io.IOException;
 
-import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
 
 import com.github.openjson.JSONObject;
 
diff --git a/pom.xml b/pom.xml
index 81d463fb9..7b4a9fe39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -132,6 +132,7 @@
                
<jquery-ui-touch-punch.version>0.2.3-2</jquery-ui-touch-punch.version>
                
<apacheds-test-framework.version>2.0.0.AM26</apacheds-test-framework.version>
                <swagger.version>2.2.1</swagger.version>
+               <annotation-api.version>1.3.2</annotation-api.version>
                <!--  Exclude all generated code  -->
                <sonar.exclusions>file:**/generated-sources/**, 
file:**/jquery-ui.css, file:**/cssemoticons.js, 
file:**/bootstrap-confirmation.js</sonar.exclusions>
                <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
@@ -419,6 +420,11 @@
                                <artifactId>openmeetings-core</artifactId>
                                <version>${project.version}</version>
                        </dependency>
+                       <dependency>
+                               <groupId>org.apache.openmeetings</groupId>
+                               
<artifactId>openmeetings-mediaserver</artifactId>
+                               <version>${project.version}</version>
+                       </dependency>
                        <dependency>
                                <groupId>org.apache.openmeetings</groupId>
                                <artifactId>openmeetings-db</artifactId>
@@ -945,6 +951,11 @@
                                <artifactId>swagger-annotations</artifactId>
                                <version>${swagger.version}</version>
                        </dependency>
+                       <dependency>
+                               <groupId>javax.annotation</groupId>
+                               <artifactId>javax.annotation-api</artifactId>
+                               <version>${annotation-api.version}</version>
+                       </dependency>
 
                        <!-- TESTS -->
                        <dependency>
@@ -1691,6 +1702,7 @@
                                <module>openmeetings-util</module>
                                <module>openmeetings-db</module>
                                <module>openmeetings-core</module>
+                               <module>openmeetings-mediaserver</module>
                                <module>openmeetings-install</module>
                                <module>openmeetings-service</module>
                                <module>openmeetings-webservice</module>

Reply via email to