private ObjectNode encodeSweCategoryField(SweField field) { ObjectNode jfield = createField(field); jfield.put(JSONConstants.TYPE, JSONConstants.CATEGORY_TYPE); SweCategory sweCategory = (SweCategory) field.getElement(); jfield.put(JSONConstants.CODESPACE, sweCategory.getCodeSpace()); if (sweCategory.isSetValue()) { jfield.put(JSONConstants.VALUE, sweCategory.getValue()); } return jfield; }
@Test public void should_encode_xbCategory_into_SosSweCategory_with_correct_value_definition_and_codespace() throws OwsExceptionReport, XmlException { final String codeSpace = "test-codespace"; final String value = "test-category-value"; CategoryType xbCategory = CategoryType.Factory.newInstance(); xbCategory.addNewCodeSpace().setHref(codeSpace); xbCategory.setValue(value); xbCategory.setDefinition(definition); Object decodedObject = decoder.decode(xbCategory); assertThat(decodedObject.getClass().getName(), is(SweCategory.class.getName())); SweCategory sosCategory = (SweCategory) decodedObject; assertThat(sosCategory.getValue(), is(value)); assertThat(sosCategory.getDefinition(), is(definition)); assertThat(sosCategory.getCodeSpace(), is(codeSpace)); }