Package org.drools.workbench.models.guided.dtable.shared.model

Examples of org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52


        assertTrue( ri.hasNext() );
    }

    @Test
    public void testExpansionWithGuvnorDependentEnums_2enum_x_3values() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b', 'f1c'], "
                + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b', 'f1af2c'], "
                + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b', 'f1bf2c'], "
                + "'Fact.field2[field1=f1c]' : ['f1cf2a', 'f1cf2b', 'f1cf2c']";

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Fact" )
                .addField( new ModelField( "field1",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field2",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .addEnum( enumDefinitions,
                          Thread.currentThread().getContextClassLoader() )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "f1" );
        p1.setFactType( "Fact" );
        model.getConditions().add( p1 );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "field1" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "field2" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c2 );

        ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
        a1.setBoundName( "f1" );
        a1.setFactField( "field1" );
        model.getActionCols().add( a1 );

        ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
        a2.setBoundName( "f2" );
        a2.setFactType( "Fact" );
        a2.setFactField( "field1" );
        model.getActionCols().add( a2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        List<RowExpander.ColumnValues> columns = re.getColumns();
View Full Code Here


        assertFalse( ri.hasNext() );
    }

    @Test
    public void testExpansionWithGuvnorDependentEnumsExplicitExpansion1_2enum_x_2values() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b'], "
                + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b'], "
                + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']";

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Fact" )
                .addField( new ModelField( "field1",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field2",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .addEnum( enumDefinitions,
                          Thread.currentThread().getContextClassLoader() )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "f1" );
        p1.setFactType( "Fact" );
        model.getConditions().add( p1 );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "field1" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "field2" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c2 );

        ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
        a1.setBoundName( "f1" );
        a1.setFactField( "field1" );
        model.getActionCols().add( a1 );

        ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
        a2.setBoundName( "f2" );
        a2.setFactType( "Fact" );
        a2.setFactField( "field1" );
        model.getActionCols().add( a2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        //Explicitly set which columns to expand
View Full Code Here

        assertFalse( ri.hasNext() );
    }

    @Test
    public void testExpansionWithGuvnorDependentEnumsExplicitExpansion2_2enum_x_2values() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b'], "
                + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b'], "
                + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']";

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Fact" )
                .addField( new ModelField( "field1",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field2",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .addEnum( enumDefinitions,
                          Thread.currentThread().getContextClassLoader() )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "f1" );
        p1.setFactType( "Fact" );
        model.getConditions().add( p1 );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "field1" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "field2" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c2 );

        ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
        a1.setBoundName( "f1" );
        a1.setFactField( "field1" );
        model.getActionCols().add( a1 );

        ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
        a2.setBoundName( "f2" );
        a2.setFactType( "Fact" );
        a2.setFactField( "field1" );
        model.getActionCols().add( a2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        //Explicitly expand the first column, not the second
View Full Code Here

        assertFalse( ri.hasNext() );
    }

    @Test
    public void testExpansionWithGuvnorDependentEnumsExplicitExpansion3_2enum_x_2values() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b'], "
                + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b'], "
                + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']";

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Fact" )
                .addField( new ModelField( "field1",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field2",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .addEnum( enumDefinitions,
                          Thread.currentThread().getContextClassLoader() )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "f1" );
        p1.setFactType( "Fact" );
        model.getConditions().add( p1 );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "field1" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "field2" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c2 );

        ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
        a1.setBoundName( "f1" );
        a1.setFactField( "field1" );
        model.getActionCols().add( a1 );

        ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
        a2.setBoundName( "f2" );
        a2.setFactType( "Fact" );
        a2.setFactField( "field1" );
        model.getActionCols().add( a2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        //Explicitly expand the first column, not the second
View Full Code Here

        assertFalse( ri.hasNext() );
    }

    @Test
    public void testExpansionWithGuvnorDependentEnums_3enum_x_2values() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b'], "
                + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b'], "
                + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b'], "
                + "'Fact.field3[field2=f1af2a]' : ['f1af2af3a', 'f1af2af3b'], "
                + "'Fact.field3[field2=f1af2b]' : ['f1af2bf3a', 'f1af2bf3b'], "
                + "'Fact.field3[field2=f1bf2a]' : ['f1bf2af3a', 'f1bf2af3b'], "
                + "'Fact.field3[field2=f1bf2b]' : ['f1bf2bf3a', 'f1bf2bf3b']";

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Fact" )
                .addField( new ModelField( "field1",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field2",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "field3",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .addEnum( enumDefinitions,
                          Thread.currentThread().getContextClassLoader() )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "f1" );
        p1.setFactType( "Fact" );
        model.getConditions().add( p1 );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "field1" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "field2" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c2 );

        ConditionCol52 c3 = new ConditionCol52();
        c3.setFactField( "field3" );
        c3.setOperator( "==" );
        c3.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c3 );

        ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
        a1.setBoundName( "f1" );
        a1.setFactField( "field1" );
        model.getActionCols().add( a1 );

        ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
        a2.setBoundName( "f2" );
        a2.setFactType( "Fact" );
        a2.setFactField( "field1" );
        model.getActionCols().add( a2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        List<RowExpander.ColumnValues> columns = re.getColumns();
View Full Code Here

    }

    @SuppressWarnings("serial")
    @Test
    public void testColumnValues() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Driver" )
                .addField( new ModelField( "name",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "c1" );
        p1.setFactType( "Driver" );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "name" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c1.setValueList( "c1a,c1b" );
        p1.getChildColumns().add( c1 );
        model.getConditions().add( p1 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        List<RowExpander.ColumnValues> columns = re.getColumns();
View Full Code Here

    }

    @Test
    @SuppressWarnings("serial")
    public void testRowExpansionWithValuesList1() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Driver" )
                .addField( new ModelField( "name",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .setProjectOracle( projectLoader )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( packageLoader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "c1" );
        p1.setFactType( "Driver" );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "name" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c1.setValueList( "c1a,c1b" );
        p1.getChildColumns().add( c1 );
        model.getConditions().add( p1 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        assertEquals( 3,
View Full Code Here

    }

    @Test
    @SuppressWarnings("serial")
    public void testRowExpansionWithValuesList2() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Driver" )
                .addField( new ModelField( "age",
                                           Integer.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_NUMERIC_INTEGER ) )
                .addField( new ModelField( "name",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .end()
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "c1" );
        p1.setFactType( "Driver" );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "name" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c1.setValueList( "c1a,c1b" );
        p1.getChildColumns().add( c1 );
        model.getConditions().add( p1 );

        Pattern52 p2 = new Pattern52();
        p2.setBoundName( "c2" );
        p2.setFactType( "Driver" );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "age" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c2.setValueList( "c2a,c2b" );
        p2.getChildColumns().add( c2 );
        model.getConditions().add( p2 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        assertEquals( 4,
View Full Code Here

    }

    @Test
    @SuppressWarnings("serial")
    public void testRowExpansionWithValuesList3() {
        GuidedDecisionTable52 model = new GuidedDecisionTable52();

        final ProjectDataModelOracle projectLoader = ProjectDataModelOracleBuilder.newProjectOracleBuilder()
                .addFact( "Driver" )
                .addField( new ModelField( "age",
                                           Integer.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_NUMERIC_INTEGER ) )
                .addField( new ModelField( "name",
                                           String.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_STRING ) )
                .addField( new ModelField( "dateOfBirth",
                                           Boolean.class.getName(),
                                           ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS,
                                           ModelField.FIELD_ORIGIN.DECLARED,
                                           FieldAccessorsAndMutators.BOTH,
                                           DataType.TYPE_DATE ) )
                .end()
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( projectLoader.getProjectModelFields() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );

        Pattern52 p1 = new Pattern52();
        p1.setBoundName( "c1" );
        p1.setFactType( "Driver" );

        ConditionCol52 c1 = new ConditionCol52();
        c1.setFactField( "name" );
        c1.setOperator( "==" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c1.setValueList( "c1a,c1b" );
        p1.getChildColumns().add( c1 );
        model.getConditions().add( p1 );

        Pattern52 p2 = new Pattern52();
        p2.setBoundName( "c2" );
        p2.setFactType( "Driver" );

        ConditionCol52 c2 = new ConditionCol52();
        c2.setFactField( "age" );
        c2.setOperator( "==" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c2.setValueList( "c2a,c2b" );
        p2.getChildColumns().add( c2 );
        model.getConditions().add( p2 );

        Pattern52 p3 = new Pattern52();
        p3.setBoundName( "c3" );
        p3.setFactType( "Driver" );

        ConditionCol52 c3 = new ConditionCol52();
        c3.setFactField( "dateOfBirth" );
        c3.setOperator( "==" );
        c3.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p3.getChildColumns().add( c3 );
        model.getConditions().add( p3 );

        RowExpander re = new RowExpander( model,
                                          oracle );

        assertEquals( 5,
View Full Code Here

public class GuidedDecisionTableTest {

    @Test
    public void testValueLists() {
        final GuidedDecisionTable52 model = new GuidedDecisionTable52();
        final PackageDataModelOracle loader = PackageDataModelOracleBuilder.newPackageOracleBuilder()
                .addEnum( "Driver",
                          "name",
                          new String[]{ "bob", "michael" } )
                .addEnum( "Person",
                          "rating",
                          new String[]{ "1", "2" } )
                .build();

        //Emulate server-to-client conversions
        final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl();
        final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
        dataModel.setModelFields( loader.getProjectModelFields() );
        dataModel.setWorkbenchEnumDefinitions( loader.getPackageWorkbenchDefinitions() );
        populateDataModelOracle( mock( Path.class ),
                                 model,
                                 oracle,
                                 dataModel );
        final GuidedDecisionTableUtils utils = new GuidedDecisionTableUtils( model,
                                                                             oracle );

        final Map<String, String> currentValueMap = new HashMap<String, String>();

        // add cols for LHS
        final ConditionCol52 c1 = new ConditionCol52();
        final Pattern52 p1 = new Pattern52();
        p1.setBoundName( "c1" );
        p1.setFactType( "Driver" );
        c1.setFactField( "name" );
        c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p1.getChildColumns().add( c1 );
        model.getConditions().add( p1 );

        final ConditionCol52 c1_ = new ConditionCol52();
        final Pattern52 p1_ = new Pattern52();
        p1_.setBoundName( "c1" );
        p1_.setFactType( "Driver" );
        c1_.setFactField( "name" );
        p1_.getChildColumns().add( c1_ );
        c1_.setConstraintValueType( BaseSingleFieldConstraint.TYPE_RET_VALUE );
        model.getConditions().add( p1_ );

        final ConditionCol52 c1__ = new ConditionCol52();
        c1__.setFactField( "sex" );
        p1_.getChildColumns().add( c1__ );
        c1__.setConstraintValueType( BaseSingleFieldConstraint.TYPE_RET_VALUE );
        c1__.setValueList( "Male,Female" );
        model.getConditions().add( p1_ );

        final ConditionCol52 c1___ = new ConditionCol52();
        final Pattern52 p1__ = new Pattern52();
        p1__.setBoundName( "c1" );
        p1__.setFactType( "Driver" );
        c1___.setFactField( "name" );
        c1___.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        c1___.setValueList( "one,two,three" );
        p1__.getChildColumns().add( c1___ );
        model.getConditions().add( p1__ );

        final ConditionCol52 c2 = new ConditionCol52();
        final Pattern52 p2 = new Pattern52();
        p2.setBoundName( "c2" );
        p2.setFactType( "Driver" );
        c2.setFactField( "nothing" );
        c2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
        p2.getChildColumns().add( c2 );
        model.getConditions().add( p2 );

        final ActionSetFieldCol52 asf = new ActionSetFieldCol52();
        asf.setBoundName( "c1" );
        asf.setFactField( "name" );
        model.getActionCols().add( asf );

        final ActionInsertFactCol52 ins = new ActionInsertFactCol52();
        ins.setBoundName( "x" );
        ins.setFactField( "rating" );
        ins.setFactType( "Person" );
        model.getActionCols().add( ins );

        final ActionInsertFactCol52 ins_ = new ActionInsertFactCol52();
        ins_.setBoundName( "x" );
        ins_.setFactField( "rating" );
        ins_.setFactType( "Person" );
        ins_.setValueList( "one,two,three" );
        model.getActionCols().add( ins_ );

        final ActionSetFieldCol52 asf_ = new ActionSetFieldCol52();
        asf_.setBoundName( "c1" );
        asf_.setFactField( "goo" );
        model.getActionCols().add( asf_ );

        final ActionSetFieldCol52 asf__ = new ActionSetFieldCol52();
        asf__.setBoundName( "c1" );
        asf__.setFactField( "goo" );
        asf__.setValueList( "one,two,three" );
        model.getActionCols().add( asf__ );

        assertTrue( oracle.hasEnums( p1.getFactType(),
                                     c1.getFactField() ) );
        assertFalse( utils.hasValueList( c1 ) );
        String[] r = oracle.getEnums( p1.getFactType(),
                                      c1.getFactField(),
                                      currentValueMap ).getFixedList();
        assertEquals( 2,
                      r.length );
        assertEquals( "bob",
                      r[ 0 ] );
        assertEquals( "michael",
                      r[ 1 ] );

        assertTrue( oracle.hasEnums( p1_.getFactType(),
                                     c1_.getFactField() ) );
        assertFalse( utils.hasValueList( c1_ ) );
        r = oracle.getEnums( p1_.getFactType(),
                             c1_.getFactField(),
                             currentValueMap ).getFixedList();
        assertEquals( 2,
                      r.length );
        assertEquals( "bob",
                      r[ 0 ] );
        assertEquals( "michael",
                      r[ 1 ] );

        assertFalse( oracle.hasEnums( p1_.getFactType(),
                                      c1__.getFactField() ) );
        assertTrue( utils.hasValueList( c1__ ) );
        r = utils.getValueList( c1__ );
        assertEquals( 2,
                      r.length );
        assertEquals( "Male",
                      r[ 0 ] );
        assertEquals( "Female",
                      r[ 1 ] );

        assertTrue( oracle.hasEnums( p1__.getFactType(),
                                     c1___.getFactField() ) );
        assertTrue( utils.hasValueList( c1___ ) );
        r = utils.getValueList( c1___ );
        assertEquals( 3,
                      r.length );
        assertEquals( "one",
                      r[ 0 ] );
        assertEquals( "two",
                      r[ 1 ] );
        assertEquals( "three",
                      r[ 2 ] );

        assertEquals( 0,
                      utils.getValueList( c2 ).length );

        assertTrue( oracle.hasEnums( p1.getFactType(),
                                     asf.getFactField() ) );
        assertFalse( utils.hasValueList( asf ) );
        r = oracle.getEnums( p1.getFactType(),
                             asf.getFactField(),
                             currentValueMap ).getFixedList();
        assertEquals( 2,
                      r.length );
        assertEquals( "bob",
                      r[ 0 ] );
        assertEquals( "michael",
                      r[ 1 ] );

        assertTrue( oracle.hasEnums( ins.getFactType(),
                                     ins.getFactField() ) );
        assertFalse( utils.hasValueList( ins ) );
        r = oracle.getEnums( ins.getFactType(),
                             ins.getFactField(),
                             currentValueMap ).getFixedList();
        assertEquals( 2,
                      r.length );
        assertEquals( "1",
                      r[ 0 ] );
        assertEquals( "2",
                      r[ 1 ] );

        assertTrue( oracle.hasEnums( ins_.getFactType(),
                                     ins_.getFactField() ) );
        assertTrue( utils.hasValueList( ins_ ) );
        r = utils.getValueList( ins_ );
        assertEquals( 3,
                      r.length );
        assertEquals( "one",
                      r[ 0 ] );
        assertEquals( "two",
                      r[ 1 ] );
        assertEquals( "three",
                      r[ 2 ] );

        assertEquals( 0,
                      utils.getValueList( asf_ ).length );

        assertFalse( oracle.hasEnums( p1.getFactType(),
                                      asf__.getFactField() ) );
        assertTrue( utils.hasValueList( asf__ ) );
        r = utils.getValueList( asf__ );
        assertEquals( 3,
                      r.length );
        assertEquals( "one",
                      r[ 0 ] );
        assertEquals( "two",
                      r[ 1 ] );
        assertEquals( "three",
                      r[ 2 ] );

        AttributeCol52 at = new AttributeCol52();
        at.setAttribute( "no-loop" );
        model.getAttributeCols().add( at );

        r = utils.getValueList( at );
        assertEquals( 2,
                      r.length );
        assertEquals( "true",
View Full Code Here

TOP

Related Classes of org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52

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.