- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 29 Jul 2009 09:18:27 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/index
In directory hutz:/tmp/cvs-serv1802/org/w3c/unicorn/index
Modified Files:
IndexGenerator.java
Log Message:
Internationalized IO errors
Refactoring of template related functions in TemplateHelper class
Index: IndexGenerator.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/index/IndexGenerator.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- IndexGenerator.java 28 Jul 2009 10:56:56 -0000 1.12
+++ IndexGenerator.java 29 Jul 2009 09:18:24 -0000 1.13
@@ -6,23 +6,13 @@
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.util.Hashtable;
-import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
-import java.io.OutputStreamWriter;
-import java.io.FileOutputStream;
import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.velocity.Template;
+import org.apache.commons.logging.LogFactory;;
import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
-import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.w3.unicorn.tasklist.TUi;
@@ -30,7 +20,7 @@
import org.w3c.unicorn.tasklist.parameters.ParameterType;
import org.w3c.unicorn.util.ListFiles;
import org.w3c.unicorn.util.Property;
-import org.w3c.unicorn.util.MergeProperties;;
+import org.w3c.unicorn.util.TemplateHelper;;
/**
* IndexGenerator<br />
@@ -56,32 +46,9 @@
private static Properties aProperties = new Properties();
/**
- * Velocity Engine to create pages from the templates
- */
- private static VelocityEngine aVelocityEngine = new VelocityEngine();
-
- /**
* Load the properties and initialize apache velocity
*/
static {
- try {
- IndexGenerator.aProperties.load(new URL(Property.class.getResource("/"),
- Property.get("REL_PATH_TO_CONF_FILES") + "velocity.properties").openStream());
- IndexGenerator.aProperties.put(Velocity.FILE_RESOURCE_LOADER_PATH,
- Property.get("PATH_TO_TEMPLATES"));
- IndexGenerator.aVelocityEngine.init(IndexGenerator.aProperties);
- } catch (final MalformedURLException e) {
- IndexGenerator.logger.error("MalformedURLException : "
- + e.getMessage(), e);
- e.printStackTrace();
- } catch (final IOException e) {
- IndexGenerator.logger.error("IOException : " + e.getMessage(), e);
- e.printStackTrace();
- } catch (final Exception e) {
- IndexGenerator.logger.error("Exception : " + e.getMessage(), e);
- e.printStackTrace();
- }
-
IndexGenerator.aVelocityContext = new VelocityContext();
IndexGenerator.aVelocityContext.put("tasklist", Framework.mapOfTask);
@@ -111,10 +78,6 @@
ParseErrorException, Exception {
IndexGenerator.logger.trace("generateIndexes");
- // Get the Properties object for the default language
- File[] defaultLangFile = ListFiles.listFiles(Property.get("PATH_TO_LANGUAGE_FILES"),
- "index\\." + Property.get("DEFAULT_LANGUAGE"));
-
// Get the list of the language properties files
File[] langFiles = ListFiles.listFiles(Property.get("PATH_TO_LANGUAGE_FILES"), "index");
@@ -127,52 +90,16 @@
}
IndexGenerator.logger.info("Found Languages : " + languages.toString());
-
aVelocityContext.put("languages", languages);
-
aVelocityContext.put("param_prefix", Property.get("UNICORN_PARAMETER_PREFIX"));
for (File langFile : langFiles) {
-
String langCode = langFile.getName().split("\\.")[1];
aVelocityContext.put("lang", langCode);
-
- Properties props = MergeProperties.getMergeProperties(defaultLangFile[0], langFile);
- MergeProperties.loadInVelocityContext(props, aVelocityContext);
-
- if (langCode.equals(Property.get("DEFAULT_LANGUAGE"))) {
- writeIndex("index.html");
- IndexGenerator.logger.info("Default language is \"" + props.getProperty("language") + "\" : created index.html");
- }
-
- String indexPageName = "index." + langCode + ".html";
- writeIndex(indexPageName);
-
- IndexGenerator.logger.info("Created index page for language \"" + props.getProperty("language") + "\" : " + indexPageName);
+ TemplateHelper.generateFileFromTemplate("index", langCode, Property.get("PATH_TO_INDEX_OUTPUT"), "html", aVelocityContext);
}
- Template template = aVelocityEngine.getTemplate("index/en_parameters.js.vm");
-
- OutputStreamWriter fileWriter = new OutputStreamWriter(
- new FileOutputStream(Property.get("PATH_TO_INDEX_OUTPUT") + "en_parameters.js"),
- "UTF-8");
-
- template.merge(IndexGenerator.aVelocityContext, fileWriter);
- fileWriter.close();
- }
-
- private static void writeIndex(String pageName) throws ResourceNotFoundException, ParseErrorException, Exception {
-
- // index.vm is located in PATH_TO_TEMPLATES
- Template template = aVelocityEngine.getTemplate("index.vm");
-
- // Generate the files
- OutputStreamWriter fileWriter = new OutputStreamWriter(
- new FileOutputStream(Property.get("PATH_TO_INDEX_OUTPUT") + pageName),
- "UTF-8");
-
- template.merge(IndexGenerator.aVelocityContext, fileWriter);
- fileWriter.close();
+ TemplateHelper.generateFileFromTemplate("index/en_parameters", null, Property.get("PATH_TO_INDEX_OUTPUT"), "js", aVelocityContext);
}
/**
Received on Wednesday, 29 July 2009 09:18:43 UTC