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 2014/04/25 08:14:41 UTC

svn commit: r1589938 - in /openmeetings/trunk/singlewebapp: ./ openmeetings-core/ openmeetings-core/src/test/java/org/apache/openmeetings/test/config/ openmeetings-install/ openmeetings-screenshare/ openmeetings-screenshare/src/main/java/org/apache/ope...

Author: solomax
Date: Fri Apr 25 06:14:40 2014
New Revision: 1589938

URL: http://svn.apache.org/r1589938
Log:
[OPENMEETINGS-940] Screen sharing webapp generation is moved to maven

Added:
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/resources/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/resources/icon.jpg
      - copied unchanged from r1589015, openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/screensharing/icon.jpg
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/resources/splashicon.jpg
      - copied unchanged from r1589015, openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/screensharing/splashicon.jpg
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp
      - copied, changed from r1589015, openmeetings/trunk/singlewebapp/src/screenshare.vm
Removed:
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/screensharing/icon.jpg
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/screensharing/splashicon.jpg
    openmeetings/trunk/singlewebapp/src/screenshare.vm
Modified:
    openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml
    openmeetings/trunk/singlewebapp/openmeetings-core/src/test/java/org/apache/openmeetings/test/config/TestConfig.java
    openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml
    openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java
    openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml
    openmeetings/trunk/singlewebapp/pom.xml

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml Fri Apr 25 06:14:40 2014
@@ -36,6 +36,7 @@
 		<batik.version>1.7</batik.version>
 		<smslib.version>3.5.4</smslib.version>
 		<derby.version>10.10.1.1</derby.version>
+		<red5-client.version>1.0.2-RC2</red5-client.version>
 	</properties>
 	<repositories>
 		<repository>
@@ -55,6 +56,11 @@
 			<version>${openmeetings.version}</version>
 		</dependency>
 		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.velocity</groupId>
 			<artifactId>velocity</artifactId>
 			<version>${velocity.version}</version>
@@ -94,7 +100,7 @@
 		<dependency>
 			<groupId>org.red5</groupId>
 			<artifactId>red5-client</artifactId>
-			<version>${red5.client.version}</version>
+			<version>${red5-client.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/test/java/org/apache/openmeetings/test/config/TestConfig.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/test/java/org/apache/openmeetings/test/config/TestConfig.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/test/java/org/apache/openmeetings/test/config/TestConfig.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/test/java/org/apache/openmeetings/test/config/TestConfig.java Fri Apr 25 06:14:40 2014
@@ -26,15 +26,13 @@ import java.util.List;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.entity.basic.Configuration;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.test.calendar.TestAppointmentAddAppointment;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestConfig extends AbstractJUnitDefaults {
-
-	private static final Logger log = LoggerFactory.getLogger(TestAppointmentAddAppointment.class);
+	private static final Logger log = LoggerFactory.getLogger(TestConfig.class);
 
 	@Autowired
 	private ConfigurationDao configurationDao;

Modified: openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml Fri Apr 25 06:14:40 2014
@@ -36,6 +36,11 @@
 	</properties>
 	<dependencies>
 		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.openmeetings</groupId>
 			<artifactId>openmeetings-util</artifactId>
 			<version>${openmeetings.version}</version>

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml Fri Apr 25 06:14:40 2014
@@ -29,10 +29,15 @@
 	<artifactId>openmeetings-screenshare</artifactId>
 	<packaging>jar</packaging>
 	<name>Openmeetings Screen Sharing applet</name>
-	<description>TODO</description>
+	<description>A File to grab a screen and send it to a Server</description>
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<red5-client.version>1.0.2-RC2</red5-client.version>
+		<keystore.location>${project.build.directory}/screensharing_sign.keystore</keystore.location>
+		<key.password>secret</key.password>
+		<keystore.password>secret</keystore.password>
+		<keystore.type>jks</keystore.type>
+		<key.alias>screen</key.alias>
 	</properties>
 	<dependencies>
 		<dependency>
@@ -40,5 +45,290 @@
 			<artifactId>red5-client</artifactId>
 			<version>${red5-client.version}</version>
 		</dependency>
+		<dependency><!-- FIXME should be removed later -->
+			<groupId>org.red5</groupId>
+			<artifactId>red5-io</artifactId>
+			<version>1.0.3</version>
+		</dependency>
+		<dependency><!-- FIXME should be removed later -->
+			<groupId>org.red5</groupId>
+			<artifactId>red5-server</artifactId>
+			<version>${red5-server.version}</version>
+		</dependency>
+		<dependency><!-- FIXME should be taken automatically from red5-client dependencies -->
+			<groupId>org.apache.mina</groupId>
+			<artifactId>mina-core</artifactId>
+			<version>2.0.7</version>
+		</dependency>
+		<dependency><!-- FIXME should be taken automatically from red5-client dependencies -->
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+			<version>3.1.1.RELEASE</version>
+		</dependency>
 	</dependencies>
+	<build>
+		<plugins>
+		<plugin>
+			<groupId>com.google.code.maven-replacer-plugin</groupId>
+			<artifactId>replacer</artifactId>
+			<version>1.5.3</version>
+			<executions>
+				<execution>
+					<phase>generate-resources</phase>
+					<goals>
+						<goal>replace</goal>
+					</goals>
+					<configuration>
+						<file>${project.basedir}/src/main/jnlp/templates/template.jnlp</file>
+						<outputFile>${project.basedir}/target/APPLICATION_TEMPLATE.jnlp</outputFile>
+						<regex>false</regex>
+						<replacements>
+							<replacement>
+								<token>$applicationName</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$codebase</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$host</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$port</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$app</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$userId</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$organizationId</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$publicSid</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$labels</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$defaultQuality</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$allowRecording</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$allowPublishing</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$clientClass</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$keystore</token>
+								<value>*</value>
+							</replacement>
+							<replacement>
+								<token>$password</token>
+								<value>*</value>
+							</replacement>
+						</replacements>
+					</configuration>
+				</execution>
+			</executions>
+		</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<!-- Step 1) your obvious configuration + added one new execution for APPLICATION_TEMPLATE.jnlp file generation from template 
+					stored in /templates/APPLICATION_TEMPLATE.jnlp dir -->
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>webstart-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>generate-jnlp-template-for-signing</id>
+						<phase>generate-resources</phase>
+						<goals>
+							<goal>jnlp</goal>
+						</goals>
+						<configuration>
+							<excludeTransitive>false</excludeTransitive>
+							<dependencies>
+								<includes>
+									<include>commons-codec:commons-codec</include>
+									<include>commons-beanutils:commons-beanutils</include>
+									<include>commons-collections:commons-collections</include>
+									<include>org.apache.httpcomponents:httpclient</include>
+									<include>org.apache.httpcomponents:httpcore</include>
+									<include>org.bouncycastle:bcprov-jdk15on</include>
+									<include>net.sf.ehcache:ehcache-core</include>
+									<include>org.slf4j:slf4j-api</include>
+									<include>org.slf4j:jcl-over-slf4j</include>
+									<include>ch.qos.logback:logback-core</include>
+									<include>ch.qos.logback:logback-classic</include>
+									<include>org.apache.mina:mina-core</include>
+									<include>org.red5:red5-io</include>
+									<include>org.red5:red5-server</include>
+									<include>org.red5:red5-client</include>
+									<include>org.springframework:spring-context</include>
+									<include>org.springframework:spring-core</include>
+									<include>org.springframework:spring-beans</include>
+								</includes>
+							</dependencies>
+							<jnlp>
+								<inputTemplateResourcePath>${project.basedir}/target</inputTemplateResourcePath>
+								<inputTemplate>APPLICATION_TEMPLATE.jnlp</inputTemplate>
+								<outputFile>APPLICATION_TEMPLATE.jnlp</outputFile>
+								<mainClass>org.apache.openmeetings.screen.webstart.CoreScreenShare</mainClass>
+							</jnlp>
+							<makeArchive>false</makeArchive>
+						</configuration>
+					</execution>
+					<execution>
+						<id>generate-jnlp-and-sign-libs</id>
+						<phase>generate-resources</phase>
+						<goals>
+							<goal>jnlp</goal>
+						</goals>
+						<configuration>
+							<!--outputDirectory></outputDirectory --> <!-- not required?? -->
+					
+							<excludeTransitive>false</excludeTransitive>
+							<dependencies>
+								<includes>
+									<include>commons-codec:commons-codec</include>
+									<include>commons-beanutils:commons-beanutils</include>
+									<include>commons-collections:commons-collections</include>
+									<include>org.apache.httpcomponents:httpclient</include>
+									<include>org.apache.httpcomponents:httpcore</include>
+									<include>org.bouncycastle:bcprov-jdk15on</include>
+									<include>net.sf.ehcache:ehcache-core</include>
+									<include>org.slf4j:slf4j-api</include>
+									<include>org.slf4j:jcl-over-slf4j</include>
+									<include>ch.qos.logback:logback-core</include>
+									<include>ch.qos.logback:logback-classic</include>
+									<include>org.apache.mina:mina-core</include>
+									<include>org.red5:red5-io</include>
+									<include>org.red5:red5-server</include>
+									<include>org.red5:red5-client</include>
+									<include>org.springframework:spring-context</include>
+									<include>org.springframework:spring-core</include>
+									<include>org.springframework:spring-beans</include>
+								</includes>
+							</dependencies>
+							
+							<jnlp>
+								<inputTemplateResourcePath>${project.basedir}/src/main/jnlp/templates</inputTemplateResourcePath>
+								<inputTemplate>template.jnlp</inputTemplate>
+								<outputFile>APPLICATION.jnlp</outputFile>
+								<mainClass>org.apache.openmeetings.screen.webstart.CoreScreenShare</mainClass>
+							</jnlp>
+					
+							<sign>
+								<keystore>${keystore.location}</keystore>
+								<keypass>${key.password}</keypass>
+								<storepass>${keystore.password}</storepass>
+								<storetype>${keystore.type}</storetype>
+								<alias>${key.alias}</alias>
+					
+								<validity>365</validity>
+								<dnameCn>Sebastian Wagner</dnameCn>
+								<dnameOu>technology</dnameOu>
+								<dnameO>openmeetings.apache.org</dnameO>
+								<!-- dnameL>Location</dnameL>
+								<dnameSt>State</dnameSt-->
+								<dnameC>DE</dnameC>
+											
+								<keystoreConfig>
+									<delete>false</delete>
+									<gen>true</gen>
+								</keystoreConfig>
+								<verify>false</verify> <!-- due to self signed certificate -->
+							</sign>
+							<unsign>true</unsign>
+							<outputJarVersions>false</outputJarVersions>
+							<makeArchive>false</makeArchive>
+							<verbose>true</verbose>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<!-- Step 2) move to APPLICATION_TEMPLATE from /target/jnlp to target/jnlp/${project.build.finalName}.jar/JNLP-INF dir -->
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>truezip-maven-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>move-jnlp-template</id>
+						<goals>
+							<goal>move</goal>
+						</goals>
+						<phase>verify</phase>
+						<configuration>
+							<from>${project.basedir}/target/jnlp/APPLICATION_TEMPLATE.jnlp</from>
+							<to>${project.basedir}/target/jnlp/${project.build.finalName}.jar/JNLP-INF/APPLICATION_TEMPLATE.jnlp</to>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<!-- Step 3) repeat signing of main.jar -->
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jarsigner-plugin</artifactId>
+				<version>1.3.2</version>
+				<executions>
+					<execution>
+						<id>sign</id>
+						<phase>verify</phase>
+						<goals>
+							<goal>sign</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<archiveDirectory>${project.build.directory}/jnlp</archiveDirectory>
+					<includes>
+						<include>${project.build.finalName}.jar</include>
+					</includes>
+					<keystore>${keystore.location}</keystore>
+					<keypass>${key.password}</keypass>
+					<storepass>${keystore.password}</storepass>
+					<storetype>${keystore.type}</storetype>
+					<alias>${key.alias}</alias>
+					<removeExistingSignatures>true</removeExistingSignatures>
+					<verbose>true</verbose>
+				</configuration>
+			</plugin>
+			<!-- plugin-->
+				<!-- Step 4) custom packaging -->
+				<!-- groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-war-plugin</artifactId>
+				<version>${maven-war-plugin.version}</version>
+				<configuration>
+					...
+					<webResources>
+						<resource>
+							<directory>${project.build.directory}/jnlp</directory>
+						</resource>
+						...
+					</webResources>
+					...
+				</configuration>
+			</plugin-->		
+		</plugins>
+	</build>
 </project>

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Fri Apr 25 06:14:40 2014
@@ -40,6 +40,7 @@ import java.awt.event.KeyEvent;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.codec.binary.Hex;
 import org.apache.openmeetings.screen.webstart.gui.ScreenSharerFrame;
 import org.red5.client.net.rtmp.INetStreamEventHandler;
 import org.red5.io.utils.ObjectMap;
@@ -97,15 +98,13 @@ public class CoreScreenShare implements 
 	//
 	// ------------------------------------------------------------------------
 
-	public CoreScreenShare(IScreenShare instance, String[] args) {
-		this.instance = instance;
-		
+	public CoreScreenShare(String[] args) {
 		try {
 			for (String arg : args) {
 				log.debug("arg: " + arg);
 			}
 			String[] textArray = null;
-			if (args.length > 8) {
+			if (args.length > 9) {
 				host = args[0];
 				app = args[1];
 				port = Integer.parseInt(args[2]);
@@ -131,9 +130,17 @@ public class CoreScreenShare implements 
 						log.debug(i + " :: " + textArray[i]);
 					}
 				}
-				log.debug("host: " + host + ", app: "
-						+ app + ", port: " + port + ", publish: "
-						+ publishName);
+				instance = (IScreenShare)Class.forName(args[10]).newInstance();
+				instance.setCore(this);
+				if (instance instanceof RTMPSScreenShare) {
+					if (args.length < 12) {
+						System.exit(0);
+					}
+					RTMPSScreenShare client = (RTMPSScreenShare)instance;
+					client.setKeystoreBytes(Hex.decodeHex(args[11].toCharArray()));
+					client.setKeyStorePassword(args[12]);
+				}
+				log.debug(String.format("host: %s, app: %s, port: %s, publish: %s", host, port, app, publishName));
 			} else {
 				System.exit(0);
 			}
@@ -144,6 +151,10 @@ public class CoreScreenShare implements 
 		}
 	}
 
+	public static void main(String[] args) {
+		new CoreScreenShare(args);
+	}
+	
 	// ------------------------------------------------------------------------
 	//
 	// GUI

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java Fri Apr 25 06:14:40 2014
@@ -31,4 +31,5 @@ public interface IScreenShare {
 	void createStream(IPendingServiceCallback callback);
 	void publish(int streamId, String name, String mode, INetStreamEventHandler handler);
 	void publishStreamData(int streamId, IMessage message);
+	void setCore(CoreScreenShare core);
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java Fri Apr 25 06:14:40 2014
@@ -37,6 +37,10 @@ class RTMPClientPublish extends RTMPClie
 	private String id;
 	private CoreScreenShare core;
 	
+	public void setCore(CoreScreenShare core) {
+		this.core = core;
+	}
+	
 	RTMPClientPublish(CoreScreenShare core, String host, String app, String id) {
 		this.id = id;
 		this.core = core;

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java Fri Apr 25 06:14:40 2014
@@ -18,8 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.apache.commons.codec.DecoderException;
-import org.apache.commons.codec.binary.Hex;
 import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmps.RTMPSClient;
 import org.red5.server.api.service.IPendingServiceCallback;
@@ -35,19 +33,13 @@ public class RTMPSScreenShare extends RT
 
 	private CoreScreenShare core = null;
 
-	private RTMPSScreenShare(String[] args) {
-		core = new CoreScreenShare(this, args);
-	};
-
-	public static void main(String[] args) throws DecoderException {
-		RTMPSScreenShare client = new RTMPSScreenShare(args);
-		if (args.length < 11) {
-			System.exit(0);
-		}
-		client.setKeystoreBytes(Hex.decodeHex(args[10].toCharArray()));
-		client.setKeyStorePassword(args[11]);
+	public void setCore(CoreScreenShare core) {
+		this.core = core;
 	}
 	
+	private RTMPSScreenShare() {
+	};
+
 	@Override
 	public void connect(String server, int port, String application,
 			IPendingServiceCallback connectCallback) {

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java Fri Apr 25 06:14:40 2014
@@ -32,14 +32,13 @@ public class RTMPScreenShare extends RTM
 
 	private CoreScreenShare core = null;
 
-	private RTMPScreenShare(String[] args) {
-		core = new CoreScreenShare(this, args);
-	};
-
-	public static void main(String[] args) {
-		new RTMPScreenShare(args);
+	public void setCore(CoreScreenShare core) {
+		this.core = core;
 	}
 	
+	private RTMPScreenShare() {
+	}
+
 	// ------------------------------------------------------------------------
 	//
 	// Override

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java Fri Apr 25 06:14:40 2014
@@ -32,14 +32,13 @@ public class RTMPTScreenShare extends RT
 
 	private CoreScreenShare core = null;
 
-	private RTMPTScreenShare(String[] args) {
-		core = new CoreScreenShare(this, args);
-	};
-
-	public static void main(String[] args) {
-		new RTMPTScreenShare(args);
+	public void setCore(CoreScreenShare core) {
+		this.core = core;
 	}
 	
+	private RTMPTScreenShare() {
+	};
+
 	// ------------------------------------------------------------------------
 	//
 	// Override

Copied: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp (from r1589015, openmeetings/trunk/singlewebapp/src/screenshare.vm)
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp?p2=openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp&p1=openmeetings/trunk/singlewebapp/src/screenshare.vm&r1=1589015&r2=1589938&rev=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/screenshare.vm (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp Fri Apr 25 06:14:40 2014
@@ -17,35 +17,37 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<jnlp spec='1.0+' codebase='$codebase'> 
-	<information> 
-		<title>Screen Sharing Application</title> 
-		<vendor>$APP_NAME</vendor> 
-		<homepage>http://openmeetings.apache.org/</homepage>
+<jnlp spec="1.0+" codebase="$codebase">
+	<information>
+		<title>$informationTitle</title>
+		<vendor>$applicationName</vendor>
+		<homepage>$informationHomepage</homepage>
 		<icon href="icon.jpg" />
 		<icon kind="splash" href="splashicon.jpg" />
-		<description>ScreenViewer Client Application</description> 
-		<description kind="short">A File to grab a screen and send it to a Server</description> 
-		<offline-allowed/> 
+		<description>$informationTitle</description>
+		<description kind="short">$informationDescription</description>
+		<offline-allowed/>
 	</information>
 	<security>
-	    <all-permissions/>
-	</security>	
-	<resources> 
-		<j2se version='1.5+'/>
-$LIBRARIES
-    </resources> 
-    <application-desc main-class='$startUpClass'>
-    	<argument>$red5-host</argument> 
-    	<argument>$red5-app</argument> 
-    	<argument>$port</argument> 
-    	<argument>$PUBLIC_SID</argument>   
-    	<argument>$LABELSHARER</argument> 
-    	<argument>$organization_id</argument> 
-    	<argument>$default_quality_screensharing</argument>
-    	<argument>$user_id</argument>   
-    	<argument>$allowRecording</argument>
-    	<argument>$allowPublishing</argument>
-$KEYSTORE
-    </application-desc> 
-</jnlp> 
+		<all-permissions/>
+	</security>
+	<resources>
+		<j2se version='1.6+'/>
+		$dependencies
+	</resources>
+	<application-desc main-class='$mainClass'>
+		<argument>$host</argument>
+		<argument>$port</argument>
+		<argument>$app</argument>
+		<argument>$userId</argument>
+		<argument>$organizationId</argument>
+		<argument>$publicSid</argument>
+		<argument>$labels</argument>
+		<argument>$defaultQuality</argument>
+		<argument>$allowRecording</argument>
+		<argument>$allowPublishing</argument>
+		<argument>$clientClass</argument>
+		<argument>$keystore</argument>
+		<argument>$password</argument>
+	</application-desc>
+</jnlp>

Modified: openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml Fri Apr 25 06:14:40 2014
@@ -39,8 +39,27 @@
 		<commons-codec.version>1.8</commons-codec.version>
 		<servlet-api.version>2.5</servlet-api.version>
 	</properties>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.red5</groupId>
+				<artifactId>red5-server</artifactId>
+				<version>${red5-server.version}</version>
+				<exclusions>
+					<exclusion>
+						<groupId>org</groupId>
+						<artifactId>jaudiotagger</artifactId>
+					</exclusion>
+			</exclusions>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
 	<dependencies>
 		<dependency>
+			<groupId>org.red5</groupId>
+			<artifactId>red5-server</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>commons-transaction</groupId>
 			<artifactId>commons-transaction</artifactId>
 			<version>${commons-transaction.version}</version>
@@ -71,5 +90,16 @@
 			<version>${servlet-api.version}</version>
 			<scope>provided</scope>
 		</dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>servlet-api</artifactId>
+			<version>${servlet-api.version}</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.wicket</groupId>
+			<artifactId>wicket-util</artifactId>
+			<version>${wicket.version}</version>
+		</dependency>
 	</dependencies>
 </project>

Modified: openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/ChatString.java Fri Apr 25 06:14:40 2014
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.util.stringhandlers;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.text.CharacterIterator;
 import java.text.StringCharacterIterator;
 import java.util.Iterator;
@@ -25,14 +27,12 @@ import java.util.LinkedList;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 
 public class ChatString {
-	private static final Logger log = Red5LoggerFactory.getLogger(
-			ChatString.class, OpenmeetingsVariables.webAppRootKey);
+	private static final Logger log = Red5LoggerFactory.getLogger(ChatString.class, webAppRootKey);
 
 	private static String htmlToText(String source) {
 		String result = source;

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml Fri Apr 25 06:14:40 2014
@@ -66,6 +66,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wicket</groupId>
+			<artifactId>wicket-core</artifactId>
+			<version>${wicket.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-extensions</artifactId>
 			<version>${wicket.version}</version>
 		</dependency>

Modified: openmeetings/trunk/singlewebapp/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/pom.xml?rev=1589938&r1=1589937&r2=1589938&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/pom.xml Fri Apr 25 06:14:40 2014
@@ -33,14 +33,12 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<openmeetings.version>3.1.0-SNAPSHOT</openmeetings.version>
-		<red5.server.version>1.0.2-M1</red5.server.version>
-		<red5.client.version>1.0.2-RC2</red5.client.version>
-		<wicket.version>6.14.0</wicket.version>
-		<jaudiotagger.version>2.0.4-SNAPSHOT</jaudiotagger.version>
-		<spring.version>4.0.0.RELEASE</spring.version>
+		<spring.version>4.0.3.RELEASE</spring.version>
 		<junit.version>4.11</junit.version>
 		<maven.javadoc.version>2.9.1</maven.javadoc.version>
-		<maven.surefire.version>2.12.2</maven.surefire.version>
+		<maven.surefire.version>2.17</maven.surefire.version>
+		<wicket.version>6.14.0</wicket.version>
+		<red5-server.version>1.0.2-RELEASE</red5-server.version>
 	</properties>
 	<modules>
 		<module>openmeetings-core</module>
@@ -56,7 +54,7 @@
 		<profile>
 		</profile>
 	</profiles>
-	<url>http://openmeetings.apache.org/${project.artifactId}</url>
+	<url>http://openmeetings.apache.org</url>
 	<inceptionYear>2012</inceptionYear>
 	<organization>
 		<name>Apache Software Foundation</name>
@@ -125,37 +123,8 @@
 			<url>http://red5.googlecode.com/svn/repository</url>
 		</repository>
 	</repositories>
-	<dependencyManagement>
-		<dependencies>
-			<dependency>
-				<groupId>org.apache.openmeetings</groupId>
-				<artifactId>openmeetings-util</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.red5</groupId>
-				<artifactId>red5-server</artifactId>
-				<version>${red5.server.version}</version>
-			</dependency>
-		</dependencies>
-	</dependencyManagement>
 	<dependencies>
 		<dependency>
-			<groupId>org.red5</groupId>
-			<artifactId>red5-server</artifactId>
-			<version>${red5.server.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.wicket</groupId>
-			<artifactId>wicket-core</artifactId>
-			<version>${wicket.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.wicket</groupId>
-			<artifactId>wicket-util</artifactId>
-			<version>${wicket.version}</version>
-		</dependency>
-		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 			<version>${junit.version}</version>
@@ -163,6 +132,12 @@
 		</dependency>
 		<dependency>
 			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+			<version>${spring.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
 			<artifactId>spring-test</artifactId>
 			<version>${spring.version}</version>
 			<scope>test</scope>
@@ -265,6 +240,11 @@
 				</plugin>
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-dependency-plugin</artifactId>
+					<version>2.8</version>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-site-plugin</artifactId>
 					<version>3.3</version>
 				</plugin>
@@ -297,6 +277,32 @@
 					<version>2.3.7</version>
 					<extensions>true</extensions>
 				</plugin>
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>webstart-maven-plugin</artifactId>
+					<version>1.0-beta-6</version>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-dependency-plugin</artifactId>
+					<version>2.8</version>
+					<executions>
+						<execution>
+							<id>copy-dependencies</id>
+							<phase>package</phase>
+							<goals>
+								<goal>copy-dependencies</goal>
+							</goals>
+							<configuration>
+								<outputDirectory>${project.build.directory}/lib</outputDirectory>
+								<overWriteReleases>false</overWriteReleases>
+								<overWriteSnapshots>false</overWriteSnapshots>
+								<overWriteIfNewer>true</overWriteIfNewer>
+								<excludeTransitive>true</excludeTransitive>
+							</configuration>
+						</execution>
+					</executions>
+				</plugin>
 				
 				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
 				<plugin>
@@ -332,29 +338,6 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-project-info-reports-plugin</artifactId>
 				<version>2.6</version>
-				<reportSets>
-					<reportSet>
-						<reports>
-							<report>index</report>
-							<report>help</report>
-							<report>project-team</report>
-							<report>modules</report>
-							<report>plugins</report>
-							<report>cim</report>
-							<report>issue-tracking</report>
-							<report>scm</report>
-							<report>license</report>
-							<report>plugin-management</report>
-							<report>distribution-management</report>
-							<report>summary</report>
-							<report>mailing-list</report>
-							<report>issue-tracking</report>
-							<!--
-							<report>dependencies</report>
-							-->
-						</reports>
-					</reportSet>
-				</reportSets>
 			</plugin>
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>