You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Olivier SCHMITT (Created) (JIRA)" <ji...@apache.org> on 2011/11/10 08:36:51 UTC
[jira] [Created] (CAMEL-4655) Bindy does not support quoted value
with separator char in CSV datasource
Bindy does not support quoted value with separator char in CSV datasource
-------------------------------------------------------------------------
Key: CAMEL-4655
URL: https://issues.apache.org/jira/browse/CAMEL-4655
Project: Camel
Issue Type: Bug
Components: camel-bindy
Affects Versions: 2.8.2
Environment: Mac Snow Leopard
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
Maven 3.0.1
Reporter: Olivier SCHMITT
i'm currently writing a tuto on Camel (2.8.2).
Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
// ...
}
});
The data format is like :
nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
I want to get all datas as java.lang.String but the date value raises exception :
java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
My separator is "," but some values are nested inside " ". Unfortunately there are , inside the " ".
Bindy get lost !
How can i get String values nested inside " " and containing "," ?
I can note that Camel CSV component deals with it without any problems.
Here is my pojo :
package net.thejeearchitectcookbook.camel.earthquake;
import java.io.Serializable;
import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
import org.apache.camel.dataformat.bindy.annotation.DataField;
@CsvRecord( separator = ",")
public class EarthquakeInfos implements Serializable {
@DataField(pos = 1)
private String src;
@DataField(pos = 2)
private String eqid;
@DataField(pos = 3)
private String version;
@DataField(pos = 4)
private String datetime;
@DataField(pos = 5)
private String lat;
@DataField(pos = 6)
private String lon;
@DataField(pos = 7)
private String magnitude;
@DataField(pos = 8)
private String depth;
@DataField(pos = 9)
private String nst;
@DataField(pos = 10)
private String place;
public String getSrc() {
return src;
}
public void setSrc(String src) {
this.src = src;
}
public String getEqid() {
return eqid;
}
public void setEqid(String eqid) {
this.eqid = eqid;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLon() {
return lon;
}
public void setLon(String lon) {
this.lon = lon;
}
public String getDepth() {
return depth;
}
public void setDepth(String depth) {
this.depth = depth;
}
public String getNst() {
return nst;
}
public void setNst(String nst) {
this.nst = nst;
}
public String getDatetime() {
return datetime;
}
public void setDatetime(String datetime) {
this.datetime = datetime;
}
public String getMagnitude() {
return magnitude;
}
public void setMagnitude(String magnitude) {
this.magnitude = magnitude;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
}
I can find that CSV Camel component performs well with the same datasource :
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal().csv().process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
List<List<String>> datas = (List<List<String>>) message.getBody();
// Skip header
datas = datas.subList(1, datas.size() - 1);
// Process my data
for (List<String> row : datas) {
// Process Row
String datetime = row.get(3);
String region = row.get(9);
String magnitude = row.get(6);
}
}
});
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CAMEL-4655) Bindy does not support quoted value
with separator char in CSV datasource
Posted by "Olivier SCHMITT (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Olivier SCHMITT updated CAMEL-4655:
-----------------------------------
Description:
i'm currently writing a tuto on Camel (2.8.2).
Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
// ...
}
});
The data format is like and my separator char is ",":
nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
I want to get all datas as java.lang.String but the date value raises exception :
java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
My separator is "," but some values are nested inside " ". Unfortunately there are "," inside the " ".
Bindy get lost !
How can i get String values nested inside " " and containing "," ?
I can note that Camel CSV component deals with it without any problems.
Here is my pojo :
package net.thejeearchitectcookbook.camel.earthquake;
import java.io.Serializable;
import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
import org.apache.camel.dataformat.bindy.annotation.DataField;
@CsvRecord( separator = ",")
public class EarthquakeInfos implements Serializable {
@DataField(pos = 1)
private String src;
@DataField(pos = 2)
private String eqid;
@DataField(pos = 3)
private String version;
@DataField(pos = 4)
private String datetime;
@DataField(pos = 5)
private String lat;
@DataField(pos = 6)
private String lon;
@DataField(pos = 7)
private String magnitude;
@DataField(pos = 8)
private String depth;
@DataField(pos = 9)
private String nst;
@DataField(pos = 10)
private String place;
public String getSrc() {
return src;
}
public void setSrc(String src) {
this.src = src;
}
public String getEqid() {
return eqid;
}
public void setEqid(String eqid) {
this.eqid = eqid;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLon() {
return lon;
}
public void setLon(String lon) {
this.lon = lon;
}
public String getDepth() {
return depth;
}
public void setDepth(String depth) {
this.depth = depth;
}
public String getNst() {
return nst;
}
public void setNst(String nst) {
this.nst = nst;
}
public String getDatetime() {
return datetime;
}
public void setDatetime(String datetime) {
this.datetime = datetime;
}
public String getMagnitude() {
return magnitude;
}
public void setMagnitude(String magnitude) {
this.magnitude = magnitude;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
}
I can find that CSV Camel component performs well with the same datasource :
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal().csv().process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
List<List<String>> datas = (List<List<String>>) message.getBody();
// Skip header
datas = datas.subList(1, datas.size() - 1);
// Process my data
for (List<String> row : datas) {
// Process Row
String datetime = row.get(3);
String region = row.get(9);
String magnitude = row.get(6);
}
}
});
was:
i'm currently writing a tuto on Camel (2.8.2).
Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
// ...
}
});
The data format is like :
nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
I want to get all datas as java.lang.String but the date value raises exception :
java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
My separator is "," but some values are nested inside " ". Unfortunately there are , inside the " ".
Bindy get lost !
How can i get String values nested inside " " and containing "," ?
I can note that Camel CSV component deals with it without any problems.
Here is my pojo :
package net.thejeearchitectcookbook.camel.earthquake;
import java.io.Serializable;
import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
import org.apache.camel.dataformat.bindy.annotation.DataField;
@CsvRecord( separator = ",")
public class EarthquakeInfos implements Serializable {
@DataField(pos = 1)
private String src;
@DataField(pos = 2)
private String eqid;
@DataField(pos = 3)
private String version;
@DataField(pos = 4)
private String datetime;
@DataField(pos = 5)
private String lat;
@DataField(pos = 6)
private String lon;
@DataField(pos = 7)
private String magnitude;
@DataField(pos = 8)
private String depth;
@DataField(pos = 9)
private String nst;
@DataField(pos = 10)
private String place;
public String getSrc() {
return src;
}
public void setSrc(String src) {
this.src = src;
}
public String getEqid() {
return eqid;
}
public void setEqid(String eqid) {
this.eqid = eqid;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLon() {
return lon;
}
public void setLon(String lon) {
this.lon = lon;
}
public String getDepth() {
return depth;
}
public void setDepth(String depth) {
this.depth = depth;
}
public String getNst() {
return nst;
}
public void setNst(String nst) {
this.nst = nst;
}
public String getDatetime() {
return datetime;
}
public void setDatetime(String datetime) {
this.datetime = datetime;
}
public String getMagnitude() {
return magnitude;
}
public void setMagnitude(String magnitude) {
this.magnitude = magnitude;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
}
I can find that CSV Camel component performs well with the same datasource :
from("direct:datas")
.to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
.unmarshal().csv().process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
List<List<String>> datas = (List<List<String>>) message.getBody();
// Skip header
datas = datas.subList(1, datas.size() - 1);
// Process my data
for (List<String> row : datas) {
// Process Row
String datetime = row.get(3);
String region = row.get(9);
String magnitude = row.get(6);
}
}
});
> Bindy does not support quoted value with separator char in CSV datasource
> -------------------------------------------------------------------------
>
> Key: CAMEL-4655
> URL: https://issues.apache.org/jira/browse/CAMEL-4655
> Project: Camel
> Issue Type: Bug
> Components: camel-bindy
> Affects Versions: 2.8.2
> Environment: Mac Snow Leopard
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
> Maven 3.0.1
> Reporter: Olivier SCHMITT
>
> i'm currently writing a tuto on Camel (2.8.2).
> Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
> from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> // ...
> }
> });
> The data format is like and my separator char is ",":
> nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
> I want to get all datas as java.lang.String but the date value raises exception :
> java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
> My separator is "," but some values are nested inside " ". Unfortunately there are "," inside the " ".
> Bindy get lost !
>
> How can i get String values nested inside " " and containing "," ?
> I can note that Camel CSV component deals with it without any problems.
> Here is my pojo :
> package net.thejeearchitectcookbook.camel.earthquake;
> import java.io.Serializable;
> import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
> import org.apache.camel.dataformat.bindy.annotation.DataField;
> @CsvRecord( separator = ",")
> public class EarthquakeInfos implements Serializable {
>
> @DataField(pos = 1)
> private String src;
>
> @DataField(pos = 2)
> private String eqid;
>
> @DataField(pos = 3)
> private String version;
>
> @DataField(pos = 4)
> private String datetime;
>
> @DataField(pos = 5)
> private String lat;
>
> @DataField(pos = 6)
> private String lon;
>
> @DataField(pos = 7)
> private String magnitude;
>
> @DataField(pos = 8)
> private String depth;
>
> @DataField(pos = 9)
> private String nst;
>
> @DataField(pos = 10)
> private String place;
>
> public String getSrc() {
> return src;
> }
> public void setSrc(String src) {
> this.src = src;
> }
> public String getEqid() {
> return eqid;
> }
> public void setEqid(String eqid) {
> this.eqid = eqid;
> }
> public String getVersion() {
> return version;
> }
> public void setVersion(String version) {
> this.version = version;
> }
> public String getLat() {
> return lat;
> }
> public void setLat(String lat) {
> this.lat = lat;
> }
> public String getLon() {
> return lon;
> }
> public void setLon(String lon) {
> this.lon = lon;
> }
> public String getDepth() {
> return depth;
> }
> public void setDepth(String depth) {
> this.depth = depth;
> }
> public String getNst() {
> return nst;
> }
> public void setNst(String nst) {
> this.nst = nst;
> }
> public String getDatetime() {
> return datetime;
> }
> public void setDatetime(String datetime) {
> this.datetime = datetime;
> }
> public String getMagnitude() {
> return magnitude;
> }
> public void setMagnitude(String magnitude) {
> this.magnitude = magnitude;
> }
> public String getPlace() {
> return place;
> }
> public void setPlace(String place) {
> this.place = place;
> }
> }
> I can find that CSV Camel component performs well with the same datasource :
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal().csv().process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> List<List<String>> datas = (List<List<String>>) message.getBody();
> // Skip header
> datas = datas.subList(1, datas.size() - 1);
> // Process my data
> for (List<String> row : datas) {
> // Process Row
> String datetime = row.get(3);
> String region = row.get(9);
> String magnitude = row.get(6);
>
> }
> }
> });
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CAMEL-4655) Bindy does not support quoted value
with separator char in CSV datasource
Posted by "Claus Ibsen (Assigned) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen reassigned CAMEL-4655:
----------------------------------
Assignee: Claus Ibsen
> Bindy does not support quoted value with separator char in CSV datasource
> -------------------------------------------------------------------------
>
> Key: CAMEL-4655
> URL: https://issues.apache.org/jira/browse/CAMEL-4655
> Project: Camel
> Issue Type: Bug
> Components: camel-bindy
> Affects Versions: 2.8.2
> Environment: Mac Snow Leopard
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
> Maven 3.0.1
> Reporter: Olivier SCHMITT
> Assignee: Claus Ibsen
>
> i'm currently writing a tuto on Camel (2.8.2).
> Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
> from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> // ...
> }
> });
> The data format is like and my separator char is ",":
> nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
> I want to get all datas as java.lang.String but the date value raises exception :
> java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
> My separator is "," but some values are nested inside " ". Unfortunately there are "," inside the " ".
> Bindy get lost !
>
> How can i get String values nested inside " " and containing "," ?
> I can note that Camel CSV component deals with it without any problems.
> Here is my pojo :
> package net.thejeearchitectcookbook.camel.earthquake;
> import java.io.Serializable;
> import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
> import org.apache.camel.dataformat.bindy.annotation.DataField;
> @CsvRecord( separator = ",")
> public class EarthquakeInfos implements Serializable {
>
> @DataField(pos = 1)
> private String src;
>
> @DataField(pos = 2)
> private String eqid;
>
> @DataField(pos = 3)
> private String version;
>
> @DataField(pos = 4)
> private String datetime;
>
> @DataField(pos = 5)
> private String lat;
>
> @DataField(pos = 6)
> private String lon;
>
> @DataField(pos = 7)
> private String magnitude;
>
> @DataField(pos = 8)
> private String depth;
>
> @DataField(pos = 9)
> private String nst;
>
> @DataField(pos = 10)
> private String place;
>
> public String getSrc() {
> return src;
> }
> public void setSrc(String src) {
> this.src = src;
> }
> public String getEqid() {
> return eqid;
> }
> public void setEqid(String eqid) {
> this.eqid = eqid;
> }
> public String getVersion() {
> return version;
> }
> public void setVersion(String version) {
> this.version = version;
> }
> public String getLat() {
> return lat;
> }
> public void setLat(String lat) {
> this.lat = lat;
> }
> public String getLon() {
> return lon;
> }
> public void setLon(String lon) {
> this.lon = lon;
> }
> public String getDepth() {
> return depth;
> }
> public void setDepth(String depth) {
> this.depth = depth;
> }
> public String getNst() {
> return nst;
> }
> public void setNst(String nst) {
> this.nst = nst;
> }
> public String getDatetime() {
> return datetime;
> }
> public void setDatetime(String datetime) {
> this.datetime = datetime;
> }
> public String getMagnitude() {
> return magnitude;
> }
> public void setMagnitude(String magnitude) {
> this.magnitude = magnitude;
> }
> public String getPlace() {
> return place;
> }
> public void setPlace(String place) {
> this.place = place;
> }
> }
> I can find that CSV Camel component performs well with the same datasource :
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal().csv().process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> List<List<String>> datas = (List<List<String>>) message.getBody();
> // Skip header
> datas = datas.subList(1, datas.size() - 1);
> // Process my data
> for (List<String> row : datas) {
> // Process Row
> String datetime = row.get(3);
> String region = row.get(9);
> String magnitude = row.get(6);
>
> }
> }
> });
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CAMEL-4655) Bindy does not support quoted value
with separator char in CSV datasource
Posted by "Claus Ibsen (Resolved) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-4655.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.9.0
2.8.3
Thanks for reporting.
> Bindy does not support quoted value with separator char in CSV datasource
> -------------------------------------------------------------------------
>
> Key: CAMEL-4655
> URL: https://issues.apache.org/jira/browse/CAMEL-4655
> Project: Camel
> Issue Type: Bug
> Components: camel-bindy
> Affects Versions: 2.8.2
> Environment: Mac Snow Leopard
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
> Maven 3.0.1
> Reporter: Olivier SCHMITT
> Assignee: Claus Ibsen
> Fix For: 2.8.3, 2.9.0
>
>
> i'm currently writing a tuto on Camel (2.8.2).
> Showing HTTP4 component usage by downloading US Gov public data, i found a problem :
> from("quartz://dataTimer?cron=0+*+*+*+*+?").to("direct:datas");
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal(new BindyCsvDataFormat("net.thejeearchitectcookbook.camel.earthquake"))
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> // ...
> }
> });
> The data format is like and my separator char is ",":
> nc,71678421,0,"Wednesday, November 9, 2011 14:53:13 UTC",37.5727,-118.8170,1.3,6.60,14,"Central California"
> I want to get all datas as java.lang.String but the date value raises exception :
> java.lang.IllegalArgumentException: No position 11 defined for the field: 14, line: 2 must be specified]
> My separator is "," but some values are nested inside " ". Unfortunately there are "," inside the " ".
> Bindy get lost !
>
> How can i get String values nested inside " " and containing "," ?
> I can note that Camel CSV component deals with it without any problems.
> Here is my pojo :
> package net.thejeearchitectcookbook.camel.earthquake;
> import java.io.Serializable;
> import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
> import org.apache.camel.dataformat.bindy.annotation.DataField;
> @CsvRecord( separator = ",")
> public class EarthquakeInfos implements Serializable {
>
> @DataField(pos = 1)
> private String src;
>
> @DataField(pos = 2)
> private String eqid;
>
> @DataField(pos = 3)
> private String version;
>
> @DataField(pos = 4)
> private String datetime;
>
> @DataField(pos = 5)
> private String lat;
>
> @DataField(pos = 6)
> private String lon;
>
> @DataField(pos = 7)
> private String magnitude;
>
> @DataField(pos = 8)
> private String depth;
>
> @DataField(pos = 9)
> private String nst;
>
> @DataField(pos = 10)
> private String place;
>
> public String getSrc() {
> return src;
> }
> public void setSrc(String src) {
> this.src = src;
> }
> public String getEqid() {
> return eqid;
> }
> public void setEqid(String eqid) {
> this.eqid = eqid;
> }
> public String getVersion() {
> return version;
> }
> public void setVersion(String version) {
> this.version = version;
> }
> public String getLat() {
> return lat;
> }
> public void setLat(String lat) {
> this.lat = lat;
> }
> public String getLon() {
> return lon;
> }
> public void setLon(String lon) {
> this.lon = lon;
> }
> public String getDepth() {
> return depth;
> }
> public void setDepth(String depth) {
> this.depth = depth;
> }
> public String getNst() {
> return nst;
> }
> public void setNst(String nst) {
> this.nst = nst;
> }
> public String getDatetime() {
> return datetime;
> }
> public void setDatetime(String datetime) {
> this.datetime = datetime;
> }
> public String getMagnitude() {
> return magnitude;
> }
> public void setMagnitude(String magnitude) {
> this.magnitude = magnitude;
> }
> public String getPlace() {
> return place;
> }
> public void setPlace(String place) {
> this.place = place;
> }
> }
> I can find that CSV Camel component performs well with the same datasource :
> from("direct:datas")
> .to("http4://earthquake.usgs.gov/earthquakes/catalogs/eqs7day-M1.txt")
> .unmarshal().csv().process(new Processor() {
> public void process(Exchange exchange) throws Exception {
> Message message = exchange.getIn();
> List<List<String>> datas = (List<List<String>>) message.getBody();
> // Skip header
> datas = datas.subList(1, datas.size() - 1);
> // Process my data
> for (List<String> row : datas) {
> // Process Row
> String datetime = row.get(3);
> String region = row.get(9);
> String magnitude = row.get(6);
>
> }
> }
> });
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira