Hi guys,<div><br></div><div>Would you know if Smooks MVEL2 is compatible with MVEL2 of Drools 5.2 ? I really need to know or some tip how do I make my smooks working with Drools.</div><div><br></div><div>Thank you in advance,</div>
<div>Lavoisier Farias.</div><div><br><div class="gmail_quote">On Thu, Jul 21, 2011 at 9:30 PM, Lavoisier Farias <span dir="ltr"><<a href="mailto:lavoisier@gmail.com">lavoisier@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi guys,<br><br>I am newbie in this kind of things, but I am facing some difficults to use Smooks 1.4 an d Drools 5.2. It seams that MVEL2 present in the drools 5.2 distribution is not compatible with Smooks 1.4. <br>Did anybody have similar problems ?<br>
<br>If a have a separate project, which uses Smooks 1.4, my program is able to read a CSV file and convert it to Java Bean List, in fact, a Java List.<br>However, If I use the same structure to read information from a CSV file and insert hem into a Drools Rule Engine, I got the error right below: Does anybody know how I can fix that ?<br>
<br>This is my smooks configuration file:<br><?xml version="1.0"?><br><smooks-resource-list xmlns="<a href="http://www.milyn.org/xsd/smooks-1.1.xsd" target="_blank">http://www.milyn.org/xsd/smooks-1.1.xsd</a>"<br>
xmlns:csv="<a href="http://www.milyn.org/xsd/smooks/csv-1.3.xsd" target="_blank">http://www.milyn.org/xsd/smooks/csv-1.3.xsd</a>"<br> xmlns:jb="<a href="http://www.milyn.org/xsd/smooks/javabean-1.3.xsd" target="_blank">http://www.milyn.org/xsd/smooks/javabean-1.3.xsd</a>"><br>
<br> <params><br> <param name="stream.filter.type">SAX</param><br> </params><br> <br> <csv:reader fields="alarmName,Ne,board,serialNumber,slot,subrack,startDate,startTime,endDate,endTime" skipLines="1"/><br>
<jb:bean beanId="transformedProps" class="java.util.HashMap" createOnElement="csv-record"><br> <jb:value property="@alarmName" data="csv-record/alarmName" /><br>
<jb:value property="@Ne" data="csv-record/Ne" /><br> <jb:value property="@board" data="csv-record/board"/><br> <jb:value property="@serialNumber" data="csv-record/serialNumber"/><br>
<jb:value property="@slot" data="csv-record/slot"/><br> <jb:value property="@subrack" data="csv-record/subrack"/><br> <jb:value property="@startDate" data="csv-record/startDate"/><br>
<jb:value property="@startTime" data="csv-record/startTime"/><br> <jb:value property="@endDate" data="csv-record/endDate"/><br> <jb:value property="@endTime" data="csv-record/endTime"/><br>
</jb:bean><br><br> <jb:bean beanId="ListOfalarms" class="java.util.ArrayList" createOnElement="csv-set"><br> <jb:wiring beanIdRef="alarms" /><br>
</jb:bean><br> <br> <br> <jb:bean beanId="alarms" class="br.com.lavoisierfarias.correlator.model.Alarm" createOnElement="csv-record"><br> <jb:value property="alarmName" data="csv-record/alarmName"/><br>
<jb:value property="Ne" data="csv-record/ne"/><br> <jb:value property="board" data="csv-record/board"/><br> <jb:value property="serialNumber" data="csv-record/serialNumber"/><br>
<jb:value property="slot" data="csv-record/slot"/><br> <jb:value property="subrack" data="csv-record/subrack"/><br> <jb:wiring property="alarm" beanIdRef="Alarm" /><br>
<jb:expression property="startDate" execOnElement="csv-record"><br> startDate = transformedProps["startDate"] + " " + transformedProps["startTime"];<br>
new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(startDate)<br> </jb:expression><br> <jb:value property="endDate" decoder="Date" data="csv-record/endDate"><br>
<jb:decodeParam name="format">dd/MM/yyyy</jb:decodeParam><br> </jb:value><br> <jb:value property="endTime" decoder="Date" data="csv-record/endTime"><br>
<jb:decodeParam name="format">HH:mm:ss</jb:decodeParam><br> </jb:value><br><br> </jb:bean><br><br></smooks-resource-list><br><br>This is an example of the file that has to bew parsed:<br>
<b><br>alarmName,Ne,board,serialNumber,slot,subrack,startDate,startTime,endDate,endTime</b><br clear="all">Tempo de resposta excedido (sc),SCSBS_SBSDWDM012,SPVL-4#2702,SPVL-4#2702,11,1,01/05/2011,09:01:43,01/05/2011,09:02:29<br>
Tempo de resposta excedido (sc),SCSBS_SBSDWDM012,SPVL-4#2702,SPVL-4#2702,11,1,01/05/2011,09:01:43,01/05/2011,09:02:29<br>Tempo de resposta excedido (sc),SCSBS_SBSDWDM012,SPVL-4#2702,SPVL-4#2702,11,1,01/05/2011,09:01:43,01/05/2011,09:02:29<br>
<br>Erro that I got:<br>org.milyn.cdr.SmooksConfigurationException: Error invoking @Initialize method 'initialize' on class 'org.milyn.javabean.BeanInstancePopulator'.<br> at org.milyn.cdr.annotation.Configurator.invoke(Configurator.java:457)<br>
at org.milyn.cdr.annotation.Configurator.initialise(Configurator.java:439)<br> at org.milyn.cdr.annotation.Configurator.configure(Configurator.java:91)<br> at org.milyn.cdr.annotation.Configurator.configure(Configurator.java:66)<br>
at org.milyn.delivery.JavaContentHandlerFactory.create(JavaContentHandlerFactory.java:63)<br> at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.addCDU(ContentDeliveryConfigBuilder.java:623)<br>
at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.applyCDUStrategy(ContentDeliveryConfigBuilder.java:548)<br> at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.applyStrategy(ContentDeliveryConfigBuilder.java:536)<br>
at org.milyn.delivery.ContentDeliveryConfigBuilder$SmooksResourceConfigurationTableIterator.iterate(ContentDeliveryConfigBuilder.java:711)<br> at org.milyn.delivery.ContentDeliveryConfigBuilder$SmooksResourceConfigurationTableIterator.access$300(ContentDeliveryConfigBuilder.java:690)<br>
at org.milyn.delivery.ContentDeliveryConfigBuilder.extractContentHandlers(ContentDeliveryConfigBuilder.java:484)<br> at org.milyn.delivery.ContentDeliveryConfigBuilder.load(ContentDeliveryConfigBuilder.java:349)<br>
at org.milyn.delivery.ContentDeliveryConfigBuilder.getConfig(ContentDeliveryConfigBuilder.java:146)<br> at org.milyn.container.standalone.StandaloneExecutionContext.<init>(StandaloneExecutionContext.java:91)<br>
at org.milyn.container.standalone.StandaloneExecutionContext.<init>(StandaloneExecutionContext.java:65)<br> at org.milyn.Smooks.createExecutionContext(Smooks.java:411)<br> at org.milyn.Smooks.createExecutionContext(Smooks.java:374)<br>
at br.com.lavoisierfarias.correlator.readers.CSVSmookReader.runSmooksTransform(CSVSmookReader.java:52)<br> at br.com.lavoisierfarias.correlator.readers.CSVSmookReader.getAlarmList(CSVSmookReader.java:99)<br> at br.com.lavoisierfarias.correlator.AlarmTest.testLoadAlarmsFromSmookFile(AlarmTest.java:277)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br> at java.lang.reflect.Method.invoke(Unknown Source)<br>
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)<br> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)<br> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)<br>
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)<br> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)<br> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)<br>
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)<br> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)<br> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)<br>
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)<br> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)<br> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)<br>
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)<br>
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)<br> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)<br> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)<br>
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)<br> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)<br> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)<br>
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)<br> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)<br> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)<br>
Caused by: [Error: unterminated '[']<br>[Near : {... startDate = transformedProps["startDate"] ....}]<br> ^<br>[Line: 1, Column: 13]<br> at org.mvel2.compiler.PropertyVerifier.getCollectionProperty(PropertyVerifier.java:361)<br>
at org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:123)<br> at org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:390)<br> at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:283)<br>
at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2137)<br> at org.mvel2.ast.AssignmentNode.<init>(AssignmentNode.java:66)<br> at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:797)<br>
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:135)<br> at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:69)<br> at org.mvel2.MVEL.compileExpression(MVEL.java:808)<br>
at org.mvel2.MVEL.compileExpression(MVEL.java:818)<br> at org.mvel2.MVEL.compileExpression(MVEL.java:721)<br> at org.milyn.expression.MVELExpressionEvaluator.setExpression(MVELExpressionEvaluator.java:55)<br> at org.milyn.javabean.BeanInstancePopulator.initialize(BeanInstancePopulator.java:240)<br>
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br> at java.lang.reflect.Method.invoke(Unknown Source)<br> at org.milyn.cdr.annotation.Configurator.invoke(Configurator.java:453)<br>
... 45 more<br>Unhandled Exception<br><font color="#888888"><br><br><br><br>-- <br><b>Abraços,<br>Lavoisier José Leite Farias</b><br><font size="1">Skype: lavoisierfarias<br>Celular: 019-8122-1177<br>Twitter: <a href="http://twitter.com/LavoisierFarias" target="_blank">http://twitter.com/LavoisierFarias</a></font><br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br><b>Abraços,<br>Lavoisier José Leite Farias</b><br><font size="1">Skype: lavoisierfarias<br>Celular: 019-8122-1177<br>Twitter: <a href="http://twitter.com/LavoisierFarias" target="_blank">http://twitter.com/LavoisierFarias</a></font><br>
<br>
</div>