- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 31 Jul 2009 11:16:28 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/util
In directory hutz:/tmp/cvs-serv8979/org/w3c/unicorn/util
Modified Files:
TemplateHelper.java
Log Message:
new templates
Index: TemplateHelper.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/util/TemplateHelper.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- TemplateHelper.java 29 Jul 2009 13:23:34 -0000 1.5
+++ TemplateHelper.java 31 Jul 2009 11:16:26 -0000 1.6
@@ -1,6 +1,6 @@
// $Id$
// Author: Thomas GAMBET.
-// (c) COPYRIGHT MIT, ERCIM ant Keio, 2006.
+// (c) COPYRIGHT MIT, ERCIM ant Keio, 2009.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.unicorn.util;
@@ -57,19 +57,68 @@
e.printStackTrace();
}
}
+
+ @SuppressWarnings("finally")
+ public static Properties getPropsFromFile(File propFile) {
+ Properties props = new Properties();
+ try {
+ props.load(propFile.toURL().openStream());
+ } catch (IOException e) {
+ logger.error("Unable to load properties file : " + e.getMessage(), e);
+ e.printStackTrace();
+ } finally {
+ return props;
+ }
+ }
+
+ public static Properties getMergeProps(Properties defaultProps, Properties sourceProps) {
+ Properties propMerge = new Properties();
+
+ Set<Object> keys = defaultProps.keySet();
+ Iterator<Object> itr = keys.iterator();
+ String key;
+
+ while (itr.hasNext()) {
+ key = itr.next().toString();
+ if (sourceProps.containsKey(key))
+ propMerge.put(key, sourceProps.get(key));
+ else
+ propMerge.put(key, defaultProps.get(key));
+ }
+
+ keys = sourceProps.keySet();
+ itr = keys.iterator();
+ while (itr.hasNext()) {
+ key = itr.next().toString();
+ if (!defaultProps.containsKey(key))
+ propMerge.put(key, sourceProps.get(key));
+ }
+
+ return propMerge;
+ }
- public static Properties getMergeProperties(File defaultPropFile, File sourcePropFile) {
+ public static Properties getMergePropsFromFiles(File defaultPropFile, File sourcePropFile) {
Properties defaultProps = new Properties();
Properties sourceProps = new Properties();
try {
defaultProps.load(defaultPropFile.toURL().openStream());
+ } catch (IOException e) {
+ logger.error("Unable to load default language properties : " + e.getMessage(), e);
+ e.printStackTrace();
+ return null;
+ }
+
+ try {
sourceProps.load(sourcePropFile.toURL().openStream());
} catch (IOException e) {
- logger.error("Merge Properties Error : " + e.getMessage(), e);
+ logger.error("Unable to find desired language properties : " + e.getMessage(), e);
e.printStackTrace();
+ return defaultProps;
}
- Properties propMerge = new Properties();
+ return getMergeProps(defaultProps, sourceProps);
+
+ /*Properties propMerge = new Properties();
Set<Object> keys = defaultProps.keySet();
Iterator<Object> itr = keys.iterator();
@@ -83,7 +132,7 @@
propMerge.put(key, defaultProps.get(key));
}
- return propMerge;
+ return propMerge;*/
}
public static void loadInVelocityContext(Properties props, VelocityContext context) {
@@ -99,6 +148,8 @@
public static Template getInternationalizedTemplate(String templateName, String langCode, VelocityContext context) {
if (langCode != null) {
+ context.put("lang", langCode);
+
// Error templates have the same language properties file that their coresponding non-error template
String langFileName = templateName;
if(templateName.length() > 6 && templateName.substring(templateName.length()-6, templateName.length()).equals(".error"))
@@ -114,15 +165,27 @@
// Merge the properties or use default language
Properties mergedProps = new Properties();
- if (langFile.exists())
- mergedProps = TemplateHelper.getMergeProperties(defaultLangFile, langFile);
- else
+
+ if (langFile.exists()) {
+ mergedProps = getMergePropsFromFiles(defaultLangFile, langFile);
+ }
+ else {
try {
mergedProps.load(defaultLangFile.toURL().openStream());
} catch (IOException e1) {
logger.error("IOException : " + e1.getMessage(), e1);
e1.printStackTrace();
}
+ }
+
+ File generalLangFile = new File(Property.get("PATH_TO_LANGUAGE_FILES") +
+ "general." + langCode + ".properties");
+
+ if(!generalLangFile.exists())
+ generalLangFile = new File(Property.get("PATH_TO_LANGUAGE_FILES") +
+ "general." + Property.get("DEFAULT_LANGUAGE") + ".properties");
+
+ mergedProps = getMergeProps(mergedProps, getPropsFromFile(generalLangFile));
// Load in velocity context
TemplateHelper.loadInVelocityContext(mergedProps, context);
Received on Friday, 31 July 2009 11:16:45 UTC