You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/07/06 09:43:49 UTC
camel git commit: Cannot chain RouteDefinition.autoStartup. Thanks to
Ramon Marco L. Navarro for the patch.
Repository: camel
Updated Branches:
refs/heads/master 59efc8832 -> 713505e6f
Cannot chain RouteDefinition.autoStartup. Thanks to Ramon Marco L. Navarro for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/713505e6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/713505e6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/713505e6
Branch: refs/heads/master
Commit: 713505e6f18d470c5870a92426cab919e8b8865c
Parents: 59efc88
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Jul 6 09:47:37 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Jul 6 09:47:37 2015 +0200
----------------------------------------------------------------------
.../camel/scala/dsl/SAbstractDefinition.scala | 2 +-
.../camel/scala/dsl/SAggregateDefinition.scala | 2 -
.../scala/dsl/SAggregateDefinition.scala.orig | 72 ++++++++++++++++++++
.../camel/scala/dsl/SEnrichDefinition.scala | 3 -
.../dsl/SIdempotentConsumerDefinition.scala | 3 -
.../scala/dsl/SLoadBalanceDefinition.scala | 2 -
.../camel/scala/dsl/SMulticastDefinition.scala | 3 -
.../scala/dsl/SOnCompletionDefinition.scala | 3 -
.../scala/dsl/SOnExceptionDefinition.scala | 3 -
.../camel/scala/dsl/SPipelineDefinition.scala | 3 -
.../camel/scala/dsl/SResequenceDefinition.scala | 3 -
.../camel/scala/dsl/SSplitDefinition.scala | 3 -
.../camel/scala/dsl/SThreadsDefinition.scala | 4 +-
.../camel/scala/dsl/SThrottleDefinition.scala | 2 -
...StartupNotReturningRouteDefinitionTest.scala | 48 +++++++++++++
15 files changed, 122 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
index ff632df..ca9afc3 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAbstractDefinition.scala
@@ -44,7 +44,7 @@ abstract class SAbstractDefinition[P <: ProcessorDefinition[_]] extends DSL with
/**
* Helper method to return this Scala type instead of creating another wrapper type for the processor
*/
- def wrap(block: => Unit): SAbstractDefinition[_] = {
+ def wrap(block: => Unit): this.type = {
block
this
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
index 1e7b5d5..8f08f96 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala
@@ -67,6 +67,4 @@ case class SAggregateDefinition(override val target: AggregateDefinition)(implic
val predicate = filter
target.completionPredicate(predicate)
}
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SAggregateDefinition]
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala.orig
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala.orig b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala.orig
new file mode 100644
index 0000000..1e7b5d5
--- /dev/null
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala.orig
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.scala.dsl
+
+import java.util.concurrent.ExecutorService
+import java.util.concurrent.ScheduledExecutorService
+import org.apache.camel.model.AggregateDefinition
+import org.apache.camel.processor.aggregate.AggregationStrategy
+import org.apache.camel.scala.dsl.builder.RouteBuilder
+import org.apache.camel.Exchange
+import org.apache.camel.scala.Period
+
+/**
+ * Scala wrapper for Camel AggregateDefinition
+ */
+case class SAggregateDefinition(override val target: AggregateDefinition)(implicit val builder: RouteBuilder) extends SAbstractDefinition[AggregateDefinition] {
+
+ def strategy(function: (Exchange, Exchange) => Exchange) = {
+ target.setAggregationStrategy(
+ new AggregationStrategy() {
+ def aggregate(oldExchange: Exchange, newExchange: Exchange) = function(oldExchange, newExchange)
+ }
+ )
+ this
+ }
+
+ def strategy(strategy: AggregationStrategy) = wrap(target.setAggregationStrategy(strategy))
+
+ def aggregationRepositoryRef(ref: String) = wrap(target.setAggregationRepositoryRef(ref))
+ def strategyRef(ref: String) = wrap(target.setStrategyRef(ref))
+
+ def completionSize(count: Int) = wrap(target.completionSize(count))
+ def completionTimeout(period: Period) = wrap(target.setCompletionTimeout(period.milliseconds))
+ def completionInterval(period: Period) =
+ wrap(target.setCompletionInterval(period.milliseconds))
+
+ def closeCorrelationKeyOnCompletion(count: Int) = wrap(target.setCloseCorrelationKeyOnCompletion(count))
+ def parallelProcessing = wrap(target.parallelProcessing)
+ def completionFromBatchConsumer = wrap(target.completionFromBatchConsumer)
+ def eagerCheckCompletion = wrap(target.eagerCheckCompletion)
+ def ignoreInvalidCorrelationKeys = wrap(target.ignoreInvalidCorrelationKeys)
+ def groupExchanges = wrap(target.groupExchanges)
+
+ def discardOnCompletionTimeout = wrap(target.discardOnCompletionTimeout)
+ def forceCompletionOnStop = wrap(target.forceCompletionOnStop())
+ def timeoutCheckerExecutorService(executorService: ScheduledExecutorService)
+ = wrap(target.setTimeoutCheckerExecutorService(executorService))
+ def executorService(executorService: ExecutorService) = wrap(target.setExecutorService(executorService))
+ def executorServiceRef(ref: String) = wrap(target.setExecutorServiceRef(ref))
+
+ def completionPredicate(filter: Exchange => Any) {
+ // uses implicit conversion
+ val predicate = filter
+ target.completionPredicate(predicate)
+ }
+
+ override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SAggregateDefinition]
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
index 1a19be0..48a40f5 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SEnrichDefinition.scala
@@ -30,7 +30,4 @@ case class SEnrichDefinition(override val target: EnrichDefinition)(implicit val
def resourceRef(ref: String) = wrap(target.setResourceRef(ref))
def resourceUri(resourceUri: String) = wrap(target.setResourceUri(resourceUri))
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SEnrichDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
index c4488ae..3bffa03 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SIdempotentConsumerDefinition.scala
@@ -38,7 +38,4 @@ case class SIdempotentConsumerDefinition(override val target: IdempotentConsumer
def skipDuplicate(skipDuplicate: Boolean) = wrap(target.setSkipDuplicate(skipDuplicate))
def removeOnFailure(removeOnFailure: Boolean) = wrap(target.setRemoveOnFailure(removeOnFailure))
-
- override def wrap(block: => Unit) : SIdempotentConsumerDefinition = super.wrap(block).asInstanceOf[SIdempotentConsumerDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
index 5fdb2ab..c6104a5 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SLoadBalanceDefinition.scala
@@ -43,6 +43,4 @@ case class SLoadBalanceDefinition(override val target: LoadBalanceDefinition)(im
def weighted(roundRobin: Boolean, distributionRatio: String, distributionRatioDelimiter :String = ",")
= wrap(target.weighted(roundRobin, distributionRatio, distributionRatioDelimiter))
def custom(ref: String) = wrap(target.custom(ref))
-
- override def wrap(block: => Unit) : SLoadBalanceDefinition = super.wrap(block).asInstanceOf[SLoadBalanceDefinition]
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
index e55f811..2498023 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SMulticastDefinition.scala
@@ -51,7 +51,4 @@ case class SMulticastDefinition(override val target: MulticastDefinition)(implic
def executorServiceRef(ref: String) = wrap(target.setExecutorServiceRef(ref))
def timeout(timeout: Long) = wrap(target.timeout(timeout))
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SMulticastDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnCompletionDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnCompletionDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnCompletionDefinition.scala
index 9277819..1512859 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnCompletionDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnCompletionDefinition.scala
@@ -40,7 +40,4 @@ case class SOnCompletionDefinition(override val target : OnCompletionDefinition)
def parallelProcessing = wrap(target.parallelProcessing)
def executorService(executorService: ExecutorService) = wrap(target.setExecutorService(executorService))
def executorServiceRef(ref: String) = wrap(target.setExecutorServiceRef(ref))
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SOnCompletionDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
index 7f7d6ef..a6acc08 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SOnExceptionDefinition.scala
@@ -81,7 +81,4 @@ case class SOnExceptionDefinition[E <: Throwable](override val target: OnExcepti
def retryWhile(retryWhile: Exchange => Any) = wrap(target.retryWhile(predicateBuilder(retryWhile)))
def useOriginalMessage = wrap(target.useOriginalMessage)
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SOnExceptionDefinition[E]]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SPipelineDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SPipelineDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SPipelineDefinition.scala
index ed0a796..0c48dc7 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SPipelineDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SPipelineDefinition.scala
@@ -35,7 +35,4 @@ case class SPipelineDefinition(override val target: PipelineDefinition)(implicit
}
override def apply(block: => Unit) = wrap(super.apply(block))
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SPipelineDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
index f648c72..6c4023d 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SResequenceDefinition.scala
@@ -54,7 +54,4 @@ case class SResequenceDefinition(override val target: ResequenceDefinition)(impl
def ignoreInvalidExchanges = wrap(target.ignoreInvalidExchanges)
def comparator(comparator: ExpressionResultComparator) = wrap(target.comparator(comparator))
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SResequenceDefinition]
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
index e135251..d4a9747 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SSplitDefinition.scala
@@ -23,9 +23,6 @@ import org.apache.camel.processor.aggregate.AggregationStrategy
import org.apache.camel.scala.dsl.builder.RouteBuilder
case class SSplitDefinition(override val target: SplitDefinition)(implicit val builder: RouteBuilder) extends SAbstractDefinition[SplitDefinition] {
-
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SSplitDefinition]
-
def aggregationStrategy(aggregationStrategy: AggregationStrategy) = wrap(target.aggregationStrategy(aggregationStrategy))
def aggregationStrategyRef(ref: String) = wrap(target.aggregationStrategyRef(ref))
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThreadsDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThreadsDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThreadsDefinition.scala
index 59664a4..c8fd61b 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThreadsDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThreadsDefinition.scala
@@ -44,11 +44,9 @@ case class SThreadsDefinition(override val target: ThreadsDefinition)(implicit v
def callerRunsWhenRejected(callerRunsWhenRejected: Boolean) = wrap(target.callerRunsWhenRejected(callerRunsWhenRejected))
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SThreadsDefinition]
-
def executorService(executorService: ExecutorService) = wrap(target.setExecutorService(executorService))
def executorServiceRef(ref: String) = wrap(target.setExecutorServiceRef(ref))
}
-
\ No newline at end of file
+
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
index 83a8aa8..495b6fc 100644
--- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
+++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SThrottleDefinition.scala
@@ -25,8 +25,6 @@ import org.apache.camel.scala.dsl.builder.RouteBuilder
*/
case class SThrottleDefinition(override val target: ThrottleDefinition)(implicit val builder: RouteBuilder) extends SAbstractDefinition[ThrottleDefinition] {
- override def wrap(block: => Unit) = super.wrap(block).asInstanceOf[SThrottleDefinition]
-
def executorService(executorService: ExecutorService) = wrap(target.setExecutorService(executorService))
def executorServiceRef(ref: String) = wrap(target.setExecutorServiceRef(ref))
http://git-wip-us.apache.org/repos/asf/camel/blob/713505e6/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AutoStartupNotReturningRouteDefinitionTest.scala
----------------------------------------------------------------------
diff --git a/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AutoStartupNotReturningRouteDefinitionTest.scala b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AutoStartupNotReturningRouteDefinitionTest.scala
new file mode 100644
index 0000000..72ac87a
--- /dev/null
+++ b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AutoStartupNotReturningRouteDefinitionTest.scala
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.scala.dsl
+
+import org.apache.camel.ServiceStatus.Stopped
+
+import org.junit.Test
+import org.junit.Assert.assertEquals
+import builder.RouteBuilder
+
+class AutoStartupNotReturningRouteDefinitionTest extends ScalaTestSupport {
+ @Test
+ def testBooleanAutoStartup() {
+ assertEquals(context.getRouteStatus("boolean-auto-startup"), Stopped)
+ }
+
+ @Test
+ def testStringAutoStartup() {
+ assertEquals(context.getRouteStatus("string-auto-startup"), Stopped)
+ }
+
+ val builder =
+ new RouteBuilder {
+ // will throw an exception if bug is present
+ "boolean-auto-startup" :: "direct:a".autoStartup(false) ==> {
+ to ("mock:a")
+ }
+
+ // will throw an exception if bug is present
+ "string-auto-startup" :: "direct:b".autoStartup("false") ==> {
+ to ("mock:b")
+ }
+ }
+}