In my configuration file I tried the following statements and 2 of them are not working. It seems that CSVEntitySource doesn't like
Absolute path.
The following syntax in the configuration works :
- Code: Select all
<bean id="dictReader" class="CSVEntitySource">
<property name="uri" value="../../../x.txt" />
<property name="separator" value=","></property>
</bean>
but not the ones bellow :
- Code: Select all
<bean id="dictReader" class="CSVEntitySource">
<property name="uri" value="D:/java/workspace/bene/test-benerator/x.txt" />
<property name="separator" value=","></property>
</bean>
and
- Code: Select all
<bean id="dictReader" class="CSVEntitySource">
<property name="uri" value="D:\java\workspace\bene\test-benerator\x.txt" />
<property name="separator" value=","></property>
</bean>
The following exeption is thrown :
ERROR (main) [GenerateOrIterateStatement] Error in execution of task GenerateAndConsumeTask
java.lang.RuntimeException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.databene.commons.IOUtil.resolveRelativeFile(IOUtil.java:267)
at org.databene.commons.IOUtil.resolveRelativeUri(IOUtil.java:255)
at org.databene.benerator.engine.BeneratorContext.resolveRelativeUri(BeneratorContext.java:261)
at org.databene.model.data.FileBasedEntitySource.getAbsoluteUri(FileBasedEntitySource.java:63)
at org.databene.platform.csv.CSVEntitySource.iterator(CSVEntitySource.java:98)
at org.databene.platform.csv.CSVEntitySource.iterator(CSVEntitySource.java:39)
at org.databene.benerator.wrapper.IteratingGenerator.createIterator(IteratingGenerator.java:127)
at org.databene.benerator.wrapper.IteratingGenerator.init(IteratingGenerator.java:88)
at org.databene.benerator.composite.SourceAwareGenerator.init(SourceAwareGenerator.java:77)
at org.databene.benerator.engine.statement.GenerateAndConsumeTask.initGenerator(GenerateAndConsumeTask.java:186)
at org.databene.benerator.engine.statement.GenerateAndConsumeTask.execute(GenerateAndConsumeTask.java:120)
at org.databene.task.TaskProxy.execute(TaskProxy.java:58)
at org.databene.task.StateTrackingTaskProxy.execute(StateTrackingTaskProxy.java:52)
at org.databene.task.runner.SingleThreadedTaskRunner.runWithoutPage(SingleThreadedTaskRunner.java:58)
at org.databene.task.runner.SingleThreadedTaskRunner.run(SingleThreadedTaskRunner.java:49)
at org.databene.task.runner.PagedTaskRunner.run(PagedTaskRunner.java:138)
at org.databene.task.runner.PagedTaskRunner.execute(PagedTaskRunner.java:165)
at org.databene.benerator.engine.statement.GenerateOrIterateStatement.execute(GenerateOrIterateStatement.java:87)
at org.databene.benerator.engine.statement.LazyStatement.execute(LazyStatement.java:57)
at org.databene.benerator.engine.statement.StatementProxy.execute(StatementProxy.java:42)
at org.databene.benerator.engine.statement.TimedGeneratorStatement.execute(TimedGeneratorStatement.java:58)
at org.databene.benerator.engine.statement.SequentialStatement.execute(SequentialStatement.java:47)
at org.databene.benerator.engine.DescriptorRunner.execute(DescriptorRunner.java:125)
at org.databene.benerator.engine.DescriptorRunner.run(DescriptorRunner.java:97)
at eu.europa.schengen.dataengine.dictgen.Main.main(Main.java:34)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:396)
at java.io.File.getCanonicalPath(File.java:559)
at org.databene.commons.IOUtil.resolveRelativeFile(IOUtil.java:265)
... 24 more
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.databene.commons.ErrorHandler.handleError(ErrorHandler.java:91)
at org.databene.task.runner.PagedTaskRunner.run(PagedTaskRunner.java:147)
at org.databene.task.runner.PagedTaskRunner.execute(PagedTaskRunner.java:165)
at org.databene.benerator.engine.statement.GenerateOrIterateStatement.execute(GenerateOrIterateStatement.java:87)
at org.databene.benerator.engine.statement.LazyStatement.execute(LazyStatement.java:57)
at org.databene.benerator.engine.statement.StatementProxy.execute(StatementProxy.java:42)
at org.databene.benerator.engine.statement.TimedGeneratorStatement.execute(TimedGeneratorStatement.java:58)
at org.databene.benerator.engine.statement.SequentialStatement.execute(SequentialStatement.java:47)
at org.databene.benerator.engine.DescriptorRunner.execute(DescriptorRunner.java:125)
at org.databene.benerator.engine.DescriptorRunner.run(DescriptorRunner.java:97)
at eu.europa.schengen.dataengine.dictgen.Main.main(Main.java:34)
Caused by: java.lang.RuntimeException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.databene.commons.IOUtil.resolveRelativeFile(IOUtil.java:267)
at org.databene.commons.IOUtil.resolveRelativeUri(IOUtil.java:255)
at org.databene.benerator.engine.BeneratorContext.resolveRelativeUri(BeneratorContext.java:261)
at org.databene.model.data.FileBasedEntitySource.getAbsoluteUri(FileBasedEntitySource.java:63)
at org.databene.platform.csv.CSVEntitySource.iterator(CSVEntitySource.java:98)
at org.databene.platform.csv.CSVEntitySource.iterator(CSVEntitySource.java:39)
at org.databene.benerator.wrapper.IteratingGenerator.createIterator(IteratingGenerator.java:127)
at org.databene.benerator.wrapper.IteratingGenerator.init(IteratingGenerator.java:88)
at org.databene.benerator.composite.SourceAwareGenerator.init(SourceAwareGenerator.java:77)
at org.databene.benerator.engine.statement.GenerateAndConsumeTask.initGenerator(GenerateAndConsumeTask.java:186)
at org.databene.benerator.engine.statement.GenerateAndConsumeTask.execute(GenerateAndConsumeTask.java:120)
at org.databene.task.TaskProxy.execute(TaskProxy.java:58)
at org.databene.task.StateTrackingTaskProxy.execute(StateTrackingTaskProxy.java:52)
at org.databene.task.runner.SingleThreadedTaskRunner.runWithoutPage(SingleThreadedTaskRunner.java:58)
at org.databene.task.runner.SingleThreadedTaskRunner.run(SingleThreadedTaskRunner.java:49)
at org.databene.task.runner.PagedTaskRunner.run(PagedTaskRunner.java:138)
... 9 more
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:396)
at java.io.File.getCanonicalPath(File.java:559)
at org.databene.commons.IOUtil.resolveRelativeFile(IOUtil.java:265)
... 24 more
16:51:27,656 INFO (Thread-1) [BeneratorShutdownHook] Shut down Benerator
I checked several times the path of the file, but it is the good one.
