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);
}
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);
}
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);
}
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);
}
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("李四"));
}
Aggregations