Example usage for org.apache.commons.configuration HierarchicalConfiguration getExpressionEngine

List of usage examples for org.apache.commons.configuration HierarchicalConfiguration getExpressionEngine

Introduction

In this page you can find the example usage for org.apache.commons.configuration HierarchicalConfiguration getExpressionEngine.

Prototype

public ExpressionEngine getExpressionEngine() 

Source Link

Document

Returns the expression engine used by this configuration.

Usage

From source file:com.github.steveash.typedconfig.keycombine.SmartDelimitedKeyCombinationStrategy.java

@Override
public String combineKey(String baseKey, String localKey, HierarchicalConfiguration config) {

    ExpressionEngine xengine = config.getExpressionEngine();
    if (xengine instanceof DefaultExpressionEngine) {
        DefaultExpressionEngine defaultEngine = (DefaultExpressionEngine) xengine;
        String delim = defaultEngine.getPropertyDelimiter();
        return getStrategyForDelim(delim).combineKey(baseKey, localKey, config);
    }//from  w w w  .  j  a va2 s  . c o m

    if (xengine instanceof XPathExpressionEngine)
        return slashCombine.combineKey(baseKey, localKey, config);

    // default to dot
    return dotCombine.combineKey(baseKey, localKey, config);
}

From source file:com.github.steveash.typedconfig.keycombine.SmartDelimitedKeyCombinationStrategyTest.java

@Test
public void shouldCombineWithSlashForXpathExpressionEngine() throws Exception {
    XPathExpressionEngine engine = mock(XPathExpressionEngine.class);
    HierarchicalConfiguration config = mock(HierarchicalConfiguration.class);
    when(config.getExpressionEngine()).thenReturn(engine);

    assertEquals("base/local", strategy.combineKey("base", "local", config));
}

From source file:com.github.steveash.typedconfig.keycombine.SmartDelimitedKeyCombinationStrategyTest.java

@Test
public void shouldDefaultToDot() throws Exception {
    ExpressionEngine someWeirdEngine = mock(ExpressionEngine.class);
    HierarchicalConfiguration config = mock(HierarchicalConfiguration.class);
    when(config.getExpressionEngine()).thenReturn(someWeirdEngine);

    assertEquals("base.local", strategy.combineKey("base", "local", config));
}

From source file:com.github.steveash.typedconfig.keycombine.SmartDelimitedKeyCombinationStrategyTest.java

@Test
public void shouldCombineForDefaultExpressionEngineDelimiter() throws Exception {
    DefaultExpressionEngine engine = mock(DefaultExpressionEngine.class);
    when(engine.getPropertyDelimiter()).thenReturn("*");
    HierarchicalConfiguration config = mock(HierarchicalConfiguration.class);
    when(config.getExpressionEngine()).thenReturn(engine);

    assertEquals("base*local", strategy.combineKey("base", "local", config));
}

From source file:com.wrmsr.neurosis.util.Configs.java

protected static HierarchicalConfiguration toHierarchical(Configuration conf) {
    if (conf == null) {
        return null;
    }// w w w  .  ja  va  2 s .  c o m

    if (conf instanceof HierarchicalConfiguration) {
        HierarchicalConfiguration hc = (HierarchicalConfiguration) conf;
        checkArgument(hc.getExpressionEngine() instanceof DefaultExpressionEngine);
        return hc;
    } else {
        HierarchicalConfiguration hc = new ListAnnotatingHierarchicalConfiguration();

        // Workaround for problem with copy()
        boolean delimiterParsingStatus = hc.isDelimiterParsingDisabled();
        hc.setDelimiterParsingDisabled(true);
        hc.append(conf);
        hc.setDelimiterParsingDisabled(delimiterParsingStatus);
        return hc;
    }
}