Examples of KieSessionModel


Examples of org.kie.api.builder.model.KieSessionModel

                .setDeclarativeAgenda( DeclarativeAgendaOption.ENABLED )
                .addInclude("OtherKBase")
                .addPackage("org.kie.pkg1")
                .addPackage("org.kie.pkg2");

        KieSessionModel ksession1 = kieBaseModel1.newKieSessionModel("KSession1")
                .setType(KieSessionType.STATEFUL)
                .setClockType( ClockTypeOption.get("realtime") )
                .setFileLogger("drools.log", 10, true)
                .setDefault(true);

        ksession1.newListenerModel("org.domain.FirstInterface", ListenerModel.Kind.AGENDA_EVENT_LISTENER);

        ksession1.newListenerModel("org.domain.SecondInterface", ListenerModel.Kind.WORKING_MEMORY_EVENT_LISTENER)
                .newQualifierModel("MyQualfier2");

        ksession1.newListenerModel("org.domain.ThirdInterface", ListenerModel.Kind.PROCESS_EVENT_LISTENER)
                .newQualifierModel("MyQualfier3")
                .setValue("v1");

        ksession1.newListenerModel("org.domain.FourthInterface", ListenerModel.Kind.AGENDA_EVENT_LISTENER)
                .newQualifierModel("MyQualfier4")
                .addArgument("name1", "xxxx")
                .addArgument("name2", "yyyy");

        ksession1.newWorkItemHandlerModel("name","org.domain.FifthInterface")
                .newQualifierModel("MyQualfier5")
                .addArgument("name1", "aaa")
                .addArgument("name2", "bbb");
       
//        KieBaseModel kieBaseModel2 = kproj.newKieBaseModel("KBase2")
//                .setEqualsBehavior( EqualityBehaviorOption.EQUALITY )
//                .setEventProcessingMode( EventProcessingOption.STREAM );       

        String xml = kproj.toXML();

        // System.out.println( xml );

        KieModuleModel kprojXml = fromXML(xml);

        KieBaseModel kieBaseModelXML = kprojXml.getKieBaseModels().get("KBase1");
        assertSame(kprojXml, ((KieBaseModelImpl)kieBaseModelXML).getKModule());
        assertEquals(EqualityBehaviorOption.EQUALITY, kieBaseModelXML.getEqualsBehavior());
        assertEquals(EventProcessingOption.STREAM, kieBaseModelXML.getEventProcessingMode());
        assertEquals(DeclarativeAgendaOption.ENABLED, kieBaseModelXML.getDeclarativeAgenda());
        assertFalse(kieBaseModelXML.isDefault());
        assertEquals("org.kie.pkg1", kieBaseModelXML.getPackages().get(0));
        assertEquals("org.kie.pkg2", kieBaseModelXML.getPackages().get(1));
        assertEquals("OtherKBase", ((KieBaseModelImpl) kieBaseModelXML).getIncludes().iterator().next());

        KieSessionModel kieSessionModelXML = kieBaseModelXML.getKieSessionModels().get("KSession1");
        assertSame(kieBaseModelXML, ((KieSessionModelImpl)kieSessionModelXML).getKieBaseModel());
        assertEquals(KieSessionType.STATEFUL, kieSessionModelXML.getType());
        assertEquals(ClockTypeOption.get("realtime"), kieSessionModelXML.getClockType());

        FileLoggerModel fileLogger = kieSessionModelXML.getFileLogger();
        assertEquals("drools.log", fileLogger.getFile());
        assertEquals(10, fileLogger.getInterval());
        assertEquals(true, fileLogger.isThreaded());

        assertTrue(kieSessionModelXML.isDefault());

        List<ListenerModel> listeners = kieSessionModelXML.getListenerModels();

        ListenerModel listener2 = listeners.get(0);
        assertEquals("org.domain.SecondInterface", listener2.getType());
        assertEquals(ListenerModel.Kind.WORKING_MEMORY_EVENT_LISTENER, listener2.getKind());
        // QualifierModel qualifier2 = listener2.getQualifierModel();
        // assertEquals("MyQualfier2", qualifier2.getType());

        ListenerModel listener1 = listeners.get(1);
        assertEquals("org.domain.FirstInterface", listener1.getType());
        assertEquals(ListenerModel.Kind.AGENDA_EVENT_LISTENER, listener1.getKind());
        // assertNull(listener1.getQualifierModel());

        ListenerModel listener4 = listeners.get(2);
        assertEquals("org.domain.FourthInterface", listener4.getType());
        assertEquals(ListenerModel.Kind.AGENDA_EVENT_LISTENER, listener4.getKind());
        // QualifierModel qualifier4 = listener4.getQualifierModel();
        // assertEquals("MyQualfier4", qualifier4.getType());
        // assertEquals("xxxx", qualifier4.getArguments().get("name1"));
        // assertEquals("yyyy", qualifier4.getArguments().get("name2"));

        ListenerModel listener3 = listeners.get(3);
        assertEquals("org.domain.ThirdInterface", listener3.getType());
        assertEquals(ListenerModel.Kind.PROCESS_EVENT_LISTENER, listener3.getKind());
        // QualifierModel qualifier3 = listener3.getQualifierModel();
        // assertEquals("MyQualfier3", qualifier3.getType());
        // assertEquals("v1", qualifier3.getValue());

        WorkItemHandlerModel wihm = kieSessionModelXML.getWorkItemHandlerModels().get(0);
        assertEquals("org.domain.FifthInterface", wihm.getType());
        // QualifierModel qualifier5 = wihm.getQualifierModel();
        // assertEquals("MyQualfier5", qualifier5.getType());
        // assertEquals("aaa", qualifier5.getArguments().get("name1"));
        // assertEquals("bbb", qualifier5.getArguments().get("name2"));
View Full Code Here

Examples of org.kie.builder.KieSessionModel

        KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("KBase1")
                .setEqualsBehavior( EqualityBehaviorOption.EQUALITY )
                .setEventProcessingMode( EventProcessingOption.STREAM );

        KieSessionModel ksession1 = kieBaseModel1.newKieSessionModel("KSession1")
                .setType(KieSessionType.STATEFUL)
                .setClockType( ClockTypeOption.get("realtime") );

        kfs.writeKModuleXML(kproj.toXML());
        kfs.writePomXML( getPom(releaseId) );
View Full Code Here

Examples of org.kie.builder.model.KieSessionModel

            }
        }
        KieProject kProject = kieContainer.getKieProject();

        String kSessionName = entry.getValue();
        KieSessionModel kSessionModel = null;
        if ( StringUtils.isEmpty( kSessionName  )) {
            kSessionModel = ( entry.getType() == KieSession.class ) ? kProject.getDefaultKieSession() : kProject.getDefaultStatelessKieSession();
        } else {
            kSessionModel =  kProject.getKieSessionModel( kSessionName );  
        }        
        if ( kSessionModel == null ) {
            log.error( "Annotation @KSession({}) found, but no KieSessioneModel exist.\nEither the required kproject.xml does not exist, was corrupted, or mising the KieBase entry",
                       kSessionName );
            return;
        }

        if ( !kSessionModel.getScope().trim().equals( entry.getScope().getClass().getName() ) ) {
            try {
                if ( kSessionModel.getScope().indexOf( '.' ) >= 0 ) {
                    entry.setScope( (Class< ? extends Annotation>) Class.forName( kSessionModel.getScope() ) );
                } else {
                    entry.setScope( (Class< ? extends Annotation>) Class.forName( "javax.enterprise.context." + kSessionModel.getScope() ) );
                }
            } catch ( ClassNotFoundException e ) {
                log.error( "KieBaseModule {} overrides default annotation, but it was not able to find it {}\n{}",
                           new String[]{kSessionName, kSessionModel.getScope(), e.getMessage()} );
            }
        }

        if ( KieSessionType.STATELESS.equals( kSessionModel.getType() ) ) {
            if ( log.isDebugEnabled() ) {
                InternalKieModule kModule = kProject.getKieModuleForKBase( ((KieSessionModelImpl) kSessionModel).getKieBaseModel().getName() );
                log.debug( "Added Bean for Stateless @KSession({}) from: {}",
                           kSessionName,
                           kModule );
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.