Author: solomax
Date: Tue May 12 16:12:47 2015
New Revision: 1678997

URL: http://svn.apache.org/r1678997
Log:
[OPENMEETINGS-1205] Languages are loaded to the flash app as expected

Modified:
    
openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/LanguageService.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java
    
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
    
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java

Modified: 
openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx 
(original)
+++ 
openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx 
Tue May 12 16:12:47 2015
@@ -330,17 +330,16 @@
         </handler>  
     </netRemoteCallHib>    
     
-    <netRemoteCallHib name="getLanguages" 
funcname="languageservice.getLanguages" 
-                      dataobject="languagesSet" >      
-        <handler name="ondata" args="value">
-            //The onResult-Handler will be called be the rtmpconnection
-            //Debug.write("getLanguages: ",value);
+       <netRemoteCallHib name="getLanguages" 
funcname="languageservice.getLanguages" dataobject="languagesSet" >
+               <handler name="ondata" args="value">
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       //if ($debug) Debug.write("getLanguages: ",value, 
languagesSet);
                        if (canvas.thishib.loaderVar != null) {
-               canvas.thishib.loaderVar.setProgress();
-            }
-            parent.getDefaultLanguage.doCall();
-        </handler>  
-    </netRemoteCallHib>    
+                               canvas.thishib.loaderVar.setProgress();
+                       }
+                       parent.getDefaultLanguage.doCall();
+               </handler>
+       </netRemoteCallHib>    
     
     <method name="setDefaultUserLanguage">
            <![CDATA[

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 Tue May 12 16:12:47 2015
@@ -77,18 +77,6 @@ public class LabelDao implements IDataPr
        public static final ConcurrentHashMap<Locale, List<StringLabel>> 
labelCache = new ConcurrentHashMap<Locale, List<StringLabel>>();
        public static final Set<String> keys = new HashSet<String>();
 
-       public List<Map<String, Object>> getLanguages() {
-               List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
-               for (Map.Entry<Long, Locale> e : languages.entrySet()) {
-                       Map<String, Object> map = new HashMap<String, Object>();
-                       map.put("language_id", e.getKey());
-                       map.put("code", e.getValue().toLanguageTag());
-                       map.put("name", 
e.getValue().getDisplayName(Locale.ENGLISH));
-                       result.add(map);
-               }
-               return result;
-       }
-       
        private static void storeLanguages() throws Exception {
                Document d = XmlExport.createDocument();
                Element r = XmlExport.createRoot(d, "language");

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/LanguageService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/LanguageService.java?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/LanguageService.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/LanguageService.java
 Tue May 12 16:12:47 2015
@@ -20,7 +20,10 @@ package org.apache.openmeetings.remote;
 
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAUT_LANG_KEY;
 
+import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -41,8 +44,12 @@ public class LanguageService {
        /**
         * @return - List of all available Languages
         */
-       public List<Map<String, Object>> getLanguages() {
-               return labelDao.getLanguages();
+       public List<Language> getLanguages() {
+               List<Language> result = new ArrayList<Language>();
+               for (Map.Entry<Long, Locale> e : LabelDao.languages.entrySet()) 
{
+                       result.add(new Language(e.getKey(), 
e.getValue().toLanguageTag(), e.getValue().getDisplayName(Locale.ENGLISH)));
+               }
+               return result;
        }
 
        public Integer getDefaultLanguage() {
@@ -60,4 +67,19 @@ public class LanguageService {
        public List<Map<String, Object>> getLanguageByIdAndMax(int language_id, 
int start, int count) {
                return labelDao.getStrings((long)language_id, start, count);
        }
+
+       public static class Language implements Serializable {
+               private static final long serialVersionUID = 1L;
+               public long language_id;
+               public String code;
+               public String name;
+               
+               public Language() {}
+               
+               public Language(long language_id, String code, String name) {
+                       this.language_id = language_id;
+                       this.code = code;
+                       this.name = name;
+               }
+       }
 }

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java
 Tue May 12 16:12:47 2015
@@ -91,14 +91,19 @@ public abstract class AbstractTemplatePa
        }
        
        public static void ensureApplication(long langId) {
-               if (!Application.exists()) {
-                       Application a = 
(Application)Application.get(Application.getAppName());
+               Application a = null;
+               if (Application.exists()) {
+                       a = Application.get();
+               } else {
+                       a = 
(Application)Application.get(Application.getAppName());
                        ThreadContext.setApplication(a);
-                       
+               }
+               if (ThreadContext.getRequestCycle() == null) {
                        ServletWebRequest req = new ServletWebRequest(new 
MockHttpServletRequest(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();
                        s.setLanguage(langId);
                        ThreadContext.setSession(s);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 Tue May 12 16:12:47 2015
@@ -80,18 +80,6 @@ public class LabelDao implements IDataPr
        public static final Set<String> keys = new HashSet<String>();
        private static Class<?> APP = null;
 
-       public List<Map<String, Object>> getLanguages() {
-               List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
-               for (Map.Entry<Long, Locale> e : languages.entrySet()) {
-                       Map<String, Object> map = new HashMap<String, Object>();
-                       map.put("language_id", e.getKey());
-                       map.put("code", e.getValue().toLanguageTag());
-                       map.put("name", 
e.getValue().getDisplayName(Locale.ENGLISH));
-                       result.add(map);
-               }
-               return result;
-       }
-       
        private static void storeLanguages() throws Exception {
                Document d = XmlExport.createDocument();
                Element r = XmlExport.createRoot(d, "language");

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java?rev=1678997&r1=1678996&r2=1678997&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
 Tue May 12 16:12:47 2015
@@ -109,18 +109,23 @@ public abstract class AbstractTemplatePa
        }
        
        public static void ensureApplication(long langId) {
-               if (!Application.exists()) {
+               IApplication a = null;
+               if (Application.exists()) {
+                       a = (IApplication)Application.get();
+               } else {
                        Application app = 
Application.get(wicketApplicationName);
                        ThreadContext.setApplication(app);
-                       IApplication a = (IApplication)app;
-                       
-                       ServletWebRequest req = new ServletWebRequest(new 
MockHttpServletRequest(app, new MockHttpSession(a.getServletContext()), 
a.getServletContext()), "");
+                       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));
-                       
-                       WebSession session = WebSession.get();
-                       ((IWebSession)session).setLanguage(langId);
-                       ThreadContext.setSession(session);
+               }
+               if (ThreadContext.getSession() == null) {
+                       WebSession s = WebSession.get();
+                       ((IWebSession)s).setLanguage(langId);
+                       ThreadContext.setSession(s);
                }
        }
 }


Reply via email to