Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5CryptImplementation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5CryptImplementation.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5CryptImplementation.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5CryptImplementation.java
 Tue Nov  3 22:25:34 2015
@@ -18,9 +18,15 @@
  */
 package org.apache.openmeetings.util.crypt;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.security.NoSuchAlgorithmException;
 
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
 public class MD5CryptImplementation implements ICryptString {
+       private static final Logger log = 
Red5LoggerFactory.getLogger(MD5CryptImplementation.class, webAppRootKey);
 
        /*
         * (non-Javadoc)
@@ -32,7 +38,7 @@ public class MD5CryptImplementation impl
                try {
                        passPhrase = MD5Crypt.crypt(userGivenPass);
                } catch (NoSuchAlgorithmException e) {
-                       e.printStackTrace();
+                       log.error("Error", e);
                } 
                return passPhrase;
        }
@@ -49,7 +55,7 @@ public class MD5CryptImplementation impl
                try {
                        validPassword = 
passwdFromDb.equals(MD5Crypt.crypt(passGiven, salt));
                } catch (NoSuchAlgorithmException e) {
-                       e.printStackTrace();
+                       log.error("Error", e);
                }
                return validPassword;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 Tue Nov  3 22:25:34 2015
@@ -18,9 +18,15 @@
  */
 package org.apache.openmeetings.util.crypt;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.security.NoSuchAlgorithmException;
 
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
 public class MD5Implementation implements ICryptString {
+       private static final Logger log = 
Red5LoggerFactory.getLogger(MD5Implementation.class, webAppRootKey);
 
        /*
         * (non-Javadoc)
@@ -32,7 +38,7 @@ public class MD5Implementation implement
                try {
                        passPhrase = MD5.do_checksum(userGivenPass);
                } catch (NoSuchAlgorithmException e) {
-                       e.printStackTrace();
+                       log.error("Error", e);
                }
                return passPhrase;
        }

Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java
 Tue Nov  3 22:25:34 2015
@@ -33,7 +33,7 @@ import org.slf4j.Logger;
  */
 
 public class GeomPoint extends Point {
-       private static final long serialVersionUID = 5729830653403076829L;
+       private static final long serialVersionUID = 1L;
        @SuppressWarnings("unused")
        private static final Logger log = 
Red5LoggerFactory.getLogger(GeomPoint.class, 
OpenmeetingsVariables.webAppRootKey);
 
@@ -190,7 +190,7 @@ public class GeomPoint extends Point {
                        
                        // if the directional constants are equal, the lines 
are parallel,
                        // meaning there is no intersection point.
-                       if( k1 == k2 ) return null;
+                       if (java.lang.Double.compare(k1, k2) == 0) return null;
                
                        //log.debug("neither");
 //                     log.debug("k1: "+k1);

Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
 Tue Nov  3 22:25:34 2015
@@ -203,11 +203,10 @@ public class IcalHandler {
                        filerPath = filerPath + ".ics";
                }
 
-               FileOutputStream fout = new FileOutputStream(filerPath);
-
-               CalendarOutputter outputter = new CalendarOutputter();
-               outputter.output(icsCalendar, fout);
-               fout.close();
+               try (FileOutputStream fout = new FileOutputStream(filerPath)) {
+                       CalendarOutputter outputter = new CalendarOutputter();
+                       outputter.output(icsCalendar, fout);
+               }
        }
 
        // 
------------------------------------------------------------------------------------------

Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
 Tue Nov  3 22:25:34 2015
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -104,36 +103,24 @@ public class ConverterProcessResultList
         * @return
         */
        public FileImportError[] convertToFileImportErrors() {
-               FileImportError[] fileImportErrors = new 
FileImportError[jobslist
-                               .size()];
+               FileImportError[] errors = new FileImportError[jobslist.size()];
 
                int i = 0;
                // Axis need Objects or array of objects, Map won't work
-               for (Iterator<String> iter = jobslist.keySet().iterator(); iter
-                               .hasNext();) {
+               for (Map.Entry<String, ConverterProcessResult> me : 
jobslist.entrySet()) {
 
-                       ConverterProcessResult returnAttribute = 
jobslist.get(iter
-                                       .next());
+                       ConverterProcessResult result = me.getValue();
 
-                       fileImportErrors[i] = new FileImportError();
-                       fileImportErrors[i]
-                                       
.setCommand((returnAttribute.getCommand() != null) ? returnAttribute
-                                                       
.getCommand().toString() : "");
-                       fileImportErrors[i]
-                                       .setError((returnAttribute.getError() 
!= null) ? returnAttribute
-                                                       .getError().toString() 
: "");
-                       fileImportErrors[i]
-                                       
.setExitValue((returnAttribute.getExitValue() != null) ? Integer
-                                                       
.valueOf(returnAttribute.getExitValue().toString())
-                                                       .intValue() : 0);
-                       fileImportErrors[i]
-                                       
.setProcess((returnAttribute.getProcess() != null) ? returnAttribute
-                                                       
.getProcess().toString() : "");
+                       errors[i] = new FileImportError();
+                       errors[i].setCommand((result.getCommand() != null) ? 
result.getCommand().toString() : "");
+                       errors[i].setError((result.getError() != null) ? 
result.getError().toString() : "");
+                       errors[i].setExitValue((result.getExitValue() != null) 
? Integer.valueOf(result.getExitValue().toString()) : 0);
+                       errors[i].setProcess((result.getProcess() != null) ? 
result.getProcess().toString() : "");
 
                        i++;
                }
                
-               return fileImportErrors;
+               return errors;
        }
 
        public int size() {

Modified: 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/StringComparer.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/StringComparer.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/StringComparer.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/stringhandlers/StringComparer.java
 Tue Nov  3 22:25:34 2015
@@ -19,7 +19,6 @@
 package org.apache.openmeetings.util.stringhandlers;
 
 public class StringComparer {
-       
        private static StringComparer instance = null;
        
        private StringComparer() {}
@@ -32,22 +31,20 @@ public class StringComparer {
        }
        
        public String compareForRealPaths(String inputString) throws Exception{
-
-               String t = "";
-               for (int i=0;i<inputString.length();i++){
+               StringBuilder t = new StringBuilder();
+               for (int i = 0; i < inputString.length(); ++i) {
                        char c = inputString.charAt(i);
                        if (compareChars(c)) {
-                               t += c;
+                               t.append(c);
                        } else {
-                               t += "_";
+                               t.append('_');
                        }
-                       
-               }               
-               return t;
+
+               }
+               return t.toString();
        }
        
        private boolean compareChars(char inputChar){           
                return Character.isLetterOrDigit(inputChar);
        }
-
 }

Added: openmeetings/branches/3.1.x/openmeetings-util/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-util/src/site/site.xml?rev=1712427&view=auto
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-util/src/site/site.xml (added)
+++ openmeetings/branches/3.1.x/openmeetings-util/src/site/site.xml Tue Nov  3 
22:25:34 2015
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/DECORATION/1.6.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 
http://maven.apache.org/xsd/decoration-1.6.0.xsd";
+  name="Apache OpenMeetings Project">
+
+       <body>
+               <menu ref="parent"/>
+               <menu name="Project">
+                       <item name="About" href="/index.html" />
+                       <item name="Info" href="/project-info.html" />
+                       <item name="Summary" href="/project-summary.html" />
+                       <item name="License" href="/license.html" />
+                       <item name="Dependencies" href="/dependencies.html" />
+                       <item name="Dependency Convergence" 
href="/dependency-convergence.html" />
+                       <item name="RAT Report" href="/rat-report.html" />
+                       <item name="JavaDoc" href="/apidocs/index.html" 
target="_blank" />
+               </menu>
+       </body>
+</project>

Propchange: openmeetings/branches/3.1.x/openmeetings-web/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Nov  3 22:25:34 2015
@@ -0,0 +1,5 @@
+target
+.project
+.classpath
+.settings
+

Added: openmeetings/branches/3.1.x/openmeetings-web/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/pom.xml?rev=1712427&view=auto
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-web/pom.xml (added)
+++ openmeetings/branches/3.1.x/openmeetings-web/pom.xml Tue Nov  3 22:25:34 
2015
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.apache.openmeetings</groupId>
+               <artifactId>openmeetings-parent</artifactId>
+               <version>3.1.0-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>openmeetings-web</artifactId>
+       <packaging>war</packaging>
+       <name>Openmeetings Web</name>
+       <description>TODO</description>
+       <properties>
+               
<wicket-dashboard.version>0.13.0+wicket-7</wicket-dashboard.version>
+               <commons-io.version>2.4</commons-io.version>
+               <commons-fileupload.version>1.3</commons-fileupload.version>
+               <mysql.version>5.1.35</mysql.version>
+               <old-backups.dir>${project.basedir}/test-data</old-backups.dir>
+               <site.basedir>${project.parent.basedir}</site.basedir>
+               <skip.site.copy>false</skip.site.copy>
+       </properties>
+       <profiles>
+               <profile>
+                       <id>Mysql</id>
+                       <activation>
+                               <property>
+                                       <name>db</name>
+                                       <value>mysql</value>
+                               </property>
+                       </activation>
+                       <dependencies>
+                               <dependency>
+                                       <groupId>mysql</groupId>
+                                       
<artifactId>mysql-connector-java</artifactId>
+                                       <version>${mysql.version}</version>
+                               </dependency>
+                       </dependencies>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.4</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_4_rc1_r3326.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.4</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_4_rc1_r3326.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.5</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_5_rc1_r3393.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.5</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_5_rc1_r3393.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.6</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_6_2_r3675.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.6</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_6_2_r3675.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.7</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_7_0_r3822.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.7</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_7_0_r3822.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.8</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_8_8_r4555.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.8</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_8_8_r4555.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-1.9</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_1_9_1_r4707.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-1.9</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_1_9_1_r4707.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-2.0</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_2_0_0_r1361497.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-2.0</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_2_0_0_r1361497.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+               <profile>
+                       <id>prepare-test-data-backup-3.0</id>
+                       <activation>
+                               <file>
+                                       
<missing>test-data/backup_v_3_0_0_r1573585.zip</missing>
+                               </file>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                               <executions>
+                                                       <execution>
+                                                               
<id>download-test-data-3.0</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>download-single</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<url>https://dl.bintray.com/openmeetings/generic/backups</url>
+                                                                       
<fromFile>backup_v_3_0_0_r1573585.zip</fromFile>
+                                                                       
<toDir>${old-backups.dir}</toDir>
+                                                                       
<skip>${old-backups.dwnd.skip}</skip>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-war-plugin</artifactId>
+                               <configuration>
+                                       <archiveClasses>true</archiveClasses>
+                                       
<packagingExcludes>**/*.class</packagingExcludes>
+                                       
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
+                                       <skip>${om.quick.build}</skip>
+                               </configuration>
+                               <executions>
+                                       <execution>
+                                               <id>create-war</id>
+                                               <phase>prepare-package</phase>
+                                               <goals>
+                                                       <goal>exploded</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-dependency-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>copy-dependencies</id>
+                                               <phase>prepare-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>
+                                                       
<skip>${om.quick.build}</skip>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>copy-web-templates</id>
+                                               <phase>process-resources</phase>
+                                               <goals>
+                                                       
<goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       
<overwrite>true</overwrite>
+                                                       
<outputDirectory>${project.build.directory}/test-classes</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       
<directory>${project.basedir}/src/main/java</directory>
+                                                                       
<includes>
+                                                                               
<include>**/*.html</include>
+                                                                               
<include>**/*.css</include>
+                                                                               
<include>**/*.js</include>
+                                                                               
<include>**/*.xml</include>
+                                                                       
</includes>
+                                                               </resource>
+                                                               <resource>
+                                                                       
<directory>${project.parent.basedir}/openmeetings-service/src/main/java</directory>
+                                                                       
<includes>
+                                                                               
<include>**/*.html</include>
+                                                                               
<include>**/*.css</include>
+                                                                               
<include>**/*.js</include>
+                                                                               
<include>**/*.xml</include>
+                                                                       
</includes>
+                                                               </resource>
+                                                       </resources>
+                                                       
<skip>${om.quick.build}</skip>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-antrun-plugin</artifactId>
+                               <executions>
+                                       <execution><!-- FIXME should be 
refactored -->
+                                               <id>move-openjpa-resources</id>
+                                               <phase>process-resources</phase>
+                                               <configuration>
+                                                       <target>
+                                                               <copy 
todir="${project.build.directory}/test-root">
+                                                                       
<fileset dir="${project.basedir}/src/main/webapp"/>
+                                                               </copy>
+                                                               <copy 
file="${project.basedir}/src/main/webapp/WEB-INF/classes/META-INF/${db}_persistence.xml"
+                                                                       
tofile="${project.build.directory}/${project.build.finalName}/WEB-INF/classes/META-INF/persistence.xml"
 
+                                                                       
overwrite="true"/>
+                                                               <copy 
file="${project.basedir}/src/main/webapp/WEB-INF/classes/META-INF/${db}_persistence.xml"
+                                                                       
tofile="${project.build.directory}/test-classes/META-INF/persistence.xml" 
+                                                                       
overwrite="true"/>
+                                                       </target>
+                                               </configuration>
+                                               <goals>
+                                                       <goal>run</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               
<artifactId>maven-surefire-plugin</artifactId><!-- maybe integration tests 
should be used -->
+                               <inherited>true</inherited>
+                               <configuration>
+                                       
<workingDirectory>${project.build.directory}</workingDirectory>
+                                       
<excludedGroups>org.apache.openmeetings.test.selenium.SeleniumTests,org.apache.openmeetings.test.selenium.HeavyTests</excludedGroups>
+                                       <systemPropertyVariables>
+                                               
<om.home>${project.build.directory}/test-root</om.home>
+                                               
<languages.home>${project.basedir}/src/main/webapp/languages</languages.home>
+                                               <red5.root>red5.root</red5.root>
+                                               
<backups.dir>${old-backups.dir}</backups.dir>
+                                       </systemPropertyVariables>
+                                       <additionalClasspathElements>
+                                               
<additionalClasspathElement>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</additionalClasspathElement>
+                                       </additionalClasspathElements>
+                                       <skip>${maven.test.skip}</skip>
+                               </configuration>
+                       </plugin>
+               </plugins>
+               <testResources>
+                       <testResource>
+                               
<directory>${project.basedir}/src/main/webapp/WEB-INF/classes</directory>
+                       </testResource>
+               </testResources>
+               <pluginManagement>
+                       <plugins>
+                               <!--This plugin's configuration is used to 
store Eclipse m2e settings only. It has no influence on the Maven build 
itself.-->
+                               <plugin>
+                                       <groupId>org.eclipse.m2e</groupId>
+                                       
<artifactId>lifecycle-mapping</artifactId>
+                                       <version>1.0.0</version>
+                                       <configuration>
+                                               <lifecycleMappingMetadata>
+                                                       <pluginExecutions>
+                                                               
<pluginExecution>
+                                                                       
<pluginExecutionFilter>
+                                                                               
<groupId>org.apache.maven.plugins</groupId>
+                                                                               
<artifactId>maven-antrun-plugin</artifactId>
+                                                                               
<versionRange>[1.7,)</versionRange>
+                                                                               
<goals>
+                                                                               
        <goal>run</goal>
+                                                                               
</goals>
+                                                                       
</pluginExecutionFilter>
+                                                                       <action>
+                                                                               
<ignore></ignore>
+                                                                       
</action>
+                                                               
</pluginExecution>
+                                                               
<pluginExecution>
+                                                                       
<pluginExecutionFilter>
+                                                                               
<groupId>org.apache.maven.plugins</groupId>
+                                                                               
<artifactId>maven-dependency-plugin</artifactId>
+                                                                               
<versionRange>[2.8,)</versionRange>
+                                                                               
<goals>
+                                                                               
        <goal>copy-dependencies</goal>
+                                                                               
</goals>
+                                                                       
</pluginExecutionFilter>
+                                                                       <action>
+                                                                               
<ignore></ignore>
+                                                                       
</action>
+                                                               
</pluginExecution>
+                                                               
<pluginExecution>
+                                                                       
<pluginExecutionFilter>
+                                                                               
<groupId>org.codehaus.mojo</groupId>
+                                                                               
<artifactId>wagon-maven-plugin</artifactId>
+                                                                               
<versionRange>[1.0-beta-5,)</versionRange>
+                                                                               
<goals>
+                                                                               
        <goal>download</goal>
+                                                                               
        <goal>download-single</goal>
+                                                                               
</goals>
+                                                                       
</pluginExecutionFilter>
+                                                                       <action>
+                                                                               
<ignore></ignore>
+                                                                       
</action>
+                                                               
</pluginExecution>
+                                                               
<pluginExecution>
+                                                                       
<pluginExecutionFilter>
+                                                                               
<groupId>org.apache.maven.plugins</groupId>
+                                                                               
<artifactId>maven-war-plugin</artifactId>
+                                                                               
<versionRange>[2.4,)</versionRange>
+                                                                               
<goals>
+                                                                               
        <goal>exploded</goal>
+                                                                               
</goals>
+                                                                       
</pluginExecutionFilter>
+                                                                       <action>
+                                                                               
<ignore></ignore>
+                                                                       
</action>
+                                                               
</pluginExecution>
+                                                       </pluginExecutions>
+                                               </lifecycleMappingMetadata>
+                                       </configuration>
+                               </plugin>
+                       </plugins>
+               </pluginManagement>
+       </build>
+       <dependencies>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-util</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-db</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-install</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-service</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-webservice</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-orm</artifactId>
+               </dependency>
+               <dependency> <!-- TODO most probably should be removed -->
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-webmvc</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>ro.fortsoft.wicket.dashboard</groupId>
+                       <artifactId>wicket-dashboard-core</artifactId>
+                       <version>${wicket-dashboard.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-extensions</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-auth-roles</artifactId>
+                       <version>${wicket.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-native-websocket-core</artifactId>
+                       <version>${wicket.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-native-websocket-javax</artifactId>
+                       <version>${wicket.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-devutils</artifactId>
+                       <version>${wicket.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.wicket</groupId>
+                       <artifactId>wicket-datetime</artifactId>
+                       <version>${wicket.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-jquery-ui-core</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-jquery-ui</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-jquery-ui-calendar</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-jquery-ui-plugins</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-kendo-ui</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-kendo-ui-theme-default</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>com.googlecode.wicket-jquery-ui</groupId>
+                       <artifactId>wicket-kendo-ui-culture</artifactId>
+                       <version>${wicketju.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.wicketstuff</groupId>
+                       <artifactId>wicketstuff-urlfragment</artifactId>
+                       <version>${wickets.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.wicketstuff</groupId>
+                       <artifactId>wicketstuff-whiteboard</artifactId>
+                       <version>${wickets.version}</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>org.apache.wicket</groupId>
+                                       
<artifactId>wicket-native-websocket-tomcat</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+               <dependency>
+                       <groupId>org.wicketstuff</groupId>
+                       <artifactId>wicketstuff-select2</artifactId>
+                       <version>${wickets.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.wicketstuff</groupId>
+                       <artifactId>jqplot</artifactId>
+                       <version>${wickets.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>commons-io</groupId>
+                       <artifactId>commons-io</artifactId>
+                       <version>${commons-io.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>commons-fileupload</groupId>
+                       <artifactId>commons-fileupload</artifactId>
+                       <version>${commons-fileupload.version}</version>
+               </dependency>
+               <!-- Test dependencies -->
+               <dependency>
+                       <groupId>org.seleniumhq.selenium</groupId>
+                       <artifactId>selenium-java</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.openmeetings</groupId>
+                       <artifactId>openmeetings-core</artifactId>
+                       <version>${project.version}</version>
+                       <type>test-jar</type>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.cxf</groupId>
+                       <artifactId>cxf-rt-rs-client</artifactId>
+                       <version>${cxf.version}</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.tomcat.embed</groupId>
+                       <artifactId>tomcat-embed-websocket</artifactId>
+                       <version>8.0.26</version>
+                       <exclusions>
+                               <exclusion>
+                                       
<groupId>org.apache.tomcat.embed</groupId>
+                                       
<artifactId>tomcat-embed-core</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+       </dependencies>
+</project>

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
 Tue Nov  3 22:25:34 2015
@@ -28,10 +28,10 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.openmeetings.core.remote.UserService;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.user.IUserService;
 import org.apache.openmeetings.db.entity.room.Client;
-import org.apache.openmeetings.remote.UserService;
 import org.apache.openmeetings.web.admin.AdminPanel;
 import org.apache.openmeetings.web.admin.SearchableDataView;
 import org.apache.openmeetings.web.app.Application;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 Tue Nov  3 22:25:34 2015
@@ -33,7 +33,6 @@ import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.openmeetings.data.user.EmailManager;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.server.LdapConfigDao;
 import org.apache.openmeetings.db.dao.server.OAuth2Dao;
@@ -43,6 +42,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.mail.EmailManager;
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.ComunityUserForm;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Tue Nov  3 22:25:34 2015
@@ -19,6 +19,9 @@
 package org.apache.openmeetings.web.app;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static 
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
 import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
@@ -38,9 +41,12 @@ import javax.servlet.ServletContext;
 import org.apache.commons.collections.MapIterator;
 import org.apache.commons.collections.keyvalue.MultiKey;
 import org.apache.commons.collections.map.MultiKeyMap;
+import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.apache.openmeetings.web.pages.ActivatePage;
 import org.apache.openmeetings.web.pages.MainPage;
@@ -75,7 +81,9 @@ import org.apache.wicket.protocol.http.W
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.component.IRequestablePage;
+import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.info.PageComponentInfo;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
 import org.apache.wicket.util.tester.WicketTester;
 import org.slf4j.Logger;
@@ -88,7 +96,7 @@ import ro.fortsoft.wicket.dashboard.web.
 import ro.fortsoft.wicket.dashboard.web.DashboardContextInjector;
 import ro.fortsoft.wicket.dashboard.web.DashboardSettings;
 
-public class Application extends AuthenticatedWebApplication {
+public class Application extends AuthenticatedWebApplication implements 
IApplication {
        private static final Logger log = getLogger(Application.class, 
webAppRootKey);
        private static boolean isInstalled;
        private static MultiKeyMap ONLINE_USERS = new MultiKeyMap(); 
@@ -103,7 +111,7 @@ public class Application extends Authent
        
        @Override
        protected void init() {
-               appName = super.getName();
+               wicketApplicationName = super.getName();
                getSecuritySettings().setAuthenticationStrategy(new 
OmAuthenticationStrategy());
                
                //Add custom resource loader at the beginning, so it will be 
checked first in the 
@@ -213,15 +221,15 @@ public class Application extends Authent
        }
        
        public static boolean isUserOnline(Long userId) {
-        MapIterator it = ONLINE_USERS.mapIterator();
-        boolean isUserOnline = false;
-        while (it.hasNext()) {
-            MultiKey multi = (MultiKey) it.next();
-            if (multi.size() > 0 && userId.equals(multi.getKey(0))){
-               isUserOnline = true;
-               break;
-            }
-        } 
+               MapIterator it = ONLINE_USERS.mapIterator();
+               boolean isUserOnline = false;
+               while (it.hasNext()) {
+                       MultiKey multi = (MultiKey) it.next();
+                       if (multi.size() > 0 && userId.equals(multi.getKey(0))) 
{
+                               isUserOnline = true;
+                               break;
+                       }
+               } 
                return isUserOnline;
        }
 
@@ -238,10 +246,14 @@ public class Application extends Authent
                return (WebClient) ONLINE_USERS.get(userId, sessionId);
        }
        
-       public static void invalidateClient(WebClient client) {
-               if (!INVALID_SESSIONS.containsKey(client.getSessionId())) {
-                       INVALID_SESSIONS.put(client.getSessionId(), client);
-                       removeOnlineUser(client);
+       @Override
+       public void invalidateClient(Long userId, String sessionId) {
+               WebClient client = getClientByKeys(userId, sessionId);
+               if (client != null) {
+                       if 
(!INVALID_SESSIONS.containsKey(client.getSessionId())) {
+                               INVALID_SESSIONS.put(client.getSessionId(), 
client);
+                               removeOnlineUser(client);
+                       }
                }
        }
        
@@ -265,30 +277,38 @@ public class Application extends Authent
                return getString(id, WebSession.getLanguage());
        }
 
-       public static String getString(long id, final long languageId) {
+       public static Locale getLocale(final long languageId) {
                Locale loc = LabelDao.languages.get(languageId);
                if (loc == null) {
                        loc = WebSession.exists() ? 
WebSession.get().getLocale() : Locale.ENGLISH;
                }
-               return getString(id, loc);
+               return loc;
+       }
+       
+       public static String getString(String key, final long languageId) {
+               return getString(key, getLocale(languageId), false);
+       }
+       
+       public static String getString(long id, final long languageId) {
+               return getString(id, getLocale(languageId));
        }
        
        public static String getString(long id, final Locale loc) {
-               return getString(id, loc, false);
+               return getString("" + id, loc, false);
        }
        
-       public static String getString(long id, final Locale loc, boolean 
noReplace) {
+       public static String getString(String key, final Locale loc, boolean 
noReplace) {
                if (!exists()) {
                        ThreadContext.setApplication(Application.get(appName));
                }
                Localizer l = get().getResourceSettings().getLocalizer();
-               String value = l.getStringIgnoreSettings("" + id, null, null, 
loc, null, "[Missing]");
-               if (!noReplace && STRINGS_WITH_APP.contains(id)) {
+               String value = l.getStringIgnoreSettings(key, null, null, loc, 
null, "[Missing]");
+               if (!noReplace && STRINGS_WITH_APP.contains(key)) {
                        final MessageFormat format = new MessageFormat(value, 
loc);
                        value = format.format(new 
Object[]{getBean(ConfigurationDao.class).getAppName()});
                }
                if (!noReplace && RuntimeConfigurationType.DEVELOPMENT == 
get().getConfigurationType()) {
-                       value += String.format(" [%s]", id);
+                       value += String.format(" [%s]", key);
                }
                return value;
        }
@@ -348,7 +368,59 @@ public class Application extends Authent
                }
        }
        
-       public static String getAppName() {
-               return appName;
+       public <T> T getOmBean(Class<T> clazz) { //FIXME hack for email 
templates support (should be in separate module for now
+               return Application.getBean(clazz);
+       }
+
+       public static String getContactsLink() {
+               return PROFILE_MESSAGES.getLink();
+       }
+
+       public String getOmContactsLink() { //FIXME hack for email templates 
support (should be in separate module for now
+               return getContactsLink();
+       }
+
+       public static String getInvitationLink(String baseUrl, Invitation i) {
+               String link = baseUrl;
+               if (link == null) {
+                       return null;
+               }
+               if (i.getRoom() != null) {
+                       if (i.getInvitee().getType() == Type.contact) {
+                               link += "?invitationHash=" + i.getHash();
+               
+                               if (i.getInvitee().getLanguage_id() > 0) {
+                                       link += "&language=" + 
i.getInvitee().getLanguage_id().toString();
+                               }
+                       } else {
+                               link = 
getRoomUrlFragment(i.getRoom().getRooms_id()).getLink();
+                       }
+               }
+               return link;
+       }
+       
+       public String getOmInvitationLink(String baseUrl, Invitation i) { 
//FIXME hack for email templates support (should be in separate module for now
+               return getInvitationLink(baseUrl, i);
+       }
+       
+       public static String urlForPage(Class<? extends Page> clazz, 
PageParameters pp) {
+               RequestCycle rc = RequestCycle.get();
+               return 
rc.getUrlRenderer().renderFullUrl(Url.parse(getBean(ConfigurationDao.class).getBaseUrl()
 + rc.urlFor(clazz, pp)));
+       }
+
+       public String urlForActivatePage(PageParameters pp) { //FIXME hack for 
email templates support (should be in separate module for now
+               return urlForPage(ActivatePage.class, pp);
+       }
+
+       public String getOmString(long id) {
+               return getString(id);
+       }
+       
+       public String getOmString(long id, long languageId) {
+               return getString(id, languageId);
+       }
+
+       public String getOmString(String key, long languageId) {
+               return getString(key, languageId);
        }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Tue Nov  3 22:25:34 2015
@@ -58,7 +58,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.util.TimezoneUtil;
-import org.apache.openmeetings.ldap.LdapLoginManagement;
+import org.apache.openmeetings.core.ldap.LdapLoginManagement;
 import org.apache.openmeetings.util.OmException;
 import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
 Tue Nov  3 22:25:34 2015
@@ -18,9 +18,9 @@
  */
 package org.apache.openmeetings.web.common;
 
+import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.util.FormatHelper;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.IModel;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MenuPanel.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MenuPanel.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MenuPanel.java
 Tue Nov  3 22:25:34 2015
@@ -21,7 +21,7 @@ package org.apache.openmeetings.web.comm
 import org.apache.openmeetings.db.dao.basic.NavigationDao;
 import org.apache.openmeetings.db.entity.basic.Naviglobal;
 import org.apache.openmeetings.db.entity.basic.Navimain;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.java
 Tue Nov  3 22:25:34 2015
@@ -22,7 +22,7 @@ import static org.apache.openmeetings.we
 
 import java.util.List;
 
-import org.apache.openmeetings.converter.GenerateImage;
+import org.apache.openmeetings.core.converter.GenerateImage;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.util.StoredFile;
 import org.apache.openmeetings.web.util.BootstrapFileUploadBehavior;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/ActivatePage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/ActivatePage.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/ActivatePage.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/ActivatePage.java
 Tue Nov  3 22:25:34 2015
@@ -23,7 +23,7 @@ import java.util.Date;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 Tue Nov  3 22:25:34 2015
@@ -21,8 +21,8 @@ package org.apache.openmeetings.web.page
 import static org.apache.openmeetings.web.app.Application.getBean;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.util.FormatHelper;
 
 public abstract class BaseInitedPage extends BasePage {
        private static final long serialVersionUID = 1L;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
 Tue Nov  3 22:25:34 2015
@@ -18,10 +18,10 @@
  */
 package org.apache.openmeetings.web.pages;
 
+import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.util.FormatHelper;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.request.IRequestParameters;
 

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
 Tue Nov  3 22:25:34 2015
@@ -25,13 +25,13 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.openmeetings.core.mail.MailHandler;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.mail.MailHandler;
+import org.apache.openmeetings.service.mail.template.ResetPasswordTemplate;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.mail.template.ResetPasswordTemplate;
 import org.apache.openmeetings.web.pages.ResetPage;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
 Tue Nov  3 22:25:34 2015
@@ -38,12 +38,12 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
-import org.apache.openmeetings.cli.ConnectionProperties;
-import org.apache.openmeetings.cli.ConnectionProperties.DbType;
 import org.apache.openmeetings.cli.ConnectionPropertiesPatcher;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
+import org.apache.openmeetings.util.ConnectionProperties;
+import org.apache.openmeetings.util.ConnectionProperties.DbType;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 Tue Nov  3 22:25:34 2015
@@ -18,9 +18,9 @@
  */
 package org.apache.openmeetings.web.room;
 
-import static org.apache.openmeetings.util.LinkHelper.getInvitationLink;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -31,21 +31,21 @@ import java.util.Calendar;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.openmeetings.data.conference.InvitationManager;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.calendar.IInvitationManager.MessageType;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.OrganisationDao;
 import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.Organisation;
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.MD5;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.Application;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
 Tue Nov  3 22:25:34 2015
@@ -23,8 +23,8 @@ import static org.apache.openmeetings.we
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.server.ClientSessionInfo;
 import org.apache.openmeetings.db.entity.room.Client;
-import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
-import org.apache.openmeetings.session.SessionManager;
+import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.core.session.SessionManager;
 import org.red5.server.api.IConnection;
 
 public class RoomBroadcaster {

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Tue Nov  3 22:25:34 2015
@@ -39,7 +39,7 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.session.SessionManager;
+import org.apache.openmeetings.core.session.SessionManager;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
 import org.apache.openmeetings.web.room.poll.CreatePollDialog;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 Tue Nov  3 22:25:34 2015
@@ -45,12 +45,12 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.RoomType;
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.OmDateTimePicker;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
-import org.apache.openmeetings.web.util.FormatHelper;
 import org.apache.openmeetings.web.util.RoomTypeDropDown;
 import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxRequestTarget;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetView.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetView.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RssWidgetView.java
 Tue Nov  3 22:25:34 2015
@@ -18,7 +18,7 @@
  */
 package org.apache.openmeetings.web.user.dashboard;
 
-import static org.apache.openmeetings.rss.LoadAtomRssFeed.getFeedConnection;
+import static 
org.apache.openmeetings.core.rss.LoadAtomRssFeed.getFeedConnection;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_RSS_FEED1_KEY;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_RSS_FEED2_KEY;
 import static org.apache.openmeetings.web.app.Application.getBean;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
 Tue Nov  3 22:25:34 2015
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.user
 import static 
org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
 import static 
org.apache.openmeetings.db.entity.user.PrivateMessage.SENT_FOLDER_ID;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.util.CalendarWebHelper.getZoneId;
 import static org.apache.openmeetings.web.util.RoomTypeDropDown.getRoomTypes;
@@ -31,7 +32,6 @@ import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 
-import org.apache.openmeetings.data.conference.InvitationManager;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -45,9 +45,9 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.PrivateMessage;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
-import org.apache.openmeetings.mail.MailHandler;
+import org.apache.openmeetings.service.room.InvitationManager;
+import org.apache.openmeetings.core.mail.MailHandler;
 import org.apache.openmeetings.util.CalendarHelper;
-import org.apache.openmeetings.util.LinkHelper;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.OmDateTimePicker;
 import org.apache.openmeetings.web.util.CalendarWebHelper;
@@ -244,7 +244,7 @@ public class MessageDialog extends Abstr
                                                        , 
CalendarHelper.getDate(start.getModelObject(), to.getTimeZoneId())
                                                        , 
CalendarHelper.getDate(end.getModelObject(), to.getTimeZoneId()), null);
                                        
-                                       invitation_link = 
LinkHelper.getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(), i);
+                                       invitation_link = 
getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(), i);
 
                                        if (invitation_link == null) {
                                                invitation_link = "";

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Tue Nov  3 22:25:34 2015
@@ -27,9 +27,9 @@ import static org.apache.openmeetings.we
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.openmeetings.converter.FlvInterviewConverter;
-import org.apache.openmeetings.converter.FlvRecorderConverter;
-import org.apache.openmeetings.converter.IRecordingConverter;
+import org.apache.openmeetings.core.converter.FlvInterviewConverter;
+import org.apache.openmeetings.core.converter.FlvRecorderConverter;
+import org.apache.openmeetings.core.converter.IRecordingConverter;
 import org.apache.openmeetings.db.dao.record.FlvRecordingMetaDataDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.entity.record.FlvRecording;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ContactsHelper.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ContactsHelper.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ContactsHelper.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ContactsHelper.java
 Tue Nov  3 22:25:34 2015
@@ -24,17 +24,17 @@ import static org.apache.openmeetings.we
 
 import java.util.Date;
 
+import org.apache.openmeetings.core.mail.MailHandler;
 import org.apache.openmeetings.db.dao.user.PrivateMessagesDao;
 import org.apache.openmeetings.db.dao.user.UserContactsDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.UserContact;
-import org.apache.openmeetings.mail.MailHandler;
+import 
org.apache.openmeetings.service.mail.template.RequestContactConfirmTemplate;
+import org.apache.openmeetings.service.mail.template.RequestContactTemplate;
 import org.apache.openmeetings.util.CalendarPatterns;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.mail.template.RequestContactConfirmTemplate;
-import org.apache.openmeetings.web.mail.template.RequestContactTemplate;
 
 public class ContactsHelper {
        public static long addUserToContactList(long userIdToAdd) {

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
 Tue Nov  3 22:25:34 2015
@@ -29,6 +29,7 @@ import java.util.Map;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.wicket.ajax.json.JSONException;
 import org.apache.wicket.ajax.json.JSONWriter;
 import 
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;

Added: openmeetings/branches/3.1.x/openmeetings-web/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/site/site.xml?rev=1712427&view=auto
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-web/src/site/site.xml (added)
+++ openmeetings/branches/3.1.x/openmeetings-web/src/site/site.xml Tue Nov  3 
22:25:34 2015
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/DECORATION/1.6.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 
http://maven.apache.org/xsd/decoration-1.6.0.xsd";
+  name="Apache OpenMeetings Project">
+
+       <body>
+               <menu ref="parent"/>
+               <menu name="Project">
+                       <item name="About" href="/index.html" />
+                       <item name="Info" href="/project-info.html" />
+                       <item name="Summary" href="/project-summary.html" />
+                       <item name="License" href="/license.html" />
+                       <item name="Dependencies" href="/dependencies.html" />
+                       <item name="Dependency Convergence" 
href="/dependency-convergence.html" />
+                       <item name="RAT Report" href="/rat-report.html" />
+                       <item name="JavaDoc" href="/apidocs/index.html" 
target="_blank" />
+               </menu>
+       </body>
+</project>

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentAddAppointment.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentAddAppointment.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentAddAppointment.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentAddAppointment.java
 Tue Nov  3 22:25:34 2015
@@ -23,9 +23,9 @@ import static org.junit.Assert.assertTru
 
 import java.util.Calendar;
 
-import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.service.calendar.AppointmentLogic;
 import org.apache.openmeetings.test.AbstractWicketTester;
 import org.junit.Test;
 import org.red5.logging.Red5LoggerFactory;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentSchedulerTask.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentSchedulerTask.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentSchedulerTask.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentSchedulerTask.java
 Tue Nov  3 22:25:34 2015
@@ -20,7 +20,7 @@ package org.apache.openmeetings.test.cal
 
 import static org.junit.Assert.assertTrue;
 
-import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
+import org.apache.openmeetings.service.calendar.AppointmentLogic;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.junit.Test;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java
 Tue Nov  3 22:25:34 2015
@@ -19,9 +19,9 @@
 package org.apache.openmeetings.test.calendar;
 
 import org.apache.log4j.Logger;
-import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.db.dto.basic.SearchResult;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.service.user.UserManager;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
 Tue Nov  3 22:25:34 2015
@@ -21,14 +21,14 @@ package org.apache.openmeetings.test.inv
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import org.apache.axis2.AxisFault;
-import org.apache.openmeetings.axis.services.UserWebService;
+import org.apache.openmeetings.core.remote.InvitationService;
+import org.apache.openmeetings.core.remote.MainService;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.remote.InvitationService;
-import org.apache.openmeetings.remote.MainService;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
+import org.apache.openmeetings.webservice.UserWebService;
+import org.apache.openmeetings.webservice.error.ServiceException;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -43,7 +43,7 @@ public class TestInvitation extends Abst
        private UserDao userDao;
        
        @Test
-       public void testSendInvitationLink() throws AxisFault {
+       public void testSendInvitationLink() throws ServiceException {
                Sessiondata sessionData = mService.getsessiondata();
                
                Long uid = 
userWebService.loginUser(sessionData.getSession_id(), username, userpass);

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
 Tue Nov  3 22:25:34 2015
@@ -19,7 +19,7 @@
 package org.apache.openmeetings.test.library;
 
 import org.apache.log4j.Logger;
-import org.apache.openmeetings.documents.LibraryWmlLoader;
+import org.apache.openmeetings.core.documents.LibraryWmlLoader;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 Tue Nov  3 22:25:34 2015
@@ -24,6 +24,7 @@ import org.apache.openmeetings.db.dao.la
 import org.apache.openmeetings.test.AbstractSpringTest;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.experimental.categories.Category;
 import org.openqa.selenium.Keys;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
@@ -31,6 +32,7 @@ import org.openqa.selenium.firefox.Firef
 import org.openqa.selenium.firefox.FirefoxProfile;
 import org.springframework.beans.factory.annotation.Autowired;
 
+@Category(SeleniumTests.class)
 public abstract class AbstractTestDefaults extends AbstractSpringTest {
        
        @Autowired

Added: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java?rev=1712427&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
 Tue Nov  3 22:25:34 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.selenium;
+
+public @interface HeavyTests {
+
+}

Added: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java?rev=1712427&view=auto
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
 (added)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
 Tue Nov  3 22:25:34 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.selenium;
+
+public @interface SeleniumTests {
+
+}

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java?rev=1712427&r1=1711723&r2=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
 Tue Nov  3 22:25:34 2015
@@ -26,8 +26,8 @@ import java.util.Date;
 import java.util.Random;
 
 import org.apache.openmeetings.db.entity.room.Client;
-import org.apache.openmeetings.session.store.HashMapStore;
-import org.apache.openmeetings.session.store.IClientPersistenceStore;
+import org.apache.openmeetings.core.session.store.HashMapStore;
+import org.apache.openmeetings.core.session.store.IClientPersistenceStore;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;

Copied: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
 (from r1711723, 
openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java?p2=openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java&p1=openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java&r1=1711723&r2=1712427&rev=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
 Tue Nov  3 22:25:34 2015
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import java.util.List;
+import java.util.Random;
 
 import org.apache.openmeetings.db.dao.user.OrganisationDao;
 import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
@@ -31,6 +32,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
+import org.apache.openmeetings.test.selenium.HeavyTests;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -74,4 +76,24 @@ public class TestUserOrganisation extend
                List<Organisation_Users> ul = orgUserDao.get(orgId, 0, 9999);
                assertTrue("New Organisation should contain NO users: " + 
ul.size(), ul.size() == 0);
        }
+
+       @Test
+       @HeavyTests
+       public void add10kUsers() throws Exception {
+               List<Organisation> groups = orgDao.get(ORG_NAME, 0, 1, null);
+               Organisation o = null;
+               if (groups == null || groups.isEmpty()) {
+                       o = new Organisation();
+                       o.setName(ORG_NAME);
+                       o = orgDao.update(o, null);
+               } else {
+                       o = groups.get(0);
+               }
+               Random rnd = new Random();
+               for (int i = 0; i < 10000; ++i) {
+                       User u = createUser(rnd.nextInt());
+                       u.getOrganisation_users().add(new 
Organisation_Users(o));
+                       usersDao.update(u, null);
+               }
+       }
 }

Copied: 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
 (from r1711723, 
openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java?p2=openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java&p1=openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java&r1=1711723&r2=1712427&rev=1712427&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
 Tue Nov  3 22:25:34 2015
@@ -19,7 +19,7 @@
 package org.apache.openmeetings.test.userdata;
 
 import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.remote.MainService;
+import org.apache.openmeetings.core.remote.MainService;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.junit.Test;

Propchange: openmeetings/branches/3.1.x/openmeetings-webservice/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Nov  3 22:25:34 2015
@@ -0,0 +1,5 @@
+target
+.project
+.classpath
+.settings
+



Reply via email to