Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.29 KB | None | 0 0
  1.     @Test
  2.     public void test2NotsWithTemporalConstraints() {
  3.         // BZ-1122738 DROOLS-479
  4.         String drl = "import " + SimpleEvent.class.getCanonicalName() + "\n" +
  5.                      "import java.util.Date\n" +
  6.                      "\n" +
  7.                      "declare OtherFact\n" +
  8.                      "    @role( event )\n" +
  9.                      "end\n" +
  10.                      "\n" +
  11.                      "declare SimpleEvent\n" +
  12.                      "    @role( event )\n" +
  13.                      "    @timestamp( dateEvt )\n" +
  14.                      "end\n" +
  15.                      "\n" +
  16.                      "\n" +
  17.                      "rule R\n" +
  18.                      "    when\n" +
  19.                      "        $e : SimpleEvent()\n" +
  20.                      "        not OtherFact( this after[0, 1h] $e )\n" +
  21.                      "        not OtherFact( this after[0, 1h] $e )\n" +
  22.                      "    then\n" +
  23.                      "        $e.setCode(\"code2\");\n" +
  24.                      "    end\n " +
  25.                      "";
  26.  
  27.         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  28.         kbuilder.add( ResourceFactory.newByteArrayResource( drl.getBytes() ), ResourceType.DRL);
  29.         if ( kbuilder.hasErrors() ) {
  30.             fail( kbuilder.getErrors().toString() );
  31.         }
  32.         KieBaseConfiguration baseConfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
  33.         baseConfig.setOption( EventProcessingOption.STREAM );
  34.         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase( baseConfig );
  35.         kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
  36.  
  37.         KieSessionConfiguration sessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
  38.         sessionConfig.setOption( ClockTypeOption.get( ClockType.PSEUDO_CLOCK.getId() ) );
  39.  
  40.         final KieSession ksession = kbase.newKieSession(sessionConfig, null);
  41.         PseudoClockScheduler clock = ksession.getSessionClock();
  42.         clock.setStartupTime(System.currentTimeMillis());
  43.  
  44.         SimpleEvent event = new SimpleEvent("code1");
  45.         event.setDateEvt(System.currentTimeMillis() - (2 * 60 * 60 * 1000));
  46.         ksession.insert(event);
  47.         ksession.fireAllRules();
  48.         assertEquals("code2", event.getCode());
  49.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement