On 29/04/2010 09:38, Swindells, Thomas wrote: > Isn't the simplest solution just to add the imports at the start of the > imported drl file? > That is the users don't need to worry about writing the imports but before > you feed the files into your code simply prepends the required imports. > > You can do this easily in memory with something like the following: > StringWriter drlContents = new StringWriter(); > drlContents.write("import ...\n"); > FileInputStream stream = new FileInputStream(drlFile); > InputStreamReader inR = new InputStreamReader(stream, "UTF-8"); > IOUtils.copy(inR, drlContents); > kbuilder.add(ResourceFactory.newReaderResource(new > StringReader(drlContents.toString())), > ResourceType.DRL); Make sure you generate the classes first and put them into a classloader. Then specify that ClassLoader as the root classload to the kbuilder and kbase configurations.
Mark > Thomas > >> -----Original Message----- >> From: rules-users-boun...@lists.jboss.org [mailto:rules-users- >> boun...@lists.jboss.org] On Behalf Of Dave Cracauer >> Sent: 28 April 2010 19:35 >> To: Rules Users List; rules-users@lists.jboss.org >> Subject: Re: [rules-users] Challenge! Using javassist and drools presents an >> issue with drl >> >> >> It sounds like the stated goal is to make things easier for non-developers to >> write rules. What about a dsl? >> >> What about using a templating language? I have used velocity in the past for >> dynamically generating rules based on templates, and I think that there is >> built in support for templates using mvel. >> >> -----Original Message----- >>> From: markricard<markric...@gmail.com> >>> Sent: Apr 28, 2010 11:53 AM >>> To: rules-users@lists.jboss.org >>> Subject: Re: [rules-users] Challenge! Using javassist and drools presents an >> issue with drl >>> >>> Perhaps there is an easier way to ask this question.... >>> >>> Rather than having to do an 'import' of a class in a drl text file, is there >>> a way in the Java code that constructs the KnowledgeBase to via java >>> dynamically import any class file required by any drl file that is added? >>> >>> Instead of the drl having: >>> >>> import com.foo.Instance; >>> rule "Walgreens Test" >>> .... >>> >>> It just has: >>> >>> rule "Walgreens Test" >>> .... >>> >>> >>> And in the KnowledgeBuilder does something like this: >>> >>> KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); >>> kbuilder.addImport("com.foo.Instance"); >>> ... >>> >>> >>> >>> -- >>> View this message in context: http://drools-java-rules- >> engine.46999.n3.nabble.com/Challenge-Using-javassist-and-drools-presents-an- >> issue-with-drl-tp763086p763118.html >>> Sent from the Drools - User mailing list archive at Nabble.com. >>> _______________________________________________ >>> rules-users mailing list >>> rules-users@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/rules-users >> _______________________________________________ >> rules-users mailing list >> rules-users@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 > postmas...@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 > ************************************************************************************** > > This message is confidential and intended only for the addressee. If you have > received this message in error, please immediately notify the > postmas...@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. > > An NDS Group Limited company. www.nds.com > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users