You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/07/09 20:55:20 UTC
cvs commit: cocoon-lenya/src/java/org/apache/lenya/cms/task TaskManager.java
andreas 2003/07/09 11:55:20
Modified: src/java/org/apache/lenya/cms/task TaskManager.java
Log:
allowing missing tasks.xml file
Revision Changes Path
1.18 +32 -16 cocoon-lenya/src/java/org/apache/lenya/cms/task/TaskManager.java
Index: TaskManager.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/task/TaskManager.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- TaskManager.java 9 Jul 2003 13:44:51 -0000 1.17
+++ TaskManager.java 9 Jul 2003 18:55:20 -0000 1.18
@@ -1,5 +1,5 @@
/*
-$Id$
+$Id
<License>
============================================================================
@@ -61,13 +61,14 @@
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
import org.apache.log4j.Category;
+import org.xml.sax.SAXException;
import java.io.File;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-
/**
* DOCUMENT ME!
*
@@ -77,8 +78,13 @@
private static Category log = Category.getInstance(TaskManager.class);
public static final String TASK_ELEMENT = "task";
public static final String TASK_ID_ATTRIBUTE = "id";
- public static final String CONFIGURATION_FILE = File.separator + "config" + File.separator +
- "tasks" + File.separator + "tasks.xconf";
+ public static final String CONFIGURATION_FILE =
+ File.separator
+ + "config"
+ + File.separator
+ + "tasks"
+ + File.separator
+ + "tasks.xconf";
// maps task-ids to tasks
private Map tasks = new HashMap();
@@ -94,22 +100,28 @@
*
* @param publicationPath path to publication,
*/
- public TaskManager(String publicationPath) {
+ public TaskManager(String publicationPath)
+ throws ConfigurationException, SAXException, IOException {
String configurationFilePath = publicationPath + CONFIGURATION_FILE;
log.debug("Loading tasks: " + configurationFilePath);
File configurationFile = new File(configurationFilePath);
- try {
- DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
- Configuration configuration = builder.buildFromFile(configurationFile);
+ if (configurationFile.isFile()) {
+ DefaultConfigurationBuilder builder =
+ new DefaultConfigurationBuilder();
+ Configuration configuration =
+ builder.buildFromFile(configurationFile);
configure(configuration);
- tasks.put(EMTPY_TASK, new EmptyTask());
- tasks.put(ANT_TASK, new AntTask());
- } catch (Exception e) {
- log.error("Cannot load task configuration! ", e);
+ } else {
+ log.info(
+ "Task configuration not loaded - file ["
+ + configurationFile.getAbsolutePath()
+ + "] does not exist.");
}
+ tasks.put(EMTPY_TASK, new EmptyTask());
+ tasks.put(ANT_TASK, new AntTask());
}
public static final String EMTPY_TASK = "empty";
@@ -127,14 +139,17 @@
log.debug("Creating tasks:");
// create task list
- Configuration[] taskConfigurations = configuration.getChildren(TASK_ELEMENT);
+ Configuration[] taskConfigurations =
+ configuration.getChildren(TASK_ELEMENT);
// set task IDs
for (int i = 0; i < taskConfigurations.length; i++) {
- String taskId = taskConfigurations[i].getAttribute(TASK_ID_ATTRIBUTE);
+ String taskId =
+ taskConfigurations[i].getAttribute(TASK_ID_ATTRIBUTE);
log.debug("Creating task '" + taskId + "'");
- Task task = TaskFactory.getInstance().createTask(taskConfigurations[i]);
+ Task task =
+ TaskFactory.getInstance().createTask(taskConfigurations[i]);
tasks.put(taskId, task);
}
}
@@ -159,7 +174,8 @@
*/
public Task getTask(String taskId) throws ExecutionException {
if (!tasks.containsKey(taskId)) {
- throw new ExecutionException("Task with ID '" + taskId + "' not found!");
+ throw new ExecutionException(
+ "Task with ID '" + taskId + "' not found!");
}
return (Task) tasks.get(taskId);
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org