[jboss-jira] [JBoss JIRA] (DROOLS-394) java.lang.RuntimeException: cannot invoke getter

leonardo lizana (JIRA) issues at jboss.org
Tue Jan 14 16:07:33 EST 2014


     [ https://issues.jboss.org/browse/DROOLS-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

leonardo lizana closed DROOLS-394.
----------------------------------

    Fix Version/s: 5.5.1.Final
       Resolution: Done


issue is due to an object null
                
> java.lang.RuntimeException: cannot invoke getter
> ------------------------------------------------
>
>                 Key: DROOLS-394
>                 URL: https://issues.jboss.org/browse/DROOLS-394
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>            Reporter: leonardo lizana
>            Assignee: Mark Proctor
>             Fix For: 5.5.1.Final
>
>
> we are using drools 5.4.final. and below is the rule
> rule "EnergyUsage data not empty"
>       dialect "java"	
>       salience 100
>       no-loop
>   when
>       $httpResponse : HttpResponse(
> 									(((EnergyUsage)responseData).energyUsageDetail.billingGroup!=null && ((EnergyUsage)responseData).energyUsageDetail.billingGroup!=0) || 
>       								((EnergyUsage)responseData).energyUsageDetail.capacityPLCs.size()>0 ||
> 									((EnergyUsage)responseData).energyUsageDetail.networkServicePLCs.size()>0 ||
>       								((EnergyUsage)responseData).energyUsageDetail.servicePoint!=null ||
>       								((EnergyUsage)responseData).energyUsageDetail.historicalUsages.size() > 0
>       					);
>       					
>      
>   then
>       System.out.println("[EnergyUsage data not empty] rule has been fired...");
>       $httpResponse.setStatusCode(EisConstants.STATUS_OK);
>       $httpResponse.setErrorMessage("");
> end
> rule "EnergyUsage data empty"
>       dialect "java"	
>       no-loop
>   when
>       $httpResponse : HttpResponse(
> 									(((EnergyUsage)responseData).energyUsageDetail.billingGroup==null || ((EnergyUsage)responseData).energyUsageDetail.billingGroup==0) && 
>       								((EnergyUsage)responseData).energyUsageDetail.capacityPLCs.size()==0 &&
> 									((EnergyUsage)responseData).energyUsageDetail.networkServicePLCs.size()==0 &&
>       								((EnergyUsage)responseData).energyUsageDetail.servicePoint==null &&
>       								((EnergyUsage)responseData).energyUsageDetail.historicalUsages.size() == 0
>       					);
>       					
>      
>   then
>       System.out.println("[EnergyUsage data empty] rule has been fired...");
>       $httpResponse.setStatusCode(EisConstants.STATUS_OK);
>       $httpResponse.setErrorMessage("Data Screen Scrapping is empty for this account");
> end
> Here is log error:
> -------------------------
> java.lang.RuntimeException: cannot invoke getter: getEnergyUsageDetail [declr.class: com.bluestarenergy.core.eis.common.usage.EnergyUsage; act.class: com.bluestarenergy.core.eis.common.usage.EnergyUsage] (see trace)
>         at org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:74)
>         at org.mvel2.ast.Union.getReducedValueAccelerated(Union.java:41)
>         at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:107)
>         at org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:34)
>         at org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:34)
>         at org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:34)
>         at org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:34)
>         at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
>         at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:123)
>         at org.mvel2.MVEL.executeExpression(MVEL.java:930)
>         at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:70)
>         at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:49)
>         at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:167)
>         at org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:124)
>         at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
>         at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)
>         at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)
>         at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
>         at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)
>         at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
>         at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
>         at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
>         at com.aepenergy.b2b.services.energyusage.UsageRulesServiceImpl.ruleCompliance(UsageRulesServiceImpl.java:19)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
>         at $Proxy161.ruleCompliance(Unknown Source)
>         at com.aepenergy.b2b.services.energyusage.EnergyUsageCommunicationServiceImpl.processRequestEnergyUsageHttp(EnergyUsageCommunicationServiceImpl.java:52)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list