Hi All,

Please can any one help me, or Say is it a limitation or if Possible how to
do it in web applications.
I had written a peace of code in java that works fine & perfectly in simple
java class,
when i tried to copy same piece of code into servlet program and run, then
it throws an error, 
even i included same jar files to both the applications --> drool5.2 jars
when tried to uncomment  the commented line and run then it throws error, (
in adding the package, and changeSet) 


KnowledgeAgent ka = KnowledgeAgentFactory.newKnowledgeAgent("MyAgent");
KnowledgeBuilder _kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
KnowledgeBase _kbase = KnowledgeBaseFactory.newKnowledgeBase();
    String
urlString="http://localhost:8080/guvnor-5.2.0.Final-jboss-as-5.1/rest/packages/sample/source";;
  //String urlString =
"http://localhost:8080/guvnor-5.2.0.Final-jboss-as-5.1/org.drools.guvnor.Guvnor/package/sample/LATEST";;
//String
urlString="http://localhost:8080/guvnor-5.2.0.Final-jboss-as-5.1/org.drools.guvnor.Guvnor/package/sample/LATEST/ChangeSet.xml";

                URL url = new URL(urlString);
                UrlResource urlResource =
(UrlResource)ResourceFactory.newUrlResource(url);
                urlResource.setBasicAuthentication("enabled");
                urlResource.setUsername("admin");
                urlResource.setPassword("admin");
                System.out.print("\n\n\n\n before adding package Sasi Sasi ");
               
_kbuilder.add(ResourceFactory.newUrlResource(url),ResourceType.DRL);
               
//_kbuilder.add(ResourceFactory.newUrlResource(url),ResourceType.PKG);
                _kbase.addKnowledgePackages(_kbuilder.getKnowledgePackages());
                System.out.print("\n\n\n\n added package Sasi Sasi");
               
// ka.applyChangeSet(urlResource);
                /*KnowledgeBase kb = ka.getKnowledgeBase();
         */       
     FactType appType = _kbase.getFactType("sample", "person");
     Object application = appType.newInstance();
     appType.set(application, "age", 25);
     appType.set(application, "income", 1500);
     appType.set(application, "result", "");
 StatelessKnowledgeSession ks = _kbase.newStatelessKnowledgeSession();
 ks.execute(application);
 System.out.println(application);
 System.out.println("Result is "+appType.get(application, "result"));
        


if add resource type other than the DRL, like PKG,CHANGE_SET then it throws
error specified error
root cause

java.lang.NoSuchFieldError: DESCR

org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:539)

org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)
        RuleEngine.doGet(RuleEngine.java:85)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)




--
View this message in context: 
http://drools.46999.n3.nabble.com/Is-it-a-limitation-in-Drools-can-not-add-PKG-and-ChangeSet-in-Webapplication-tp3610553p3610553.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to