[Yanel-commits] rev 49885 - public/yanel/contributions/resources/creatable-modifiable-deletable-v3/src/java/org/wyona/yanel/impl/resources/jellyadapterofcmdv3

michi at wyona.com michi at wyona.com
Wed May 26 10:25:10 CEST 2010


Author: michi
Date: 2010-05-26 10:25:09 +0200 (Wed, 26 May 2010)
New Revision: 49885

Modified:
   public/yanel/contributions/resources/creatable-modifiable-deletable-v3/src/java/org/wyona/yanel/impl/resources/jellyadapterofcmdv3/JellyControllerAdapter.java
Log:
upgraded to I18n version 3

Modified: public/yanel/contributions/resources/creatable-modifiable-deletable-v3/src/java/org/wyona/yanel/impl/resources/jellyadapterofcmdv3/JellyControllerAdapter.java
===================================================================
--- public/yanel/contributions/resources/creatable-modifiable-deletable-v3/src/java/org/wyona/yanel/impl/resources/jellyadapterofcmdv3/JellyControllerAdapter.java	2010-05-26 08:24:27 UTC (rev 49884)
+++ public/yanel/contributions/resources/creatable-modifiable-deletable-v3/src/java/org/wyona/yanel/impl/resources/jellyadapterofcmdv3/JellyControllerAdapter.java	2010-05-26 08:25:09 UTC (rev 49885)
@@ -28,7 +28,7 @@
 import org.wyona.yanel.core.attributes.viewable.View;
 import org.wyona.yanel.core.serialization.SerializerFactory;
 import org.wyona.yanel.core.source.SourceResolver;
-import org.wyona.yanel.core.transformation.I18nTransformer2;
+import org.wyona.yanel.core.transformation.I18nTransformer3;
 import org.wyona.yanel.core.transformation.XIncludeTransformer;
 import org.wyona.yanel.core.util.PathUtil;
 import org.wyona.yanel.impl.resources.jellyadapterofcmdv3.ViewDescriptorUsingTemplate.TemplateOption;
@@ -293,7 +293,7 @@
         serializer.setOutputStream(baos);
         
         // create i18n transformer:
-        I18nTransformer2 i18nTransformer = new I18nTransformer2(getI18NCatalogueNames(), getRequestedLanguage(), getRealm().getDefaultLanguage());
+        I18nTransformer3 i18nTransformer = new I18nTransformer3(getI18NCatalogueNames(), getRequestedLanguage(), getUserLanguage(), getRealm().getDefaultLanguage(), uriResolver);
         i18nTransformer.setEntityResolver(catalogResolver);
 
 
@@ -465,5 +465,23 @@
         // TODO: Use YanelServlet.TOOLBAR_KEY instead "toolbar"!
         return (String) getEnvironment().getRequest().getSession(true).getAttribute("toolbar");
     }
-    
+
+    /**
+     * Get user language (order: profile, browser, ...)
+     */
+    private String getUserLanguage() throws Exception {
+        Identity identity = getEnvironment().getIdentity();
+        String language = getRequestedLanguage();
+        String userID = identity.getUsername();
+        if (userID != null) {
+            String userLanguage = getRealm().getIdentityManager().getUserManager().getUser(userID).getLanguage();
+            if(userLanguage != null) {
+                language = userLanguage;
+                log.debug("Use user profile language: " + language);
+            } else {
+                log.warn("Use requested language: " + language);
+            }
+        }
+        return language;
+    }
 }



More information about the Yanel-commits mailing list