[JBoss JIRA] (DROOLS-469) NoSuchMethodError at runtime while comparing org.joda.time.DateTime instances
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-469?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-469:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1094397|https://bugzilla.redhat.com/show_bug.cgi?id=1094397] from VERIFIED to CLOSED
> NoSuchMethodError at runtime while comparing org.joda.time.DateTime instances
> -----------------------------------------------------------------------------
>
> Key: DROOLS-469
> URL: https://issues.jboss.org/browse/DROOLS-469
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.1.Final
> Environment: OS: Macosx 10.9.2
> Java version: 1.6.0_65, vendor: Apple Inc.
> Reporter: Davide Angelocola
> Assignee: Mario Fusco
> Fix For: 6.1.0.Beta4
>
>
> Given the following rule:
> ---
> import org.joda.time.DateTime;
> rule "in the past"
> when
> exists DateTime( this < new DateTime() )
> then
> System.out.println("in the past");
> end
> ---
> I obtain this exception at runtime while comparing a large number of DateTimes:
> // java.lang.NoSuchMethodError: org.joda.time.DateTime.compareTo(Lorg/joda/time/DateTime;)I
> // at ConditionEvaluatorc959ae5f82e8456f9e4f2d8b7e07b19d.evaluate(Unknown Source)
> // at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:217)
> // at org.drools.core.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:174)
> // at org.drools.core.phreak.PhreakFromNode.checkConstraintsAndPropagate(PhreakFromNode.java:298)
> // at org.drools.core.phreak.PhreakFromNode.doLeftInserts(PhreakFromNode.java:101)
> // at org.drools.core.phreak.PhreakFromNode.doNode(PhreakFromNode.java:49)
> // at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:348)
> // at org.drools.core.phreak.RuleNetworkEvaluator.doRiaNode(RuleNetworkEvaluator.java:604)
> // at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:528)
> // at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:334)
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-451) Timed rules, different name, same timer, same LHS, different RHS, one mask the other
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-451?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-451:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1083669|https://bugzilla.redhat.com/show_bug.cgi?id=1083669] from VERIFIED to CLOSED
> Timed rules, different name, same timer, same LHS, different RHS, one mask the other
> ------------------------------------------------------------------------------------
>
> Key: DROOLS-451
> URL: https://issues.jboss.org/browse/DROOLS-451
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.1.Final
> Reporter: Matteo Mortari
> Assignee: Mario Fusco
> Fix For: 6.1.0.Beta3
>
> Attachments: 2014-03-11_18-52-25.png, 20140311.drools6test.timerrulessamelhs.zip
>
>
> Consider the following KB:
> {code}
> rule "Dummy timer rule 1"
> timer (cron: 0 0 0 * * ?)
> when
> Integer()
> then
> insert("Dummy timer rule 1");
> System.out.println("Dummy timer rule 1");
> end
> rule "Dummy timer rule 2"
> timer (cron: 0 0 0 * * ?)
> when
> Integer()
> then
> insert("Dummy timer rule 2");
> System.out.println("Dummy timer rule 2");
> end
> {code}
> Then consider the following steps:
> # insert new Integer
> # advance clock by +1 day
> *Expected result:* 3 facts in the working memory, the original Integer, and two String.
> *Actual results:* 2 facts in the working memory, the original Integer, and only 1 String, from the former of the two rules.
> I hope this is not another duplicate report, I've done search on Jira before submitting, but kindly excuse me if I didn't found an already open bug which is a greater case of this one =)
> I will attach relevant source code to replicate the issue, and related material
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-487) Accumulation returns n-times more value than actual number of summed values present by PHREAK engine when **split and join** are used in JBPM flow.
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-487?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-487:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1104767|https://bugzilla.redhat.com/show_bug.cgi?id=1104767] from VERIFIED to CLOSED
> Accumulation returns n-times more value than actual number of summed values present by PHREAK engine when **split and join** are used in JBPM flow.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-487
> URL: https://issues.jboss.org/browse/DROOLS-487
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.1.0.Beta3
> Reporter: Anantjot Anand
> Assignee: Mario Fusco
> Fix For: 6.1.0.CR1
>
> Attachments: TestFourLevelDeepAccumulateWithSplit.java, TestTwoLevelDeepAccumulateWithSplit.java
>
>
> Accumulation returns n-times more value than actual number of summed values present. The factor n is dependent upon the number of times the parent object
> updates are called before rule that does the summation is invoked in the flow.
> How to reproduce?
> A simple test project is attached to this report. This project has following DataModel.
> InvokeServiceRequest=>LoanRequest==>TransactionDetail==>PolicySet and WorkingObjectTransactionDetail
>
> <?xml version="1.0" encoding="UTF-8"?>
> <process xmlns="http://drools.org/drools-5.0/process"
> xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
> xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
> type="RuleFlow" name="RF6365_200" id="278865" package-name="com.test.sumofall.GeneratedRules" version="200" >
> <header>
> <imports>
> <import name="com.test.sumofall.InvokeServicesRequest" />
> <import name="com.test.sumofall.TransactionDetail" />
> <import name="com.test.sumofall.LoanRequest" />
> <import name="com.test.sumofall.WorkingObjectsTransactionDetail" />
> </imports>
> </header>
> <nodes>
> <ruleSet id="1" name="1" x="307" y="31" width="80" height="48" ruleFlowGroup="group_1" />
> <start id="70004" name="Start" x="61" y="33" width="48" height="48" />
> <ruleSet id="2" name="2" x="463" y="27" width="80" height="48" ruleFlowGroup="group_2" />
> <ruleSet id="3" name="3" x="315" y="230" width="80" height="48" ruleFlowGroup="group_3" />
> <join id="90004" name="EndJoin90004" x="532" y="80" width="49" height="49" type="2" />
> <split id="11" name="11" x="337" y="101" width="49" height="49" type="2" >
> <constraints>
> <constraint toNodeId="90004" toType="DROOLS_DEFAULT" name="ServiceFlowCode Equal to Post Rules Processing" priority="1" type="rule" dialect="mvel" >$invokeServices :
> InvokeServicesRequest( )
> $lendingTransaction :
> LoanRequest( parentId == $invokeServices.myId )
> $transactionDetail :
> TransactionDetail( parentId == $lendingTransaction.myId )
> $workingTransactionDetail :
> WorkingObjectsTransactionDetail( parentId == $transactionDetail.myId
> , serviceFlowCode == "Post Rules Processing" )</constraint>
> <constraint toNodeId="3" toType="DROOLS_DEFAULT" name="ServiceFlowCode Not Equal to Post Rules Processing" priority="1" type="rule" dialect="mvel" >$invokeServices :
> InvokeServicesRequest( )
> $lendingTransaction :
> LoanRequest( parentId == $invokeServices.myId )
> $transactionDetail :
> TransactionDetail( parentId == $lendingTransaction.myId )
> $workingTransactionDetail :
> WorkingObjectsTransactionDetail( parentId == $transactionDetail.myId
> , serviceFlowCode != "Post Rules Processing" )</constraint>
> </constraints>
> </split>
> <end id="80004" name="End" x="640" y="30" width="48" height="48" />
> </nodes>
> <connections>
> <connection from="70004" to="1" />
> <connection from="1" to="2" />
> <connection from="2" to="11" />
> <!--If WE change order of the following two lines to this it works for this example but similar change doesn't work when multiple split and joins are present in ruleflow
> <connection from="11" to="3" />
> <connection from="11" to="90004" />
> -->
> <connection from="11" to="90004" />
> <connection from="11" to="3" />
> <connection from="3" to="90004" />
> <connection from="90004" to="80004" />
> </connections>
> </process>
> ****ROOT CAUSE****
> I believe the problem is caused by the childLeftTuple.getStagedType() being equal to LeftTuple.INSERT instead of LeftTuple.NONE or LeftTuple.UPDATE.
> Thread [main] (Suspended)
> PhreakJoinNode.updateChildLeftTuple(LeftTuple, LeftTupleSets, LeftTupleSets) line: 443
> PhreakJoinNode.doRightUpdatesProcessChildren(LeftTuple, LeftTuple, RightTuple, LeftTupleSets, ContextEntry[], BetaConstraints, LeftTupleSink, FastIterator, LeftTupleSets) line: 363
> PhreakJoinNode.doRightUpdates(JoinNode, LeftTupleSink, BetaMemory, InternalWorkingMemory, RightTupleSets, LeftTupleSets, LeftTupleSets) line: 307
> PhreakJoinNode.doNode(JoinNode, LeftTupleSink, BetaMemory, InternalWorkingMemory, LeftTupleSets, LeftTupleSets, LeftTupleSets) line: 48
> RuleNetworkEvaluator.switchOnDoBetaNode(NetworkNode, LeftTupleSets, InternalWorkingMemory, LeftTupleSets, LeftTupleSets, LeftTupleSinkNode, BetaMemory, AccumulateNode$AccumulateMemory) line: 547
> RuleNetworkEvaluator.evalBetaNode(LeftInputAdapterNode, PathMemory, NetworkNode, Memory, SegmentMemory[], int, LeftTupleSets, InternalWorkingMemory, LinkedList<StackEntry>, LinkedList<StackEntry>, Set<String>, boolean, RuleExecutor, LeftTupleSets, LeftTupleSets, LeftTupleSinkNode) line: 533
> RuleNetworkEvaluator.innerEval(LeftInputAdapterNode, PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, LeftTupleSets, InternalWorkingMemory, LinkedList<StackEntry>, LinkedList<StackEntry>, Set<String>, boolean, RuleExecutor) line: 334
> RuleNetworkEvaluator.outerEval(LeftInputAdapterNode, PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, LeftTupleSets, InternalWorkingMemory, LinkedList<StackEntry>, LinkedList<StackEntry>, Set<String>, boolean, RuleExecutor) line: 161
> RuleNetworkEvaluator.evaluateNetwork(PathMemory, LinkedList<StackEntry>, RuleExecutor, InternalWorkingMemory) line: 116
> RuleExecutor.evaluateNetwork(InternalWorkingMemory) line: 54
> DefaultAgenda.evaluateEagerList() line: 958
> DefaultAgenda.fireNextItem(AgendaFilter, int, int) line: 913
> DefaultAgenda.fireAllRules(AgendaFilter, int) line: 1198
> StatefulKnowledgeSessionImpl.fireAllRules(AgendaFilter, int) line: 1202
> StatefulKnowledgeSessionImpl.fireAllRules() line: 1175
> SumOfAllTest.main(String[]) line: 133
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-472) Drools Eclipse plugin can't recognize third party classes
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-472?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-472:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1104095|https://bugzilla.redhat.com/show_bug.cgi?id=1104095] from VERIFIED to CLOSED
> Drools Eclipse plugin can't recognize third party classes
> ---------------------------------------------------------
>
> Key: DROOLS-472
> URL: https://issues.jboss.org/browse/DROOLS-472
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: * OS: Mac OS X 10.9.2
> * Eclipse Kepler
> * Drool Eclipse Plugin - JBoss Drools Core 6.0.1Final. (I don't have problem with Drools Core 5.6.0Final)
> * Java SE 1.7
> * Drools Runtime 6.0.1
> Reporter: Jinghai Rao
> Assignee: Mario Fusco
> Fix For: 6.1.0.CR1
>
>
> Whenever I use classes from any third party jar files (not in JRE System Library and Drools Library), I got error messages in Eclipse IDE.
> At the place where I import the class, the error message is "Only a type can be imported. ... resolves to a package".
> At the place where I use the class, the error message is "... cannot be resolved to a type".
> However, I have included the jar file in classpath. The project can also be executed successfully even with the error message in IDE.
> Below is my development environment:
> * OS: Mac OS X 10.9.2
> * Eclipse Kepler
> * Drool Eclipse Plugin - JBoss Drools Core 6.0.1Final. (I don't have problem with Drools Core 5.6.0Final)
> * Java SE 1.7
> * Drools Runtime 6.0.1
> !https://lh5.googleusercontent.com/-gltHnzUIUg4/U1qbEzVd_LI/AAAAAAAAEYw/mKxE2jv-VVc/w1796-h1168-no/Screen+Shot+2014-04-25+at+10.20.36+AM.png!
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-501) Propagation context is not set correctly when nodes are shared
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-501?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-501:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1103071|https://bugzilla.redhat.com/show_bug.cgi?id=1103071] from VERIFIED to CLOSED
> Propagation context is not set correctly when nodes are shared
> --------------------------------------------------------------
>
> Key: DROOLS-501
> URL: https://issues.jboss.org/browse/DROOLS-501
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.1.0.Beta4
> Reporter: Davide Sottara
> Assignee: Mario Fusco
> Priority: Critical
> Fix For: 6.1.0.CR1
>
>
> The following rules
> {code}
> package org.drools.compiler.loop
> rule "Rule 1"
> ruleflow-group "Start"
> no-loop
> when
> $thing1 : String()
> $thing2 : Integer()
> then
> System.out.println( 'At 1' );
> update( $thing2 );
> end
> rule "Rule 2"
> ruleflow-group "End"
> no-loop
> when
> $thing1 : String()
> $thing2 : Integer()
> then
> System.out.println( 'At 2' );
> update( $thing2 );
> end
> {code}
> cause an endless loop even if controlled by a jBPM process with two rule tasks
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-450) Cannot use decimal formatters for integers in an excel decision table
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-450?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-450:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1077228|https://bugzilla.redhat.com/show_bug.cgi?id=1077228] from VERIFIED to CLOSED
> Cannot use decimal formatters for integers in an excel decision table
> ---------------------------------------------------------------------
>
> Key: DROOLS-450
> URL: https://issues.jboss.org/browse/DROOLS-450
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.1.Final
> Reporter: Maxime Falaize
> Assignee: Michael Anstis
> Priority: Minor
> Fix For: 6.1.0.Beta2
>
> Attachments: issue_example.png
>
>
> When I use decimal formatter in an excel action column for numbers that are in fact integers, I am getting this exception :
> {noformat}
> Exception in thread "main" java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=com/sample/my_decision_table.xls, line=5, column=0
> text=Rule Compilation error The method setParameter(double) in the type MyObject is not applicable for the arguments (int, int)]]
> at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:260)
> at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:400)
> at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:375)
> {noformat}
> Actually, the system uses the format number "1,00000" (with comma in french) instead of "1.00000" like it should use.
> This is causing by the line 174 in org.drools.decisiontable.parser.xls.ExcelParser :
> {code:java}
> if ( num - Math.round( num ) != 0 )
> {code}
> I don't understand why we use the formatted value when this test is not passed.
> I think the end users should have the possibility to keep the same formatter for the same column, with integers or not.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-437) Kie :: Camel - ClassCast exception in PreCxfTransportSoapProcessor class
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-437?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-437:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1095980|https://bugzilla.redhat.com/show_bug.cgi?id=1095980] from VERIFIED to CLOSED
> Kie :: Camel - ClassCast exception in PreCxfTransportSoapProcessor class
> ------------------------------------------------------------------------
>
> Key: DROOLS-437
> URL: https://issues.jboss.org/browse/DROOLS-437
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.1.Final
> Environment: java version "1.7.0_51"
> Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
> on application server:
> JBoss AS 7.1.1.Final "Brontes"
> running on:
> Distributor ID: Ubuntu
> Description: Ubuntu 12.04.4 LTS
> Release: 12.04
> Codename: precise
> Reporter: Jurij Kovacic
> Assignee: Edson Tirelli
> Labels: apache, camel
> Fix For: 6.1.0.Beta4
>
>
> After sending a test SOAP request to (compiled) "Drools Camel server example" from "droolsjbpm-integration-master/drools-camel-server-example", running on JBoss7 application server, the following exception occurs:
> ...
> java.lang.ClassCastException: org.apache.cxf.binding.soap.SoapMessage cannot be cast to java.lang.String
> at org.kie.jax.soap.PreCxfTransportSoapProcessor.process(PreCxfTransportSoapProcessor.java:36) [kie-camel-6.0.1.Final.jar:6.0.1.Final]
> ...
> I used the following patch (hack), to make the example work:
> diff --git a/kie-camel/src/main/java/org/kie/jax/soap/PreCxfTransportSoapProcessor.java b/kie-camel/src/main/java/or
> index c646f97..39e2afc 100644
> --- a/kie-camel/src/main/java/org/kie/jax/soap/PreCxfTransportSoapProcessor.java
> +++ b/kie-camel/src/main/java/org/kie/jax/soap/PreCxfTransportSoapProcessor.java
> @@ -33,8 +33,10 @@ public class PreCxfTransportSoapProcessor
> Map<String, Object> headers = exchange.getIn().getHeaders();
> MimeHeaders mimeHeaders = new MimeHeaders();
> for ( String header : headers.keySet() ) {
> - mimeHeaders.addHeader( header,
> - (String) headers.get( header ) );
> + // hack for avoiding uncaught exceptions when SOAP message is typecast to string
> + try { mimeHeaders.addHeader( header, (String) headers.get( header ) );}
> + catch(ClassCastException e){}
> +
> }
> SOAPMessage soapMessage = MessageFactory.newInstance().createMessage( mimeHeaders,
> is );
> It seems to me that the call to:
> ...
> exchange.getIn().getHeaders()
> ...
>
> apart from valid MIME headers, such as host, content-type etc also (wrongly?) returns the entire SOAP request object, which then cannot be typecast to string.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months
[JBoss JIRA] (DROOLS-439) Package builder unable to find declared array class
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-439?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-439:
------------------------------------------------
Rajesh Rajasekaran <rrajasek(a)redhat.com> changed the Status of [bug 1079950|https://bugzilla.redhat.com/show_bug.cgi?id=1079950] from VERIFIED to CLOSED
> Package builder unable to find declared array class
> ---------------------------------------------------
>
> Key: DROOLS-439
> URL: https://issues.jboss.org/browse/DROOLS-439
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.1.Final
> Reporter: Mark Sullivan
> Assignee: Mario Fusco
>
> When declaring a fact type with an array field, where the array type is declared in the same package, for example:
> {code}
> declare Owner
> name : String
> end
> declare Pet
> owners : Owner[]
> end
> {code}
> The following build error occurs:
> {code}
> [Message [id=1, level=ERROR, path=pets.drl, line=5, column=0
> text=Unable to find class 'Owner']]
> {code}
> This error doesn't always occur when an array field is declared. It's dependent on the order in which each fact type is processed.
> PackageBuilder attempts to order fact types for processing based on the declared super type and attribute types.
> The following loop in *PackageBuilder.sortByHierarchy()* processes each field looking for field type dependencies:
> {code}
> for (TypeFieldDescr field : tdescr.getFields().values()) {
> QualifiedName typeName = new QualifiedName(field.getPattern().getObjectType());
> if (!hasCircularDependency(name, typeName, taxonomy)) {
> supers.add(typeName);
> }
> }
> {code}
> However I don't think it correctly spots the dependency when the field type is an array.
> This issue can be worked around by declaring an unused field of the same type as the array:
> {code}
> declare Owner
> name : String
> end
> declare Pet
> owners : Owner[]
> _unused: Owner
> end
> {code}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 3 months