You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2019/06/18 05:50:13 UTC
[camel] branch master updated: CAMEL-13655: Allow to plug a custom
ProcessorReifier
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new bc9eabb CAMEL-13655: Allow to plug a custom ProcessorReifier
bc9eabb is described below
commit bc9eabb2ebb8a919e947aaee82a1552074cffed9
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Jun 17 17:12:09 2019 +0200
CAMEL-13655: Allow to plug a custom ProcessorReifier
---
.../org/apache/camel/reifier/ProcessorReifier.java | 6 ++++-
.../{refier => reifier}/DataFormatReifierTest.java | 20 +++++++++------
.../ProcessorReifierTest.java} | 29 +++++++++++-----------
3 files changed, 33 insertions(+), 22 deletions(-)
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 9d18764..1ecb803 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -187,11 +187,15 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
protected final Logger log = LoggerFactory.getLogger(getClass());
protected final T definition;
-
+
public ProcessorReifier(T definition) {
this.definition = definition;
}
+ public static void registerReifier(Class<?> processorClass, Function<ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> creator) {
+ PROCESSORS.put(processorClass, creator);
+ }
+
public static ProcessorReifier<? extends ProcessorDefinition<?>> reifier(ProcessorDefinition<?> definition) {
Function<ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> reifier = PROCESSORS.get(definition.getClass());
if (reifier != null) {
diff --git a/core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java b/core/camel-core/src/test/java/org/apache/camel/reifier/DataFormatReifierTest.java
similarity index 74%
copy from core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java
copy to core/camel-core/src/test/java/org/apache/camel/reifier/DataFormatReifierTest.java
index 820e905..06c4a03 100644
--- a/core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/reifier/DataFormatReifierTest.java
@@ -14,22 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.refier;
+package org.apache.camel.reifier;
import org.apache.camel.model.dataformat.CustomDataFormat;
import org.apache.camel.reifier.dataformat.CustomDataFormatReifier;
import org.apache.camel.reifier.dataformat.DataFormatReifier;
+import org.junit.FixMethodOrder;
import org.junit.Test;
+import org.junit.runners.MethodSorters;
+import static junit.framework.TestCase.fail;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class DataFormatReifierTest {
+ @Test
+ public void testHandleCustomDataFormat() {
+ try {
+ DataFormatReifier.reifier(new MyDataFormat());
- @Test(expected = IllegalStateException.class)
- public void shouldNotHandleCustomDataFormat() {
- DataFormatReifier.reifier(new MyDataFormat());
- }
+ fail("Should throw IllegalStateException instead");
+ } catch (IllegalStateException e) {
+ }
- @Test
- public void shouldHandleCustomDataFormat() {
DataFormatReifier.registerReifier(MyDataFormat.class, CustomDataFormatReifier::new);
DataFormatReifier.reifier(new MyDataFormat());
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java b/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
similarity index 55%
rename from core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java
rename to core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
index 820e905..e2c953c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/refier/DataFormatReifierTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
@@ -14,26 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.refier;
+package org.apache.camel.reifier;
-import org.apache.camel.model.dataformat.CustomDataFormat;
-import org.apache.camel.reifier.dataformat.CustomDataFormatReifier;
-import org.apache.camel.reifier.dataformat.DataFormatReifier;
+import org.apache.camel.model.ProcessDefinition;
import org.junit.Test;
-public class DataFormatReifierTest {
-
- @Test(expected = IllegalStateException.class)
- public void shouldNotHandleCustomDataFormat() {
- DataFormatReifier.reifier(new MyDataFormat());
- }
+import static junit.framework.TestCase.fail;
+public class ProcessorReifierTest {
@Test
- public void shouldHandleCustomDataFormat() {
- DataFormatReifier.registerReifier(MyDataFormat.class, CustomDataFormatReifier::new);
- DataFormatReifier.reifier(new MyDataFormat());
+ public void testHandleCustomProcessorDefinition() {
+ try {
+ ProcessorReifier.reifier(new MyProcessor());
+
+ fail("Should throw IllegalStateException instead");
+ } catch (IllegalStateException e) {
+ }
+
+ ProcessorReifier.registerReifier(MyProcessor.class, ProcessReifier::new);
+ ProcessorReifier.reifier(new ProcessDefinition());
}
- public static class MyDataFormat extends CustomDataFormat {
+ public static class MyProcessor extends ProcessDefinition {
}
}