[Yanel-commits] rev 23926 - in public/yanel/trunk/src:
core/java/org/wyona/yanel/core
resources/xml/src/java/org/wyona/yanel/impl/resources
josias at wyona.com
josias at wyona.com
Fri Apr 20 16:37:08 CEST 2007
Author: josias
Date: 2007-04-20 16:37:06 +0200 (Fri, 20 Apr 2007)
New Revision: 23926
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/Resource.java
public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
Log:
refactoring: move getRequestedLanguage() method to Resource class to make it reusable for other resources.
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/Resource.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/Resource.java 2007-04-20 14:28:52 UTC (rev 23925)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/Resource.java 2007-04-20 14:37:06 UTC (rev 23926)
@@ -21,7 +21,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.wyona.yanel.core.api.attributes.TranslatableV1;
import org.wyona.yanel.core.map.Realm;
+import org.wyona.yanel.core.util.ResourceAttributeHelper;
import org.apache.log4j.Category;
@@ -207,4 +210,54 @@
this.parameters.put(name, value);
}
+ /**
+ * Get language with the following priorization:
+ * 1) yanel.meta.language query string parameter
+ * 2) Translation Manager (if translatable)
+ * 3) Resource Configuration property
+ * 4) Accept-Language header
+ * 5) Realm default language
+ * 6) Default "en"
+ */
+ public String getRequestedLanguage() throws Exception {
+ // TODO: Make this reusable. Also see org/wyona/yanel/servlet/YanelServlet.java
+ String language = getRequest().getParameter("yanel.meta.language");
+
+ if (language == null && ResourceAttributeHelper.hasAttributeImplemented(this,
+ "Translatable", "1")) {
+ // get language from translation manager:
+ language = ((TranslatableV1)this).getLanguage();
+ }
+
+ if (language == null) {
+ ResourceConfiguration rc = getConfiguration();
+ if (rc != null) {
+ language = rc.getProperty("language");
+ }
+ }
+
+ if (language == null) {
+ language = getRequest().getHeader("Accept-Language");
+ if (language != null) {
+ if (language.indexOf(",") > 0) {
+ language = language.substring(0, language.indexOf(","));
+ }
+ int dashIndex = language.indexOf("-");
+ if (dashIndex > 0) {
+ language = language.substring(0, dashIndex);
+ }
+ }
+ }
+
+ if (language == null) {
+ language = getRealm().getDefaultLanguage();
+ }
+
+ if (language == null || language.length() == 0) {
+ language = "en";
+ }
+
+ return language;
+ }
+
}
Modified: public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
===================================================================
--- public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java 2007-04-20 14:28:52 UTC (rev 23925)
+++ public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java 2007-04-20 14:37:06 UTC (rev 23926)
@@ -202,55 +202,6 @@
}
/**
- * Get language with the following priorization:
- * 1) yanel.meta.language query string parameter
- * 2) Translation Manager
- * 3) Resource Configuration property
- * 4) Accept-Language header
- * 5) Realm default language
- * 6) Default "en"
- */
- private String getRequestedLanguage() throws Exception {
- // TODO: Make this reusable. Also see org/wyona/yanel/servlet/YanelServlet.java
- String language = getRequest().getParameter("yanel.meta.language");
-
- if (language == null) {
- language = getLanguage(); // get language from translation manager
- }
-
- if (language == null) {
- ResourceConfiguration rc = getConfiguration();
- if (rc != null) {
- language = rc.getProperty("language");
- }
- }
-
- if (language == null) {
- language = getRequest().getHeader("Accept-Language");
- if (language != null) {
- if (language.indexOf(",") > 0) {
- language = language.substring(0, language.indexOf(","));
- }
- int dashIndex = language.indexOf("-");
- if (dashIndex > 0) {
- language = language.substring(0, dashIndex);
- }
- }
- }
-
- if (language == null) {
- language = getRealm().getDefaultLanguage();
- }
-
- if (language == null || language.length() == 0) {
- language = "en";
- }
-
- return language;
- }
-
-
- /**
*
*/
private InputStream getContentXML(Repository repo, String yanelPath, String revisionName) throws Exception {
More information about the Yanel-commits
mailing list