- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 04 Mar 2010 18:18:23 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn
In directory hutz:/tmp/cvs-serv9432/src/org/w3c/unicorn
Modified Files:
Framework.java
Log Message:
Internationalized language metadata for the tasks in separate files. No more rdf file is used for that.
Index: Framework.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/Framework.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- Framework.java 3 Mar 2010 17:20:43 -0000 1.29
+++ Framework.java 4 Mar 2010 18:18:21 -0000 1.30
@@ -32,18 +32,20 @@
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.tools.generic.EscapeTool;
import org.apache.velocity.tools.generic.MathTool;
+import org.w3.unicorn.tasklist.TUi;
import org.w3c.unicorn.action.LanguageAction;
import org.w3c.unicorn.contract.Observer;
import org.w3c.unicorn.contract.WADLUnmarshaller;
import org.w3c.unicorn.contract.WADLUnmarshallerXPath;
import org.w3c.unicorn.exceptions.InitializationFailedException;
import org.w3c.unicorn.exceptions.UnknownParserException;
-import org.w3c.unicorn.tasklist.RDFUnmarshaller;
import org.w3c.unicorn.tasklist.RDFUnmarshallerJena;
import org.w3c.unicorn.tasklist.Task;
import org.w3c.unicorn.tasklist.TaskListUnmarshallerBeans;
import org.w3c.unicorn.tasklist.Tasklist;
import org.w3c.unicorn.tasklist.TasksListUnmarshaller;
+import org.w3c.unicorn.tasklist.parameters.Parameter;
+import org.w3c.unicorn.tasklist.parameters.Value;
import org.w3c.unicorn.util.Language;
import org.w3c.unicorn.util.ListFiles;
import org.w3c.unicorn.util.Property;
@@ -385,35 +387,7 @@
logger.warn("> This task file will be skiped");
}
}
- logger.debug("-------------------------------------------------------");
- logger.debug("Loading rdf task files from tasklist directory: " + Property.get("PATH_TO_TASKLIST"));
- File[] tFileRDF = ListFiles.listFiles(Property.get("PATH_TO_TASKLIST"), "\\.rdf$");
- RDFUnmarshaller aRDFUnmarshaller = new RDFUnmarshallerJena();
- aRDFUnmarshaller.setMapOfTask(aTaskListUnmarshaller.getMapOfTask());
- for (final File aFile : tFileRDF) {
- try {
- logger.debug("- Loading rdf file: " + aFile.getName());
- aRDFUnmarshaller.addURL(aFile.toURI().toURL());
- aRDFUnmarshaller.unmarshal();
- } catch (MalformedURLException e) {
- logger.error(e.getMessage(), e);
- } catch (IOException e) {
- logger.error("Error reading file: " + aFile.getName(), e);
- logger.warn("> This task file will be skiped");
- } catch (Exception e) {
- logger.error("Error unmarshalling file: " + aFile.getName(), e);
- logger.warn("> This task file will be skiped");
- }
- }
mapOfTask = aTaskListUnmarshaller.getMapOfTask();
- for (Object key : mapOfTask.keySet()) {
- Task task = mapOfTask.get(key.toString());
- String defaultLang = Property.get("DEFAULT_LANGUAGE");
- if (task.getLongName().getLocalization(defaultLang) == null) {
- task.getLongName().addLocalization(defaultLang, key.toString());
- logger.warn("Missing default language long name for task: " + key + ". Long name will be the task id.");
- }
- }
if (mapOfTask.size() == 0) {
throw new InitializationFailedException("No task have been loaded. Check task files in: " + Property.get("PATH_TO_TASKLIST"));
} else {
@@ -421,6 +395,102 @@
logger.debug(s + mapOfTask);
logger.info("OK - " + mapOfTask.size() + " task(s) successfully loaded.");
}
+
+ logger.debug("-------------------------------------------------------");
+ logger.debug("Loading tasks metadata files from tasks language directory: " + Property.get("PATH_TO_TASK_LANGUAGE_FILES"));
+
+ File defaultTaskFile = new File(Property.get("PATH_TO_TASK_LANGUAGE_FILES", "DEFAULT_LANGUAGE") + ".tasklist.properties");
+ String defaultLang = Property.get("DEFAULT_LANGUAGE");
+
+ try{
+ UCNProperties defaultProps = Language.load(defaultTaskFile);
+ logger.debug("> Found default tasks metadata file: " + defaultTaskFile.getPath());
+ for (String taskKey : mapOfTask.keySet()) {
+ Task task = mapOfTask.get(taskKey);
+ if (defaultProps.containsKey(taskKey))
+ task.addLongName(defaultLang, defaultProps.getProperty(taskKey));
+ else
+ logger.warn(">> No default longname found for the task: " + taskKey + ". This task longname will be its key and it won't appear in the translation form.");
+ if (defaultProps.containsKey(taskKey + ".description"))
+ task.addDescription(defaultLang, defaultProps.getProperty(taskKey + ".description"));
+ else
+ logger.warn(">> No default description found for the task: " + taskKey + ". This task description will be empty and it won't appear in the translation form.");
+
+ Map<String, Parameter> params = task.getMapOfParameter();
+ for (Object paramKey : params.keySet()) {
+ Parameter param = (Parameter) params.get(paramKey);
+ if (defaultProps.containsKey(taskKey + ".param." + paramKey))
+ param.addLongName(defaultLang, defaultProps.getProperty(taskKey + ".param." + paramKey));
+ else if (defaultProps.containsKey("param." + paramKey))
+ param.addLongName(defaultLang, defaultProps.getProperty("param." + paramKey));
+ else
+ logger.warn(">> No default parameter longname found for the parameter: " + paramKey + ". This parameter longname will be its key and it won't appear in the translation form.");
+
+ Map<String, Value> values = param.getMapOfValue();
+ for (Object valueKey : values.keySet()) {
+ Value value = (Value) values.get(valueKey);
+ if (defaultProps.containsKey(taskKey + ".param." + paramKey + "." + valueKey))
+ value.addLongName(defaultLang, defaultProps.getProperty(taskKey + ".param." + paramKey + "." + valueKey));
+ else if (defaultProps.containsKey("param." + paramKey + "." + valueKey))
+ value.addLongName(defaultLang, defaultProps.getProperty("param." + paramKey + "." + valueKey));
+ else if (param.getUiLevel() != TUi.NONE) // Warn only if the value is displayed
+ logger.warn(">> No default value longname found for the value \"" + valueKey + "\" for the parameter \"" + paramKey + "\" from the task " + taskKey + ". This value longname will be its key and it won't appear in the translation form.");
+ }
+ }
+ }
+ } catch (IllegalArgumentException e) {
+ logger.warn(e.getMessage());
+ } catch (FileNotFoundException e) {
+ throw new InitializationFailedException("Default tasks metadata file does not exist: " + defaultTaskFile.getPath());
+ } catch (IOException e) {
+ throw new InitializationFailedException("Unable to read default tasks metadata file " + defaultTaskFile);
+ }
+
+ File[] taskFiles = ListFiles.listFiles(Property.get("PATH_TO_TASK_LANGUAGE_FILES"), "\\.tasklist.properties$");
+
+ for (File taskFile : taskFiles) {
+ String lang = taskFile.getName().split("\\.")[0];
+
+ if (taskFile.equals(defaultTaskFile))
+ continue;
+ try {
+ UCNProperties props = Language.load(taskFile);
+ logger.debug("> Found tasks metadata file: " + taskFile.getPath());
+
+ for (String taskKey : mapOfTask.keySet()) {
+ Task task = mapOfTask.get(taskKey);
+ if (props.containsKey(taskKey))
+ task.addLongName(lang, props.getProperty(taskKey));
+ if (props.containsKey(taskKey + ".description"))
+ task.addDescription(lang, props.getProperty(taskKey + ".description"));
+
+ Map<String, Parameter> params = task.getMapOfParameter();
+ for (Object paramKey : params.keySet()) {
+ Parameter param = (Parameter) params.get(paramKey);
+ if (props.containsKey(taskKey + ".param." + paramKey))
+ param.addLongName(lang, props.getProperty(taskKey + ".param." + paramKey));
+ else if (props.containsKey("param." + paramKey))
+ param.addLongName(lang, props.getProperty("param." + paramKey));
+
+ Map<String, Value> values = param.getMapOfValue();
+ for (Object valueKey : values.keySet()) {
+ Value value = (Value) values.get(valueKey);
+ if (props.containsKey(taskKey + ".param." + paramKey + "." + valueKey))
+ value.addLongName(lang, props.getProperty(taskKey + ".param." + paramKey + "." + valueKey));
+ else if (props.containsKey("param." + paramKey + "." + valueKey))
+ value.addLongName(lang, props.getProperty("param." + paramKey + "." + valueKey));
+ }
+ }
+ }
+ } catch (IllegalArgumentException e) {
+ logger.warn(e.getMessage());
+ } catch (FileNotFoundException e) {
+ // Should not happen
+ logger.error(e.getMessage(), e);
+ } catch (IOException e) {
+ logger.error("Unable to read task file " + taskFile + ". This file will be skiped.");
+ }
+ }
}
public static void initLanguages() throws InitializationFailedException {
@@ -444,12 +514,11 @@
} catch (IllegalArgumentException e) {
logger.warn(e.getMessage());
} catch (FileNotFoundException e) {
- throw new InitializationFailedException("Default language file does not exists: " + defaultLanguageFile.getPath());
+ throw new InitializationFailedException("Default language file does not exist: " + defaultLanguageFile.getPath());
} catch (IOException e) {
- throw new InitializationFailedException("Unable to read default language file. " + defaultLanguageFile.getPath());
+ throw new InitializationFailedException("Unable to read default language file " + defaultLanguageFile.getPath());
}
-
File[] languageFiles = ListFiles.listFiles(Property.get("PATH_TO_LANGUAGE_FILES"), "\\.properties$");
for (File langFile : languageFiles) {
@@ -457,21 +526,19 @@
continue;
try {
UCNProperties props = Language.load(langFile);
- if (!props.getProperty("lang").equals(Property.get("DEFAULT_LANGUAGE"))) {
- logger.debug("> Found language: " + props.getProperty("lang") + " - " + props.getProperty("language"));
- Language.clean(props, defaultProps);
- LanguageAction.addLanguageProperties(props);
- Language.complete(props, defaultProps);
- props.parse();
- languageProperties.put(props.getProperty("lang"), props);
- }
+ logger.debug("> Found language: " + props.getProperty("lang") + " - " + props.getProperty("language"));
+ Language.clean(props, defaultProps);
+ LanguageAction.addLanguageProperties(props);
+ Language.complete(props, defaultProps);
+ props.parse();
+ languageProperties.put(props.getProperty("lang"), props);
} catch (IllegalArgumentException e) {
logger.warn(e.getMessage());
} catch (FileNotFoundException e) {
// Should not happen
logger.error(e.getMessage(), e);
} catch (IOException e) {
- logger.error("Unable to read language file. " + langFile + ". This file will be skiped.");
+ logger.error("Unable to read language file " + langFile + ". This file will be skiped.");
}
}
Received on Thursday, 4 March 2010 18:18:25 UTC