You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/06/02 17:49:35 UTC

svn commit: r1746609 - in /openmeetings/application: branches/3.2.x/ branches/3.2.x/openmeetings-core/ branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/batik/ branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeet...

Author: solomax
Date: Thu Jun  2 17:49:34 2016
New Revision: 1746609

URL: http://svn.apache.org/viewvc?rev=1746609&view=rev
Log:
[OPENMEETINGS-1414] spring-mvc and batik are removed

Added:
    openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/restCall.lzx
      - copied, changed from r1746605, openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx
    openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java
Removed:
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/batik/
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/BatikMethods.java
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/
    openmeetings/application/branches/3.2.x/openmeetings-core/src/test/java/org/apache/openmeetings/test/jai/TestSVGTextExporterArrow.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/spring-mvc-servlet.xml
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/batik/
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/BatikMethods.java
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/WhiteboardMapToSVG.java
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/
    openmeetings/application/trunk/openmeetings-core/src/test/java/org/apache/openmeetings/test/jai/TestSVGTextExporterArrow.java
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/spring-mvc-servlet.xml
Modified:
    openmeetings/application/branches/3.2.x/openmeetings-core/pom.xml
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/networktesting.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/BaseURLLoadTest.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/UploadSpeedTest.lzx
    openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
    openmeetings/application/branches/3.2.x/pom.xml
    openmeetings/application/trunk/openmeetings-core/pom.xml
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/networktesting.lzx
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/BaseURLLoadTest.lzx
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/PortAvailabilityTest.lzx
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/UploadSpeedTest.lzx
    openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/testsView.lzx
    openmeetings/application/trunk/openmeetings-web/pom.xml
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml
    openmeetings/application/trunk/pom.xml

Modified: openmeetings/application/branches/3.2.x/openmeetings-core/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/pom.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/pom.xml Thu Jun  2 17:49:34 2016
@@ -74,19 +74,6 @@
 			<version>1.4.9</version>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-svg-dom</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-svggen</artifactId>
-			<version>${batik.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-transcoder</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.smslib</groupId>
 			<artifactId>smslib</artifactId>
 			<version>${smslib.version}</version>

Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Thu Jun  2 17:49:34 2016
@@ -187,6 +187,9 @@ public class ScopeApplicationAdapter ext
 		if (Strings.isEmpty(uid) && Strings.isEmpty(securityCode)) {
 			return rejectClient();
 		}
+		if ("networktest".equals(uid)) {
+			return true;
+		}
 
 		Client parentClient = null;
 		//TODO add similar code for other connections

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx Thu Jun  2 17:49:34 2016
@@ -218,11 +218,12 @@
 				}
 			}
 			
-			public function load(vars):void {
+			public function load(vars):URLRequest {
 				var request:URLRequest = new URLRequest(url + '?sid=' + canvas.sessionId); //FIXME TODO
 				request.method = method;
 				if (contentType) {
-					request.contentType = contentType;
+					var header:URLRequestHeader = new URLRequestHeader('Content-type', contentType);
+					request.requestHeaders.push(header);
 				}
 				for (var i = 0; i < hdrs.length; ++i) {
 					request.requestHeaders.push(hdrs[i]);
@@ -234,7 +235,9 @@
 					requestor.load(request);
 				} catch (e:Error) {
 					if ($debug) Debug.error(e);
+					errorCallback(e);
 				}
+				return request;
 			}
 		}
 	]]>

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/networktesting.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/networktesting.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/networktesting.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/networktesting.lzx Thu Jun  2 17:49:34 2016
@@ -41,6 +41,8 @@
     </switch>
     
     <include href="testsView.lzx" />
+    <include href="../base/remote/restCall.lzx" />
+    
     <handler name="oninit"><![CDATA[
     	flash.external.ExternalInterface.call("loadingComplete");
 		doDebugInit();

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/BaseURLLoadTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/BaseURLLoadTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/BaseURLLoadTest.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/BaseURLLoadTest.lzx Thu Jun  2 17:49:34 2016
@@ -49,7 +49,7 @@
     <attribute name="loader" value="null" />
 
     <method name="initLoader">
-        hostUrl = getBaseUrl() + "networktest.upload?testType=" + testTypeParameter;
+        hostUrl = getBaseUrl() + "services/networktest?type=" + testTypeParameter;
         request = new URLRequest(hostUrl);
 
         loader = new URLLoader();

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx Thu Jun  2 17:49:34 2016
@@ -43,6 +43,7 @@
         rtmp.setAttribute("src", hostUrl);
         this.log(": start test... " + hostUrl);
 
+		canvas.publicSID = "networktest";
         rtmp.connect();
     </method>
 

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/UploadSpeedTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/UploadSpeedTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/UploadSpeedTest.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/networkTesting/tests/UploadSpeedTest.lzx Thu Jun  2 17:49:34 2016
@@ -36,6 +36,7 @@
 
     <attribute name="hostUrl" type="string" value="" />
     <attribute name="loaderInited" type="boolean" value="false" />
+    <attribute name="vars" value="null" />
     <attribute name="request" value="null" />
     <attribute name="loader" value="null" />
 
@@ -45,27 +46,31 @@
     </handler>
 
     <method name="initLoader">
-        hostUrl = getBaseUrl() + "networktest.upload";
-        request = new URLRequest(hostUrl);
-        request.method = URLRequestMethod.POST;
-        request.data = getDataString();
-
-        loader = new URLLoader();
-        loader.addEventListener(Event.COMPLETE, this.onComplete);
-        loader.addEventListener(IOErrorEvent.IO_ERROR, this.onError);
-        loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onError);
-
+    	hostUrl = getBaseUrl() + "services/networktest";
+		loader = new RestCall({
+			url: hostUrl
+			, method: URLRequestMethod.POST
+			, dataFormat: URLLoaderDataFormat.BINARY
+			, contentType: "multipart/form-data; charset=utf-8; boundary=" + UploadPostHelper.getBoundary()
+			, errorCallback: onError
+			, successCallback: onComplete
+			});
+		vars = UploadPostHelper.getPostData('aaa', getData());
+		if ($debug) Debug.write("initLoader:: ");//, vars
         loaderInited = true;
     </method>
 
     <method name="start">
+		if ($debug) Debug.write("start:: ", request);
         if (!loaderInited) {
             this.initLoader();
         }
 
+		if ($debug) Debug.write("going to start:: ", loader);
         this.log("start test... " + hostUrl);
         startTime = getTimer();
-        loader.load(request);
+		request = loader.load(vars);
+		if ($debug) Debug.write("load:: ", request);
     </method>
 
     <method name="forcedStop">
@@ -74,6 +79,7 @@
     </method>
 
     <method name="onComplete" args="e">
+		if ($debug) Debug.write("onComplete:: ", e);
         if (running) {
             var endTime = getTimer();
             var loadTime = endTime - startTime;
@@ -94,6 +100,7 @@
     </method>
 
     <method name="onError" args="e">
+		if ($debug) Debug.write("onError:: ", e);
         if (running) {
             this.log("error - " + e);
             this.setFailed();
@@ -101,15 +108,15 @@
     </method>
 
     <!-- returns a 1 Mb string-->
-    <method name="getDataString">
-        <![CDATA[
-        var result = "";
-        var str64 = "0000000000000000000000000000000000000000000000000000000000000000";
-        for (var i=0; i<16384; i++) {
-            result += str64;
+    <method name="getData">
+    <![CDATA[
+        var result:ByteArray = new ByteArray();
+        for (var i = 0; i < 64 * 16384; ++i) {
+            result.writeByte(i % 256);
         }
+        result.position = 0;
         return result;
-        ]]>
+    ]]>
     </method>
 
 </class>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml Thu Jun  2 17:49:34 2016
@@ -553,10 +553,6 @@
 			<groupId>org.springframework</groupId>
 			<artifactId>spring-orm</artifactId>
 		</dependency>
-		<dependency> <!-- TODO most probably should be removed -->
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-webmvc</artifactId>
-		</dependency>
 		<dependency>
 			<groupId>org.wicketstuff</groupId>
 			<artifactId>wicketstuff-dashboard-core</artifactId>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml Thu Jun  2 17:49:34 2016
@@ -21,7 +21,6 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns:tx="http://www.springframework.org/schema/tx"
-	xmlns:mvc="http://www.springframework.org/schema/mvc"
 	xmlns:context="http://www.springframework.org/schema/context"
 	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
 	xmlns:jaxws="http://cxf.apache.org/jaxws"
@@ -29,7 +28,6 @@
 		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
 		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
 		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
-		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
 		http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
 		http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
 		>
@@ -39,13 +37,8 @@
 	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
 		<property name="entityManagerFactory" ref="entityManagerFactory" />
 	</bean>
-
 	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
 
-	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
-	<!-- Configures the @Controller programming model -->
-	<mvc:annotation-driven />
-
 	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
 	<context:annotation-config />
 	<context:component-scan base-package="org.apache.openmeetings" />
@@ -83,7 +76,6 @@
 
 	<!-- Start of Services -->
 	<bean id="xmlcrm.service" class="org.apache.openmeetings.core.remote.MainService" />
-	<bean id="printservice.service" class="org.apache.openmeetings.core.remote.PrintService" />
 	<bean id="languageservice.service" class="org.apache.openmeetings.core.remote.LanguageService" />
 	<bean id="invitationservice.service" class="org.apache.openmeetings.core.remote.InvitationService" />
 	<bean id="whiteboardservice.service" class="org.apache.openmeetings.core.remote.WhiteBoardService" />
@@ -274,6 +266,7 @@
 	<bean id="roomWebService" class="org.apache.openmeetings.webservice.RoomWebService" />
 	<bean id="serverWebService" class="org.apache.openmeetings.webservice.ServerWebService" />
 	<bean id="userWebService" class="org.apache.openmeetings.webservice.UserWebService" />
+	<bean id="netTestWebService" class="org.apache.openmeetings.webservice.NetTestWebService" />
 	
 	<!-- (writeXsiType=false) -->
 	<jaxrs:server id="server" address="/">
@@ -286,6 +279,7 @@
 			<ref bean="roomWebService"/>
 			<ref bean="serverWebService"/>
 			<ref bean="userWebService"/>
+			<ref bean="netTestWebService"/> <!-- JaxRs only -->
 		</jaxrs:serviceBeans>
 	</jaxrs:server>
 	<jaxws:endpoint id="calendarServiceWS" address="/CalendarService" implementor="#calendarWebService"/>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml Thu Jun  2 17:49:34 2016
@@ -66,7 +66,7 @@
 		</init-param>
 		<init-param>
 			<param-name>ignorePaths</param-name>
-			<param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services,networktest.</param-value>
+			<param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services</param-value>
 		</init-param>
 	</filter>
 	<filter-mapping>
@@ -89,26 +89,10 @@
 	
 	<!-- remove the following servlet tags if you want to disable remoting for this application -->
 	<servlet>
-		<servlet-name>spring-mvc</servlet-name>
-		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
-	</servlet>
-	<servlet>
 		<servlet-name>gateway</servlet-name>
 		<servlet-class>org.red5.server.net.servlet.AMFGatewayServlet</servlet-class>
 	</servlet>
-	<servlet>
-		<servlet-name>ExportToImage</servlet-name>
-		<servlet-class>org.apache.openmeetings.core.servlet.outputhandler.ExportToImage</servlet-class>
-	</servlet>
 	
-	<servlet-mapping>
-		<servlet-name>spring-mvc</servlet-name>
-		<url-pattern>*.upload</url-pattern>
-	</servlet-mapping>
-	<servlet-mapping>
-		<servlet-name>ExportToImage</servlet-name>
-		<url-pattern>/ExportToImage</url-pattern>
-	</servlet-mapping>
 	<mime-mapping>
 		<extension>inc</extension>
 		<mime-type>text/plain</mime-type>

Added: openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java?rev=1746609&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java Thu Jun  2 17:49:34 2016
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.webservice;
+
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.Arrays;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+@Path("/networktest")
+public class NetTestWebService {
+	private static final Logger log = Red5LoggerFactory.getLogger(UserWebService.class, webAppRootKey);
+    enum TestType {
+        UNKNOWN,
+        PING,
+        JITTER,
+        DOWNLOAD_SPEED,
+        UPLOAD_SPEED
+    }
+
+    private static final int PING_PACKET_SIZE = 64;
+    private static final int JITTER_PACKET_SIZE = 1024;
+    private static final int DOWNLOAD_PACKET_SIZE = 1024*1024;
+
+    private final byte[] pingData;
+    private final byte[] jitterData;
+    private final byte[] downloadData;
+
+	public NetTestWebService() {
+        pingData = new byte[PING_PACKET_SIZE];
+        jitterData = new byte[JITTER_PACKET_SIZE];
+        downloadData = new byte[DOWNLOAD_PACKET_SIZE];
+
+        Arrays.fill(pingData, (byte) '0');
+        Arrays.fill(jitterData, (byte) '0');
+        Arrays.fill(downloadData, (byte) '0');
+	}
+
+	@GET
+	@Produces(MediaType.APPLICATION_OCTET_STREAM)
+	@Path("/")
+	public Response get(@QueryParam("type") String type) {
+        TestType testType = getTypeByString(type);
+        log.debug("Network test:: get");
+
+        // choose data to send
+        byte[] data = new byte[0];
+        switch (testType) {
+            case PING:
+                data = pingData;
+                break;
+            case JITTER:
+                data = jitterData;
+                break;
+            case DOWNLOAD_SPEED:
+                data = downloadData;
+                break;
+			case UPLOAD_SPEED:
+				break;
+			default:
+				break;
+        }
+
+        ResponseBuilder response = Response.ok().type(MediaType.APPLICATION_OCTET_STREAM).entity(new ByteArrayInputStream(data));
+        //response.header("Content-Disposition", "attachment; filename=test.png");
+        response.header("Cache-Control", "no-cache");
+        response.header("Content-Length", String.valueOf(data.length));
+        return response.build();
+    }
+
+	@POST
+	@Consumes(MediaType.MULTIPART_FORM_DATA)
+	@Path("/")
+	public void upload(@Multipart(value = "stream", type = MediaType.APPLICATION_OCTET_STREAM) InputStream stream) {
+    }
+
+
+    private static TestType getTypeByString(String typeString) {
+        if ("ping".equals(typeString)) {
+            return TestType.PING;
+        } else if ("jitter".equals(typeString)) {
+            return TestType.JITTER;
+        } else if ("download".equals(typeString)) {
+            return TestType.DOWNLOAD_SPEED;
+        } else if ("upload".equals(typeString)) {
+            return TestType.UPLOAD_SPEED;
+        }
+
+        return TestType.UNKNOWN;
+    }
+}

Modified: openmeetings/application/branches/3.2.x/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/pom.xml (original)
+++ openmeetings/application/branches/3.2.x/pom.xml Thu Jun  2 17:49:34 2016
@@ -46,7 +46,6 @@
 		<wickets.version>7.3.0</wickets.version>
 		<red5-server.version>1.0.8-M2</red5-server.version>
 		<red5-client.version>1.0.8-M2</red5-client.version>
-		<batik.version>1.8</batik.version>
 		<commons-transaction.version>1.2</commons-transaction.version>
 		<ical4j.version>2.0-beta1</ical4j.version>
 		<cxf.version>3.1.6</cxf.version>
@@ -485,28 +484,6 @@
 					</exclusion>
 				</exclusions>
 			</dependency>
-			<dependency> <!-- TODO most probably should be removed -->
-				<groupId>org.springframework</groupId>
-				<artifactId>spring-webmvc</artifactId>
-				<version>${spring.version}</version>
-				<exclusions>
-					<exclusion>
-						<groupId>commons-logging</groupId>
-						<artifactId>commons-logging</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.xmlgraphics</groupId>
-				<artifactId>batik-transcoder</artifactId>
-				<version>${batik.version}</version>
-				<exclusions>
-					<exclusion>
-						<groupId>commons-logging</groupId>
-						<artifactId>commons-logging</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
 			<dependency>
 				<groupId>commons-transaction</groupId>
 				<artifactId>commons-transaction</artifactId>
@@ -612,24 +589,6 @@
 				</exclusions>
 			</dependency>
 			<dependency>
-				<groupId>org.apache.xmlgraphics</groupId>
-				<artifactId>batik-svg-dom</artifactId>
-				<version>${batik.version}</version>
-				<exclusions>
-					<exclusion>
-						<artifactId>xml-apis-ext</artifactId>
-						<groupId>xml-apis</groupId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-            <!-- dependency>
-                <groupId>org.apache.flex</groupId>
-                <artifactId>framework</artifactId>
-                <version>4.12.0.20140303</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency-->
-			<dependency>
 				<groupId>org.apache.tomcat</groupId>
 				<artifactId>tomcat-servlet-api</artifactId>
 				<version>${tomcat.version}</version>
@@ -745,7 +704,7 @@
 					<execution>
 						<goals>
 							<!--goal>add-third-party</goal-->
-							<goal>aggregate-add-third-party</goal>
+							<!--goal>aggregate-add-third-party</goal-->
 						</goals>
 					</execution>
 				</executions>

Modified: openmeetings/application/trunk/openmeetings-core/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-core/pom.xml Thu Jun  2 17:49:34 2016
@@ -74,19 +74,6 @@
 			<version>1.4.9</version>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-svg-dom</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-svggen</artifactId>
-			<version>${batik.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.xmlgraphics</groupId>
-			<artifactId>batik-transcoder</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.smslib</groupId>
 			<artifactId>smslib</artifactId>
 			<version>${smslib.version}</version>

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Thu Jun  2 17:49:34 2016
@@ -187,6 +187,9 @@ public class ScopeApplicationAdapter ext
 		if (Strings.isEmpty(uid) && Strings.isEmpty(securityCode)) {
 			return rejectClient();
 		}
+		if ("networktest".equals(uid)) {
+			return true;
+		}
 
 		Client parentClient = null;
 		//TODO add similar code for other connections

Modified: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/networktesting.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/networktesting.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/networktesting.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/networktesting.lzx Thu Jun  2 17:49:34 2016
@@ -41,6 +41,8 @@
     </switch>
     
     <include href="testsView.lzx" />
+    <include href="restCall.lzx" />
+    
     <handler name="oninit"><![CDATA[
     	flash.external.ExternalInterface.call("loadingComplete");
 		doDebugInit();

Copied: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/restCall.lzx (from r1746605, openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx)
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/restCall.lzx?p2=openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/restCall.lzx&p1=openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx&r1=1746605&r2=1746609&rev=1746609&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/restCall.lzx Thu Jun  2 17:49:34 2016
@@ -218,11 +218,12 @@
 				}
 			}
 			
-			public function load(vars):void {
+			public function load(vars):URLRequest {
 				var request:URLRequest = new URLRequest(url + '?sid=' + canvas.sessionId); //FIXME TODO
 				request.method = method;
 				if (contentType) {
-					request.contentType = contentType;
+					var header:URLRequestHeader = new URLRequestHeader('Content-type', contentType);
+					request.requestHeaders.push(header);
 				}
 				for (var i = 0; i < hdrs.length; ++i) {
 					request.requestHeaders.push(hdrs[i]);
@@ -234,7 +235,9 @@
 					requestor.load(request);
 				} catch (e:Error) {
 					if ($debug) Debug.error(e);
+					errorCallback(e);
 				}
+				return request;
 			}
 		}
 	]]>

Modified: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/BaseURLLoadTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/BaseURLLoadTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/BaseURLLoadTest.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/BaseURLLoadTest.lzx Thu Jun  2 17:49:34 2016
@@ -49,7 +49,7 @@
     <attribute name="loader" value="null" />
 
     <method name="initLoader">
-        hostUrl = getBaseUrl() + "networktest.upload?testType=" + testTypeParameter;
+        hostUrl = getBaseUrl() + "services/networktest?type=" + testTypeParameter;
         request = new URLRequest(hostUrl);
 
         loader = new URLLoader();

Modified: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/PortAvailabilityTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/PortAvailabilityTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/PortAvailabilityTest.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/PortAvailabilityTest.lzx Thu Jun  2 17:49:34 2016
@@ -32,7 +32,7 @@
         </when>
     </switch>
 
-    <rtmpConnection name="rtmp" autoconnect="false" debug="true" />
+    <rtmpConnection name="rtmp" debug="true" />
 
     <handler name="oninit">
         this.setAttribute("testName", "Port");
@@ -43,6 +43,7 @@
         rtmp.setAttribute("src", hostUrl);
         this.log(": start test... " + hostUrl);
 
+		canvas.publicSID = "networktest";
         rtmp.connect();
     </method>
 

Modified: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/UploadSpeedTest.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/UploadSpeedTest.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/UploadSpeedTest.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/tests/UploadSpeedTest.lzx Thu Jun  2 17:49:34 2016
@@ -36,6 +36,7 @@
 
     <attribute name="hostUrl" type="string" value="" />
     <attribute name="loaderInited" type="boolean" value="false" />
+    <attribute name="vars" value="null" />
     <attribute name="request" value="null" />
     <attribute name="loader" value="null" />
 
@@ -45,27 +46,31 @@
     </handler>
 
     <method name="initLoader">
-        hostUrl = getBaseUrl() + "networktest.upload";
-        request = new URLRequest(hostUrl);
-        request.method = URLRequestMethod.POST;
-        request.data = getDataString();
-
-        loader = new URLLoader();
-        loader.addEventListener(Event.COMPLETE, this.onComplete);
-        loader.addEventListener(IOErrorEvent.IO_ERROR, this.onError);
-        loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onError);
-
+    	hostUrl = getBaseUrl() + "services/networktest";
+		loader = new RestCall({
+			url: hostUrl
+			, method: URLRequestMethod.POST
+			, dataFormat: URLLoaderDataFormat.BINARY
+			, contentType: "multipart/form-data; charset=utf-8; boundary=" + UploadPostHelper.getBoundary()
+			, errorCallback: onError
+			, successCallback: onComplete
+			});
+		vars = UploadPostHelper.getPostData('aaa', getData());
+		if ($debug) Debug.write("initLoader:: ");//, vars
         loaderInited = true;
     </method>
 
     <method name="start">
+		if ($debug) Debug.write("start:: ", request);
         if (!loaderInited) {
             this.initLoader();
         }
 
+		if ($debug) Debug.write("going to start:: ", loader);
         this.log("start test... " + hostUrl);
         startTime = getTimer();
-        loader.load(request);
+		request = loader.load(vars);
+		if ($debug) Debug.write("load:: ", request);
     </method>
 
     <method name="forcedStop">
@@ -74,6 +79,7 @@
     </method>
 
     <method name="onComplete" args="e">
+		if ($debug) Debug.write("onComplete:: ", e);
         if (running) {
             var endTime = getTimer();
             var loadTime = endTime - startTime;
@@ -94,6 +100,7 @@
     </method>
 
     <method name="onError" args="e">
+		if ($debug) Debug.write("onError:: ", e);
         if (running) {
             this.log("error - " + e);
             this.setFailed();
@@ -101,15 +108,15 @@
     </method>
 
     <!-- returns a 1 Mb string-->
-    <method name="getDataString">
-        <![CDATA[
-        var result = "";
-        var str64 = "0000000000000000000000000000000000000000000000000000000000000000";
-        for (var i=0; i<16384; i++) {
-            result += str64;
+    <method name="getData">
+    <![CDATA[
+        var result:ByteArray = new ByteArray();
+        for (var i = 0; i < 64 * 16384; ++i) {
+            result.writeByte(i % 256);
         }
+        result.position = 0;
         return result;
-        ]]>
+    ]]>
     </method>
 
 </class>

Modified: openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/testsView.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/testsView.lzx?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/testsView.lzx (original)
+++ openmeetings/application/trunk/openmeetings-flash/src/main/swf10/networkTesting/testsView.lzx Thu Jun  2 17:49:34 2016
@@ -20,7 +20,7 @@
 -->
 <library>
 
-<include href="rtmpConnection.lzx" />
+<include href="../base/remote/rtmpConnection.lzx" />
 <include href="tests/" />
 <resource name="log" src="resources/edit-copy.png" />
 

Modified: openmeetings/application/trunk/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/pom.xml Thu Jun  2 17:49:34 2016
@@ -553,10 +553,6 @@
 			<groupId>org.springframework</groupId>
 			<artifactId>spring-orm</artifactId>
 		</dependency>
-		<dependency> <!-- TODO most probably should be removed -->
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-webmvc</artifactId>
-		</dependency>
 		<dependency>
 			<groupId>org.wicketstuff</groupId>
 			<artifactId>wicketstuff-dashboard-core</artifactId>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml Thu Jun  2 17:49:34 2016
@@ -21,7 +21,6 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns:tx="http://www.springframework.org/schema/tx"
-	xmlns:mvc="http://www.springframework.org/schema/mvc"
 	xmlns:context="http://www.springframework.org/schema/context"
 	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
 	xmlns:jaxws="http://cxf.apache.org/jaxws"
@@ -29,7 +28,6 @@
 		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
 		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
 		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
-		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
 		http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
 		http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
 		>
@@ -39,13 +37,8 @@
 	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
 		<property name="entityManagerFactory" ref="entityManagerFactory" />
 	</bean>
-
 	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
 
-	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
-	<!-- Configures the @Controller programming model -->
-	<mvc:annotation-driven />
-
 	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
 	<context:annotation-config />
 	<context:component-scan base-package="org.apache.openmeetings" />
@@ -83,7 +76,6 @@
 
 	<!-- Start of Services -->
 	<bean id="xmlcrm.service" class="org.apache.openmeetings.core.remote.MainService" />
-	<bean id="printservice.service" class="org.apache.openmeetings.core.remote.PrintService" />
 	<bean id="invitationservice.service" class="org.apache.openmeetings.core.remote.InvitationService" />
 	<bean id="whiteboardservice.service" class="org.apache.openmeetings.core.remote.WhiteBoardService" />
 	<bean id="userservice.service" class="org.apache.openmeetings.core.remote.UserService" />
@@ -203,6 +195,7 @@
 		<constructor-arg><value>5038</value></constructor-arg>
 		<constructor-arg><value>openmeetings</value></constructor-arg>
 		<constructor-arg><value>12345</value></constructor-arg>
+		<constructor-arg><value>10000</value></constructor-arg>
 	 -->
 	</bean>
 	<bean id="invitationDao" class="org.apache.openmeetings.db.dao.room.InvitationDao" />
@@ -271,6 +264,7 @@
 	<bean id="roomWebService" class="org.apache.openmeetings.webservice.RoomWebService" />
 	<bean id="serverWebService" class="org.apache.openmeetings.webservice.ServerWebService" />
 	<bean id="userWebService" class="org.apache.openmeetings.webservice.UserWebService" />
+	<bean id="netTestWebService" class="org.apache.openmeetings.webservice.NetTestWebService" />
 	
 	<!-- (writeXsiType=false) -->
 	<jaxrs:server id="server" address="/">
@@ -283,6 +277,7 @@
 			<ref bean="roomWebService"/>
 			<ref bean="serverWebService"/>
 			<ref bean="userWebService"/>
+			<ref bean="netTestWebService"/> <!-- JaxRs only -->
 		</jaxrs:serviceBeans>
 	</jaxrs:server>
 	<jaxws:endpoint id="calendarServiceWS" address="/CalendarService" implementor="#calendarWebService"/>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml Thu Jun  2 17:49:34 2016
@@ -66,7 +66,7 @@
 		</init-param>
 		<init-param>
 			<param-name>ignorePaths</param-name>
-			<param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services,networktest.</param-value>
+			<param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services</param-value>
 		</init-param>
 	</filter>
 	<filter-mapping>
@@ -89,26 +89,10 @@
 	
 	<!-- remove the following servlet tags if you want to disable remoting for this application -->
 	<servlet>
-		<servlet-name>spring-mvc</servlet-name>
-		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
-	</servlet>
-	<servlet>
 		<servlet-name>gateway</servlet-name>
 		<servlet-class>org.red5.server.net.servlet.AMFGatewayServlet</servlet-class>
 	</servlet>
-	<servlet>
-		<servlet-name>ExportToImage</servlet-name>
-		<servlet-class>org.apache.openmeetings.core.servlet.outputhandler.ExportToImage</servlet-class>
-	</servlet>
 	
-	<servlet-mapping>
-		<servlet-name>spring-mvc</servlet-name>
-		<url-pattern>*.upload</url-pattern>
-	</servlet-mapping>
-	<servlet-mapping>
-		<servlet-name>ExportToImage</servlet-name>
-		<url-pattern>/ExportToImage</url-pattern>
-	</servlet-mapping>
 	<mime-mapping>
 		<extension>inc</extension>
 		<mime-type>text/plain</mime-type>

Added: openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java?rev=1746609&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java (added)
+++ openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java Thu Jun  2 17:49:34 2016
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.webservice;
+
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.Arrays;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+@Path("/networktest")
+public class NetTestWebService {
+	private static final Logger log = Red5LoggerFactory.getLogger(UserWebService.class, webAppRootKey);
+    enum TestType {
+        UNKNOWN,
+        PING,
+        JITTER,
+        DOWNLOAD_SPEED,
+        UPLOAD_SPEED
+    }
+
+    private static final int PING_PACKET_SIZE = 64;
+    private static final int JITTER_PACKET_SIZE = 1024;
+    private static final int DOWNLOAD_PACKET_SIZE = 1024*1024;
+
+    private final byte[] pingData;
+    private final byte[] jitterData;
+    private final byte[] downloadData;
+
+	public NetTestWebService() {
+        pingData = new byte[PING_PACKET_SIZE];
+        jitterData = new byte[JITTER_PACKET_SIZE];
+        downloadData = new byte[DOWNLOAD_PACKET_SIZE];
+
+        Arrays.fill(pingData, (byte) '0');
+        Arrays.fill(jitterData, (byte) '0');
+        Arrays.fill(downloadData, (byte) '0');
+	}
+
+	@GET
+	@Produces(MediaType.APPLICATION_OCTET_STREAM)
+	@Path("/")
+	public Response get(@QueryParam("type") String type) {
+        TestType testType = getTypeByString(type);
+        log.debug("Network test:: get");
+
+        // choose data to send
+        byte[] data = new byte[0];
+        switch (testType) {
+            case PING:
+                data = pingData;
+                break;
+            case JITTER:
+                data = jitterData;
+                break;
+            case DOWNLOAD_SPEED:
+                data = downloadData;
+                break;
+			case UPLOAD_SPEED:
+				break;
+			default:
+				break;
+        }
+
+        ResponseBuilder response = Response.ok().type(MediaType.APPLICATION_OCTET_STREAM).entity(new ByteArrayInputStream(data));
+        //response.header("Content-Disposition", "attachment; filename=test.png");
+        response.header("Cache-Control", "no-cache");
+        response.header("Content-Length", String.valueOf(data.length));
+        return response.build();
+    }
+
+	@POST
+	@Consumes(MediaType.MULTIPART_FORM_DATA)
+	@Path("/")
+	public void upload(@Multipart(value = "stream", type = MediaType.APPLICATION_OCTET_STREAM) InputStream stream) {
+    }
+
+
+    private static TestType getTypeByString(String typeString) {
+        if ("ping".equals(typeString)) {
+            return TestType.PING;
+        } else if ("jitter".equals(typeString)) {
+            return TestType.JITTER;
+        } else if ("download".equals(typeString)) {
+            return TestType.DOWNLOAD_SPEED;
+        } else if ("upload".equals(typeString)) {
+            return TestType.UPLOAD_SPEED;
+        }
+
+        return TestType.UNKNOWN;
+    }
+}

Modified: openmeetings/application/trunk/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/pom.xml?rev=1746609&r1=1746608&r2=1746609&view=diff
==============================================================================
--- openmeetings/application/trunk/pom.xml (original)
+++ openmeetings/application/trunk/pom.xml Thu Jun  2 17:49:34 2016
@@ -36,7 +36,7 @@
 		<wicket.mode>DEPLOYMENT</wicket.mode>
 		<om.quick.build>false</om.quick.build>
 		<db>derby</db>
-		<spring.version>4.2.5.RELEASE</spring.version>
+		<spring.version>4.2.6.RELEASE</spring.version>
 		<junit.version>4.12</junit.version>
 		<maven.javadoc.version>2.10.3</maven.javadoc.version>
 		<maven.surefire.version>2.19.1</maven.surefire.version>
@@ -46,7 +46,6 @@
 		<wickets.version>7.3.0</wickets.version>
 		<red5-server.version>1.0.8-M2</red5-server.version>
 		<red5-client.version>1.0.8-M2</red5-client.version>
-		<batik.version>1.8</batik.version>
 		<commons-transaction.version>1.2</commons-transaction.version>
 		<ical4j.version>2.0-beta1</ical4j.version>
 		<cxf.version>3.1.6</cxf.version>
@@ -485,28 +484,6 @@
 					</exclusion>
 				</exclusions>
 			</dependency>
-			<dependency> <!-- TODO most probably should be removed -->
-				<groupId>org.springframework</groupId>
-				<artifactId>spring-webmvc</artifactId>
-				<version>${spring.version}</version>
-				<exclusions>
-					<exclusion>
-						<groupId>commons-logging</groupId>
-						<artifactId>commons-logging</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.xmlgraphics</groupId>
-				<artifactId>batik-transcoder</artifactId>
-				<version>${batik.version}</version>
-				<exclusions>
-					<exclusion>
-						<groupId>commons-logging</groupId>
-						<artifactId>commons-logging</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
 			<dependency>
 				<groupId>commons-transaction</groupId>
 				<artifactId>commons-transaction</artifactId>
@@ -612,24 +589,6 @@
 				</exclusions>
 			</dependency>
 			<dependency>
-				<groupId>org.apache.xmlgraphics</groupId>
-				<artifactId>batik-svg-dom</artifactId>
-				<version>${batik.version}</version>
-				<exclusions>
-					<exclusion>
-						<artifactId>xml-apis-ext</artifactId>
-						<groupId>xml-apis</groupId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-            <!-- dependency>
-                <groupId>org.apache.flex</groupId>
-                <artifactId>framework</artifactId>
-                <version>4.12.0.20140303</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency-->
-			<dependency>
 				<groupId>org.apache.tomcat</groupId>
 				<artifactId>tomcat-servlet-api</artifactId>
 				<version>${tomcat.version}</version>
@@ -745,7 +704,7 @@
 					<execution>
 						<goals>
 							<!--goal>add-third-party</goal-->
-							<goal>aggregate-add-third-party</goal>
+							<!--goal>aggregate-add-third-party</goal-->
 						</goals>
 					</execution>
 				</executions>