HermesAbstractApiListener extends HttpRequestAdaptor { public String getOptionalStringFromInput(Map<String, Object> inputDict, String key, String defaultValue, Map<String, Object> error) { String value = null; try { value = (String) inputDict.get(key); if (value == null) { value = defaultValue; } } catch (Exception e) { String errorMessage = "Error parsing parameter: " + key; logError(errorMessage, e); fillError(error, ErrorCode.ERROR_PARSING_REQUEST, errorMessage); } return value; } HermesAbstractApiListener(); void fillError(Map<String, Object> error, int code, String message); Map<String, Object> createError(int code, String message); Map<String, Object> createActionResult(String id, boolean success); String processRequest(HttpServletRequest request, HttpServletResponse response); String getStringFromInput(Map<String, Object> inputDict, String key, Map<String, Object> error); Long getLongFromInput(Map<String, Object> inputDict, String key, Map<String, Object> error); String getOptionalStringFromInput(Map<String, Object> inputDict, String key, String defaultValue, Map<String, Object> error); Long getOptionalLongFromInput(Map<String, Object> inputDict, String key, long defaultValue, Map<String, Object> error); Boolean getOptionalBooleanFromInput(Map<String, Object> inputDict, String key, boolean defaultValue, Map<String, Object> error);  }
@Test public void testGetOptionalStringFromInput() { Map<String, Object> input = new HashMap<String, Object>(); input.put("key1", "value1"); Map<String, Object> error = new HashMap<String, Object>(); String defaultValue = "default"; Assert.assertEquals("value1", listener.getOptionalStringFromInput(input, "key1", defaultValue, error)); Assert.assertEquals(0, error.size()); Assert.assertEquals(defaultValue, listener.getOptionalStringFromInput(input, "key2", defaultValue, error)); Assert.assertEquals(0, error.size()); }