[rules-users] unable to resolve Type Declaration class

Edson Tirelli ed.tirelli at gmail.com
Thu Nov 26 21:40:42 EST 2009


   Kris just reminded me of something: do you have the actual Message class
in the test program classpath?

   When downloading the package from guvnor, I think it does not download
the model jar... only the actual rules, etc...

   Edson

2009/11/25 richarda <richard.ambridge at gmail.com>

>
> Also tried under 5.1.0M1 release.. same issue :(
> Am i doing something wrong by declaring the @role in the Configuration
> section?
>
>
> richarda wrote:
> >
> > Still trying to get this to work.
> > I have managed to create from a default (new) guvnor setup.
> >
> > Steps I do..
> > 1. Create fresh guvnor
> > 2. In eclipse create  Message.java file in package com.sample, and create
> > a jar file
> > 3. In guvnor import the model for the Message.jar file
> > 4. In guvnor create a category
> > 5. Create an import statement for  import com.sample.Message
> > 6. Create a simple technical rule,  something like   when, Message(),
> > then, System.out.println(".");
> > 7. Build the pkg
> > 8. download the pkg
> >
> > use the code from previous post to load the pkg...
> > it works fine..
> >
> > now, goto guvnor advanced view and change the Configuration from:
> > import com.sample.Message
> >
> > to:
> >
> > import com.sample.Message;
> >
> > declare Message
> >   @role( event )
> > end
> >
> >
> > build the pkg,
> > download the pkg,
> > run the test program...
> >
> > I get:
> > org.drools.RuntimeDroolsException: unable to resolve Type Declaration
> > class 'Message'
> >       at
> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:754)
> >       at
> >
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:515)
> >       at
> >
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
> >       at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:69)
> >       at com.sample.DroolsTest.main(DroolsTest.java:27)
> >
> >
> > richarda wrote:
> >>
> >> So, my code is doing this:
> >>
> >>  KnowledgeBaseConfiguration conf =
> >> KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
> >>             conf.setOption(EventProcessingOption.STREAM);
> >>             KnowledgeBuilder builder =
> >> KnowledgeBuilderFactory.newKnowledgeBuilder();
> >>             try {
> >>                 File f = new File("/tmp/my.pkg");
> >>                 InputStream stream = new FileInputStream(f);
> >>                 if (stream == null) {
> >>                     jlog.fatal("Unable to find rule pkg");
> >>                 } else {
> >>                     jlog.info("adding pkg");
> >>
> >> builder.add(ResourceFactory.newInputStreamResource(stream),
> >> ResourceType.PKG);
> >>                 }
> >>             } catch (Exception e) {
> >>                 e.printStackTrace();
> >>             }
> >>             KnowledgeBase kbase =
> >> KnowledgeBaseFactory.newKnowledgeBase(conf);
> >>             kbase.addKnowledgePackages(builder.getKnowledgePackages());
> >>             jlog.info("setup creating knowledge session");
> >>             ksession = kbase.newStatefulKnowledgeSession();
> >>             jlog.info(" setup ksession created");
> >>
> >>
> >> The pkg was created from Guvnor.
> >>
> >> If in the package declaration area in Guvnor,  (where you put the import
> >> statements)
> >> If I put
> >> declare Signature
> >>  @role ( event )
> >> end
> >>
> >> then build the package, save it to disk /tmp/my.pkg
> >> on startup I get:
> >>
> >>
> [#|2009-11-24T14:50:38.944+0000|WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=12;_ThreadName=pool-1-thread-3;_RequestID=7c35064d-757e-4519-b5eb-433db89e168d;|org.drools.RuntimeDroolsException:
> >> unable to resolve Type Declaration class 'Signature'
> >>      at
> >> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:754)
> >>      at
> >>
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:515)
> >>      at
> >>
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
> >>
> >>
> >> I need to declare 'Signature' as an 'event'
> >> Am I doing this wrong?
> >>
> >> If I do this all in Eclipse and load the DRL files manually it all
> works.
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/unable-to-resolve-Type-Declaration-class-tp26497326p26519888.html
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091126/715e9e24/attachment.html 


More information about the rules-users mailing list