/** as {@link #walk(String...))} and {@link #walk(Iterable)} */ public static Function<Maybe<JsonElement>, Maybe<JsonElement>> walkM(final String... elements) { return walkM(Arrays.asList(elements)); }
/** as {@link #walk(String))} and {@link #walk(Iterable)} */ public static Function<Maybe<JsonElement>, Maybe<JsonElement>> walkM(@Nullable String elements) { return walkM( Splitter.on('.').split(elements) ); }
@Test public void testWalkM() { Maybe<JsonElement> pop = JsonFunctions.walkM("europe", "france", "population").apply( Maybe.of(europeMap()) ); Assert.assertEquals( (int)JsonFunctions.castM(Integer.class).apply(pop), 80*1000*1000 ); }
@Test public void testWalkMWrong1() { Maybe<JsonElement> m = JsonFunctions.walkM("europe", "spain", "barcelona").apply( Maybe.of( europeMap()) ); Assert.assertTrue(m.isAbsent()); }
@Test(expectedExceptions=UnsupportedOperationException.class) public void testCastMWrong() { Maybe<JsonElement> m = JsonFunctions.walkM("europe", "france").apply( Maybe.of( europeMap()) ); JsonFunctions.castM(String.class).apply(m); }
return input.getAsJsonObject().get("id").getAsString().equals(id); }}), JsonFunctions.walk("slaves")), JsonFunctions.walkM("resources", "mem"), JsonFunctions.castM(Long.class))) .onFailureOrException(Functions.constant(-1L))) return input.getAsJsonObject().get("id").getAsString().equals(id); }}), JsonFunctions.walk("slaves")), JsonFunctions.walkM("resources", "cpus"), JsonFunctions.castM(Double.class))) .onFailureOrException(Functions.constant(-1d))) return input.getAsJsonObject().get("id").getAsString().equals(id); }}), JsonFunctions.walk("slaves")), JsonFunctions.walkM("resources", "disk"), JsonFunctions.castM(Long.class))) .onFailureOrException(Functions.constant(-1L))) return input.getAsJsonObject().get("id").getAsString().equals(id); }}), JsonFunctions.walk("slaves")), JsonFunctions.walkM("used_resources", "mem"), JsonFunctions.castM(Long.class))) .onFailureOrException(Functions.constant(-1L))) return input.getAsJsonObject().get("id").getAsString().equals(id); }}), JsonFunctions.walk("slaves")), JsonFunctions.walkM("used_resources", "cpus"), JsonFunctions.castM(Double.class))) .onFailureOrException(Functions.constant(-1d)))