@Override public void callback( final GuidedEditorContent response ) { model = response.getRuleModel(); oracle = response.getDataModel(); oracle.filter( model.getImports() ); view.setContent( path, model, oracle, isReadOnly, isDSLEnabled ); importsWidget.setContent( oracle, model.getImports(), isReadOnly ); view.hideBusyIndicator(); } };
@Test public void testImports() { final String drl = "import java.util.ArrayList;\n" + "rule \"r0\"\n" + "dialect \"mvel\"" + "when\n" + "then\n" + "end\n"; final RuleModel m = BRDRLPersistence.getInstance().unmarshal( drl ); assertNotNull( m ); assertEquals( 1, m.getImports().getImports().size() ); assertEquals( "java.util.ArrayList", m.getImports().getImports().get( 0 ).getType() ); }
private RuleModel getRuleModel( ExpandedDRLInfo expandedDRLInfo ) { //De-serialize model RuleDescr ruleDescr = parseDrl( expandedDRLInfo ); RuleModel model = new RuleModel(); model.name = ruleDescr.getName(); //De-serialize Package name final String packageName = PackageNameParser.parsePackageName( expandedDRLInfo.plainDrl ); model.setPackageName( packageName ); //De-serialize imports final Imports imports = ImportsParser.parseImports( expandedDRLInfo.plainDrl ); for ( Import item : imports.getImports() ) { model.getImports().addImport( item ); } boolean isJavaDialect = parseAttributes( model, ruleDescr.getAttributes() ); Map<String, String> boundParams = parseLhs( model, ruleDescr.getLhs(), expandedDRLInfo ); parseRhs( model, expandedDRLInfo.consequence != null ? expandedDRLInfo.consequence : (String)ruleDescr.getConsequence(), isJavaDialect, boundParams, expandedDRLInfo ); return model; }