You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/03/16 23:52:55 UTC
svn commit: r755034 -
/servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java
Author: gnodet
Date: Mon Mar 16 22:52:54 2009
New Revision: 755034
URL: http://svn.apache.org/viewvc?rev=755034&view=rev
Log:
Allow multiple calls to Endpoint#validate()
Modified:
servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java
Modified: servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java?rev=755034&r1=755033&r2=755034&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java (original)
+++ servicemix/components/engines/servicemix-quartz/trunk/src/main/java/org/apache/servicemix/quartz/QuartzEndpoint.java Mon Mar 16 22:52:54 2009
@@ -148,10 +148,11 @@
public void validate() throws DeploymentException {
super.validate();
if (trigger instanceof JobDetailAwareTrigger) {
- if (jobDetail != null) {
- throw new DeploymentException("jobDetail can not be set on endpoint and trigger at the same time");
+ JobDetail jb = ((JobDetailAwareTrigger) trigger).getJobDetail();
+ if (jobDetail != null && jb != null && jobDetail != jb) {
+ throw new DeploymentException("trigger and jobDetail can not be set on endpoint at the same time");
}
- jobDetail = ((JobDetailAwareTrigger) trigger).getJobDetail();
+ jobDetail = jb;
}
if (jobDetail == null) {
JobDetailBean j = new JobDetailBean();
@@ -162,9 +163,11 @@
triggers = new ArrayList<Trigger>();
}
if (trigger != null && triggers != null && triggers.size() > 0) {
- throw new DeploymentException("trigger and triggers can not be set at the same time");
+ if (triggers.size() != 1 || triggers.get(0) != trigger) {
+ throw new DeploymentException("trigger and triggers can not be set at the same time");
+ }
}
- if (trigger != null) {
+ if (trigger != null && !triggers.contains(trigger)) {
triggers.add(trigger);
}
if (calendars == null) {