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>


Reply via email to