@Override public void validateField(String name, Object o) { if (o == null) { return; } SimpleTypeValidator.validateField(name, Map.class, o); if (!((Map<?, ?>) o).containsKey("class")) { throw new IllegalArgumentException("Field " + name + " must have map entry with key: class"); } if (!((Map<?, ?>) o).containsKey("parallelism.hint")) { throw new IllegalArgumentException("Field " + name + " must have map entry with key: parallelism.hint"); } SimpleTypeValidator.validateField(name, String.class, ((Map<?, ?>) o).get("class")); new IntegerValidator().validateField(name, ((Map<?, ?>) o).get("parallelism.hint")); } }
@Override public void validateField(String name, Object o) { if(o == null) { return; } SimpleTypeValidator.validateField(name, Map.class, o); if(!((Map) o).containsKey("class") ) { throw new IllegalArgumentException( "Field " + name + " must have map entry with key: class"); } if(!((Map) o).containsKey("parallelism.hint") ) { throw new IllegalArgumentException("Field " + name + " must have map entry with key: parallelism.hint"); } SimpleTypeValidator.validateField(name, String.class, ((Map) o).get("class")); new IntegerValidator().validateField(name, ((Map) o).get("parallelism.hint")); } }
@Override public void validateField(String name, Object o) { validateInteger(name, o); }
@Test public void testIntegerValidator() { IntegerValidator validator = new IntegerValidator(); Object[] passCases = { null, 1000, Integer.MAX_VALUE }; for (Object value : passCases) { validator.validateField("test", value); } Object[] failCases = { 1.34, new Long(Integer.MAX_VALUE) + 1 }; for (Object value : failCases) { try { validator.validateField("test", value); Assert.fail("Expected Exception not Thrown for value: " + value); } catch (IllegalArgumentException Ex) { } } }
@Override public void validateField(String name, Object o) { validateInteger(name, o); }