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