BadDataConsumer

please report bugs here

BadDataConsumer

Postby bwendler » Fri Mar 25, 2011 2:23 pm

I try to use the BadDataConsumer in combination with a db consumer as found in the documentation:

Code: Select all
consumer="new BadDataConsumer(new CSVExporter('errordata.csv'), db)"


But since DBSystem is not implementing interface Consumer I get the exception:

Code: Select all
Caused by: org.databene.commons.ConversionException: Cannot convert org.databene.platform.db.DBSystem to org.databene.model.consumer.Consumer
   at org.databene.commons.converter.ConverterManager.searchAppropriateConverter(ConverterManager.java:182)
   at org.databene.commons.converter.ConverterManager.createConverter(ConverterManager.java:124)
   at org.databene.commons.converter.AnyConverter.convert(AnyConverter.java:95)
   at org.databene.commons.converter.AnyConverter.convert(AnyConverter.java:79)
   at org.databene.commons.BeanUtil.convertArray(BeanUtil.java:1141)
   at org.databene.commons.BeanUtil.newInstance(BeanUtil.java:467)
   at org.databene.benerator.script.ParameterizedConstruction.evaluate(ParameterizedConstruction.java:57)
   at org.databene.benerator.engine.expression.xml.XMLConsumerExpression.evaluate(XMLConsumerExpression.java:83)
   at org.databene.benerator.engine.expression.xml.XMLConsumerExpression.evaluate(XMLConsumerExpression.java:1)
   at org.databene.commons.expression.ExpressionUtil.evaluate(ExpressionUtil.java:66)
   at org.databene.benerator.engine.statement.GenerateAndConsumeTask.getConsumer(GenerateAndConsumeTask.java:107)
   at org.databene.benerator.engine.statement.GenerateAndConsumeTask.execute(GenerateAndConsumeTask.java:138)
bwendler
 
Posts: 4
Joined: Mon Feb 28, 2011 10:11 am

Re: BadDataConsumer

Postby Volker Bergmann » Tue Mar 29, 2011 11:29 am

Hi bwendler,

you can use the DBSystem's inserter() method for getting a consumer that issues inserts:

Code: Select all
consumer="new BadDataConsumer(new CSVExporter('errordata.csv'), db.inserter())"


If you want to update data, use the method db.updater().

Regards,
Volker 'databene' Bergmann

Need faster response times? phone support? onsite support? training? custom extensions? immediate bug fixes? Support Benerator evolution by buying services from Volker Bergmann!
User avatar
Volker Bergmann
 
Posts: 654
Joined: Sat Nov 10, 2007 2:40 pm

Re: BadDataConsumer

Postby bwendler » Wed Mar 30, 2011 10:50 am

Hi Volker,

thanks for your help. That works fine.

For the help of other benerator users who might find this topic basically helpful:

1. There was an error in my initially posted code. It should of course be CSVEntityExporter. So the working example is:

Code: Select all
consumer="new BadDataConsumer(new CSVEntityExporter('errordata.csv'), db.inserter())"


2. BadDataConsumer did work for me only after switching off batch mode - which makes perfect sense. I use Oracle as the database backend.

Regards,
Bert.
bwendler
 
Posts: 4
Joined: Mon Feb 28, 2011 10:11 am


Return to Benerator Bugs

Who is online

Users browsing this forum: No registered users and 2 guests

cron