⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlpackagereadertest.java

📁 jboss规则引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                      names.get( 1 ) );

        final List types = functionDescr.getParameterTypes();
        assertEquals( "Bar",
                      types.get( 0 ) );
        assertEquals( "Bing",
                      types.get( 1 ) );

        assertEquals( "System.out.println(\"hello world\");",
                      functionDescr.getText().trim() );

        final RuleDescr ruleDescr = (RuleDescr) packageDescr.getRules().get( 0 );
        assertEquals( "my rule",
                      ruleDescr.getName() );

        final AndDescr lhsDescr = ruleDescr.getLhs();
        AndDescr andDescr = (AndDescr) lhsDescr.getDescrs().get( 0 );
        OrDescr orDescr = (OrDescr) lhsDescr.getDescrs().get( 1 );
        final ColumnDescr column1 = (ColumnDescr) lhsDescr.getDescrs().get( 2 );
        assertNull( column1.getIdentifier() );
        assertEquals( "Foo",
                      column1.getObjectType() );

        final ColumnDescr column2 = (ColumnDescr) lhsDescr.getDescrs().get( 3 );
        assertEquals( "Bar",
                      column2.getObjectType() );
        assertEquals( "bar",
                      column2.getIdentifier() );

        final ColumnDescr column3 = (ColumnDescr) lhsDescr.getDescrs().get( 4 );
        final LiteralDescr literalDescr = (LiteralDescr) column3.getDescrs().get( 0 );
        assertEquals( "field1",
                      literalDescr.getFieldName() );
        assertEquals( "==",
                      literalDescr.getEvaluator() );
        assertEquals( "value1",
                      literalDescr.getText() );

        final PredicateDescr predicateDescr = (PredicateDescr) column3.getDescrs().get( 1 );
        assertEquals( "field1",
                      predicateDescr.getFieldName() );
        assertEquals( "var1",
                      predicateDescr.getDeclaration() );
        assertEquals( "1==1",
                      predicateDescr.getText() );

        final ReturnValueDescr returnValueDescr = (ReturnValueDescr) column3.getDescrs().get( 2 );
        assertEquals( "field1",
                      returnValueDescr.getFieldName() );
        assertEquals( "==",
                      returnValueDescr.getEvaluator() );
        assertEquals( "1==1",
                      returnValueDescr.getText() );

        final FieldBindingDescr fieldBindingDescr = (FieldBindingDescr) column3.getDescrs().get( 3 );
        assertEquals( "field1",
                      fieldBindingDescr.getFieldName() );
        assertEquals( "var1",
                      fieldBindingDescr.getIdentifier() );

        final BoundVariableDescr boundVariableDescr = (BoundVariableDescr) column3.getDescrs().get( 4 );
        assertEquals( "field1",
                      boundVariableDescr.getFieldName() );
        assertEquals( "==",
                      boundVariableDescr.getEvaluator() );
        assertEquals( "var1",
                      boundVariableDescr.getIdentifier() );

        final NotDescr notDescr = (NotDescr) lhsDescr.getDescrs().get( 5 );
        assertEquals( 1,
                      notDescr.getDescrs().size() );
        ColumnDescr columnDescr = (ColumnDescr) notDescr.getDescrs().get( 0 );
        assertEquals( "Bar",
                      columnDescr.getObjectType() );

        final ExistsDescr existsDescr = (ExistsDescr) lhsDescr.getDescrs().get( 6 );
        assertEquals( 1,
                      existsDescr.getDescrs().size() );
        columnDescr = (ColumnDescr) existsDescr.getDescrs().get( 0 );
        assertEquals( "Bar",
                      columnDescr.getObjectType() );

        andDescr = (AndDescr) lhsDescr.getDescrs().get( 7 );
        assertEquals( 2,
                      andDescr.getDescrs().size() );
        orDescr = (OrDescr) andDescr.getDescrs().get( 0 );
        columnDescr = (ColumnDescr) orDescr.getDescrs().get( 0 );
        assertEquals( "Bar",
                      columnDescr.getObjectType() );
        columnDescr = (ColumnDescr) andDescr.getDescrs().get( 1 );
        assertEquals( "Yada",
                      columnDescr.getObjectType() );

        orDescr = (OrDescr) lhsDescr.getDescrs().get( 8 );
        assertEquals( 2,
                      orDescr.getDescrs().size() );
        andDescr = (AndDescr) orDescr.getDescrs().get( 0 );
        columnDescr = (ColumnDescr) andDescr.getDescrs().get( 0 );
        assertEquals( "Foo",
                      columnDescr.getObjectType() );
        columnDescr = (ColumnDescr) orDescr.getDescrs().get( 1 );
        assertEquals( "Zaa",
                      columnDescr.getObjectType() );

        final EvalDescr evalDescr = (EvalDescr) lhsDescr.getDescrs().get( 9 );
        assertEquals( "1==1",
                      evalDescr.getText() );
    }

    public void testParseRhs() throws Exception {
        final XmlPackageReader xmlPackageReader = new XmlPackageReader();
        xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseRhs.xml" ) ) );
        final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
        assertNotNull( packageDescr );
        assertEquals( "com.sample",
                      packageDescr.getName() );

        final List imports = packageDescr.getImports();
        assertEquals( 2,
                      imports.size() );
        assertEquals( "java.util.HashMap",
                      imports.get( 0 ) );
        assertEquals( "org.drools.*",
                      imports.get( 1 ) );

        final Map globals = packageDescr.getGlobals();
        assertEquals( 2,
                      globals.size() );
        assertEquals( "com.sample.X",
                      globals.get( "x" ) );
        assertEquals( "com.sample.Yada",
                      globals.get( "yada" ) );

        final FunctionDescr functionDescr = (FunctionDescr) packageDescr.getFunctions().get( 0 );
        final List names = functionDescr.getParameterNames();
        assertEquals( "foo",
                      names.get( 0 ) );
        assertEquals( "bada",
                      names.get( 1 ) );

        final List types = functionDescr.getParameterTypes();
        assertEquals( "Bar",
                      types.get( 0 ) );
        assertEquals( "Bing",
                      types.get( 1 ) );

        assertEquals( "System.out.println(\"hello world\");",
                      functionDescr.getText().trim() );

        final RuleDescr ruleDescr = (RuleDescr) packageDescr.getRules().get( 0 );
        assertEquals( "my rule",
                      ruleDescr.getName() );

        final String consequence = ruleDescr.getConsequence();
        assertNotNull( consequence );
        assertEquals( "System.out.println( \"hello\" );",
                      consequence.trim() );
    }

    public void testParseQuery() throws Exception {
        final XmlPackageReader xmlPackageReader = new XmlPackageReader();
        xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseQuery.xml" ) ) );
        final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
        assertNotNull( packageDescr );
        assertEquals( "com.sample",
                      packageDescr.getName() );

        final List imports = packageDescr.getImports();
        assertEquals( 2,
                      imports.size() );
        assertEquals( "java.util.HashMap",
                      imports.get( 0 ) );
        assertEquals( "org.drools.*",
                      imports.get( 1 ) );

        final Map globals = packageDescr.getGlobals();
        assertEquals( 2,
                      globals.size() );
        assertEquals( "com.sample.X",
                      globals.get( "x" ) );
        assertEquals( "com.sample.Yada",
                      globals.get( "yada" ) );

        final FunctionDescr functionDescr = (FunctionDescr) packageDescr.getFunctions().get( 0 );
        final List names = functionDescr.getParameterNames();
        assertEquals( "foo",
                      names.get( 0 ) );
        assertEquals( "bada",
                      names.get( 1 ) );

        final List types = functionDescr.getParameterTypes();
        assertEquals( "Bar",
                      types.get( 0 ) );
        assertEquals( "Bing",
                      types.get( 1 ) );

        assertEquals( "System.out.println(\"hello world\");",
                      functionDescr.getText().trim() );

        final QueryDescr queryDescr = (QueryDescr) packageDescr.getRules().get( 0 );
        assertEquals( "my query",
                      queryDescr.getName() );

        final AndDescr lhs = queryDescr.getLhs();
        assertEquals( 1,
                      lhs.getDescrs().size() );
        final ColumnDescr columnDescr = (ColumnDescr) lhs.getDescrs().get( 0 );
        assertEquals( "Foo",
                      columnDescr.getObjectType() );

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -