Modified: 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 Thu May 12 11:35:22 2016
@@ -18,9 +18,9 @@
  */
 package org.apache.openmeetings.service.room;
 
+import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static org.apache.openmeetings.util.CalendarHelper.getZoneId;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 
 import java.util.Date;
 import java.util.Map;
@@ -53,7 +53,6 @@ import org.apache.openmeetings.service.m
 import org.apache.openmeetings.util.CalendarHelper;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.util.mail.IcalHandler;
-import org.apache.wicket.Application;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -108,12 +107,16 @@ public class InvitationManager implement
                                break;
                        
                }
-               sendInvitionLink(mm.getInvitation(), type, t.getSubject(), 
t.getEmail(), ical);
+               sendInvitationLink(mm.getInvitation(), type, t.getSubject(), 
t.getEmail(), ical);
        }
        
        @Override
-       public void sendInvitionLink(Invitation i, MessageType type, String 
subject, String message, boolean ical) throws Exception {
-               String invitation_link = type == MessageType.Cancel ? null : 
((IApplication)Application.get(wicketApplicationName)).getOmInvitationLink(configDao.getBaseUrl(),
 i); //TODO check for exceptions
+       public void sendInvitationLink(Invitation i, MessageType type, String 
subject, String message, boolean ical) throws Exception {
+               String invitation_link = null;
+               if (type != MessageType.Cancel) {
+                       IApplication app = ensureApplication(1L);
+                       invitation_link = 
app.getOmInvitationLink(configDao.getBaseUrl(), i);
+               }
                User owner = i.getInvitedBy();
                
                String invitorName = owner.getFirstname() + " " + 
owner.getLastname();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Thu May 12 11:35:22 2016
@@ -23,7 +23,6 @@ import static org.apache.openmeetings.ut
 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;
 
 import java.text.MessageFormat;
@@ -37,8 +36,6 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.servlet.ServletContext;
-
 import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.core.remote.MainService;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -91,10 +88,8 @@ import org.apache.wicket.request.mapper.
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
 import org.apache.wicket.util.collections.ConcurrentHashSet;
-import org.apache.wicket.util.tester.WicketTester;
 import org.slf4j.Logger;
 import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
 
 import ro.fortsoft.wicket.dashboard.WidgetRegistry;
 import ro.fortsoft.wicket.dashboard.web.DashboardContext;
@@ -440,39 +435,6 @@ public class Application extends Authent
                }
        }
        
-       public static WicketTester getWicketTester() {
-               return getWicketTester(-1);
-       }
-       
-       public static WicketTester getWicketTester(long langId) {
-               Application app = new Application();
-               
-               WicketTester tester = new WicketTester(app);
-               ServletContext sc = app.getServletContext();
-               XmlWebApplicationContext xmlContext = new 
XmlWebApplicationContext();
-               
xmlContext.setConfigLocation("classpath:openmeetings-applicationContext.xml");
-               xmlContext.setServletContext(sc);
-               xmlContext.refresh();
-               sc.setAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, 
xmlContext);
-               if (langId > 0) {
-                       WebSession.get().setLanguage(langId);
-               }
-               InitializationContainer.initComplete = true;
-               return tester;
-       }
-       
-       public static void destroy(WicketTester tester) {
-               if (tester != null) {
-                       ServletContext sc = tester.getServletContext();
-                       try {
-                               
((XmlWebApplicationContext)sc.getAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)).close();
-                       } catch (Exception e) {
-                               log.error("Unexpected error while destroying 
XmlWebApplicationContext", e);
-                       }
-                       tester.destroy();
-               }
-       }
-       
        @Override
        public <T> T getOmBean(Class<T> clazz) { //FIXME hack for email 
templates support (should be in separate module for now
                return Application.getBean(clazz);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
 Thu May 12 11:35:22 2016
@@ -1920,4 +1920,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unerwarteter Fehler 
während dem Cleanup</entry>
        <entry key="room.action.request.right.moderator">möchte Moderator 
dieses Raums sein.</entry>
        <entry key="admin.room.hidden.elements">versteckte Raumfeatures</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
 Thu May 12 11:35:22 2016
@@ -1904,4 +1904,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
 Thu May 12 11:35:22 2016
@@ -1876,4 +1876,12 @@
   <entry key="dashboard.widget.admin.cleanup.error">Erreur inattendue en 
effectuant le nettoyage</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
 Thu May 12 11:35:22 2016
@@ -1898,4 +1898,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
 Thu May 12 11:35:22 2016
@@ -1912,4 +1912,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 Thu May 12 11:35:22 2016
@@ -1916,4 +1916,12 @@
        <entry 
key="dashboard.widget.admin.cleanup.error">Неизвестная ошибка 
при попытке очистить</entry>
        <entry key="room.action.request.right.moderator">хочет быть 
модератором в этой комнате.</entry>
        <entry key="admin.room.hidden.elements">Скрытые элементы 
комнаты</entry>
+       <entry key="install.room.public.interview">Публичная 
комната для интервью</entry>
+       <entry key="install.room.public.conference">Публичная 
комната для конференций</entry>
+       <entry key="install.room.public.video.only">Публичная 
комната только для видео</entry>
+       <entry key="install.room.public.video.wb">Публичная 
комната для видео с доской</entry>
+       <entry key="install.room.public.restricted">Публичная 
расширенная комната</entry>
+       <entry key="install.room.restricted.micro">Расширенная 
комната со статусом микрофона</entry>
+       <entry key="install.room.conference.micro">Комната для 
конференций со статусом микрофона</entry>
+       <entry key="install.room.private.conference">Закрытая 
комната для конференций</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 Thu May 12 11:35:22 2016
@@ -1880,4 +1880,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 Thu May 12 11:35:22 2016
@@ -1910,4 +1910,12 @@
        <entry key="dashboard.widget.admin.cleanup.error">Unexpected error 
while performing cleanup</entry>
        <entry key="room.action.request.right.moderator">would like to be 
moderator of this room.</entry>
        <entry key="admin.room.hidden.elements">Hidden room elements</entry>
+       <entry key="install.room.public.interview">Public Interview Room</entry>
+       <entry key="install.room.public.conference">Public Conference 
Room</entry>
+       <entry key="install.room.public.video.only">Public Video Only 
Room</entry>
+       <entry key="install.room.public.video.wb">Public Video And Whiteboard 
Room</entry>
+       <entry key="install.room.public.restricted">Public Restricted 
Room</entry>
+       <entry key="install.room.restricted.micro">Restricted room with micro 
option set</entry>
+       <entry key="install.room.conference.micro">Conference room with micro 
option set</entry>
+       <entry key="install.room.private.conference">Private Conference 
Room</entry>
 </properties>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/InvitationDialog.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/InvitationDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/InvitationDialog.java
 Thu May 12 11:35:22 2016
@@ -235,7 +235,7 @@ public class InvitationDialog extends Ab
                                        for (User u : 
recipients.getModelObject()) {
                                                Invitation i = create(u);
                                                try {
-                                                       
getBean(InvitationManager.class).sendInvitionLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
+                                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
                                                } catch (Exception e) {
                                                        log.error("error while 
sending invitation by User ", e);
                                                }
@@ -245,7 +245,7 @@ public class InvitationDialog extends Ab
                                                for (GroupUser ou : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
                                                        Invitation i = 
create(ou.getUser());
                                                        try {
-                                                               
getBean(InvitationManager.class).sendInvitionLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
+                                                               
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
                                                        } catch (Exception e) {
                                                                
log.error("error while sending invitation by Group ", e);
                                                        }
@@ -255,7 +255,7 @@ public class InvitationDialog extends Ab
                        } else {
                                Invitation i = form.getModelObject();
                                try {
-                                       
getBean(InvitationManager.class).sendInvitionLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
+                                       
getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
                                } catch (Exception e) {
                                        log.error("error while sending 
invitation by URL ", e);
                                }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 Thu May 12 11:35:22 2016
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.test;
 
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.configKeyCryptClassName;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 import static org.junit.Assert.assertNotNull;
 
 import java.util.Date;
@@ -56,6 +57,7 @@ public abstract class AbstractJUnitDefau
 
        @Before
        public void setUp() throws Exception {
+               wicketApplicationName = "openmeetings";
                configurationDao.getCryptKey();
                if (userDao.count() < 1) {
                        makeDefaultScheme();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 Thu May 12 11:35:22 2016
@@ -18,7 +18,7 @@
  */
 package org.apache.openmeetings.test;
 
-import static org.apache.openmeetings.web.app.Application.getWicketTester;
+import static 
org.apache.openmeetings.db.util.ApplicationHelper.getWicketTester;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Thu May 12 11:35:22 2016
@@ -467,7 +467,7 @@ public class RoomWebService {
                                
                                if (i != null) {
                                        if (sendmail) {
-                                               
invitationManager.sendInvitionLink(i, MessageType.Create, invite.getSubject(), 
invite.getMessage(), false);
+                                               
invitationManager.sendInvitationLink(i, MessageType.Create, 
invite.getSubject(), invite.getMessage(), false);
                                        }
                                        return new ServiceResult(1L, 
i.getHash(), Type.SUCCESS);
                                } else {

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 Thu May 12 11:35:22 2016
@@ -123,7 +123,7 @@ public class InvitationService implement
 
                                if (invitation != null) {
                                        if (sendMail) {
-                                               
invitationManager.sendInvitionLink(invitation, MessageType.Create, subject, 
message, false);
+                                               
invitationManager.sendInvitationLink(invitation, MessageType.Create, subject, 
message, false);
                                        }
 
                                        return invitation;
@@ -147,7 +147,7 @@ public class InvitationService implement
                if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                        Invitation inv = 
(Invitation)invitationManager.getInvitationByHashCode(invitationHash, false);
                        inv.getInvitee().setLanguageId(languageId);
-                       invitationManager.sendInvitionLink(inv, 
MessageType.Create, subject, message, false);
+                       invitationManager.sendInvitationLink(inv, 
MessageType.Create, subject, message, false);
                } else {
                        return "Need User Privileges to perfom the Action";
                }

Modified: openmeetings/application/trunk/openmeetings-db/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/pom.xml?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-db/pom.xml Thu May 12 11:35:22 
2016
@@ -59,6 +59,15 @@
                        <version>${spring.version}</version>
                </dependency>
                <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-web</artifactId>
+                       <version>${spring.version}</version>
+               </dependency>
+               <dependency>
                        <groupId>org.simpleframework</groupId>
                        <artifactId>simple-xml</artifactId>
                </dependency>

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 Thu May 12 11:35:22 2016
@@ -18,8 +18,8 @@
  */
 package org.apache.openmeetings.db.dao.label;
 
+import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 
 import java.io.File;
 import java.io.InputStream;
@@ -42,22 +42,11 @@ import javax.xml.parsers.SAXParserFactor
 
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.Predicate;
-import org.apache.openmeetings.IApplication;
-import org.apache.openmeetings.IWebSession;
 import org.apache.openmeetings.db.dao.IDataProviderDao;
 import org.apache.openmeetings.db.entity.label.StringLabel;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.XmlExport;
-import org.apache.wicket.Application;
-import org.apache.wicket.ThreadContext;
 import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
-import org.apache.wicket.mock.MockWebResponse;
-import org.apache.wicket.protocol.http.WebSession;
-import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
-import org.apache.wicket.protocol.http.mock.MockHttpSession;
-import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.request.cycle.RequestCycleContext;
 import org.apache.wicket.util.string.Strings;
 import org.dom4j.Document;
 import org.dom4j.Element;
@@ -119,44 +108,30 @@ public class LabelDao implements IDataPr
                labelCache.put(l, new ArrayList<StringLabel>());
        }
        
-       public static IApplication getApp(long langId) {
-               IApplication a = null;
-               if (Application.exists()) {
-                       a = (IApplication)Application.get();
-               } else {
-                       Application app = 
Application.get(wicketApplicationName);
-                       ThreadContext.setApplication(app);
-                       a = 
(IApplication)Application.get(wicketApplicationName);
-               }
-               if (ThreadContext.getRequestCycle() == null) {
-                       ServletWebRequest req = new ServletWebRequest(new 
MockHttpServletRequest((Application)a, new 
MockHttpSession(a.getServletContext()), a.getServletContext()), "");
-                       RequestCycleContext rctx = new RequestCycleContext(req, 
new MockWebResponse(), a.getRootRequestMapper(), 
a.getExceptionMapperProvider().get()); 
-                       ThreadContext.setRequestCycle(new RequestCycle(rctx));
-               }
-               if (ThreadContext.getSession() == null) {
-                       WebSession s = WebSession.get();
-                       ((IWebSession)s).setLanguage(langId);
-                       ThreadContext.setSession(s);
-               }
-               return a;
-       }
-       
        public String getString(long fieldValuesId, long langId) {
-               return getApp(langId).getOmString(fieldValuesId, langId);
+               return ensureApplication(langId).getOmString(fieldValuesId, 
langId);
        }
 
        public String getString(String key, long langId) {
-               return getApp(langId).getOmString(key, langId);
+               return ensureApplication(langId).getOmString(key, langId);
        }
 
        private static File getLangFile() {
                return new File(OmFileHelper.getLanguagesDir(), 
OmFileHelper.nameOfLanguageFile);
        }
        
+       public static Class<?> getAppClass() throws ClassNotFoundException {
+               if (APP == null) {
+                       //FIXME HACK to resolve package dependencies
+                       APP = 
Class.forName("org.apache.openmeetings.web.app.Application");
+               }
+               return APP;
+       }
+       
        public static void initLanguageMap() {
                SAXReader reader = new SAXReader();
                try {
-                       APP = 
Class.forName("org.apache.openmeetings.web.app.Application"); //FIXME HACK to 
resolve package dependencies
+                       getAppClass();
                        Document document = reader.read(getLangFile());
                        Element root = document.getRootElement();
                        languages.clear();

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
 Thu May 12 11:35:22 2016
@@ -43,7 +43,7 @@ public interface IInvitationManager {
                        User createdBy, Long languageId, Date gmtTimeStart, 
Date gmtTimeEnd
                        , Appointment appointment);
        
-       void sendInvitionLink(Invitation i, MessageType type, String subject, 
String message, boolean ical) throws Exception ;
+       void sendInvitationLink(Invitation i, MessageType type, String subject, 
String message, boolean ical) throws Exception ;
        
        Object checkInvitationPass(String hashCode, String pass);
        

Added: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743492&view=auto
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
 (added)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
 Thu May 12 11:35:22 2016
@@ -0,0 +1,124 @@
+/*
+ * 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.db.util;
+
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static org.red5.logging.Red5LoggerFactory.getLogger;
+import static 
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+
+import org.apache.openmeetings.IApplication;
+import org.apache.openmeetings.IWebSession;
+import org.apache.openmeetings.db.dao.label.LabelDao;
+import org.apache.openmeetings.util.InitializationContainer;
+import org.apache.openmeetings.util.OMContextListener;
+import org.apache.wicket.Application;
+import org.apache.wicket.RuntimeConfigurationType;
+import org.apache.wicket.ThreadContext;
+import org.apache.wicket.mock.MockWebResponse;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.protocol.http.WebSession;
+import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
+import org.apache.wicket.protocol.http.mock.MockHttpSession;
+import org.apache.wicket.protocol.http.mock.MockServletContext;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.cycle.RequestCycleContext;
+import org.apache.wicket.util.tester.WicketTester;
+import org.slf4j.Logger;
+import org.springframework.web.context.support.XmlWebApplicationContext;
+
+public class ApplicationHelper {
+       private static final Logger log = getLogger(ApplicationHelper.class, 
webAppRootKey);
+
+       public static WicketTester getWicketTester() {
+               return getWicketTester(-1);
+       }
+       
+       public static WicketTester getWicketTester(long langId) {
+               WebApplication app = (WebApplication)ensureApplication(langId);
+               
+               WicketTester tester = new WicketTester(app, 
app.getServletContext());
+               InitializationContainer.initComplete = true;
+               return tester;
+       }
+       
+       public static void destroy(WicketTester tester) {
+               if (tester != null) {
+                       ServletContext sc = tester.getServletContext();
+                       try {
+                               
((XmlWebApplicationContext)sc.getAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)).close();
+                       } catch (Exception e) {
+                               log.error("Unexpected error while destroying 
XmlWebApplicationContext", e);
+                       }
+                       tester.destroy();
+               }
+       }
+       
+       public static IApplication ensureApplication(Long langId) {
+               IApplication a = null;
+               if (Application.exists()) {
+                       a = (IApplication)Application.get();
+               } else {
+                       WebApplication app = 
(WebApplication)Application.get(wicketApplicationName);
+                       LabelDao.initLanguageMap();
+                       if (app == null) {
+                               try {
+                                       app = 
(WebApplication)LabelDao.getAppClass().newInstance();
+                               } catch (InstantiationException | 
IllegalAccessException | ClassNotFoundException e) {
+                                       log.error("Failed to create 
Application");
+                                       return null;
+                               }
+                               app.setServletContext(new 
MockServletContext(app, null));
+                               app.setName(wicketApplicationName);
+                               ServletContext sc = app.getServletContext();
+                               OMContextListener omcl = new 
OMContextListener();
+                               omcl.contextInitialized(new 
ServletContextEvent(sc));
+                               XmlWebApplicationContext xmlContext = new 
XmlWebApplicationContext();
+                               
xmlContext.setConfigLocation("classpath:openmeetings-applicationContext.xml");
+                               xmlContext.setServletContext(sc);
+                               xmlContext.refresh();
+                               
sc.setAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, xmlContext);
+                               
app.setConfigurationType(RuntimeConfigurationType.DEPLOYMENT);
+                               ThreadContext.setApplication(app);
+                               app.initApplication();
+                       } else {
+                               ThreadContext.setApplication(app);
+                       }
+                       a = 
(IApplication)Application.get(wicketApplicationName);
+               }
+               if (ThreadContext.getRequestCycle() == null) {
+                       ServletWebRequest req = new ServletWebRequest(new 
MockHttpServletRequest((Application)a, new 
MockHttpSession(a.getServletContext()), a.getServletContext()), "");
+                       RequestCycleContext rctx = new RequestCycleContext(req, 
new MockWebResponse(), a.getRootRequestMapper(), 
a.getExceptionMapperProvider().get()); 
+                       ThreadContext.setRequestCycle(new RequestCycle(rctx));
+               }
+               if (ThreadContext.getSession() == null) {
+                       WebSession s = WebSession.get();
+                       if (langId > 0) {
+                               ((IWebSession)s).setLanguage(langId);
+                               
+                       }
+                       ThreadContext.setSession(s);
+               }
+               return a;
+       }
+}

Modified: 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743492&r1=1743491&r2=1743492&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
 Thu May 12 11:35:22 2016
@@ -18,10 +18,12 @@
  */
 package org.apache.openmeetings.cli;
 
+import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
+import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -35,7 +37,6 @@ import java.util.TimeZone;
 
 import javax.mail.internet.AddressException;
 import javax.mail.internet.InternetAddress;
-import javax.servlet.ServletContextEvent;
 
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
@@ -63,13 +64,16 @@ import org.apache.openmeetings.installat
 import org.apache.openmeetings.util.CalendarPatterns;
 import org.apache.openmeetings.util.ConnectionProperties;
 import org.apache.openmeetings.util.ImportHelper;
-import org.apache.openmeetings.util.OMContextListener;
 import org.apache.openmeetings.util.OmFileHelper;
+import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.mail.MailUtil;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.string.StringValue;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class Admin {
        private static final Logger log = 
Red5LoggerFactory.getLogger(Admin.class);
@@ -78,7 +82,7 @@ public class Admin {
        private InstallationConfig cfg = null;
        private Options opts = null;
        private CommandLine cmdl = null;
-       private ClassPathXmlApplicationContext ctx = null;
+       private WebApplicationContext ctx = null;
 
        private Admin() {
                cfg = new InstallationConfig();
@@ -115,6 +119,7 @@ public class Admin {
                options.addOption(new OmOption("i", null, "email-use-tls", 
false, "Is secure e-mail connection [default: no]", true));
                options.addOption(new OmOption("i", null, "skip-default-rooms", 
false, "Do not create default rooms [created by default]", true));
                options.addOption(new OmOption("i", null, 
"disable-frontend-register", false, "Do not allow front end register [allowed 
by default]", true));
+               options.addOption(new OmOption("i", null, "default-language", 
true, "Default system language as int [1 by default]", true));
 
                options.addOption(new OmOption("i", null, "db-type", true, "The 
type of the DB to be used", true));
                options.addOption(new OmOption("i", null, "db-host", true, "DNS 
name or IP address of database", true));
@@ -166,15 +171,10 @@ public class Admin {
                System.exit(1);
        }
        
-       private ClassPathXmlApplicationContext getApplicationContext(final 
String ctxName) {
+       private WebApplicationContext getApplicationContext() {
                if (ctx == null) {
-                       OMContextListener omcl = new OMContextListener();
-                       omcl.contextInitialized(new ServletContextEvent(new 
DummyServletContext(ctxName)));
-                       try {
-                               ctx = new 
ClassPathXmlApplicationContext("openmeetings-applicationContext.xml");
-                       } catch (Exception e) {
-                               handleError("Unable to obtain application 
context", e);
-                       }
+                       Long lngId = 
StringValue.valueOf(cfg.defaultLangId).toLong(1L);
+                       ctx = 
getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
                        SchedulerFactoryBean sfb = 
ctx.getBean(SchedulerFactoryBean.class);
                        try {
                                sfb.getScheduler().shutdown(false);
@@ -187,6 +187,7 @@ public class Admin {
        
        private void process(String[] args) {
                String ctxName = System.getProperty("context", "openmeetings");
+               OpenmeetingsVariables.wicketApplicationName = ctxName;
                File home = new File(System.getenv("RED5_HOME"));
                OmFileHelper.setOmHome(new File(new File(home, "webapps"), 
ctxName));
                
@@ -246,6 +247,9 @@ public class Admin {
                                        if (cmdl.hasOption("email-use-tls")) {
                                                cfg.mailUseTls = "1";
                                        }
+                                       if (cmdl.hasOption("default-language")) 
{
+                                               cfg.defaultLangId = 
cmdl.getOptionValue("default-language");
+                                       }
                                        ConnectionProperties 
connectionProperties = new ConnectionProperties();
                                        File conf = 
OmFileHelper.getPersistence();
                                        if (!conf.exists() || 
cmdl.hasOption("db-type") || cmdl.hasOption("db-host") || 
cmdl.hasOption("db-port") || cmdl.hasOption("db-name") || 
cmdl.hasOption("db-user") || cmdl.hasOption("db-pass")) {
@@ -265,14 +269,14 @@ public class Admin {
                                                File backup = 
checkRestoreFile(file);
                                                dropDB(connectionProperties);
                                                
-                                               ImportInitvalues importInit = 
getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+                                               ImportInitvalues importInit = 
getApplicationContext().getBean(ImportInitvalues.class);
                                                importInit.loadSystem(cfg, 
force); 
-                                               restoreOm(ctxName, backup);
+                                               restoreOm(backup);
                                        } else {
-                                               checkAdminDetails(ctxName);
+                                               checkAdminDetails();
                                                dropDB(connectionProperties);
                                                
-                                               ImportInitvalues importInit = 
getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+                                               ImportInitvalues importInit = 
getApplicationContext().getBean(ImportInitvalues.class);
                                                importInit.loadAll(cfg, force);
                                        }                                       
                                        
@@ -295,7 +299,7 @@ public class Admin {
                                        File backup_dir = new 
File(OmFileHelper.getUploadTempDir(), "" + System.currentTimeMillis());
                                        backup_dir.mkdirs();
                                        
-                                       BackupExport export = 
getApplicationContext(ctxName).getBean(BackupExport.class);
+                                       BackupExport export = 
getApplicationContext().getBean(BackupExport.class);
                                        export.performExport(f, backup_dir, 
includeFiles, new ProgressHolder());
                                        FileHelper.removeRec(backup_dir);
                                        backup_dir.delete();
@@ -305,7 +309,7 @@ public class Admin {
                                break;
                        case restore:
                                try {
-                                       restoreOm(ctxName, 
checkRestoreFile(file));
+                                       restoreOm(checkRestoreFile(file));
                                } catch (Exception e) {
                                        handleError("Restore failed", e);
                                }
@@ -326,7 +330,7 @@ public class Admin {
                                                long sectionSize = 
OmFileHelper.getSize(OmFileHelper.getUploadDir());
                                                report.append("Upload totally 
allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n");
                                                //Profiles
-                                               ClassPathXmlApplicationContext 
ctx = getApplicationContext(ctxName);
+                                               WebApplicationContext ctx = 
getApplicationContext();
                                                UserDao udao = 
ctx.getBean(UserDao.class);
                                                CleanupEntityUnit profile = 
CleanupHelper.getProfileUnit(udao);
                                                long restSize = sectionSize - 
profile.getSizeTotal();
@@ -363,7 +367,7 @@ public class Admin {
                                                }
                                        }
                                        { //STREAMS
-                                               RecordingDao recordDao = 
getApplicationContext(ctxName).getBean(RecordingDao.class);
+                                               RecordingDao recordDao = 
getApplicationContext().getBean(RecordingDao.class);
                                                CleanupEntityUnit rec = 
CleanupHelper.getRecUnit(recordDao);
                                                File hibernateDir = 
OmFileHelper.getStreamsHibernateDir();
                                                report.append("Recordings 
allocates: ").append(rec.getHumanTotal()).append("\n");
@@ -390,7 +394,7 @@ public class Admin {
                                }
                                Long domainId = 
Long.valueOf(cmdl.getOptionValue('d'));
                                try {
-                                       
getApplicationContext(ctxName).getBean(LdapLoginManagement.class).importUsers(domainId,
 cmdl.hasOption("print-only"));
+                                       
getApplicationContext().getBean(LdapLoginManagement.class).importUsers(domainId,
 cmdl.hasOption("print-only"));
                                } catch (Exception e) {
                                        handleError("LDAP import failed", e);
                                }
@@ -405,7 +409,7 @@ public class Admin {
                System.exit(0);
        }
        
-       private void checkAdminDetails(String ctxName) throws Exception {
+       private void checkAdminDetails() throws Exception {
                cfg.username = cmdl.getOptionValue("user");
                cfg.email = cmdl.getOptionValue("email");
                cfg.group = cmdl.getOptionValue("group");
@@ -428,7 +432,7 @@ public class Admin {
                        System.exit(1);
                }
                cfg.password = cmdl.getOptionValue("password");
-               ConfigurationDao cfgDao = 
getApplicationContext(ctxName).getBean(ConfigurationDao.class);
+               ConfigurationDao cfgDao = 
getApplicationContext().getBean(ConfigurationDao.class);
                if (invalidPassword(cfg.password, cfgDao)) {
                        System.out.print("Please enter password for the user '" 
+ cfg.username + "':");
                        cfg.password = new BufferedReader(new 
InputStreamReader(System.in, StandardCharsets.UTF_8)).readLine();
@@ -483,7 +487,7 @@ public class Admin {
        
        private void immediateDropDB(ConnectionProperties props) throws 
Exception {
                if (ctx != null) {
-                       ctx.destroy();
+                       ((XmlWebApplicationContext)ctx).destroy();
                        ctx = null;
                }
                JDBCConfigurationImpl conf = new JDBCConfigurationImpl();
@@ -513,9 +517,9 @@ public class Admin {
                return backup;
        }
        
-       private void restoreOm(String ctxName, File backup) {
+       private void restoreOm(File backup) {
                try (InputStream is = new FileInputStream(backup)) {
-                       BackupImport importCtrl = 
getApplicationContext(ctxName).getBean(BackupImport.class);
+                       BackupImport importCtrl = 
getApplicationContext().getBean(BackupImport.class);
                        importCtrl.performImport(is);
                } catch (Exception e) {
                        handleError("Restore failed", e);


Reply via email to