You might try this:
Properties props = new Properties();
props.put( "drools.dialect.java.compiler", "JANINO" );
KnowledgeBuilderConfiguration kbConfig =
KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration( props,
(ClassLoader[]) null );
Requires the janino jar in your classpath, which I have as
~/.m2/repository/janino/janino/2.5.15/janino-2.5.15.jar
-W
On 9 June 2011 10:29, Abhay B. Chaware <Abhay.Chaware(a)kpitcummins.com>wrote:
I am using drools 5.1.0
Let me explain what I am trying to do. I am trying to write a drools app
on to android platform. In my app, I have added following jars in the
application classpath -
antlr-runtime.jar
drools-api.jar
drools-compiler.jar
drools-core.jar
mvel2.jar
Do I need any other jar files ?
upon drilling down into the Null Pointer Exception, it appears that it is
throwing NPE at following line inside RuleBuilder.java
RuleConditionBuilder builder =
(RuleConditionBuilder)context.getDialect().getBuilder(ruleDescr.getLhs().getClass());
and on further drilling, I found that "context.getDialect()" is retuning
NULL.
Then I put some debug inside PackageBuilder.java
upon drilling down for the error, found out that it is not able to set the
context's dialect.
ctr.getDialect(pkgRegistry.getDialect()) gives "null" ...
DialectCompiletimeRegistry ctr =
pkgRegistry.getDialectCompiletimeRegistry();
RuleBuildContext context = new RuleBuildContext(this, ruleDescr, ctr, pkg,
ctr.getDialect(pkgRegistry.getDialect()));
Is there any default setting /configuration that I am obviously missing ?
what could be the problem ?
-abhay
________________________________________
From: rules-users-bounces(a)lists.jboss.org [
rules-users-bounces(a)lists.jboss.org] On Behalf Of Swindells, Thomas [
TSwindells(a)nds.com]
Sent: Thursday, June 09, 2011 1:40 PM
To: Rules Users List
Subject: Re: [rules-users] Drools in non-eclipse environment
Which version of drools is this?
For drools 5.0.1 we just use maven to resolve the dependencies for us and
it works fine. I can't obviously see any eclipse compiler in the jars that
we distribute with our application.
Thomas
> -----Original Message-----
> From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-
> bounces(a)lists.jboss.org] On Behalf Of Abhay B. Chaware
> Sent: 09 June 2011 08:06
> To: rules-users(a)lists.jboss.org
> Subject: [rules-users] Drools in non-eclipse environment
>
> Has anyone tried using drools in non-eclipse env ? meaning that
> org.eclipse.jdt.core_3.5.1.v_972_R35x.jar is not in the classpath ?
>
> Documentation says this :
>
> (
http://docs.huihoo.com/drools/4.0.7/ch02s05.html)
>
> if you do not have Eclipse JDT Core in your classpath you must override
the
> compiler setting before you instantiate this PackageBuilder, you can
either
> do that with a packagebuilder properties file the ChainedProperties class
will
> find, or you can do it programmatically as shown below; note this time I
use
> properties to inject the value for startup.
>
> They also provide an example, but I am not able to figure out exactly how
to
> use this example/info.
>
> Here is my code :
>
> KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();
> kbuilder.add(ResourceFactory.newInputStreamResource(is),
> ResourceType.DRL);
>
> where "is" is input stream containing the rule file ( .drl)
>
> How do I override the compiler setting ?
>
> I am getting a null pointer exception ( see below ) and I suspect that
> overriding the packagebuilderconfiguration will fix it ?
>
> W/System.err(25511): java.lang.NullPointerException
> W/System.err(25511): at
> org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:47)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:1161)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:637)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java
> :267)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder
> .java:459)
> W/System.err(25511): at
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.ja
> va:28)
> W/System.err(25511): at
> com.ts.DBconnector.readKnowledgeBase(DBconnector.java:146)
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
**************************************************************************************
This message is confidential and intended only for the addressee. If you
have received this message in error, please immediately notify the
postmaster(a)nds.com and delete it from your system as well as any copies.
The content of e-mails as well as traffic data may be monitored by NDS for
employment and security purposes. To protect the environment please do not
print this e-mail unless necessary.
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18
4EX, United Kingdom. A company registered in England and Wales. Registered
no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users