Hi,

We have a java object which has a enum field. We wish to send these objects
to CSVFormatter.
What should I specify for "type" of this field?

For example,

My Java Object is :
https://github.com/yogidevendra/examples/blob/13cd0ec8d24b5e5b125fe7567c18197b0a9a8f7e/tutorials/filter/src/main/java/com/datatorrent/tutorial/filter/TransactionPOJO.java

I am using schema as follows:
{"separator": "|","quoteChar":"\"","lineDelimiter":"\n","fields": [{"name":
"trasactionId","type": "long"},{"name": "amount","type": "double"},{"name":
"type","type":
"com.datatorrent.tutorial.filter.TransactionPOJO.TRANSACTION_TYPE"}]}

But, it gives following exception:

Abandoning deployment due to setup failure.
java.lang.IllegalArgumentException: No enum constant
com.datatorrent.contrib.parser.DelimitedSchema.FieldType.COM.DATATORRENT.TUTORIAL.FILTER.TRANSACTIONPOJO.TRANSACTION_TYPE
at java.lang.Enum.valueOf(Enum.java:236)
at
com.datatorrent.contrib.parser.DelimitedSchema$FieldType.valueOf(DelimitedSchema.java:161)
at
com.datatorrent.contrib.parser.DelimitedSchema$Field.<init>(DelimitedSchema.java:289)
at
com.datatorrent.contrib.parser.DelimitedSchema.initialize(DelimitedSchema.java:199)
at
com.datatorrent.contrib.parser.DelimitedSchema.<init>(DelimitedSchema.java:169)
at
com.datatorrent.contrib.formatter.CsvFormatter.setup(CsvFormatter.java:128)
at
com.datatorrent.contrib.formatter.CsvFormatter.setup(CsvFormatter.java:67)
at com.datatorrent.stram.engine.Node.setup(Node.java:187)
at
com.datatorrent.stram.engine.StreamingContainer.setupNode(StreamingContainer.java:1309)
at
com.datatorrent.stram.engine.StreamingContainer.access$100(StreamingContainer.java:130)
at
com.datatorrent.stram.engine.StreamingContainer$2.run(StreamingContainer.java:1388)

~ Yogi

Reply via email to