- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 17 Aug 2009 09:11:11 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn
In directory hutz:/tmp/cvs-serv15822/src/org/w3c/unicorn
Modified Files:
Tag: dev2
Framework.java
Log Message:
new logs, new initialization actions
Index: Framework.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/Attic/Framework.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -d -r1.1.2.5 -r1.1.2.6
--- Framework.java 13 Aug 2009 17:28:34 -0000 1.1.2.5
+++ Framework.java 17 Aug 2009 09:11:09 -0000 1.1.2.6
@@ -22,9 +22,11 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.Map.Entry;
import javax.xml.namespace.NamespaceContext;
-import org.apache.log4j.Logger;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.log4j.PropertyConfigurator;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -46,6 +48,8 @@
import org.w3c.unicorn.util.TemplateHelper;
import org.w3c.unicorn.util.UCNProperties;
+import com.hp.hpl.jena.rdf.model.Model;
+
/**
* Main class of the central module of UniCORN.
*
@@ -64,11 +68,6 @@
public static Map<String, Task> mapOfTask = null;
/**
- * Properties of the framework
- */
- //public static Properties aPropertiesExtension;
-
- /**
* List of available output languages in PATH_TO_OUTPUT_TEMPLATES
*/
public static Set<String> outputLang;
@@ -79,9 +78,9 @@
public static Map<String, ResponseParser> mapOfReponseParser = null;
/**
- * Log4j Logger
+ * Logger
*/
- public static Logger logger;
+ public static Log logger = LogFactory.getLog("Framework");
/**
* URI to unicorn home
@@ -97,108 +96,100 @@
private static Hashtable<String, Properties> languageProperties;
private static VelocityEngine velocityEngine;
private static Hashtable<String, Template> velocityTemplates;
-
+ private static String[] mandatoryProperties = {
+ "PATH_TO_CONF_FILES",
+ "PATH_TO_CACHE"};
+ private static String[] configFiles = {
+ "extensions.properties",
+ "responseParsers.properties",
+ "specialFormaters.properties",
+ "velocity.properties"};
+
/**
* Initialize Unicorn
- * @throws Exception
*/
- public static void init() 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>();
+ mapOfObserver = new LinkedHashMap<String, Observer>();
+ mapOfReponseParser = new LinkedHashMap<String, ResponseParser>();
// Checks that unicorn.home (JVM parameter) is set to an existing directory
String ucnHome = System.getProperty("unicorn.home");
- System.err.println(ucnHome);
- File ucnHomeFile = new File(ucnHome);
if (ucnHome == null) {
- String error = "ERROR: \"unicorn.home\" is not set in the JVM parameters. Please read the README file before trying to install Unicorn";
- System.err.println(error);
- throw new Exception(error);
- } else if (!ucnHomeFile.exists() && ucnHomeFile.isDirectory()) {
- String error = "ERROR: \"unicorn.home\" is not an existing directory: " + System.getProperty("unicorn.home");
- System.err.println(error);
- throw new Exception(error);
+ String fatal = "\"unicorn.home\" is not set in the JVM parameters. Please read the README file before trying to install Unicorn";
+ System.err.println("FATAL: " + fatal);
+ logger.fatal(fatal);
+ return;
} else {
- unicornHome = ucnHomeFile.toURI();
- System.out.println("OK - \"unicorn.home\" was found: " + unicornHome.getPath());
+ File ucnHomeFile = new File(ucnHome);
+ if (!ucnHomeFile.exists() || !ucnHomeFile.isDirectory()) {
+ String fatal = "JVM parameter \"unicorn.home\" is not an existing directory: " + System.getProperty("unicorn.home");
+ System.err.println("FATAL: " + fatal);
+ logger.fatal(fatal);
+ return;
+ } else {
+ unicornHome = ucnHomeFile.toURI();
+ logger.info("OK - JVM parameter \"unicorn.home\" was found: " + unicornHome.getPath());
+ }
}
// Log4j initialization attempt
String log4jPath = unicornHome.getPath() + "/WEB-INF/conf/log4j.properties";
- File log4jPropFile = new File(log4jPath);
- if (!log4jPropFile.exists()) {
- String error = "WARN: \"log4j.properties\" could not be found: " + log4jPath;
- System.err.println(error);
- System.err.println("WARN: Log4j will not be initialized.");
- } else {
- System.out.println("OK - Log4j initialized with file: " + log4jPath);
- PropertyConfigurator.configure(log4jPropFile.toURI().toURL());
- logger = Logger.getLogger("Framework");
- logger.info("Unicorn home directory was found");
- logger.debug("Unicorn home path = " + unicornHome.getPath());
- logger.info("Log4j has been successfully initialized");
- logger.debug("Log4j properties file = " + log4jPropFile.toURI().getPath());
+ try {
+ loadConfigFile(log4jPath, true);
+ PropertyConfigurator.configure(unicornPropertiesFiles.get("log4j.properties"));
+ logger.info("OK - JVM parameter \"unicorn.home\" was found: " + unicornHome.getPath());
+ logger.info("OK - Log4j successfully initialized");
+ logger.debug("> Used log4j.properties file: " + log4jPath);
+ } catch (FileNotFoundException e) {
+ logger.warn("Log4j config file \"log4j.properties\" could not be found: " + log4jPath);
+ logger.warn("Log4j will not be initialized");
+ } catch (IOException e) {
+ logger.error("Error reading \"log4j.properties\": ", e);
+ logger.warn("Log4j will not be initialized");
}
- // Loading unicorn.properties
- logger.debug("Loading unicorn.properties");
+ // Load unicorn.properties
+ logger.debug("-------------------------------------------------------");
String unicornPath = unicornHome.getPath() + "/WEB-INF/conf/unicorn.properties";
- logger.debug("Unicorn properties file = " + unicornPath);
- File unicornPropFile = new File(unicornPath);
- if (!unicornPropFile.exists()) {
- String error = "ERROR: \"unicorn.properties\" could not be found: " + unicornPath;
- System.err.println(error);
- logger.error("Unicorn properties file does not exists! Path is: " + unicornPath);
- throw new Exception(error);
- } else {
- UCNProperties ucnProperties = new UCNProperties();
- ucnProperties.put("UNICORN_HOME", unicornHome.getPath());
- ucnProperties.load(unicornPropFile.toURI().toURL().openStream());
- unicornPropertiesFiles.put("unicorn.properties", ucnProperties);
- //Property.setUnicornProps(ucnProperties);
- logger.info("Unicorn properties file successfully loaded");
- logger.debug("Loaded properties: " + ucnProperties);
+ try {
+ loadConfigFile(unicornPath, true);
+ logger.info("OK - Config file unicorn.properties successfully loaded");
+ } catch (FileNotFoundException e) {
+ logger.fatal("Unicorn config file \"unicorn.properties\" could not be found: " + unicornPath);
+ return;
+ } catch (IOException e) {
+ logger.fatal("Error reading \"unicorn.properties\": ", e);
+ return;
}
- // Checking Unicorn properties
- String[] mandatoryProperties = {"PATH_TO_CONF_FILES","ROUTE_XML","PATH_TO_CACHE"};
- for (String property: mandatoryProperties) {
+ // Checking that mandatory properties are set in unicorn.properties
+ for (String property : mandatoryProperties) {
if (Property.get(property) == null) {
- String error = "\""+ property +"\" is not defined in unicorn.properties. This property is mandatory.";
- logger.error(error);
- throw new Exception(error);
+ logger.fatal("\""+ property +"\" is not defined in unicorn.properties. This property is mandatory.");
+ return;
}
}
-
+
// Loading config files
- String[] propertyFiles = {"extensions.properties", "responseParsers.properties", "specialFormaters.properties", "velocity.properties"};
- for (String fileName : propertyFiles) {
- logger.debug("Loading " + fileName);
+ for (String fileName : configFiles) {
String path = Property.get("PATH_TO_CONF_FILES") + fileName;
- logger.debug(fileName + " path = " + path);
- File file = new File(path);
- if (!file.exists()) {
- String error = "ERROR: \"" + fileName + "\" could not be found: " + path;
- System.err.println(error);
- logger.error(fileName + " file does not exists! Path is: " + path);
- throw new Exception(error);
- } else {
- Properties properties = new Properties();
- properties.load(file.toURI().toURL().openStream());
- unicornPropertiesFiles.put(fileName, properties);
- logger.info(fileName + " file successfully loaded");
- logger.debug("Loaded properties: " + properties);
+ logger.debug("-------------------------------------------------------");
+ try {
+ loadConfigFile(path, false);
+ logger.info("OK - Config file " + fileName + " successfully loaded");
+ } catch (FileNotFoundException e) {
+ logger.fatal("Mandatory config file \"" + fileName + "\" could not be found: " + path);
+ return;
+ } catch (IOException e) {
+ logger.fatal("Error reading \"" + fileName + "\": ", e);
+ return;
}
}
-
-
-
-
- TemplateHelper.init();
-
// Initialize WADLUnmarshallerXPath (Gets the Namespace URI and the prefix)
WADLUnmarshallerXPath.setNamespaceContext(new NamespaceContext() {
public String getNamespaceURI(final String sPrefix) {
@@ -225,199 +216,186 @@
}
});
-
// Initialize RDFUnmarshallerJena
- FileInputStream fis = new FileInputStream(org.w3c.unicorn.util.Property
- .get("TASKLIST_RDF_MODEL"));
- RDFUnmarshallerJena.getModel().read(fis, null);
-
- /*FileReader fr = new FileReader(org.w3c.unicorn.util.Property
- .get("TASKLIST_RDF_MODEL"));
-
-
-
- RDFUnmarshallerJena.getModel().read(fr, null);*/
+ logger.debug("-------------------------------------------------------");
+ logger.debug("Initializing RDFUnmarshallerJena");
+ try {
+ FileInputStream fis = new FileInputStream(Property.get("TASKLIST_RDF_MODEL"));
+ RDFUnmarshallerJena.getModel().read(fis, null);
+ logger.debug("> Used model: " + Property.get("TASKLIST_RDF_MODEL"));
+ } catch (FileNotFoundException e) {
+ logger.fatal("The tasklist rdf model could not be found: " + Property.get("TASKLIST_RDF_MODEL"));
+ return;
+ }
+ Model model = RDFUnmarshallerJena.getModel();
+ String namespace = RDFUnmarshallerJena.getUcnNamespace();
// define resource use to find information into the RDF graph
- RDFUnmarshallerJena.setRESOURCE_TASK(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "Task"));
+ RDFUnmarshallerJena.setRESOURCE_TASK(model.getProperty(
+ namespace + "Task"));
// define property use to find information into the RDF graph
- RDFUnmarshallerJena.setPROPERTY_DESCRIPTION(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "description"));
- RDFUnmarshallerJena.setPROPERTY_HASMAPPING(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "hasMapping"));
- RDFUnmarshallerJena.setPROPERTY_HASPARAMETER(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "hasParameter"));
- RDFUnmarshallerJena.setPROPERTY_HASVALUE(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "hasValue"));
- RDFUnmarshallerJena.setPROPERTY_LONGNAME(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "longName"));
- RDFUnmarshallerJena.setPROPERTY_OBSERVER(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "observer"));
- RDFUnmarshallerJena.setPROPERTY_PARAMETER(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "parameter"));
- RDFUnmarshallerJena.setPROPERTY_REFERENCE(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "reference"));
- RDFUnmarshallerJena.setPROPERTY_TYPE(RDFUnmarshallerJena.getModel()
- .getProperty("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"));
- RDFUnmarshallerJena.setPROPERTY_VALUE(RDFUnmarshallerJena.getModel()
- .getProperty(RDFUnmarshallerJena.getUcnNamespace() + "value"));
-
- // Initialize OutputFactory
- //OutputFactory.setPropertiesSpecialFormaters(Property.getProps("specialFormaters.properties"));
-
- //WADLUnmarshallerXPath.init();
- //RDFUnmarshallerJena.init();
- //Framework.init();
- //OutputFactory.init();
- //IndexGenerator.init();
-
- //Framework.aPropertiesExtension = Property.getProps("extensions.properties");
+ RDFUnmarshallerJena.setPROPERTY_DESCRIPTION(model.getProperty(
+ namespace + "description"));
+ RDFUnmarshallerJena.setPROPERTY_HASMAPPING(model.getProperty(
+ namespace + "hasMapping"));
+ RDFUnmarshallerJena.setPROPERTY_HASPARAMETER(model.getProperty(
+ namespace + "hasParameter"));
+ RDFUnmarshallerJena.setPROPERTY_HASVALUE(model.getProperty(
+ namespace + "hasValue"));
+ RDFUnmarshallerJena.setPROPERTY_LONGNAME(model.getProperty(
+ namespace + "longName"));
+ RDFUnmarshallerJena.setPROPERTY_OBSERVER(model.getProperty(
+ namespace + "observer"));
+ RDFUnmarshallerJena.setPROPERTY_PARAMETER(model.getProperty(
+ namespace + "parameter"));
+ RDFUnmarshallerJena.setPROPERTY_REFERENCE(model.getProperty(
+ namespace + "reference"));
+ RDFUnmarshallerJena.setPROPERTY_TYPE(model.getProperty(
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"));
+ RDFUnmarshallerJena.setPROPERTY_VALUE(model.getProperty(
+ namespace + "value"));
+ logger.info("OK - RDFUnmarshallerJena successfully initialized.");
- //Load the map of ResponseParser
-
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("Loading available parsers...");
- }
- try {
- // Retrieve the properties of the response parsers in the resources
- mapOfReponseParser = new LinkedHashMap<String, ResponseParser>();
-
- Properties aProperties = Property.getProps("responseParsers.properties");
-
- for (Entry<Object, Object> e : aProperties.entrySet()) {
- ResponseParser aResponseParser = (ResponseParser) (Class
- .forName((String) (e.getValue())).newInstance());
- mapOfReponseParser.put((String) (e.getKey()), aResponseParser);
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("... Parsers loaded");
+ // Load the map of ResponseParser
+ logger.debug("-------------------------------------------------------");
+ logger.debug("Loading available parsers form responseParsers.properties");
+ Properties aProperties = Property.getProps("responseParsers.properties");
+ for (Object key : aProperties.keySet()) {
+ String className = aProperties.getProperty(key.toString());
+ try {
+ ResponseParser aResponseParser = (ResponseParser) Class
+ .forName(className).newInstance();
+ mapOfReponseParser.put(key.toString(), aResponseParser);
+ logger.debug("> Parser loaded: " + mapOfReponseParser.get(key).getClass().toString());
+ } catch (ClassNotFoundException e) {
+ logger.warn("Class not found: " + className + ". Check responseParsers.properties.", e);
+ } catch (Exception e) {
+ logger.warn("Error trying to instanciate: " + className, e);
}
}
-
- // Static operations to initialize framework the first time this class is used.
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("Loading available observers...");
- }
- final String sLanguage = Property.get("DEFAULT_LANGUAGE");
- if (null != sLanguage) {
- LocalizedString.DEFAULT_LANGUAGE = sLanguage;
+ if (mapOfReponseParser.size() == 0) {
+ logger.fatal("There is no parser loaded. Check responseParsers.properties.");
+ return;
+ } else {
+ logger.info("OK - " + mapOfReponseParser.size() + " parser(s) successfully loaded.");
}
- Framework.mapOfObserver = new LinkedHashMap<String, Observer>();
- try {
- // Add all observer contract
- final BufferedReader aBufferedReader;
-
- aBufferedReader = new BufferedReader(new FileReader(Property
- .get("OBSERVER_LIST_FILE")));
-
- // Observer list file contains URL contracts of observers
- for (String sReadLine = aBufferedReader.readLine(); null != sReadLine; sReadLine = aBufferedReader
- .readLine()) {
-
- if ("".equals(sReadLine.trim())) {
- continue;
- }
- // Get URL of the contract. If the name of wadl file is not
- // defined, the contract's name will be observer.wadl
- final String sWADL;
- if (sReadLine.matches(".*\\.wadl$")) {
- sWADL = sReadLine;
- } else {
- sWADL = sReadLine + "/"
- + Property.get("OBSERVER_XML_FILENAME");
- }
-
- try {
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("Observer WADL file : " + sWADL
- + ".");
- }
- // Create each observer
- final Observer aObserver = new Observer();
- final WADLUnmarshaller aWADLUnmarshaller = new WADLUnmarshallerXPath();
- aWADLUnmarshaller.addURL(new URL(sWADL));
- aWADLUnmarshaller.unmarshal();
-
- aObserver.setListOfCallMethod(aWADLUnmarshaller
- .getListOfCallMethod());
- aObserver.setParamLangName(aWADLUnmarshaller
- .getNameOfLangParameter());
- aObserver.setID(aWADLUnmarshaller.getID());
- aObserver.setName(aWADLUnmarshaller.getName());
- aObserver
- .setDescription(aWADLUnmarshaller.getDescription());
- aObserver.setHelpLocation(aWADLUnmarshaller
- .getHelpLocation());
- aObserver.setProvider(aWADLUnmarshaller.getProvider());
- aObserver.setMapOfInputMethod(aWADLUnmarshaller
- .getMapOfInputMethod());
- aObserver.setResponseType(aWADLUnmarshaller
- .getResponseType());
- aObserver.setSupportedMimeTypes(aWADLUnmarshaller
- .getSupportedMimeTypes());
- Framework.mapOfObserver.put(new String(aObserver.getID()),
- aObserver);
- } catch (final Exception e) {
- Framework.logger.error("Exception : " + e.getMessage(), e);
- e.printStackTrace();
- }
+ // Loading observers
+ logger.debug("-------------------------------------------------------");
+ logger.debug("Loading available observers from the observers list file.");
+ LocalizedString.DEFAULT_LANGUAGE = Property.get("DEFAULT_LANGUAGE");
+ BufferedReader aBufferedReader;
+ try {
+ aBufferedReader = new BufferedReader(new FileReader(Property.get("OBSERVER_LIST_FILE")));
+ logger.debug("Using file: " + Property.get("OBSERVER_LIST_FILE"));
+ } catch (FileNotFoundException e) {
+ logger.fatal("The list of observers could not be found: " + Property.get("OBSERVER_LIST_FILE"));
+ return;
+ }
+ String readLine;
+ do {
+ try {
+ readLine = aBufferedReader.readLine();
+ if (readLine == null)
+ break;
+ } catch (IOException e) {
+ logger.fatal("Error while reading the observer list file", e);
+ return;
}
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("... Observers loaded.");
+ if ("".equals(readLine.trim()))
+ continue;
+ String sWADL = readLine;
+ if (!readLine.matches(".*\\.wadl$")) {
+ sWADL += "/" + Property.get("OBSERVER_XML_FILENAME");
}
- } catch (final FileNotFoundException aFileNotFoundException) {
- Framework.logger.error("FileNotFoundException : "
- + aFileNotFoundException.getMessage(),
- aFileNotFoundException);
- aFileNotFoundException.printStackTrace();
- }
-
- catch (final IOException ioe) {
- Framework.logger.error("IOException : " + ioe.getMessage(), ioe);
- ioe.printStackTrace();
- }
-
- if (Framework.logger.isDebugEnabled()) {
- Framework.logger.debug("Task initialisation.");
+ logger.debug("> Loading observer contract: " + sWADL);
+ Observer obs = new Observer();
+ WADLUnmarshaller unmarshaller;
+ try {
+ unmarshaller = new WADLUnmarshallerXPath();
+ unmarshaller.addURL(new URL(sWADL));
+ unmarshaller.unmarshal();
+ } catch (MalformedURLException e) {
+ logger.error("Invalid observer contract URL \"" + sWADL + "\". Check the observers list file.");
+ logger.warn("> This observer will be skiped");
+ continue;
+ } catch (ParserConfigurationException e) {
+ logger.fatal(e.getMessage(), e);
+ return;
+ } catch (IOException e) {
+ logger.error("Unable to read observer contract: " + sWADL, e);
+ logger.warn("> This observer will be skiped");
+ continue;
+ } catch (Exception e) {
+ logger.error("Error unmarshalling contract: " + sWADL, e);
+ logger.warn("> This observer will be skiped");
+ continue;
+ }
+ obs.setListOfCallMethod(unmarshaller.getListOfCallMethod());
+ obs.setParamLangName(unmarshaller.getNameOfLangParameter());
+ obs.setID(unmarshaller.getID());
+ obs.setName(unmarshaller.getName());
+ obs.setDescription(unmarshaller.getDescription());
+ obs.setHelpLocation(unmarshaller.getHelpLocation());
+ obs.setProvider(unmarshaller.getProvider());
+ obs.setMapOfInputMethod(unmarshaller.getMapOfInputMethod());
+ obs.setResponseType(unmarshaller.getResponseType());
+ obs.setSupportedMimeTypes(unmarshaller.getSupportedMimeTypes());
+ mapOfObserver.put(new String(obs.getID()), obs);
+ } while (readLine != null);
+ if (mapOfObserver.size() == 0) {
+ logger.fatal("There is no observer loaded. Check the observers list file.");
+ return;
+ } else {
+ logger.info("OK - " + mapOfObserver.size() + " observer(s) successfully loaded.");
}
- try {
- // parse all the task files
- final File[] tFileXML = ListFiles.listFiles(Property
- .get("PATH_TO_TASKLIST"), "\\.xml$");
-
- final TasksListUnmarshaller aTaskListUnmarshaller = new TaskListUnmarshallerBeans(
- Framework.mapOfObserver);
- for (final File aFile : tFileXML) {
+
+ logger.debug("-------------------------------------------------------");
+ logger.debug("Loading task files from tasklist directory: " + Property.get("PATH_TO_TASKLIST"));
+ TasksListUnmarshaller aTaskListUnmarshaller = new TaskListUnmarshallerBeans(mapOfObserver);
+ File[] tFileXML = ListFiles.listFiles(Property.get("PATH_TO_TASKLIST"), "\\.xml$");
+ for (File aFile : tFileXML) {
+ try {
aTaskListUnmarshaller.addURL(aFile.toURI().toURL());
+ aTaskListUnmarshaller.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");
}
- aTaskListUnmarshaller.unmarshal();
-
- final File[] tFileRDF = ListFiles.listFiles(Property
- .get("PATH_TO_TASKLIST"), "\\.rdf$");
- final RDFUnmarshaller aRDFUnmarshaller = new RDFUnmarshallerJena();
- aRDFUnmarshaller.setMapOfTask(aTaskListUnmarshaller.getMapOfTask());
- aRDFUnmarshaller.setMapOfObserver(Framework.mapOfObserver);
- for (final File aFile : tFileRDF) {
+ }
+ File[] tFileRDF = ListFiles.listFiles(Property.get("PATH_TO_TASKLIST"), "\\.rdf$");
+ RDFUnmarshaller aRDFUnmarshaller = new RDFUnmarshallerJena();
+ aRDFUnmarshaller.setMapOfTask(aTaskListUnmarshaller.getMapOfTask());
+ aRDFUnmarshaller.setMapOfObserver(mapOfObserver);
+ for (final File aFile : tFileRDF) {
+ try {
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");
}
- aRDFUnmarshaller.unmarshal();
-
- Framework.mapOfTask = aTaskListUnmarshaller.getMapOfTask();
- } catch (final MalformedURLException e) {
- Framework.logger.error("MalformedURLException : " + e.getMessage(),
- e);
- e.printStackTrace();
- } catch (final Exception e) {
- Framework.logger.error("Exception : " + e.getMessage(), e);
- e.printStackTrace();
+ }
+ mapOfTask = aTaskListUnmarshaller.getMapOfTask();
+ if (mapOfTask.size() == 0) {
+ logger.fatal("No task have been loaded. Check task files in: " + Property.get("PATH_TO_TASKLIST"));
+ return;
+ } else {
+ logger.info("OK - " + mapOfTask.size() + " task(s) successfully loaded.");
+ logger.info(mapOfTask);
}
// Retrieve output lang from PATH_TO_OUTPUT_TEMPLATES
- File[] listFD = (new File(Property.get("PATH_TO_TEMPLATES")))
+ /*File[] listFD = (new File(Property.get("PATH_TO_TEMPLATES")))
.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().matches(".*\\.vm$");
@@ -426,9 +404,9 @@
outputLang = new HashSet<String>();
for (int i = 0; i < listFD.length; i++) {
outputLang.add((listFD[i].getName().split("_"))[0]);
- }
+ }*/
-
+ outputLang = new HashSet<String>();
// Loading language files
@@ -448,17 +426,16 @@
if (!Language.isISOLanguageCode(localeString))
logger.warn(langFile.getName() + " is not a language file: " + localeString + " is not a valid locale.");
else {
+ FileInputStream fis1 = new FileInputStream(langFile);
+ InputStreamReader os = new InputStreamReader(fis1, "UTF-8");
Properties props = new Properties();
- props.load(langFile.toURI().toURL().openStream());
+ props.load(os);
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()) {
@@ -478,20 +455,35 @@
// Creating velocity engine
velocityEngine = new VelocityEngine();
- Properties aProperties = Property.getProps("velocity.properties");
- aProperties.put(Velocity.FILE_RESOURCE_LOADER_PATH, Property
+ Properties bProperties = Property.getProps("velocity.properties");
+ bProperties.put(Velocity.FILE_RESOURCE_LOADER_PATH, Property
.get("PATH_TO_TEMPLATES"));
- velocityEngine.init(aProperties);
+ velocityEngine.init(bProperties);
// Creating velocity templates
velocityTemplates.put("index", velocityEngine.getTemplate("index.vm", "UTF-8"));
//velocityTemplates.put("index", velocityEngine.getTemplate("index.vm", "UTF-8"));
+ TemplateHelper.init();
Framework.logger.info("End of initialisation of UniCORN.");
isUcnInitialized = true;
}
+ private static void loadConfigFile(String path, boolean addUnicornHome) throws FileNotFoundException, IOException {
+ UCNProperties properties = new UCNProperties();
+ File configFile = new File(path);
+ String fileName = configFile.getName();
+ if (fileName != null) {
+ logger.debug("Loading config file: " + fileName);
+ if (addUnicornHome)
+ properties.put("UNICORN_HOME", unicornHome.getPath());
+ properties.load(new FileInputStream(configFile));
+ unicornPropertiesFiles.put(fileName, properties);
+ logger.debug("> " + fileName + ":" + properties);
+ }
+ }
+
public static Hashtable<String, Properties> getUnicornPropertiesFiles() {
return unicornPropertiesFiles;
}
@@ -511,6 +503,4 @@
public static Hashtable<String, Properties> getLanguageProperties() {
return languageProperties;
}
-
-
}
Received on Monday, 17 August 2009 09:19:07 UTC