Without seeing your full code I suspect you have more than one Customer in
Working Memory.
From what you have provided message "Electric Service Interfaces
are
required" can only be thrown by one rule, that has only one condition -
checking a Customer object. Also message "PAN Device list cannot be null or
empty" is thrown from a rule that also checks Customer (however the
additional constraints may lead to only two messages being reported). I
also assume you don't do anything extra in your error handler (such as
updating facts).
On 15 December 2011 15:33, Venkat <ven12344(a)yahoo.com> wrote:
Hi Manstis, I have tried what you said and found that, in the drools
rule
file the fields and objects were not able to get by its direct name, so I
called those by calling from get methods and I am able to run the rules but
it is behaving odd now.
I mean it is giving me the same error in my "consequence" many times and
then going to the end rule and giving me the same error twice. So I don't
know what is happening. Check out the response I get, also check the rule
file for messages
Customer and ServiceContext are both required
Electric Service Interfaces are required
Electric Service Interfaces are required
Electric Service Interfaces are required
Electric Service Interfaces are required
PAN Device list cannot be null or empty
PAN Device list cannot be null or empty
Exception executing predicate
$panDevice.getSmartDeviceModel().getDeviceClass() == null
com.ge.energy.drms.smartgrid.datamodel.services.enddevicemanagement.pandeviceregistrationservice.PANDeviceRegistrationServiceFault:
Exception executing predicate
$panDevice.getSmartDeviceModel().getDeviceClass() == null
at
com.ge.energy.drms.external.integration.service.impl.PANDeviceRegistrationServiceImpl.provisionPANDevice(PANDeviceRegistrationServiceImpl.java:100)
at
com.ge.energy.drms.external.integration.service.impl.test.ProvisionPanDeviceRequestValidationTest.testMACAdress(ProvisionPanDeviceRequestValidationTest.java:249)
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 junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
com.ge.energy.drms.smartgrid.datamodel.services.enddevicemanagement.pandeviceregistrationservice.PANDeviceRegistrationServiceFault:
Exception executing predicate
$panDevice.getSmartDeviceModel().getDeviceClass() == null
at
com.ge.energy.drms.external.integration.service.impl.PANDeviceRegistrationServiceImpl.provisionPANDevice(PANDeviceRegistrationServiceImpl.java:100)
at
com.ge.energy.drms.external.integration.service.impl.test.ProvisionPanDeviceRequestValidationTest.testInstallCode(ProvisionPanDeviceRequestValidationTest.java:285)
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 junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
com.ge.energy.drms.smartgrid.datamodel.services.enddevicemanagement.pandeviceregistrationservice.PANDeviceRegistrationServiceFault:
Exception executing predicate
$panDevice.getSmartDeviceModel().getDeviceClass() == null
at
com.ge.energy.drms.external.integration.service.impl.PANDeviceRegistrationServiceImpl.provisionPANDevice(PANDeviceRegistrationServiceImpl.java:100)
at
com.ge.energy.drms.external.integration.service.impl.test.ProvisionPanDeviceRequestValidationTest.testSmartDeviceModel(ProvisionPanDeviceRequestValidationTest.java:321)
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 junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Exception executing predicate
$panDevice.getSmartDeviceModel().getDeviceClass() == null
Device Type cannot be null
Device Type cannot be null
Thanks
Venkat.
--
View this message in context:
http://drools.46999.n3.nabble.com/Eval0Invoker-java-lang-NullPointerExcep...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users