object to map java_Java JsonObject.toMap方法代码示例

import org.vertx.java.core.json.JsonObject; //导入方法依赖的package包/类

@Test

public void testBuiltin() throws Exception {

Variables vars = createVariables();

JsonObject config = new JsonObject("{"

+ " \"Rule1\": \"%{#node}\","

+ " \"Rule2\": \"%{#cluster}\","

+ " \"Rule3\": \"%{#chain}\","

+ " \"Rule4\": \"%{#host}\","

+ " \"Rule5\": \"%{#date}\","

+ " \"Rule6\": \"%{#timestamp}\","

+ " \"Rule7\": \"%{#now}\","

+ " \"Rule8\": \"%{#sensor.cpu.load}\","

+ " \"Rule9\": \"%{#prop.java.home}\","

+ " \"Rule10\": \"%{#spikex.home}\","

+ " \"Rule11\": \"%{#spikex.conf}\","

+ " \"Rule12\": \"%{#spikex.data}\","

+ " \"Rule13\": \"%{#spikex.tmp}\","

+ " \"Rule14\": \"%{#+YYYY-MM-dd}\","

+ " \"Rule15\": \"file:%{#spikex.data}/notifications\","

+ " \"Rule16\": \"%{#now(UTC,-1m)}\"," // UTC is set just for testing parsing...

+ " \"Rule17\": \"%{#now(5h)}\""

+ " }");

Map rules = config.toMap();

Object r1 = vars.translate(rules.get("Rule1"));

Assert.assertEquals("NodeName", r1);

Object r2 = vars.translate(rules.get("Rule2"));

Assert.assertEquals("ClusterName", r2);

String r4 = vars.translate(rules.get("Rule4"));

Assert.assertTrue(r4.length() > 0);

String r5 = vars.translate(rules.get("Rule5"));

Assert.assertTrue(r5.length() > 0);

Long r7 = vars.translate(rules.get("Rule7"));

Assert.assertTrue(r7 <= System.currentTimeMillis());

String r8 = vars.translate(rules.get("Rule8"));

Assert.assertEquals("%{#sensor.cpu.load}", r8);

String r10 = vars.translate(rules.get("Rule10"));

Assert.assertEquals("HomePath", r10);

String r11 = vars.translate(rules.get("Rule11"));

Assert.assertEquals("ConfPath", r11);

String r12 = vars.translate(rules.get("Rule12"));

Assert.assertEquals("DatPath", r12);

String r13 = vars.translate(rules.get("Rule13"));

Assert.assertEquals("TmpPath", r13);

String r14 = vars.translate(rules.get("Rule14"));

Assert.assertTrue(r14.length() == 10);

String r15 = vars.translate(rules.get("Rule15"));

Assert.assertEquals("file:DatPath/notifications", r15);

Long r16 = vars.translate(rules.get("Rule16"));

DateTime dt16 = new DateTime(r16,DateTimeZone.UTC); // Millis is not related to any timezone

DateTime dt = DateTime.now(DateTimeZone.UTC);

dt = dt.minusMinutes(1);

DateTimeFormatter formatter = DateTimeFormat.forPattern("MM-dd-yyyy HH:mm");

System.out.println("Expected: " + formatter.print(dt) + " dt16: " + formatter.print(dt16));

Assert.assertEquals(formatter.print(dt), formatter.print(dt16));

Long r17 = vars.translate(rules.get("Rule17"));

DateTime dt17 = new DateTime(r17);

dt = DateTime.now();

dt = dt.plusHours(5);

System.out.println("Expected: " + formatter.print(dt) + " dt17: " + formatter.print(dt17));

Assert.assertEquals(formatter.print(dt), formatter.print(dt17));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值