Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-3215

NPE when calling PackageBuilder.addPackageFromDrl(Reader)

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 5.3.0.Beta1
    • drools-core
    • None
    • Hide

      1. Set this classpath:

      http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.9-SNAPSHOT/eulergui-1.9-20110824.171234-1.jar

      The source is here , in case of need :
      http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.9-SNAPSHOT/eulergui-1.9-20110824.171234-1-sources.jar

      2. Add this .drl file with PackageBuilder.addPackageFromDrl(Reader)

      package n3_project.helpers3
      import n3_project.helpers.Triple;
      import n3_project.helpers.TripleList;
      import n3_project.helpers.TripleResult;
      import unif.TripleUser;
      import eulergui.inference.drools.impl.Assignment;
      import eulergui.inference.drools.impl.DeferredPropertyAssignment;
      import eulergui.inference.drools.impl.DeferredMethodCall;
      import eulergui.inference.drools.impl.DroolsN3EngineRuntime;
      import java.util.ArrayList;
      import java.util.Map;
      global Map /<Triple, Integer>/ object2rule;
      rule "form-rules.n3 9"
      when
      $Triple_1 : Triple( $EVENT : subject, predicate == "<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>", object == "<http://jmvanel.free.fr/ontology/gui_generic.owl#FocusLostEvent>" )
      $Triple_2 : Triple( subject == $EVENT, predicate == "<http://jmvanel.free.fr/ontology/gui_generic.owl#eventSource>", $FIELD : object )
      $Triple_3 : Triple( subject == $EVENT, predicate == "<http://jmvanel.free.fr/ontology/gui_generic.owl#newValue>", $VALUE : object )
      Assignment( name == $EVENT, $EVENT_reference : reference, $JTEXT_FIELD : reference.source )
      $Triple_4 : Triple( subject == $FIELD, predicate == "<http://jmvanel.free.fr/ontology/gui_generic.owl#inputWidgetSpecification>", $PREDICATE : object )
      then
      Triple newTriple;
      TripleResult newTripleResult;
      newTriple = new Triple( );
      newTriple.setSubject( $EVENT );
      newTriple.setPredicate( "<http://jmvanel.free.fr/ontology/gui_generic.owl#consumed>".toString() );
      newTriple.setObject( "true" ); insertLogical( newTriple );
      String $RESOURCE = Triple.resource("RESOURCE") ;
      newTriple = new Triple( );
      newTriple.setSubject( $RESOURCE );
      newTriple.setPredicate( $PREDICATE.toString() );
      newTriple.setObject( $VALUE ); insertLogical( newTriple );
      newTriple = new Triple( );
      newTriple.setSubject( $RESOURCE );
      newTriple.setPredicate( "<http://jmvanel.free.fr/ontology/software_applications.owl#status>".toString() );
      newTriple.setObject( "<http://jmvanel.free.fr/ontology/software_applications.owl#userData>" ); insertLogical( newTriple );
      newTriple = new Triple( );
      newTriple.setSubject( $FIELD );
      newTriple.setPredicate( "<http://jmvanel.free.fr/ontology/gui_generic.owl#fieldSubject>".toString() );
      newTriple.setObject( $RESOURCE ); insertLogical( newTriple );
      System.out.println( "#TRACE ( " + "\"gui:FocusLostEvent new_value\"" + " " + $EVENT + " " + $FIELD + " " + "\" ?RESOURCE ?PREDICATE ?VALUE\"" + " " + "\" \"" + " " + $RESOURCE + " " + $PREDICATE + " " + $VALUE + " " + ")" );
      DeferredPropertyAssignment dpa_GUIKBAdapter11 = new DeferredPropertyAssignment();
      dpa_GUIKBAdapter11.setSubject("<http://jmvanel.free.fr/ontology/gui_generic.owl#GUIKBAdapter>".toString() );
      dpa_GUIKBAdapter11.setPredicate( "<http://java.sun.com/method#setBoldFont>" );
      dpa_GUIKBAdapter11.setObject($JTEXT_FIELD.toString() );
      insert( dpa_GUIKBAdapter11 );
      end

      Show
      1. Set this classpath: http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.9-SNAPSHOT/eulergui-1.9-20110824.171234-1.jar The source is here , in case of need : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.9-SNAPSHOT/eulergui-1.9-20110824.171234-1-sources.jar 2. Add this .drl file with PackageBuilder.addPackageFromDrl(Reader) package n3_project.helpers3 import n3_project.helpers.Triple; import n3_project.helpers.TripleList; import n3_project.helpers.TripleResult; import unif.TripleUser; import eulergui.inference.drools.impl.Assignment; import eulergui.inference.drools.impl.DeferredPropertyAssignment; import eulergui.inference.drools.impl.DeferredMethodCall; import eulergui.inference.drools.impl.DroolsN3EngineRuntime; import java.util.ArrayList; import java.util.Map; global Map / <Triple, Integer> / object2rule; rule "form-rules.n3 9" when $Triple_1 : Triple( $EVENT : subject, predicate == "< http://www.w3.org/1999/02/22-rdf-syntax-ns#type >", object == "< http://jmvanel.free.fr/ontology/gui_generic.owl#FocusLostEvent >" ) $Triple_2 : Triple( subject == $EVENT, predicate == "< http://jmvanel.free.fr/ontology/gui_generic.owl#eventSource >", $FIELD : object ) $Triple_3 : Triple( subject == $EVENT, predicate == "< http://jmvanel.free.fr/ontology/gui_generic.owl#newValue >", $VALUE : object ) Assignment( name == $EVENT, $EVENT_reference : reference, $JTEXT_FIELD : reference.source ) $Triple_4 : Triple( subject == $FIELD, predicate == "< http://jmvanel.free.fr/ontology/gui_generic.owl#inputWidgetSpecification >", $PREDICATE : object ) then Triple newTriple; TripleResult newTripleResult; newTriple = new Triple( ); newTriple.setSubject( $EVENT ); newTriple.setPredicate( "< http://jmvanel.free.fr/ontology/gui_generic.owl#consumed >".toString() ); newTriple.setObject( "true" ); insertLogical( newTriple ); String $RESOURCE = Triple.resource("RESOURCE") ; newTriple = new Triple( ); newTriple.setSubject( $RESOURCE ); newTriple.setPredicate( $PREDICATE.toString() ); newTriple.setObject( $VALUE ); insertLogical( newTriple ); newTriple = new Triple( ); newTriple.setSubject( $RESOURCE ); newTriple.setPredicate( "< http://jmvanel.free.fr/ontology/software_applications.owl#status >".toString() ); newTriple.setObject( "< http://jmvanel.free.fr/ontology/software_applications.owl#userData >" ); insertLogical( newTriple ); newTriple = new Triple( ); newTriple.setSubject( $FIELD ); newTriple.setPredicate( "< http://jmvanel.free.fr/ontology/gui_generic.owl#fieldSubject >".toString() ); newTriple.setObject( $RESOURCE ); insertLogical( newTriple ); System.out.println( "#TRACE ( " + "\"gui:FocusLostEvent new_value\"" + " " + $EVENT + " " + $FIELD + " " + "\" ?RESOURCE ?PREDICATE ?VALUE\"" + " " + "\" \"" + " " + $RESOURCE + " " + $PREDICATE + " " + $VALUE + " " + ")" ); DeferredPropertyAssignment dpa_GUIKBAdapter11 = new DeferredPropertyAssignment(); dpa_GUIKBAdapter11.setSubject("< http://jmvanel.free.fr/ontology/gui_generic.owl#GUIKBAdapter >".toString() ); dpa_GUIKBAdapter11.setPredicate( "< http://java.sun.com/method#setBoldFont >" ); dpa_GUIKBAdapter11.setObject($JTEXT_FIELD.toString() ); insert( dpa_GUIKBAdapter11 ); end

    Description

      Daemon Thread [SwingWorker-pool-3-thread-1] (Suspended (breakpoint at line 89 in ClassUtils))
      ClassUtils.canonicalName(Class) line: 89
      DeclarationTypeFixer.fix(Declaration) line: 11
      JavaRuleBuilderHelper.createVariableContext(String, String, RuleBuildContext, Declaration[], Declaration[], Map<String,Class<?>>) line: 158
      JavaRuleBuilderHelper.createConsequenceContext(RuleBuildContext, String, String, String, Map<String,Declaration>, BoundIdentifiers) line: 94
      ASMConsequenceStubBuilder(AbstractASMConsequenceBuilder).consequenceContext(RuleBuildContext, String) line: 47
      ASMConsequenceStubBuilder(AbstractASMConsequenceBuilder).build(RuleBuildContext, String) line: 17
      RuleBuilder.build(RuleBuildContext) line: 99
      PackageBuilder.addRule(RuleDescr) line: 1993
      PackageBuilder.addPackage(PackageDescr) line: 793
      PackageBuilder.addPackageFromDrl(Reader) line: 355

      NOTE: with the debugger, I saw that variable $JTEXT_FIELD is causing the problem; see the DRL below in "how to reproduce"

      Attachments

        Activity

          People

            etirelli@redhat.com Edson Tirelli
            jmvanel_jira Jean-Marc Vanel (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty