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 2012/03/30 18:54:13 UTC

svn commit: r1307533 - in /incubator/openmeetings/trunk/singlewebapp: ./ src/org/openmeetings/app/data/calendar/beans/ src/org/openmeetings/app/data/calendar/management/ src/org/openmeetings/screen/webstart/ src/org/openmeetings/screen/webstart/gui/ sr...

Author: solomax
Date: Fri Mar 30 16:54:12 2012
New Revision: 1307533

URL: http://svn.apache.org/viewvc?rev=1307533&view=rev
Log:
OPENMEETINGS-97 rtpms client is created, not tested; compilation warnings are fixed; red5 sources are added to eclipse for debugging

Added:
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java
      - copied, changed from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CommonScreenShare.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
      - copied, changed from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShare.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
      - copied, changed from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShareRTMPT.java
Removed:
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CommonScreenShare.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShare.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShareRTMPT.java
Modified:
    incubator/openmeetings/trunk/singlewebapp/.classpath
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/beans/Week.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/VirtualScreen.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java

Modified: incubator/openmeetings/trunk/singlewebapp/.classpath
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/.classpath?rev=1307533&r1=1307532&r2=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/.classpath (original)
+++ incubator/openmeetings/trunk/singlewebapp/.classpath Fri Mar 30 16:54:12 2012
@@ -32,7 +32,7 @@
 	<classpathentry kind="lib" path="build/lib/om/xml-resolver-jar-1.2.jar"/>
 	<classpathentry kind="lib" path="build/lib/om/servlet-api-jar-2.5.jar"/>
 	<classpathentry kind="lib" path="build/lib/mainlibs/geronimo-jpa_2.0_spec-bundle-1.1.jar"/>
-	<classpathentry kind="lib" path="build/red5/dist/red5.jar"/>
+	<classpathentry kind="lib" path="build/red5/dist/red5.jar" sourcepath="build/red5/src"/>
 	<classpathentry kind="lib" path="build/red5/dist/lib/bcprov-jdk16-145.jar"/>
 	<classpathentry kind="lib" path="build/red5/dist/lib/com.springsource.javax.xml.stream-1.0.1.jar"/>
 	<classpathentry kind="lib" path="build/red5/dist/lib/com.springsource.org.antlr-3.1.3.jar"/>

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/beans/Week.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/beans/Week.java?rev=1307533&r1=1307532&r2=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/beans/Week.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/beans/Week.java Fri Mar 30 16:54:12 2012
@@ -5,7 +5,7 @@ import java.util.List;
 
 public class Week {
 	
-	private List<Day> days = new ArrayList(7);
+	private List<Day> days = new ArrayList<Day>(7);
 
 	public List<Day> getDays() {
 		return days;

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java?rev=1307533&r1=1307532&r2=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java Fri Mar 30 16:54:12 2012
@@ -21,7 +21,6 @@ package org.openmeetings.app.data.calend
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.TimeZone;
 
 import org.openmeetings.app.data.basic.Configurationmanagement;

Copied: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java (from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CommonScreenShare.java)
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CommonScreenShare.java&r1=1307397&r2=1307533&rev=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CommonScreenShare.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java Fri Mar 30 16:54:12 2012
@@ -53,10 +53,10 @@ import org.red5.server.stream.message.RT
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CommonScreenShare {
+public class CoreScreenShare {
 
 	private static final Logger logger = LoggerFactory
-			.getLogger(CommonScreenShare.class);
+			.getLogger(CoreScreenShare.class);
 
 	private IScreenShare instance = null;
 	
@@ -163,7 +163,7 @@ public class CommonScreenShare {
 	//
 	// ------------------------------------------------------------------------
 
-	public CommonScreenShare(IScreenShare instance) {
+	public CoreScreenShare(IScreenShare instance) {
 		this.instance = instance;
 	};
 

Added: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1307533&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java Fri Mar 30 16:54:12 2012
@@ -0,0 +1,86 @@
+/*
+ * 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.openmeetings.screen.webstart;
+
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.net.rtmp.Channel;
+import org.red5.server.net.rtmp.ClientExceptionHandler;
+import org.red5.server.net.rtmp.RTMPConnection;
+import org.red5.server.net.rtmp.codec.RTMP;
+import org.red5.server.net.rtmp.event.Notify;
+import org.red5.server.net.rtmp.message.Header;
+import org.red5.server.net.rtmps.RTMPSClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RTMPSScreenShare extends RTMPSClient implements ClientExceptionHandler, IScreenShare {
+
+	private static final Logger logger = LoggerFactory
+			.getLogger(RTMPSScreenShare.class);
+
+	private CoreScreenShare instance = null;
+
+	private RTMPSScreenShare() {
+		instance = new CoreScreenShare(this);
+	};
+
+	public static void main(String[] args) {
+		new RTMPSScreenShare().instance.main(args);
+	}
+	
+	// ------------------------------------------------------------------------
+	//
+	// Override
+	//
+	// ------------------------------------------------------------------------
+	@Override
+	public void connectionOpened(RTMPConnection conn, RTMP state) {
+		logger.debug("connection opened");
+		super.connectionOpened(conn, state);
+		this.conn = conn;
+	}
+
+	@Override
+	public void connectionClosed(RTMPConnection conn, RTMP state) {
+		logger.debug("connection closed");
+		super.connectionClosed(conn, state);
+	}
+
+	@Override
+	protected void onInvoke(RTMPConnection conn, Channel channel,
+			Header source, Notify invoke, RTMP rtmp) {
+		super.onInvoke(conn, channel, source, invoke, rtmp);
+
+		instance.onInvoke(conn, channel, source, invoke, rtmp);
+	}
+
+	@Override
+	public void handleException(Throwable throwable) {
+		logger.error("{}", new Object[] { throwable.getCause() });
+		System.out.println(throwable.getCause());
+	}
+
+	public void onStreamEvent(Notify notify) {
+		instance.onStreamEvent(notify);
+	}
+
+	public void resultReceived(IPendingServiceCall call) {
+		instance.resultReceived(call);
+	}
+}

Copied: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java (from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShare.java)
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShare.java&r1=1307397&r2=1307533&rev=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShare.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java Fri Mar 30 16:54:12 2012
@@ -29,19 +29,19 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ScreenShare extends RTMPClient implements ClientExceptionHandler, IScreenShare {
+public class RTMPScreenShare extends RTMPClient implements ClientExceptionHandler, IScreenShare {
 
 	private static final Logger logger = LoggerFactory
-			.getLogger(ScreenShare.class);
+			.getLogger(RTMPScreenShare.class);
 
-	private CommonScreenShare instance = null;
+	private CoreScreenShare instance = null;
 
-	private ScreenShare() {
-		instance = new CommonScreenShare(this);
+	private RTMPScreenShare() {
+		instance = new CoreScreenShare(this);
 	};
 
 	public static void main(String[] args) {
-		new ScreenShare().instance.main(args);
+		new RTMPScreenShare().instance.main(args);
 	}
 	
 	// ------------------------------------------------------------------------

Copied: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java (from r1307397, incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShareRTMPT.java)
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShareRTMPT.java&r1=1307397&r2=1307533&rev=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/ScreenShareRTMPT.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java Fri Mar 30 16:54:12 2012
@@ -29,19 +29,19 @@ import org.red5.server.net.rtmpt.RTMPTCl
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ScreenShareRTMPT extends RTMPTClient implements ClientExceptionHandler, IScreenShare {
+public class RTMPTScreenShare extends RTMPTClient implements ClientExceptionHandler, IScreenShare {
 
 	private static final Logger logger = LoggerFactory
-			.getLogger(ScreenShareRTMPT.class);
+			.getLogger(RTMPTScreenShare.class);
 
-	private CommonScreenShare instance = null;
+	private CoreScreenShare instance = null;
 
-	private ScreenShareRTMPT() {
-		instance = new CommonScreenShare(this);
+	private RTMPTScreenShare() {
+		instance = new CoreScreenShare(this);
 	};
 
 	public static void main(String[] args) {
-		new ScreenShareRTMPT().instance.main(args);
+		new RTMPTScreenShare().instance.main(args);
 	}
 	
 	// ------------------------------------------------------------------------

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/VirtualScreen.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/VirtualScreen.java?rev=1307533&r1=1307532&r2=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/VirtualScreen.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/VirtualScreen.java Fri Mar 30 16:54:12 2012
@@ -36,8 +36,8 @@ import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
 import org.openmeetings.screen.webstart.BlankArea;
-import org.openmeetings.screen.webstart.CommonScreenShare;
-import org.openmeetings.screen.webstart.ScreenShare;
+import org.openmeetings.screen.webstart.CoreScreenShare;
+import org.openmeetings.screen.webstart.RTMPScreenShare;
 import org.openmeetings.screen.webstart.gui.VirtualScreenBean.ScreenQuality;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
 public class VirtualScreen {
 	
 	private static final Logger logger = LoggerFactory.getLogger( VirtualScreen.class );
-	CommonScreenShare css;
+	CoreScreenShare css;
 	public boolean showWarning = true;
 
 	public boolean doUpdateBounds = true;
@@ -84,7 +84,7 @@ public class VirtualScreen {
 		}
 	}
 	
-	public VirtualScreen(CommonScreenShare css) throws Exception {
+	public VirtualScreen(CoreScreenShare css) throws Exception {
 		this.css = css;
 
 		css.tFieldScreenZoom = new JLabel();
@@ -114,13 +114,13 @@ public class VirtualScreen {
 		css.vScreenIconDown = new JLabel();
 		css.vScreenIconDown.setBounds(30+(width/2)-8, 162+height-8, 16, 32);
 
-		Image im_left = ImageIO.read(ScreenShare.class.getResource("/org/openmeetings/screen/1leftarrow.png"));
+		Image im_left = ImageIO.read(RTMPScreenShare.class.getResource("/org/openmeetings/screen/1leftarrow.png"));
 		ImageIcon iIcon1 = new ImageIcon(im_left);
-		Image im_right = ImageIO.read(ScreenShare.class.getResource("/org/openmeetings/screen/1rightarrow.png"));
+		Image im_right = ImageIO.read(RTMPScreenShare.class.getResource("/org/openmeetings/screen/1rightarrow.png"));
 		ImageIcon iIcon2 = new ImageIcon(im_right);
-		Image im_up = ImageIO.read(ScreenShare.class.getResource("/org/openmeetings/screen/1uparrow.png"));
+		Image im_up = ImageIO.read(RTMPScreenShare.class.getResource("/org/openmeetings/screen/1uparrow.png"));
 		ImageIcon iIcon3 = new ImageIcon(im_up);
-		Image im_down = ImageIO.read(ScreenShare.class.getResource("/org/openmeetings/screen/1downarrow.png"));
+		Image im_down = ImageIO.read(RTMPScreenShare.class.getResource("/org/openmeetings/screen/1downarrow.png"));
 		ImageIcon iIcon4 = new ImageIcon(im_down);
 
 		JLabel jLab1 = new JLabel(iIcon1);
@@ -302,12 +302,12 @@ public class VirtualScreen {
 			case High:
 				break;
 			case Medium:
-				VirtualScreenBean.vScreenResizeX = (int)((float)VirtualScreenBean.vScreenResizeX) * 1/2;
-				VirtualScreenBean.vScreenResizeY = (int)((float)VirtualScreenBean.vScreenResizeY) * 1/2;
+				VirtualScreenBean.vScreenResizeX = (int)(1.0/2 * VirtualScreenBean.vScreenResizeX);
+				VirtualScreenBean.vScreenResizeY = (int)(1.0/2 * VirtualScreenBean.vScreenResizeY);
 				break;
 			case Low:
-				VirtualScreenBean.vScreenResizeX = (int)((float)VirtualScreenBean.vScreenResizeX) * 3/8;
-				VirtualScreenBean.vScreenResizeY = (int)((float)VirtualScreenBean.vScreenResizeY) * 3/8;
+				VirtualScreenBean.vScreenResizeX = (int)(3.0/8 * VirtualScreenBean.vScreenResizeX);
+				VirtualScreenBean.vScreenResizeY = (int)(3.0/8 * VirtualScreenBean.vScreenResizeY);
 				break;
 		}
 		logger.debug("resize: X:" + VirtualScreenBean.vScreenResizeX + " Y: " + VirtualScreenBean.vScreenResizeY);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java?rev=1307533&r1=1307532&r2=1307533&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java Fri Mar 30 16:54:12 2012
@@ -82,7 +82,12 @@ public class ScreenRequestHandler extend
 		return null;
 	}
 
-
+	private enum ConnectionType {
+		rtmp
+		, rtmps
+		, rtmpt
+	}
+	
 	@Override
 	public Template handleRequest(HttpServletRequest httpServletRequest,
 			HttpServletResponse httpServletResponse, Context ctx) {
@@ -104,8 +109,7 @@ public class ScreenRequestHandler extend
 
 			String publicSID = httpServletRequest.getParameter("publicSID");
 			if (publicSID == null) {
-				new Exception("publicSID is empty: " + publicSID);
-				return null;
+				throw new Exception("publicSID is empty: " + publicSID);
 			}
 
 			String room = httpServletRequest.getParameter("room");
@@ -114,48 +118,41 @@ public class ScreenRequestHandler extend
 
 			String domain = httpServletRequest.getParameter("domain");
 			if (domain == null) {
-				new Exception("domain is empty: " + domain);
-				return null;
+				throw new Exception("domain is empty: " + domain);
 			}
 
 			String languageAsString = httpServletRequest
 					.getParameter("languageAsString");
 			if (languageAsString == null) {
-				new Exception("languageAsString is empty: " + domain);
-				return null;
+				throw new Exception("languageAsString is empty: " + domain);
 			}
 			Long language_id = Long.parseLong(languageAsString);
 
 			String rtmphostlocal = httpServletRequest
 					.getParameter("rtmphostlocal");
 			if (rtmphostlocal == null) {
-				new Exception("rtmphostlocal is empty: " + rtmphostlocal);
-				return null;
+				throw new Exception("rtmphostlocal is empty: " + rtmphostlocal);
 			}
 
 			String red5httpport = httpServletRequest
 					.getParameter("red5httpport");
 			if (red5httpport == null) {
-				new Exception("red5httpport is empty: " + red5httpport);
-				return null;
+				throw new Exception("red5httpport is empty: " + red5httpport);
 			}
 
 			String record = httpServletRequest.getParameter("record");
 			if (record == null) {
-				new Exception("recorder is empty: ");
-				record = "no";
+				throw new Exception("recorder is empty: ");
 			}
 
 			String mode = httpServletRequest.getParameter("mode");
 			if (mode == null) {
-				new Exception("mode is empty: ");
-				mode = "sharer";
+				throw new Exception("mode is empty: ");
 			}
 
 			String httpRootKey = httpServletRequest.getParameter("httpRootKey");
 			if (httpRootKey == null) {
-				new Exception("httpRootKey is empty could not start sharer");
-				return null;
+				throw new Exception("httpRootKey is empty could not start sharer");
 			}
 
 			// make a complete name out of domain(organisation) + roomname
@@ -308,22 +305,30 @@ public class ScreenRequestHandler extend
 							+ red5httpport + httpRootKey
 							+ "red5-screenshare";
 
-					String connectionType = httpServletRequest
-							.getParameter("connectionType");
-					if (connectionType == null) {
-						new Exception("No connectionType ");
-					}
+					ConnectionType conType = ConnectionType.valueOf(httpServletRequest
+							.getParameter("connectionType"));
 
-					String startUpClass = connectionType.equals("rtmpt")
-							? "org.openmeetings.screen.webstart.ScreenShareRTMPT"
-							: "org.openmeetings.screen.webstart.ScreenShare";
+					//FIXME http:// need to be removed
+					String startUpClass;
+					switch (conType) {
+					case rtmp:
+						startUpClass = "org.openmeetings.screen.webstart.RTMPScreenShare";
+						break;
+					case rtmps:
+						startUpClass = "org.openmeetings.screen.webstart.RTMPSScreenShare";
+						break;
+					case rtmpt:
+						startUpClass = "org.openmeetings.screen.webstart.RTMPTScreenShare";
+						break;
+					default:
+						throw new Exception("Unknown connection type");
+					}
 
 					String orgIdAsString = httpServletRequest
 							.getParameter("organization_id");
 					if (orgIdAsString == null) {
-						new Exception(
+						throw new Exception(
 								"orgIdAsString is empty could not start sharer");
-						return null;
 					}
 
 					ctx.put("organization_id", orgIdAsString);
@@ -349,16 +354,14 @@ public class ScreenRequestHandler extend
 
 					String port = httpServletRequest.getParameter("port");
 					if (port == null) {
-						new Exception("port is empty: ");
-						return null;
+						throw new Exception("port is empty: ");
 					}
 					ctx.put("port", port);
 
 					String allowRecording = httpServletRequest
 							.getParameter("allowRecording");
 					if (allowRecording == null) {
-						new Exception("allowRecording is empty: ");
-						return null;
+						throw new Exception("allowRecording is empty: ");
 					}
 					ctx.put("allowRecording", allowRecording);