Hello,
I’ve got some problems when using backslashes in recent versions of Clover ETL, i.e. in releases 2-3-2 and 2-3-3.
the following java code:
arr = str.split(“\\|”);
in an embedded java reformat class is not compilable.
it seems the new release doesn’t handle backslashes as before.
in TL language it is not possible to refer to a property containing windows file paths. example: mystring = “${path}”, where path could be “C:\somepath\somefile.txt”
function transform(){
$0.field1 := “${path}”;
$0.field2 := $0.field2;
}
when in properties file there is:
path=C:\onefile.txt
I got “C:onefile.txt”, exactly what I expect, but if in properties file there is:
path=C:\\onefile.txt
I got the following error →
ERROR [WatchDog] - REF …FAILED !
org.jetel.interpreter.ParseException: unterminated string literal at line 5, column 22.
at org.jetel.component.WrapperTL.init(WrapperTL.java:171)
at org.jetel.component.RecordTransformTL.init(RecordTransformTL.java:76)
at org.jetel.component.RecordTransformFactory.createTransform(RecordTransformFactory.java:99)
at org.jetel.component.Reformat.init(Reformat.java:236)
at org.jetel.graph.Phase.init(Phase.java:161)
at org.jetel.graph.runtime.WatchDog.executePhase(WatchDog.java:562)
at org.jetel.graph.runtime.WatchDog.run(WatchDog.java:164)
Caused by: org.jetel.interpreter.ParseException: unterminated string literal at line 5, column 22.
at org.jetel.interpreter.TransformLangParser.LitExp(TransformLangParser.java:1796)
at org.jetel.interpreter.TransformLangParser.PrimaryExpression(TransformLangParser.java:1590)
at org.jetel.interpreter.TransformLangParser.PostfixExpression(TransformLangParser.java:1384)
at org.jetel.interpreter.TransformLangParser.UnaryExpression(TransformLangParser.java:1515)
at org.jetel.interpreter.TransformLangParser.MultiplicativeExpression(TransformLangParser.java:1237)
at org.jetel.interpreter.TransformLangParser.AdditiveExpression(TransformLangParser.java:1157)
at org.jetel.interpreter.TransformLangParser.RelationalExpression(TransformLangParser.java:1037)
at org.jetel.interpreter.TransformLangParser.EqualityExpression(TransformLangParser.java:977)
at org.jetel.interpreter.TransformLangParser.ConditionalAndExpression(TransformLangParser.java:935)
at org.jetel.interpreter.TransformLangParser.ConditionalOrExpression(TransformLangParser.java:893)
at org.jetel.interpreter.TransformLangParser.Mapping(TransformLangParser.java:855)
at org.jetel.interpreter.TransformLangParser.FunctionDeclaration(TransformLangParser.java:538)
at org.jetel.interpreter.TransformLangParser.CompilationUnit(TransformLangParser.java:359)
at org.jetel.interpreter.TransformLangParser.Start(TransformLangParser.java:178)
at org.jetel.component.WrapperTL.init(WrapperTL.java:165)
… 6 more
ERROR [WatchDog] - !!! Phase finished with error - stopping graph run !!!
INFO [WatchDog] - -----------------------** Summary of Phases execution **---------------------
INFO [WatchDog] - Phase# Finished Status RunTime(sec) MemoryAllocation(KB)
INFO [WatchDog] - 0 N/A
INFO [WatchDog] - ------------------------------** End of Summary **---------------------------
INFO [main] - WatchDog thread finished - total execution time: 5 (sec)
FATAL [main] - Unexpected result when executing graph !
did anybody else find the same?
Thank you in advance for your suggestion