- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 13 Aug 2009 13:42:44 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn In directory hutz:/tmp/cvs-serv2554/src/org/w3c/unicorn Modified Files: Tag: dev2 Framework.java Log Message: more actions in Framework + IndexAction + language negociation structure Index: Framework.java =================================================================== RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/Attic/Framework.java,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -d -r1.1.2.3 -r1.1.2.4 --- Framework.java 12 Aug 2009 17:28:05 -0000 1.1.2.3 +++ Framework.java 13 Aug 2009 13:42:42 -0000 1.1.2.4 @@ -18,7 +18,6 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedHashMap; -import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.Set; @@ -26,12 +25,14 @@ import javax.xml.namespace.NamespaceContext; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; +import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.apache.velocity.app.VelocityEngine; import org.w3c.unicorn.contract.Observer; import org.w3c.unicorn.contract.WADLUnmarshaller; import org.w3c.unicorn.contract.WADLUnmarshallerXPath; import org.w3c.unicorn.language.Language; -import org.w3c.unicorn.output.OutputFactory; import org.w3c.unicorn.response.parser.ResponseParser; import org.w3c.unicorn.tasklist.RDFUnmarshaller; import org.w3c.unicorn.tasklist.RDFUnmarshallerJena; @@ -67,7 +68,7 @@ //public static Properties aPropertiesExtension; /** - * List of availables output lang in PATH_TO_OUTPUT_TEMPLATES + * List of available output languages in PATH_TO_OUTPUT_TEMPLATES */ public static Set<String> outputLang; @@ -90,16 +91,22 @@ * True if initialization did not throw any exception */ public static boolean isUcnInitialized = false; - private static Hashtable<String, Properties> unicornPropertiesFiles; private static Hashtable<String, VelocityContext> languageContexts; private static Hashtable<String, Properties> languageProperties; + private static VelocityEngine velocityEngine; + private static Hashtable<String, Template> velocityTemplates; /** * Initialize Unicorn * @throws Exception */ public static void init() throws Exception { + unicornPropertiesFiles = new Hashtable<String, Properties>(); + languageContexts = new Hashtable<String, VelocityContext>(); + languageProperties = new Hashtable<String, Properties>(); + velocityTemplates = new Hashtable<String, Template>(); + // Checks that unicorn.home (JVM parameter) is set to an existing directory String ucnHome = System.getProperty("unicorn.home"); System.err.println(ucnHome); @@ -185,21 +192,9 @@ } } - if (!Language.isISOLanguageCode(Property.get("DEFAULT_LANGUAGE"))) - logger.error("Property DEFAULT_LANGUAGE is not a valid ISO639 code: " + Property.get("DEFAULT_LANGUAGE")); - File defaultLanguageFile = new File(Property.get("PATH_TO_LANGUAGE_FILES", "DEFAULT_LANGUAGE") + ".properties"); - if (!defaultLanguageFile.exists()) { - logger.error("Default language file does not exists: " + Property.get("PATH_TO_LANGUAGE_FILES", "DEFAULT_LANGUAGE") + ".properties"); - } - File[] languageFiles = ListFiles.listFiles(Property - .get("PATH_TO_LANGUAGE_FILES") + "/test", "\\.properties$"); - for (File langFile : languageFiles) { - Language.addLanguageFile(langFile); - - } TemplateHelper.init(); @@ -260,7 +255,7 @@ .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "value")); // Initialize OutputFactory - OutputFactory.setPropertiesSpecialFormaters(Property.getProps("specialFormaters.properties")); + //OutputFactory.setPropertiesSpecialFormaters(Property.getProps("specialFormaters.properties")); //WADLUnmarshallerXPath.init(); //RDFUnmarshallerJena.init(); @@ -425,6 +420,66 @@ outputLang.add((listFD[i].getName().split("_"))[0]); } + + + + // Loading language files + if (!Language.isISOLanguageCode(Property.get("DEFAULT_LANGUAGE"))) + logger.error("Property DEFAULT_LANGUAGE is not a valid ISO639 code: " + Property.get("DEFAULT_LANGUAGE")); + + File defaultLanguageFile = new File(Property.get("PATH_TO_LANGUAGE_FILES", "DEFAULT_LANGUAGE") + ".properties"); + if (!defaultLanguageFile.exists()) { + logger.error("Default language file does not exists: " + Property.get("PATH_TO_LANGUAGE_FILES", "DEFAULT_LANGUAGE") + ".properties"); + } + + File[] languageFiles = ListFiles.listFiles(Property + .get("PATH_TO_LANGUAGE_FILES"), "\\.properties$"); + + for (File langFile : languageFiles) { + String localeString = langFile.getName().split("\\.")[0]; + if (!Language.isISOLanguageCode(localeString)) + logger.warn(langFile.getName() + " is not a language file: " + localeString + " is not a valid locale."); + else { + Properties props = new Properties(); + props.load(langFile.toURI().toURL().openStream()); + props.put("lang", localeString); + props.put("tasklist", mapOfTask); + languageProperties.put(localeString, props); + logger.debug("Added language file: " + localeString + " - " + props.getProperty("language")); + } + } + //for (String locale : languageProperties.keySet()) { + // logger.error(locale + " - " + languageProperties.get(locale)); + //} + + // Creating velocity contexts + for (String locale : languageProperties.keySet()) { + VelocityContext context = new VelocityContext(); + Properties langProps = languageProperties.get(locale); + for (Object key : langProps.keySet()) { + context.put((String) key, langProps.get(key)); + } + context.put("tasklist", mapOfTask); + context.put("param_prefix", Property.get("UNICORN_PARAMETER_PREFIX")); + languageContexts.put(locale, context); + } + + //for (String key : languageContexts.keySet()) { + // logger.error("Context: " + key + " - " + languageContexts.get(key)); + //} + + // Creating velocity engine + velocityEngine = new VelocityEngine(); + Properties aProperties = Property.getProps("velocity.properties"); + aProperties.put(Velocity.FILE_RESOURCE_LOADER_PATH, Property + .get("PATH_TO_TEMPLATES")); + velocityEngine.init(aProperties); + + // Creating velocity templates + velocityTemplates.put("index", velocityEngine.getTemplate("index.vm", "UTF-8")); + //velocityTemplates.put("index", velocityEngine.getTemplate("index.vm", "UTF-8")); + + Framework.logger.info("End of initialisation of UniCORN."); isUcnInitialized = true; } @@ -432,4 +487,18 @@ public static Hashtable<String, Properties> getUnicornPropertiesFiles() { return unicornPropertiesFiles; } + + public static Hashtable<String, VelocityContext> getLanguageContexts() { + return languageContexts; + } + + public static VelocityEngine getVelocityEngine() { + return velocityEngine; + } + + public static Template getTemplate(String name) { + return velocityTemplates.get(name); + } + + }
Received on Thursday, 13 August 2009 13:42:57 UTC