You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by in...@apache.org on 2008/10/31 09:34:22 UTC

svn commit: r709365 - in /synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task: ./ service/

Author: indika
Date: Fri Oct 31 01:34:21 2008
New Revision: 709365

URL: http://svn.apache.org/viewvc?rev=709365&view=rev
Log:
add more logs and java docs

Modified:
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskJobDetailFactory.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskTriggerFactory.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskException.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionFactory.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepositoryFactory.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionSerializer.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskJobDetailFactory.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskScheduler.java
    synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/service/TaskManagementService.java

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskJobDetailFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskJobDetailFactory.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskJobDetailFactory.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskJobDetailFactory.java Fri Oct 31 01:34:21 2008
@@ -18,19 +18,22 @@
  */
 package org.apache.synapse.task;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.quartz.Job;
 import org.quartz.JobDataMap;
 import org.quartz.JobDetail;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-import java.util.HashMap;
 
 /**
  * Default JobDetailFactory ships with synapse utils
  */
 public class DefaultTaskJobDetailFactory implements TaskJobDetailFactory {
 
+    private static final Log log = LogFactory.getLog(DefaultTaskJobDetailFactory.class);
 
     /**
      * @see TaskJobDetailFactory
@@ -38,11 +41,11 @@
     public JobDetail createJobDetail(TaskDescription taskDescription, Map<String, Object> resources, Class<Job> jobClass) {
 
         if (taskDescription == null) {
-            throw new SynapseTaskException("Task Description cannot be found.");
+            throw new SynapseTaskException("Task Description cannot be found.", log);
         }
 
         if (jobClass == null) {
-            throw new SynapseTaskException("Job Class cannot be found.");
+            throw new SynapseTaskException("Job Class cannot be found.", log);
         }
 
         if (resources == null) {
@@ -54,7 +57,7 @@
 
         String name = taskDescription.getName();
         if (name == null || "".equals(name)) {
-            throw new SynapseTaskException("Name cannot be found.");
+            throw new SynapseTaskException("Name cannot be found.", log);
         }
         jobDetail.setName(name);
 

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskTriggerFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskTriggerFactory.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskTriggerFactory.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/DefaultTaskTriggerFactory.java Fri Oct 31 01:34:21 2008
@@ -18,10 +18,12 @@
  */
 package org.apache.synapse.task;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.quartz.CronTrigger;
+import org.quartz.SimpleTrigger;
 import org.quartz.Trigger;
 import org.quartz.TriggerUtils;
-import org.quartz.SimpleTrigger;
 
 import java.text.ParseException;
 import java.util.Date;
@@ -31,6 +33,7 @@
  * Default TriggerFactory ship with synapse utils
  */
 public class DefaultTaskTriggerFactory implements TaskTriggerFactory {
+    private static final Log log = LogFactory.getLog(DefaultTaskTriggerFactory.class);
 
     /**
      * @see TaskTriggerFactory
@@ -39,9 +42,9 @@
 
         String name = taskDescription.getName();
         if (name == null || "".equals(name)) {
-            throw new SynapseTaskException("Name of the Task cannot be null");
+            throw new SynapseTaskException("Name of the Task cannot be null", log);
         }
-        
+
         String cron = taskDescription.getCron();
         int repeatCount = taskDescription.getCount();
         long repeatInterval = taskDescription.getInterval();
@@ -62,12 +65,12 @@
                 cronTrigger.setCronExpression(cron);
                 trigger = cronTrigger;
             } catch (ParseException e) {
-                throw new SynapseTaskException("Error setting cron expression : " + cron);
+                throw new SynapseTaskException("Error setting cron expression : " + cron, log);
             }
         }
 
         if (trigger == null) {
-            throw new SynapseTaskException("Trigger is null for the Task description : " + taskDescription);
+            throw new SynapseTaskException("Trigger is null for the Task description : " + taskDescription, log);
         }
 
         if (startTime != null) {

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskException.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskException.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskException.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskException.java Fri Oct 31 01:34:21 2008
@@ -24,7 +24,7 @@
  *
  */
 public class SynapseTaskException extends RuntimeException {
-    
+
     private static final long serialVersionUID = -7967803433723984038L;
 
     public SynapseTaskException(String string) {

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionFactory.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionFactory.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionFactory.java Fri Oct 31 01:34:21 2008
@@ -71,7 +71,8 @@
                 }
                 taskDescription.setTaskClass(classname);
             } else {
-                handleException("Syntax error in the Task : no task class specified");
+                log.warn("TaskClass cannot be found." +
+                        "Task implementation may need a task class if there is no default one");
             }
 
             // set pinned server list

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java Fri Oct 31 01:34:21 2008
@@ -22,8 +22,8 @@
 import org.apache.commons.logging.LogFactory;
 
 import java.util.HashMap;
-import java.util.Map;
 import java.util.Iterator;
+import java.util.Map;
 
 /**
  * Local repository for holds Task descriptions
@@ -46,6 +46,9 @@
         validateName(name);
         validateUniqueness(name);
 
+        if (log.isDebugEnabled()) {
+            log.debug("Storing a TaskDescription : " + taskDescription);
+        }
         taskDescriptionMap.put(name, taskDescription);
 
     }
@@ -58,17 +61,42 @@
      */
     public TaskDescription getTaskDescription(String name) {
         validateName(name);
-        return taskDescriptionMap.get(name);
+        TaskDescription taskDescription = taskDescriptionMap.get(name);
+        if (taskDescription == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("TaskDescription cannot be found for name :" + name + " , returning null");
+            }
+        } else {
+            if (log.isDebugEnabled()) {
+                log.debug("Returning TaskDescription : " + taskDescription);
+            }
+        }
+        return taskDescription;
     }
 
     /**
      * Removing a TaskDescription
      *
      * @param name Name of the TaskDescription to be removed
+     * @return Removed TaskDescription instance
      */
-    public void removeTaskDescription(String name) {
+    public TaskDescription removeTaskDescription(String name) {
         validateName(name);
-        taskDescriptionMap.remove(name);
+        if (log.isDebugEnabled()) {
+            log.debug("Removing a TaskDescription with name : " + name);
+        }
+        TaskDescription taskDescription = taskDescriptionMap.remove(name);
+        if (taskDescription == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("There is no TaskDescription to be removed with name : " + name);
+            }
+        } else {
+            if (log.isDebugEnabled()) {
+                log.debug("Removed TaskDescription : " + taskDescription);
+            }
+        }
+        return taskDescription;
+
     }
 
     /**
@@ -79,7 +107,7 @@
     public Iterator<TaskDescription> getAllTaskDescriptions() {
         return taskDescriptionMap.values().iterator();
     }
-    
+
     /**
      * Explicit check for determine whether there is a task description with a name in interest
      *

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepositoryFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepositoryFactory.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepositoryFactory.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepositoryFactory.java Fri Oct 31 01:34:21 2008
@@ -18,11 +18,15 @@
  */
 package org.apache.synapse.task;
 
-import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import java.util.HashMap;
+import java.util.Map;
 
 public class TaskDescriptionRepositoryFactory {
 
+    private static final Log log = LogFactory.getLog(TaskDescriptionRepositoryFactory.class);
     private final static Map<String, TaskDescriptionRepository> repositoryMap = new HashMap<String, TaskDescriptionRepository>();
 
     private TaskDescriptionRepositoryFactory() {
@@ -38,11 +42,14 @@
     public static TaskDescriptionRepository getTaskDescriptionRepository(String id) {
 
         if (id == null || "".equals(id)) {
-            throw new SynapseTaskException("Name cannot be found.");
+            throw new SynapseTaskException("Name cannot be found.", log);
         }
 
         TaskDescriptionRepository repository = repositoryMap.get(id);
         if (repository == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Creating a TaskDescriptionRepository with id : " + id);
+            }
             repository = new TaskDescriptionRepository();
             repositoryMap.put(id, repository);
         }

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionSerializer.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionSerializer.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionSerializer.java Fri Oct 31 01:34:21 2008
@@ -46,7 +46,11 @@
 
         OMElement task = omFactory.createOMElement("task", targetNamespace);
         task.addAttribute("name", taskDescription.getName(), NULL_OMNS);
-        task.addAttribute("class", taskDescription.getTaskClass(), NULL_OMNS);
+
+        String taskClass = taskDescription.getTaskClass();
+        if (taskClass != null && !"".equals(taskClass)) {
+            task.addAttribute("class", taskDescription.getTaskClass(), NULL_OMNS);
+        }
 
         List pinnedServers = taskDescription.getPinnedServers();
         if (pinnedServers != null && !pinnedServers.isEmpty()) {

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskJobDetailFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskJobDetailFactory.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskJobDetailFactory.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskJobDetailFactory.java Fri Oct 31 01:34:21 2008
@@ -38,5 +38,5 @@
      * @param jobClass        Job class
      * @return JobDetail instance , if there are enough information to create a instance , otherwise , return null
      */
-    JobDetail createJobDetail(TaskDescription taskDescription, Map<String,Object> resources, Class<Job> jobClass);
+    JobDetail createJobDetail(TaskDescription taskDescription, Map<String, Object> resources, Class<Job> jobClass);
 }

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskScheduler.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskScheduler.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskScheduler.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskScheduler.java Fri Oct 31 01:34:21 2008
@@ -132,7 +132,7 @@
      * @param resources       Any initial resources for task
      * @param jobClass        Quartz job class
      */
-    public void scheduleTask(TaskDescription taskDescription, Map<String,Object> resources, Class jobClass) {
+    public void scheduleTask(TaskDescription taskDescription, Map<String, Object> resources, Class jobClass) {
 
         validateInit();
         validateStart();

Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/service/TaskManagementService.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/service/TaskManagementService.java?rev=709365&r1=709364&r2=709365&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/service/TaskManagementService.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/service/TaskManagementService.java Fri Oct 31 01:34:21 2008
@@ -18,25 +18,58 @@
  */
 package org.apache.synapse.task.service;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.synapse.task.TaskDescription;
 
 import java.util.List;
 
 /**
- *
+ * A service for management of task
+ * Implementation can be a web service , OSGI service , etc
  */
 public interface TaskManagementService {
 
+    /**
+     * Adding a  TaskDescription instance
+     *
+     * @param taskDescription TaskDescription instance
+     */
     void addTaskDescription(TaskDescription taskDescription);
 
+    /**
+     * Deletes a TaskDescription instance with given name
+     *
+     * @param name Name of the TaskDescription  to be deleted
+     */
     void deleteTaskDescription(String name);
 
+    /**
+     * Edit a TaskDescription
+     * Remove existing one with new one
+     *
+     * @param taskDescription New TaskDescription instance
+     */
     void editTaskDescription(TaskDescription taskDescription);
 
+    /**
+     * Lists of all TaskDescription instances
+     *
+     * @return A List of TaskDescription
+     */
     List<TaskDescription> getAllTaskDescriptions();
 
+    /**
+     * Get a TaskDescription instance with given name
+     *
+     * @param name Name of the TaskDescription instance to be returned
+     * @return TaskDescription instance
+     */
     TaskDescription getTaskDescription(String name);
-    
+
+    /**
+     * Explicit check for availability of a particular TaskDescription instance
+     *
+     * @param name Name of the TaskDescription instance
+     * @return Returns true if there is a TaskDescription instance with given name , otherwise , false
+     */
     boolean isContains(String name);
 }