Search in sources :

Example 16 with Dict

use of cn.hutool.core.lang.Dict in project hutool by dromara.

the class WitEngine method createEngine.

/**
 * 创建引擎
 *
 * @param config 模板配置
 * @return {@link Engine}
 */
private static Engine createEngine(TemplateConfig config) {
    final Props configProps = Engine.createConfigProps("");
    Dict dict = null;
    if (null != config) {
        dict = Dict.create();
        // 自定义编码
        dict.set("DEFAULT_ENCODING", config.getCharset());
        switch(config.getResourceMode()) {
            case CLASSPATH:
                configProps.set("pathLoader.root", config.getPath());
                configProps.set("routeLoader.defaultLoader", "classpathLoader");
                break;
            case STRING:
                configProps.set("routeLoader.defaultLoader", "stringLoader");
                break;
            case FILE:
                configProps.set("pathLoader.root", config.getPath());
                configProps.set("routeLoader.defaultLoader", "fileLoader");
                break;
            case WEB_ROOT:
                final File root = FileUtil.file(FileUtil.getWebRoot(), config.getPath());
                configProps.set("pathLoader.root", FileUtil.getAbsolutePath(root));
                configProps.set("routeLoader.defaultLoader", "fileLoader");
                break;
        }
    }
    return Engine.create(configProps, dict);
}
Also used : Dict(cn.hutool.core.lang.Dict) Props(org.febit.wit.util.Props) File(java.io.File)

Example 17 with Dict

use of cn.hutool.core.lang.Dict in project hutool by dromara.

the class ExpressionUtilTest method jexlTest.

@Test
public void jexlTest() {
    ExpressionEngine engine = new JexlEngine();
    final Dict dict = Dict.create().set("a", 100.3).set("b", 45).set("c", -199.100);
    final Object eval = engine.eval("a-(b-c)", dict);
    Assert.assertEquals(-143.8, (double) eval, 2);
}
Also used : JexlEngine(cn.hutool.extra.expression.engine.jexl.JexlEngine) Dict(cn.hutool.core.lang.Dict) Test(org.junit.Test)

Example 18 with Dict

use of cn.hutool.core.lang.Dict in project hutool by dromara.

the class ExpressionUtilTest method evalTest.

@Test
public void evalTest() {
    final Dict dict = Dict.create().set("a", 100.3).set("b", 45).set("c", -199.100);
    final Object eval = ExpressionUtil.eval("a-(b-c)", dict);
    Assert.assertEquals(-143.8, (double) eval, 2);
}
Also used : Dict(cn.hutool.core.lang.Dict) Test(org.junit.Test)

Example 19 with Dict

use of cn.hutool.core.lang.Dict in project Jpom by dromara.

the class TestYml method test2.

@Test
public void test2() {
    InputStream stream = ResourceUtil.getStream("bin/extConfig.yml");
    // String s = IoUtil.readUtf8(stream);
    // System.out.println(s);
    Dict dict = YamlUtil.load(stream, Dict.class);
    Object db = dict.get("db");
    StringWriter writer = new StringWriter();
    YamlUtil.dump(db, writer);
    ByteArrayInputStream inputStream = IoUtil.toStream(writer.toString(), CharsetUtil.CHARSET_UTF_8);
    DbExtConfig dbExtConfig1 = YamlUtil.load(inputStream, DbExtConfig.class);
    System.out.println(dbExtConfig1);
}
Also used : StringWriter(java.io.StringWriter) ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) Dict(cn.hutool.core.lang.Dict) DbExtConfig(io.jpom.system.extconf.DbExtConfig) Test(org.junit.Test)

Example 20 with Dict

use of cn.hutool.core.lang.Dict in project hutool by looly.

the class CollUtilTest method valuesOfKeysTest.

@Test
public void valuesOfKeysTest() {
    Dict v1 = Dict.create().set("id", 12).set("name", "张三").set("age", 23);
    Dict v2 = Dict.create().set("age", 13).set("id", 15).set("name", "李四");
    final String[] keys = v1.keySet().toArray(new String[0]);
    ArrayList<Object> v1s = CollUtil.valuesOfKeys(v1, keys);
    Assert.assertTrue(v1s.contains(12));
    Assert.assertTrue(v1s.contains(23));
    Assert.assertTrue(v1s.contains("张三"));
    ArrayList<Object> v2s = CollUtil.valuesOfKeys(v2, keys);
    Assert.assertTrue(v2s.contains(15));
    Assert.assertTrue(v2s.contains(13));
    Assert.assertTrue(v2s.contains("李四"));
}
Also used : Dict(cn.hutool.core.lang.Dict) Test(org.junit.Test)

Aggregations

Dict (cn.hutool.core.lang.Dict)33 Test (org.junit.Test)25 File (java.io.File)4 FileWriter (java.io.FileWriter)3 Writer (java.io.Writer)3 ArrayList (java.util.ArrayList)3 BaseTest (cn.e3mall.common.freemarker.BaseTest)2 JexlEngine (cn.hutool.extra.expression.engine.jexl.JexlEngine)2 JfireELEngine (cn.hutool.extra.expression.engine.jfireel.JfireELEngine)2 MvelEngine (cn.hutool.extra.expression.engine.mvel.MvelEngine)2 RhinoEngine (cn.hutool.extra.expression.engine.rhino.RhinoEngine)2 SpELEngine (cn.hutool.extra.expression.engine.spel.SpELEngine)2 Configuration (freemarker.template.Configuration)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2 StringWriter (java.io.StringWriter)2 Date (java.util.Date)2 List (java.util.List)2 Map (java.util.Map)2 Props (org.febit.wit.util.Props)2 Item (cn.e3mall.common.base.entity.Item)1