Search in sources :

Example 1 with SemanticRulesConfig

use of com.yahoo.prelude.semantics.SemanticRulesConfig in project vespa by vespa-engine.

the class SemanticRulesTest method toMap.

private static Map<String, RuleBase> toMap(SemanticRulesConfig config) throws ParseException, IOException {
    RuleImporter ruleImporter = new RuleImporter(config);
    Map<String, RuleBase> ruleBaseMap = new HashMap<>();
    for (SemanticRulesConfig.Rulebase ruleBaseConfig : config.rulebase()) {
        RuleBase ruleBase = ruleImporter.importConfig(ruleBaseConfig);
        if (ruleBaseConfig.isdefault())
            ruleBase.setDefault(true);
        ruleBaseMap.put(ruleBase.getName(), ruleBase);
    }
    return ruleBaseMap;
}
Also used : HashMap(java.util.HashMap) SemanticRulesConfig(com.yahoo.prelude.semantics.SemanticRulesConfig) RuleImporter(com.yahoo.prelude.semantics.RuleImporter) RuleBase(com.yahoo.prelude.semantics.RuleBase)

Example 2 with SemanticRulesConfig

use of com.yahoo.prelude.semantics.SemanticRulesConfig in project vespa by vespa-engine.

the class SemanticRulesTest method semanticRulesTest.

@Test
public void semanticRulesTest() throws ParseException, IOException {
    SemanticRuleBuilder ruleBuilder = new SemanticRuleBuilder();
    SemanticRules rules = ruleBuilder.build(FilesApplicationPackage.fromFile(new File(root)));
    SemanticRulesConfig.Builder configBuilder = new SemanticRulesConfig.Builder();
    rules.getConfig(configBuilder);
    SemanticRulesConfig config = new SemanticRulesConfig(configBuilder);
    Map<String, RuleBase> ruleBases = toMap(config);
    assertEquals(2, ruleBases.size());
    assertTrue(ruleBases.containsKey("common"));
    assertTrue(ruleBases.containsKey("other"));
    assertFalse(ruleBases.get("common").isDefault());
    assertTrue(ruleBases.get("other").isDefault());
}
Also used : SemanticRulesConfig(com.yahoo.prelude.semantics.SemanticRulesConfig) File(java.io.File) RuleBase(com.yahoo.prelude.semantics.RuleBase) Test(org.junit.Test)

Aggregations

RuleBase (com.yahoo.prelude.semantics.RuleBase)2 SemanticRulesConfig (com.yahoo.prelude.semantics.SemanticRulesConfig)2 RuleImporter (com.yahoo.prelude.semantics.RuleImporter)1 File (java.io.File)1 HashMap (java.util.HashMap)1 Test (org.junit.Test)1