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);
}