Package org.drools.repository

Examples of org.drools.repository.RulesRepository


    }

    @Test
    public void testSimplePackageWithDeclaredTypesUsingDependency() throws Exception {
        ServiceImplementation serviceImplementation = getServiceImplementation();
        RulesRepository repo = serviceImplementation.getRulesRepository();

        PackageItem pkg = repo.createPackage("testSimplePackageWithDeclaredTypesUsingDependency",
                "");

        DroolsHeader.updateDroolsHeader("import java.util.HashMap",
                pkg);

        AssetItem rule1 = pkg.addAsset("rule_1",
                "");
        rule1.updateFormat(AssetFormats.DRL);
        rule1.updateContent("rule 'rule1' \n dialect 'mvel' \n when Album() \n then \nAlbum a = new Album(); \n end");
        rule1.checkin("");

        AssetItem model = pkg.addAsset("model",
                "qed");
        model.updateFormat(AssetFormats.DRL_MODEL);

        model.updateContent("declare Album\n genre1: String \n end");
        model.checkin("version 0");
        model.updateContent("declare Album\n genre2: String \n end");
        model.checkin("version 1");
        model.updateContent("declare Album\n genre3: String \n end");
        model.checkin("version 2");
        repo.save();

        PackageAssembler asm = new PackageAssembler(pkg);
        asm.compile();
        assertFalse(asm.getErrors().toString(),
                asm.hasErrors());
View Full Code Here


    @Test
    public void testLoaderWithComplexFields() throws Exception {

        ServiceImplementation impl = getServiceImplementation();
        RulesRepository repo = impl.getRulesRepository();

        PackageItem item = repo.createPackage( "testLoaderWithComplexFields",
                                               "to test the loader" );
        DroolsHeader.updateDroolsHeader( "import org.drools.guvnor.server.util.Agent",
                                                  item );
        repo.save();

        BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();
        String header = DroolsHeader.getDroolsHeader( item );

        SuggestionCompletionEngine engine = loader.getSuggestionEngine( item );
View Full Code Here

    }

    @Test
    public void testSimplePackageBuildNoErrors() throws Exception {
        ServiceImplementation serviceImplementation = getServiceImplementation();
        RulesRepository repo = serviceImplementation.getRulesRepository();

        PackageItem pkg = repo.createPackage("testSimplePackageBuildNoErrors",
                "");
        AssetItem model = pkg.addAsset("model",
                "qed");
        model.updateFormat(AssetFormats.MODEL);

        model.updateBinaryContentAttachment(this.getClass().getResourceAsStream("/billasurf.jar"));
        model.checkin("");

        DroolsHeader.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer",
                pkg);

        AssetItem rule1 = pkg.addAsset("rule_1",
                "");
        rule1.updateFormat(AssetFormats.DRL);
        rule1.updateContent("rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
        rule1.checkin("");

        AssetItem rule2 = pkg.addAsset("rule2",
                "");
        rule2.updateFormat(AssetFormats.DRL);
        rule2.updateContent("agenda-group 'q' \n when \n Board() \n then \n System.err.println(42);");
        rule2.checkin("");

        AssetItem rule3 = pkg.addAsset("A file",
                "");
        rule3.updateFormat(AssetFormats.DRL);
        rule3.updateContent("package testSimplePackageBuildNoErrors\n rule 'rule3' \n when \n then \n customer.setAge(43); \n end \n" + "rule 'rule4' \n when \n then \n System.err.println(44); \n end");
        rule3.checkin("");

        repo.save();

        PackageAssembler asm = new PackageAssembler(pkg);
        asm.compile();
        assertFalse(asm.hasErrors());
        assertNotNull(asm.getBinaryPackage());
       
        Package[] binPkgs = asm.getBinaryPackage();
        assertNotNull( binPkgs );
        assertEquals( 1,
                      binPkgs.length );
       
        Package bin = binPkgs[0];
        assertEquals(pkg.getName(),
                bin.getName());
        assertTrue(bin.isValid());

        assertEquals(4,
                bin.getRules().length);

        //now create a snapshot
        repo.createPackageSnapshot(pkg.getName(),
                "SNAP_1");

        //and screw up the the non snapshot one
        DroolsHeader.updateDroolsHeader("koo koo ca choo",
                pkg);
        asm = new PackageAssembler(pkg);
        asm.compile();
        assertTrue(asm.hasErrors());

        //check the snapshot is kosher
        pkg = repo.loadPackageSnapshot(pkg.getName(),
                "SNAP_1");
        asm = new PackageAssembler(pkg);
        asm.compile();
        assertFalse(asm.hasErrors());
View Full Code Here

    @Test
    @Ignore("Needs fixing")
    public void testFactTemplates() throws Exception {

        ServiceImplementation impl = getServiceImplementation();
        RulesRepository repo = impl.getRulesRepository();

        PackageItem item = repo.createPackage( "testLoader2",
                                               "to test the loader for fact templates" );
        DroolsHeader.updateDroolsHeader( "import java.util.Date\ntemplate Person\njava.lang.String name\nDate birthDate\nend",
                                                  item );
        repo.save();

        BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();

        SuggestionCompletionEngine engine = loader.getSuggestionEngine( item );
        assertNotNull( engine );
View Full Code Here

    }

    @Test
    public void testIgnoreArchivedItems() throws Exception {
        ServiceImplementation serviceImplementation = getServiceImplementation();
        RulesRepository repo = serviceImplementation.getRulesRepository();

        PackageItem pkg = repo.createPackage("testIgnoreArchivedItems",
                "");
        AssetItem model = pkg.addAsset("model",
                "qed");
        model.updateFormat(AssetFormats.MODEL);

        model.updateBinaryContentAttachment(this.getClass().getResourceAsStream("/billasurf.jar"));
        model.checkin("");

        DroolsHeader.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer",
                pkg);

        AssetItem rule1 = pkg.addAsset("rule_1",
                "");
        rule1.updateFormat(AssetFormats.DRL);
        rule1.updateContent("rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
        rule1.checkin("");

        AssetItem rule2 = pkg.addAsset("rule2",
                "");
        rule2.updateFormat(AssetFormats.DRL);
        rule2.updateContent("agenda-group 'q' \n when \n Boardx() \n then \n System.err.println(42);");
        rule2.checkin("");

        repo.save();

        PackageAssembler asm = new PackageAssembler(pkg);
        asm.compile();
        assertTrue(asm.hasErrors());
View Full Code Here

    @Test
    public void testDeclaredTypes() throws Exception {

        ServiceImplementation impl = getServiceImplementation();
        RulesRepository repo = impl.getRulesRepository();

        PackageItem item = repo.createPackage( "testLoaderDeclaredTypes",
                                               "to test the loader for declared types" );
        AssetItem asset = item.addAsset( "MyModel",
                                         "" );
        asset.updateFormat( AssetFormats.DRL_MODEL );
        asset.updateContent( "declare Car\n pieceOfRubbish: Boolean \n name: String \nend" );
        asset.checkin( "" );

        repo.save();
        BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();

        SuggestionCompletionEngine engine = loader.getSuggestionEngine( item );
        assertNotNull( engine );
        String[] factTypes = engine.getFactTypes();
View Full Code Here

     * functions or package header.
     */
    @Test
    public void testErrorsInRuleAsset() throws Exception {
        ServiceImplementation serviceImplementation = getServiceImplementation();
        RulesRepository repo = serviceImplementation.getRulesRepository();

        //first, setup the package correctly:
        PackageItem pkg = repo.createPackage("testErrorsInRuleAsset",
                "");
        AssetItem model = pkg.addAsset("model",
                "qed");
        model.updateFormat(AssetFormats.MODEL);
        model.updateBinaryContentAttachment(this.getClass().getResourceAsStream("/billasurf.jar"));
        model.checkin("");
        DroolsHeader.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer",
                pkg);
        repo.save();

        AssetItem goodRule = pkg.addAsset("goodRule",
                "");
        goodRule.updateFormat(AssetFormats.DRL);
        goodRule.updateContent("rule 'yeah' \n when \n Board() \n then \n System.out.println(42); end");
View Full Code Here

    @Test
    public void testLoadDSLs() throws Exception {
        String dsl = "[when]The agents rating is {rating}=doNothing()\n[then]Send a notification to manufacturing '{message}'=foo()";
       
        ServiceImplementation impl = getServiceImplementation();
        RulesRepository repo = impl.getRulesRepository();

        PackageItem item = repo.createPackage( "testLoadDSLs",
                                               "to test the loader for DSLs" );
        AssetItem asset = item.addAsset( "mydsl",
                                         "" );
        asset.updateFormat( AssetFormats.DSL );
        asset.updateContent( dsl );
        asset.checkin( "ok" );

        item = repo.loadPackage( "testLoadDSLs" );
        BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();

        SuggestionCompletionEngine eng = loader.getSuggestionEngine( item );
        assertFalse( eng.hasDataEnumLists() );
        assertFalse( loader.hasErrors() );
View Full Code Here

    @Test
    @Ignore("Temporally ignored -Rikkola-")
    public void testEventingExample() throws Exception {
        ServiceImplementation serviceImplementation = getServiceImplementation();
        RulesRepository repo = serviceImplementation.getRulesRepository();

        PackageItem pkg = repo.createPackage("testEventingExample",
                "");
        AssetItem model = pkg.addAsset("model",
                "qed");
        model.updateFormat(AssetFormats.MODEL);
View Full Code Here

    @Test
    public void testLoadEnumerations() throws Exception {
        String enumeration = "'Person.sex' : ['M', 'F']";

        ServiceImplementation impl = getServiceImplementation();
        RulesRepository repo = impl.getRulesRepository();

        PackageItem item = repo.createPackage( "testLoadEnums",
                                               "to test the loader for enums" );
        AssetItem asset = item.addAsset( "myenum",
                                         "" );
        asset.updateFormat( AssetFormats.ENUMERATION );
        asset.updateContent( enumeration );
        asset.checkin( "ok" );

        item = repo.loadPackage( "testLoadEnums" );
        BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();
        SuggestionCompletionEngine sce = loader.getSuggestionEngine( item );

        assertFalse( loader.hasErrors() );
        assertEquals( 1,
                      sce.getDataEnumListsSize() );

        asset.updateContent( "goober boy" );
        asset.checkin( "yeah" );
        item = repo.loadPackage( "testLoadEnums" );
        loader = new BRMSSuggestionCompletionLoader();
        sce = loader.getSuggestionEngine( item );
        assertTrue( loader.hasErrors() );

    }
View Full Code Here

TOP

Related Classes of org.drools.repository.RulesRepository

Copyright © 2018 www.massapicom. 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.