Note that there are some explanatory texts on larger screens.

plurals
  1. PODrools: Can't declare new type (with field) in .drl file
    primarykey
    data
    text
    <p>I cannot add fields to new type declarations. Do I need an actual Java class for every type declaration in a .drl file? I thought those were generated by Drools?</p> <p>This works:</p> <pre><code>package tests declare Person end </code></pre> <p>Now add a field (type doesn't matter):</p> <pre><code>package tests declare Person age : int end </code></pre> <p>And it throws following error.</p> <pre><code>java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z at org.drools.compiler.PackageBuilder.resolveType(PackageBuilder.java:1606) at org.drools.compiler.PackageBuilder.fillFieldTypes(PackageBuilder.java:1672) at org.drools.compiler.PackageBuilder.processTypeDeclarations(PackageBuilder.java:2008) at org.drools.compiler.PackageBuilder.mergePackage(PackageBuilder.java:1272) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:869) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:466) at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:694) at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51) at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:40) at RuleTest.setUp(RuleTest.java:35) at junit.framework.TestCase.runBare(TestCase.java:132) 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.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) </code></pre> <p>It's thrown at the "Testrules.drl" line:</p> <pre><code>@Override public void setUp() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newClassPathResource( "Testrules.drl" ), ResourceType.DRL ); ... } </code></pre> <p>Using Eclipse 3.4.2, Drools 5.5.0 Final</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload