This is more and more strange and curious. I see that the content of the
fixedlength file is send in one message and that the trailer is there but
not the header

4320438 [Thread: 1 [EMAIL PROTECTED]
INFO  com.bravura.babel.server.common.Convert  - Trailer
4320438 [Thread: 1 [EMAIL PROTECTED]
INFO  com.server.common.Convert  - COLUMN NAME: TRAILERDATA VALUE:
00032700000001190620071714
4320438 [Thread: 1 [EMAIL PROTECTED]
INFO  com.server.common.Convert  -
===========================================================================
4320453 [Thread: 1 [EMAIL PROTECTED]
INFO  org.apache.camel.processor.interceptor.TraceInterceptor  -
ID-dell-charles/4014-1216223898765/2-1 -> to9
To[activemq:queue:cutas.in.queue] InOnly
Properties:{CamelCauseException=null, org.apache.camel.bean.BeanHolder=bean:
convert} Headers:{camelFlatpackCounter=0, org.apache.camel.MethodName=null}
BodyType:net.sf.flatpack.DefaultDataSet Body:Errors:0

When I test the same file + xml in a separate unit test, they work
perfectly. Is it possible that there is a bug in the existing component ?


cmoulliard wrote:
> 
> It is not required to make a mistake because Flatpack can process the
> content without header/trailer in the message exchanged. This is not
> blocking.
> 
> Nevertheless, something which is strange is that in the log we can see the
> following header/trailer objects   :
> XML Record Elements:[EMAIL PROTECTED],
> [EMAIL PROTECTED]
> 
> I don't know if the objects contain something if they are reachable but
> .... ?
> 
> Regards,
> 
> Charles
> 
> 
> Claus Ibsen wrote:
>> 
>> Hi
>> 
>> To make a mistake in this definition, so flatpack will skip the line
>> 
>> From:
>> <RECORD id="header" startPosition="1" endPosition="3" indicator="HBT">
>>>>            <COLUMN name="INDICATOR" length="3" />
>>>>            <COLUMN name="HEADERDATA" length="26" />
>>>>    </RECORD>
>> 
>> To:
>> <RECORD id="header" startPosition="1" endPosition="3" indicator="HBT">
>>>>            <COLUMN name="INDICATOR" length="3" />
>>>>            <COLUMN name="HEADERDATA" length="26" />
>>>>            <COLUMN name="DUMMY " length="99" />
>>>>    </RECORD>
>> 
>> Then maybe you can continue. The same for the trail as well.
>> 
>> I don't think there is time left in Camel 1.4 to be able to improve the
>> flatpack component to be able to handle header/trails currently. 
>> 
>> 
>> Med venlig hilsen
>>  
>> Claus Ibsen
>> ......................................
>> Silverbullet
>> Skovsgårdsvænget 21
>> 8362 Hørning
>> Tlf. +45 2962 7576
>> Web: www.silverbullet.dk
>> 
>> -----Original Message-----
>> From: cmoulliard [mailto:[EMAIL PROTECTED] 
>> Sent: 16. juli 2008 17:23
>> To: [email protected]
>> Subject: RE: Component to read FixedLength file ?
>> 
>> 
>> Hi,
>> 
>> I don't understand what you propose.
>> 
>> Regards,
>> 
>> Charles Moulliard
>> 
>> 
>> 
>> Claus Ibsen wrote:
>>> 
>>> Hi Charles
>>> 
>>> A workaround for your current problem is to make a mistake in the
>>> header/trailer definition and flatpack will skip it, at least in my
>>> current unit test.
>>> 
>>> Med venlig hilsen
>>>  
>>> Claus Ibsen
>>> ......................................
>>> Silverbullet
>>> Skovsgårdsvænget 21
>>> 8362 Hørning
>>> Tlf. +45 2962 7576
>>> Web: www.silverbullet.dk
>>> 
>>> -----Original Message-----
>>> From: cmoulliard [mailto:[EMAIL PROTECTED] 
>>> Sent: 16. juli 2008 11:11
>>> To: [email protected]
>>> Subject: Re: Component to read FixedLength file ?
>>> 
>>> 
>>> The error comes from the fact that the convertBody(Map.class) does not
>>> take
>>> into account that the first record and the last one are the
>>> header/trailer
>>> of the message. 
>>> 
>>> In this case, three different map have to be created :
>>> - Header,
>>> - Body 
>>> - Trailer
>>> 
>>> The property of the message and attribute of the DSL/URI must be adapted
>>> to
>>> use a new keywork -> flatpack:fixedHeader instead of flatpack:fixed to
>>> inform the Body converter How to transform the
>>> net.sf.flatpack.DefaultDataSet into their three Maps
>>> 
>>> Regards,
>>> 
>>> Charles
>>> 
>>>  
>>> 
>>> cmoulliard wrote:
>>>> 
>>>> I have a new error when I use the following routes. 
>>>> 
>>>> from("file:///c:/temp/cutas/?delete=false&lock=true&consumer.delay=500&consumer.initialDelay=10")
>>>>                
>>>> .to("flatpack:fixed:com/company/transformation/in/CUTAS-ST.pzmap.xml");
>>>>                
>>>>                
>>>>        
>>>> from("flatpack:fixed:com/company/cutas/transformation/in/CUTAS-ST.pzmap.xml")
>>>>                 .convertBodyTo(Map.class)
>>>>                 .to("activemq:queue:cutas.in.queue");
>>>> 
>>>> and xml file
>>>> 
>>>> <?xml version='1.0'?>
>>>> <!DOCTYPE PZMAP SYSTEM "flatpack.dtd" >
>>>> 
>>>> <PZMAP>
>>>>    <RECORD id="header" startPosition="1" endPosition="3" indicator="HBT">
>>>>            <COLUMN name="INDICATOR" length="3" />
>>>>            <COLUMN name="HEADERDATA" length="26" />
>>>>    </RECORD>
>>>>    <COLUMN name="RECORDTYPE" length="1" />
>>>>    <COLUMN name="SYSTEMID" length="3" />
>>>>    <COLUMN name="THIRD_PARTY_REF" length="15" />
>>>>    <COLUMN name="CUTAS_ACCOUNT_NR" length="15" />
>>>>    <COLUMN name="FUND_CODE" length="5" />
>>>>    <COLUMN name="PRODUCT_CODE" length="5" />
>>>>    <COLUMN name="PRODUCT_TYPE" length="4" />
>>>>    <COLUMN name="CUTAS_REPLY_DATE" length="8" />
>>>>    <COLUMN name="CUTAS_REPLY_HOUR" length="4" />
>>>>    <COLUMN name="TRANSACTION_TYPE" length="2" />
>>>>    <COLUMN name="FUND_TYPE" length="1" />
>>>>    <COLUMN name="UNIT_SIGN" length="1" />
>>>>    <COLUMN name="DATA" length="412" />
>>>>    
>>>>    <RECORD id="trailer" startPosition="1" endPosition="3"
>>>> indicator="FBT">
>>>>            <COLUMN name="INDICATOR" length="3" />
>>>>            <COLUMN name="TRAILERDATA" length="26" />
>>>>    </RECORD>
>>>> 
>>>> </PZMAP> 
>>>> 
>>>> Remark : In my case, we have a header / Trailer in the message.
>>>> 
>>>> Error reported :
>>>> 
>>>> 
>>>> 43org.apache.camel.RuntimeCamelException:
>>>> java.util.NoSuchElementException: Column [recordtype] does not exist,
>>>> check case/spelling. key:trailer
>>>>    at
>>>> org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:411)
>>>>    at
>>>> org.apache.camel.impl.converter.StaticMethodTypeConverter.convertTo(StaticMethodTypeConverter.java:42)
>>>>    at
>>>> org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:67)
>>>>    at
>>>> org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:59)
>>>>    at
>>>> org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:50)
>>>>    at
>>>> org.apache.camel.processor.ConvertBodyProcessor.process(ConvertBodyProcessor.java:41)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:79)
>>>>    at
>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:57)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
>>>>    at
>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
>>>>    at
>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
>>>>    at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
>>>>    at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
>>>>    at
>>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:79)
>>>>    at
>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:57)
>>>>    at
>>>> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>>>>    at
>>>> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
>>>>    at
>>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>>>>    at
>>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>>>>    at
>>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>>>    at
>>>> org.apache.camel.component.flatpack.FixedLengthEndpoint.processDataSet(FixedLengthEndpoint.java:67)
>>>>    at
>>>> org.apache.camel.component.flatpack.FlatpackProducer.process(FlatpackProducer.java:41)
>>>>    at
>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:61)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:79)
>>>>    at
>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:57)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
>>>>    at
>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
>>>>    at
>>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
>>>>    at
>>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>>>>    at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:50)
>>>>    at
>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:79)
>>>>    at
>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:57)
>>>>    at
>>>> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>>>>    at
>>>> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
>>>>    at
>>>> org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:128)
>>>>    at
>>>> org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:77)
>>>>    at
>>>> org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:84)
>>>>    at
>>>> org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:57)
>>>>    at
>>>> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:65)
>>>>    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>>>>    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown
>>>> Source)
>>>>    at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
>>>>    at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown
>>>> Source)
>>>>    at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown
>>>> Source)
>>>>    at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
>>>> Source)
>>>>    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>>>> Source)
>>>>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>>>    at java.lang.Thread.run(Unknown Source)
>>>> Caused by: java.util.NoSuchElementException: Column [recordtype] does
>>>> not
>>>> exist, check case/spelling. key:trailer
>>>>    at
>>>> net.sf.flatpack.util.ParserUtils.getColumnIndex(ParserUtils.java:785)
>>>>    at
>>>> net.sf.flatpack.DefaultDataSet.getStringValue(DefaultDataSet.java:184)
>>>>    at net.sf.flatpack.DefaultDataSet.getString(DefaultDataSet.java:262)
>>>>    at
>>>> org.apache.camel.component.flatpack.FlatpackConverter.putValues(FlatpackConverter.java:48)
>>>>    at
>>>> org.apache.camel.component.flatpack.FlatpackConverter.toMap(FlatpackConverter.java:35)
>>>>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>    at java.lang.reflect.Method.invoke(Unknown Source)
>>>>    at
>>>> org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:407)
>>>>    ... 55 more
>>>> 
>>>> Content of the message :
>>>> 
>>>> 4349422 [Thread: 1
>>>> [EMAIL PROTECTED]
>>>> INFO  org.apache.camel.processor.interceptor.TraceInterceptor  -
>>>> ID-dell-charles/1446-1216195452000/2-0 -> to7
>>>> To[flatpack:fixed:com/bravura/babel/cutas/transformation/in/CUTAS.xml]
>>>> InOnly Properties:{CamelCauseException=null,
>>>> org.apache.camel.file.lock.name=c:\temp\cutas\ST000355.txt.cameLock,
>>>> org.apache.camel.file.lock=sun.nio.ch.FileLockImpl[0:9223372036854775807
>>>> exclusive valid],
>>>> [EMAIL PROTECTED]
>>>> Headers:{org.apache.camel.file.name=ST000355.txt} BodyType:java.io.File
>>>> Body:HBT00032700000327190620071714
>>>> C00111a30571b6b0008Z001412        FIEU BFM      200805271554  
>>>> +0000000010000000000009076000000138137A000090760EUR  
>>>> GBPSS808800714636FIEU
>>>> /0008031800000000000000000000000000000000000000000000000000090760000000000000000000000000000000000138137413092007000000000000000000001522000
>>>> 00001522000 000000000000000O                  0000000000000000             
>>>>                            
>>>> 20070907155200                                                             
>>>>                 
>>>> X
>>>> C00111a30571b170007B000005        APAA          200805271554  
>>>> +0000000001835910000003941700000039417A000332147USD  
>>>> GBPAGENT188888888BDBTA/0000292200000000000000000000000000000000000000000000000039417GBP000000000000000000000000000000000039417
>>>>         
>>>> 000000000000000000000000000 00000000000 000000000000000B                 
>>>> 0000000000000000                                         20070619101000    
>>>>                                                                          
>>>> X
>>>> C00111a30571a600006B000005        APAA          200805271554  
>>>> +0000000001855550000003941700000039417A000052147GBP  
>>>> GBPAGENT188888888BDBTA/0000292200000000000000000000000000000000000000000000000039417GBP000000000000000000000000000000000039417
>>>>         
>>>> 000000000000000000000000000 00000000000 000000000000000X                 
>>>> 0000000000000000                                         20070619101000    
>>>>                                                                          
>>>> X
>>>> C00111a30571c2a0009B000005        APAA          200805271554  
>>>> +0000000001855550000003941700000039417A000052147GBP  
>>>> GBPAGENT188888888BDBTA/0000292200000000000000000000000000000000000000000000000039417GBP000000000000000000000000000000000039417
>>>>         
>>>> 000000000000000000000000000 00000000000 000000000000000                  
>>>> 0000000000000000                                         20070619101000    
>>>>                                                                          
>>>> X
>>>> FBT00032700000001190620071714
>>>> 
>>>> Info displayed on the console :
>>>> 
>>>> 4349609 [Thread: 1
>>>> [EMAIL PROTECTED]
>>>> INFO  org.apache.camel.processor.interceptor.TraceInterceptor  -
>>>> ID-dell-charles/1446-1216195452000/2-1 -> interceptor4
>>>> Interceptor[Delegate(Pipeline[DeadLetterChannel[Delegate(TraceInterceptor[convertBodyTo[
>>>> null]]), sendTo(Endpoint[seda:errors]),
>>>> RedeliveryPolicy[maximumRedeliveries=1]],
>>>> DeadLetterChannel[Delegate(TraceInterceptor[To[activemq:queue:cutas.in.queue]]),
>>>> sendTo(Endpoint[seda:errors]),
>>>> RedeliveryPolicy[maximumRedeliveries=1]]])]
>>>> InOnly Properties:{} Headers:{camelFlatpackCounter=0}
>>>> BodyType:net.sf.flatpack.DefaultDataSet Body:Errors:0
>>>> Rows:6
>>>> Position:0
>>>> Conversion
>>>> Props:{java.lang.Double=net.sf.flatpack.converter.ConvertDouble,
>>>> java.math.BigDecimal=net.sf.flatpack.converter.ConvertBigDecimal,
>>>> java.lang.Integer=net.sf.flatpack.converter.ConvertInteger}
>>>> MetaData:Col Names:[Name:RECORDTYPE Length:1 Start:0 End:0
>>>> , Name:SYSTEMID Length:3 Start:0 End:0
>>>> , Name:THIRD_PARTY_REF Length:15 Start:0 End:0
>>>> , Name:CUTAS_ACCOUNT_NR Length:15 Start:0 End:0
>>>> , Name:FUND_CODE Length:5 Start:0 End:0
>>>> , Name:PRODUCT_CODE Length:5 Start:0 End:0
>>>> , Name:PRODUCT_TYPE Length:4 Start:0 End:0
>>>> , Name:CUTAS_REPLY_DATE Length:8 Start:0 End:0
>>>> , Name:CUTAS_REPLY_HOUR Length:4 Start:0 End:0
>>>> , Name:TRANSACTION_TYPE Length:2 Start:0 End:0
>>>> , Name:FUND_TYPE Length:1 Start:0 End:0
>>>> , Name:UNIT_SIGN Length:1 Start:0 End:0
>>>> , Name:DATA Length:412 Start:0 End:0
>>>> ]
>>>> Col Index Map:{unit_sign=11, transaction_type=9, fund_type=10,
>>>> systemid=1,
>>>> cutas_account_nr=3, product_code=5, product_type=6, recordtype=0,
>>>> data=12,
>>>> cutas_reply_date=7, third_party_ref=2, fund_code=4, cutas_reply_hour=8}
>>>> XML Record Elements:[EMAIL PROTECTED],
>>>> [EMAIL PROTECTED]
>>>> 
>>>> Regards,
>>>> 
>>>> Charles
>>>> 
>>>> 
>>>> 
>>>> James.Strachan wrote:
>>>>> 
>>>>> FWIW I've just checked in a FlatpackDataFormat; which is a tad easier
>>>>> to use. The downside is the data format kinda has to turn the DataSet
>>>>> into a List of Maps to make it easier to work with; but at least the
>>>>> routes are a bit simpler. e.g. this is from the
>>>>> DelimitedWithUnmarshalTest (the convertBodyTo is not required
>>>>> currently)
>>>>> 
>>>>>   <camelContext
>>>>> xmlns="http://activemq.apache.org/camel/schema/spring";>
>>>>>     <route>
>>>>>       <from uri="file://src/test/data/delim?noop=true"/>
>>>>>       <unmarshal ref="delimitedFormat"/>
>>>>>       <splitter>
>>>>>         <simple>in.body</simple>
>>>>>         <convertBodyTo type="java.util.Map"/>
>>>>>         <to uri="mock:results"/>
>>>>>       </splitter>
>>>>>     </route>
>>>>>   </camelContext>
>>>>> 
>>>>>   <bean id="delimitedFormat"
>>>>> class="org.apache.camel.component.flatpack.FlatpackDataFormat">
>>>>>     <property name="definition"
>>>>> value="INVENTORY-Delimited.pzmap.xml"/>
>>>>>   </bean>
>>>>> 
>>>>> 2008/7/15 James Strachan <[EMAIL PROTECTED]>:
>>>>>> Yeah - I did ponder if it should be a dataformat or a component; or
>>>>>> maybe even both. The bit I wasn't sure about was flatpack really just
>>>>>> provides an iterator over rows of the file; I wasn't sure if this
>>>>>> properly matched the dataformat model of marshalling or unmarshalling
>>>>>> a payload (which currently assumes that unmarshalling generates a
>>>>>> single result).
>>>>>>
>>>>>> Maybe we need to enhance the dataformat concept to work with this use
>>>>>> case too?
>>>>>>
>>>>>> So maybe if we want to process each row of a file we do something
>>>>>> like...
>>>>>>
>>>>>> from("file://whatnot").
>>>>>> 
>>>>>> unmarshall().flatpack().fixed("locationOftheXMLConfigurationfile.pzmap.xml").
>>>>>>  split().body().
>>>>>>  to("whatever");
>>>>>>
>>>>>> where the split().body() would do the iteration over each DataSet?
>>>>>>
>>>>>>
>>>>>> 2008/7/15 Claus Ibsen <[EMAIL PROTECTED]>:
>>>>>>> Hi
>>>>>>>
>>>>>>> Yes I thought also at first it was a dataformat ;) But how James
>>>>>>> created it it works as if it is a dataformat. You just have to do it
>>>>>>> in
>>>>>>> to..from from..to steps.
>>>>>>>
>>>>>>>
>>>>>>> from("file://c:/test").to("flatpack:foo:
>>>>>>> locationOftheXMLConfigurationfile.pzmap.xml");
>>>>>>>
>>>>>>> from("flatpack:foo").to("whatever you want");
>>>>>>>
>>>>>>> As a component it gets more attention, as people can find it on the
>>>>>>> component list. The dataformats are kinda hidden in the wiki
>>>>>>> documentation.
>>>>>>> Maybe they need a "dataformat" top menu as well ;)
>>>>>>>
>>>>>>> Med venlig hilsen
>>>>>>>
>>>>>>> Claus Ibsen
>>>>>>> ......................................
>>>>>>> Silverbullet
>>>>>>> Skovsgårdsvænget 21
>>>>>>> 8362 Hørning
>>>>>>> Tlf. +45 2962 7576
>>>>>>> Web: www.silverbullet.dk
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>>>>>>> Sent: 15. juli 2008 09:32
>>>>>>> To: [email protected]
>>>>>>> Subject: Re: Component to read FixedLength file ?
>>>>>>>
>>>>>>>
>>>>>>> Many thanks.
>>>>>>>
>>>>>>> I will test the integration of this component within Camel.
>>>>>>>
>>>>>>> Remark : I'm a little confused about how Flatpack has been
>>>>>>> integrated.
>>>>>>> The
>>>>>>> project has been integrated like a component but from my point of
>>>>>>> view,
>>>>>>> it
>>>>>>> should be integrated (for consistency reason) like a Dataformat.
>>>>>>> Because
>>>>>>> like the other framework/technology implemented in Camel (JAXB,
>>>>>>> Artix,
>>>>>>> XStream, ....), they transform the content from a format (XML, CSV,
>>>>>>> ...)
>>>>>>> into another format (Collection of Java objects)
>>>>>>>
>>>>>>> E.g.
>>>>>>>
>>>>>>> DataFormat flatpack = new
>>>>>>> DataFormat("locationOftheXMLConfigurationfile.pzmap.xml.xml")
>>>>>>>
>>>>>>> from("file:///c:/test")
>>>>>>> .unmarshall(flatpack)
>>>>>>> .to("whatever you want")
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Charles
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> James.Strachan wrote:
>>>>>>>>
>>>>>>>> BTW trunk has an early spike of a flatpack component. Needs more
>>>>>>>> work,
>>>>>>>> but there's a basic fixed-width reader example there for the
>>>>>>>> curious
>>>>>>>>
>>>>>>>> 2008/7/14 James Strachan <[EMAIL PROTECTED]>:
>>>>>>>>> I've raised a JIRA to track this...
>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-717
>>>>>>>>>
>>>>>>>>> 2008/7/14 James Strachan <[EMAIL PROTECTED]>:
>>>>>>>>>> 2008/7/14 cmoulliard <[EMAIL PROTECTED]>:
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Is there a component expected to read fixedlength files in Camel
>>>>>>>>>>> like
>>>>>>>>>>> flatpack (http://flatpack.sourceforge.net/) allow to do it ?
>>>>>>>>>>
>>>>>>>>>> It should be pretty easy to write a flatpack component.
>>>>>>>>>>
>>>>>>>>>> there's a commercial tool called Artix Data Services which comes
>>>>>>>>>> with
>>>>>>>>>> a nice design UI that does this with Camel...
>>>>>>>>>> http://activemq.apache.org/camel/artix-data-services.html
>>>>>>>>>>
>>>>>>>>>> but it'd be nice to have an OSS option :)
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> James
>>>>>>>>>> -------
>>>>>>>>>> http://macstrac.blogspot.com/
>>>>>>>>>>
>>>>>>>>>> Open Source Integration
>>>>>>>>>> http://open.iona.com
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> James
>>>>>>>>> -------
>>>>>>>>> http://macstrac.blogspot.com/
>>>>>>>>>
>>>>>>>>> Open Source Integration
>>>>>>>>> http://open.iona.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> James
>>>>>>>> -------
>>>>>>>> http://macstrac.blogspot.com/
>>>>>>>>
>>>>>>>> Open Source Integration
>>>>>>>> http://open.iona.com
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -----
>>>>>>> Enterprise Architect
>>>>>>>
>>>>>>> Xpectis
>>>>>>> 12, route d'Esch
>>>>>>> L-1470 Luxembourg
>>>>>>>
>>>>>>> Phone +352 25 10 70 470
>>>>>>> Mobile +352 621 45 36 22
>>>>>>>
>>>>>>> e-mail : [EMAIL PROTECTED]
>>>>>>> web site : www.xpectis.com
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/Component-to-read-FixedLength-file---tp18444614s22882p18459545.html
>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> James
>>>>>> -------
>>>>>> http://macstrac.blogspot.com/
>>>>>>
>>>>>> Open Source Integration
>>>>>> http://open.iona.com
>>>>>>
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> James
>>>>> -------
>>>>> http://macstrac.blogspot.com/
>>>>> 
>>>>> Open Source Integration
>>>>> http://open.iona.com
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> -----
>>> Enterprise Architect
>>> 
>>> Xpectis
>>> 12, route d'Esch
>>> L-1470 Luxembourg
>>> 
>>> Phone +352 25 10 70 470
>>> Mobile +352 621 45 36 22
>>> 
>>> e-mail : [EMAIL PROTECTED]
>>> web site : www.xpectis.com 
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/Component-to-read-FixedLength-file---tp18444614s22882p18483512.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>> 
>>> 
>>> 
>> 
>> 
>> -----
>> Enterprise Architect
>> 
>> Xpectis
>> 12, route d'Esch
>> L-1470 Luxembourg
>> 
>> Phone +352 25 10 70 470
>> Mobile +352 621 45 36 22
>> 
>> e-mail : [EMAIL PROTECTED]
>> web site : www.xpectis.com 
>> -- 
>> View this message in context:
>> http://www.nabble.com/Component-to-read-FixedLength-file---tp18444614s22882p18489977.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>> 
>> 
>> 
> 
> 


-----
Enterprise Architect

Xpectis
12, route d'Esch
L-1470 Luxembourg

Phone +352 25 10 70 470
Mobile +352 621 45 36 22

e-mail : [EMAIL PROTECTED]
web site : www.xpectis.com 
-- 
View this message in context: 
http://www.nabble.com/Component-to-read-FixedLength-file---tp18444614s22882p18490857.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to