Hi

Yeah got the any order fixed
https://issues.apache.org/jira/browse/CAMEL-9697

And will work on the expression

On Thu, Mar 10, 2016 at 5:29 PM, Quinn Stevenson
<qu...@pronoia-solutions.com> wrote:
> I would defiantly like to add an expression to split the messages - that 
> would be very very useful.
>
>> On Mar 10, 2016, at 9:27 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>
>> On Thu, Mar 10, 2016 at 5:18 PM, Quinn Stevenson
>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> wrote:
>>> Thank you for the quick fix - I’m building 2.17-SNAPSHOT now so I can work 
>>> with this some more.
>>>
>>> I agree completely on the first case.  I actually assumed that’s what would 
>>> happen for some reason.  Is the component currently limited to one message 
>>> per file?
>>
>> Yes, it may work for a bunch of xml files etc where you want to match
>> against them.
>>
>> But we could allow to configure a expression for splitting, then you
>> can specify \n for new lines, or refer to an xml tokenizer, that can
>> split xml files, etc
>>
>>
>>>
>>> I hadn’t thought about the second - my routes are almost always 
>>> order-dependent (i.e. FIFO), so I normally wouldn’t use that one.
>>>
>>
>> Yeah its in the order it consumes / aka for file the reading order. So
>> you would may need to specify a sort option to sort by name etc.
>>
>>
>>
>>>
>>>> On Mar 10, 2016, at 9:13 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>
>>>> One use case it may be nice would be to allow to use 1 file, but each
>>>> row in the file is a expected message.
>>>> In case you test with 1000s of messages.
>>>>
>>>> Also maybe being able to specify that the order can be random. I think
>>>> today they are in the order the consumer fetches the messages.
>>>>
>>>> On Thu, Mar 10, 2016 at 5:06 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>> Hi
>>>>>
>>>>> I have reproduced your issue and logged a ticket
>>>>> https://issues.apache.org/jira/browse/CAMEL-9696
>>>>>
>>>>> And also work on improving so those options you pass on the file
>>>>> endpoint are passed on. Today they are dropped.
>>>>>
>>>>> On Thu, Mar 10, 2016 at 4:56 PM, Quinn Stevenson
>>>>> <qu...@pronoia-solutions.com> wrote:
>>>>>> Claus -
>>>>>>
>>>>>> Sorry - I missed one part of your comment the first time.
>>>>>>
>>>>>> For this test, yes - I only expect a single value, and it’s out in a 
>>>>>> file.  What I’d like to be able to do is put a bunch of values in that 
>>>>>> file and have the MockEndpoint setup with the correct expected message 
>>>>>> bodies.
>>>>>>
>>>>>> I actually expected this test to fail because my test data file has 
>>>>>> about 50 lines in it, so I expected the Mock to fail because the test 
>>>>>> only sends one message.
>>>>>>
>>>>>> Hopefully that clarifies what I’m after here
>>>>>>
>>>>>>> On Mar 10, 2016, at 8:50 AM, Quinn Stevenson 
>>>>>>> <qu...@pronoia-solutions.com> wrote:
>>>>>>>
>>>>>>> Here’s a single Camel test that shows the issue.
>>>>>>>
>>>>>>> package com.pronoia.camel;
>>>>>>>
>>>>>>> import org.apache.camel.builder.RouteBuilder;
>>>>>>> import org.apache.camel.test.junit4.CamelTestSupport;
>>>>>>> import org.junit.Test;
>>>>>>>
>>>>>>> public class JavaTestRouteTest extends CamelTestSupport {
>>>>>>>   @Override
>>>>>>>   protected RouteBuilder createRouteBuilder() throws Exception {
>>>>>>>       return new RouteBuilder() {
>>>>>>>           @Override
>>>>>>>           public void configure() throws Exception {
>>>>>>>               from( "direct://source <direct://source>")
>>>>>>>                   .to( "test:file://data?noop=true" );
>>>>>>>           }
>>>>>>>       };
>>>>>>>   }
>>>>>>>
>>>>>>>   @Test
>>>>>>>   public void testRoute() throws Exception {
>>>>>>>       template.sendBody( "direct://source <direct://source>", "My 
>>>>>>> Value");
>>>>>>>
>>>>>>>       assertMockEndpointsSatisfied();
>>>>>>>   }
>>>>>>>
>>>>>>> }
>>>>>>>> On Mar 10, 2016, at 8:11 AM, Quinn Stevenson 
>>>>>>>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Forgot to mention I’m using v2.16.2.
>>>>>>>>
>>>>>>>> Also, here’s the full blueprint and test class
>>>>>>>>
>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0 
>>>>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>"
>>>>>>>>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
>>>>>>>> <http://www.w3.org/2001/XMLSchema-instance>"
>>>>>>>>          xmlns:camel="http://camel.apache.org/schema/blueprint 
>>>>>>>> <http://camel.apache.org/schema/blueprint>"
>>>>>>>>          xsi:schemaLocation="
>>>>>>>>        http://www.osgi.org/xmlns/blueprint/v1.0.0 
>>>>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0> 
>>>>>>>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd 
>>>>>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>>>>>>>>        http://camel.apache.org/schema/blueprint 
>>>>>>>> <http://camel.apache.org/schema/blueprint> 
>>>>>>>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd 
>>>>>>>> <http://camel.apache.org/schema/blueprint/camel-blueprint.xsd>">
>>>>>>>>
>>>>>>>>   <camel:routeContext id="test-route-context" 
>>>>>>>> xmlns="http://camel.apache.org/schema/blueprint 
>>>>>>>> <http://camel.apache.org/schema/blueprint>">
>>>>>>>>       <route id="direct-to-test">
>>>>>>>>           <from uri="direct://source <direct://source>"/>
>>>>>>>>           <to uri="test:file://data?noop=true" />
>>>>>>>>       </route>
>>>>>>>>   </camel:routeContext>
>>>>>>>>
>>>>>>>>   <camel:camelContext id="blueprint-camel-context" 
>>>>>>>> xmlns="http://camel.apache.org/schema/blueprint 
>>>>>>>> <http://camel.apache.org/schema/blueprint>">
>>>>>>>>       <routeContextRef ref="test-route-context"/>
>>>>>>>>   </camel:camelContext>
>>>>>>>>
>>>>>>>> </blueprint>
>>>>>>>>
>>>>>>>>
>>>>>>>> package com.pronoia.camel;
>>>>>>>>
>>>>>>>> import org.apache.camel.EndpointInject;
>>>>>>>> import org.apache.camel.component.mock.MockEndpoint;
>>>>>>>> import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
>>>>>>>> import org.junit.Before;
>>>>>>>> import org.junit.Test;
>>>>>>>>
>>>>>>>> public class BlueprintTestRouteTest extends CamelBlueprintTestSupport {
>>>>>>>>   @EndpointInject( uri = "test:file://data?noop=true")
>>>>>>>>   MockEndpoint targetEndpoint;
>>>>>>>>
>>>>>>>>   @Override
>>>>>>>>   protected String getBlueprintDescriptor() {
>>>>>>>>       return "/OSGI-INF/blueprint/blueprint-test.xml";
>>>>>>>>   }
>>>>>>>>
>>>>>>>>   @Override
>>>>>>>>   @Before
>>>>>>>>   public void setUp() throws Exception {
>>>>>>>>       super.setUp();
>>>>>>>>       template.setDefaultEndpointUri( "direct://source 
>>>>>>>> <direct://source>");
>>>>>>>>   }
>>>>>>>>
>>>>>>>>   @Test
>>>>>>>>   public void testRoute() throws Exception {
>>>>>>>>       template.sendBody( "direct://source <direct://source>", "My 
>>>>>>>> Value");
>>>>>>>>
>>>>>>>>       assertMockEndpointsSatisfied();
>>>>>>>>   }
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Mar 10, 2016, at 8:07 AM, Quinn Stevenson 
>>>>>>>>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> The route is defined in blueprint and I’m running the test using 
>>>>>>>>> CamelBlueprintTestSupport - does that make a difference?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Mar 10, 2016, at 8:04 AM, Claus Ibsen <claus.ib...@gmail.com 
>>>>>>>>>> <mailto:claus.ib...@gmail.com>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> Ah that test component is never really used. So the idea is that you
>>>>>>>>>> have a file in that directory, that has the value "My Value" which 
>>>>>>>>>> the
>>>>>>>>>> test component will load and compare agains the incoming message.
>>>>>>>>>>
>>>>>>>>>> But yeah seems like the file -> string conversion somehow fails. You
>>>>>>>>>> just run this from straing junit ? No karaf or blueprint or osgi
>>>>>>>>>> container?
>>>>>>>>>>
>>>>>>>>>> On Thu, Mar 10, 2016 at 4:01 PM, Quinn Stevenson
>>>>>>>>>> <qu...@pronoia-solutions.com <mailto:qu...@pronoia-solutions.com>> 
>>>>>>>>>> wrote:
>>>>>>>>>>> I’m trying to get the sample from the documentation for the Test 
>>>>>>>>>>> Component working ( http://camel.apache.org/test.html 
>>>>>>>>>>> <http://camel.apache.org/test.html> 
>>>>>>>>>>> <http://camel.apache.org/test.html 
>>>>>>>>>>> <http://camel.apache.org/test.html>> ), but I keep getting a type 
>>>>>>>>>>> conversion error.
>>>>>>>>>>>
>>>>>>>>>>> Here’s the route definition:
>>>>>>>>>>> <route id="direct-to-test">
>>>>>>>>>>> <from uri="direct://source <direct://source>"/>
>>>>>>>>>>> <to uri="test:file://data?noop=true" />
>>>>>>>>>>> </route>
>>>>>>>>>>>
>>>>>>>>>>> Here’s the test method:
>>>>>>>>>>> @Test
>>>>>>>>>>> public void testRoute() throws Exception {
>>>>>>>>>>> template.sendBody( "direct://source <direct://source>", "My Value");
>>>>>>>>>>>
>>>>>>>>>>> assertMockEndpointsSatisfied();
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> Here’s the error:
>>>>>>>>>>> java.lang.AssertionError: test://file://data?noop=true 
>>>>>>>>>>> <test://file//data?noop=true> There is no type conversion possible 
>>>>>>>>>>> from java.lang.String to org.apache.camel.component.file.GenericFile
>>>>>>>>>>>
>>>>>>>>>>> I can see that Camel is finding the file with the test data because 
>>>>>>>>>>> I’m getting a .camelLock file, but I can’t seem to figure out what 
>>>>>>>>>>> I’m doing wrong
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> -----------------
>>>>>>>>>> http://davsclaus.com <http://davsclaus.com/> @davsclaus
>>>>>>>>>> Camel in Action 2: https://www.manning.com/ibsen2 
>>>>>>>>>> <https://www.manning.com/ibsen2>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> -----------------
>>>>> http://davsclaus.com @davsclaus
>>>>> Camel in Action 2: https://www.manning.com/ibsen2
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> http://davsclaus.com @davsclaus
>>>> Camel in Action 2: https://www.manning.com/ibsen2
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com <http://davsclaus.com/> @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2 
>> <https://www.manning.com/ibsen2>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to