diff --git a/pom.xml b/pom.xml index 834a5738eb..0ae91a071a 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ 5.2.9.RELEASE 3.5.2 2.11.2 - 2.10.1 + 2.11.2 3.3.7 1.0.0 2.0.21 diff --git a/remote-api/src/main/java/org/alfresco/rest/framework/jacksonextensions/JacksonHelper.java b/remote-api/src/main/java/org/alfresco/rest/framework/jacksonextensions/JacksonHelper.java index 15f471e77e..a707cf69c0 100644 --- a/remote-api/src/main/java/org/alfresco/rest/framework/jacksonextensions/JacksonHelper.java +++ b/remote-api/src/main/java/org/alfresco/rest/framework/jacksonextensions/JacksonHelper.java @@ -82,9 +82,8 @@ public class JacksonHelper implements InitializingBean //Configure the objectMapper ready for use objectMapper = new ObjectMapper(); objectMapper.registerModule(module); - objectMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_EMPTY); - objectMapper.configOverride(java.util.Map.class) - .setInclude(JsonInclude.Value.construct(JsonInclude.Include.NON_EMPTY, null)); + objectMapper.setDefaultPropertyInclusion( + JsonInclude.Value.construct(JsonInclude.Include.NON_EMPTY, JsonInclude.Include.ALWAYS)); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); DateFormat DATE_FORMAT_ISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); DATE_FORMAT_ISO8601.setTimeZone(TimeZone.getTimeZone("UTC")); diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/TestCustomTypeAspect.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/TestCustomTypeAspect.java index 6f02f89034..c8eeafbc33 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/tests/TestCustomTypeAspect.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/TestCustomTypeAspect.java @@ -59,6 +59,35 @@ import org.junit.Test; */ public class TestCustomTypeAspect extends BaseCustomModelApiTest { + @Test + public void testCreateCustomModel() throws Exception + { + setRequestContext(customModelAdmin); + + String modelName = "testModel" + System.currentTimeMillis(); + Pair namespacePair = getTestNamespaceUriPrefixPair(); + // Create the model as a Model Administrator + createCustomModel(modelName, namespacePair, ModelStatus.ACTIVE); + + // Retrieve the created model + HttpResponse response = getSingle("cmm", modelName, 200); + CustomModel returnedModel = RestApiUtil + .parseRestApiEntry(response.getJsonResponse(), CustomModel.class); + assertNull(returnedModel.getTypes()); + assertNull(returnedModel.getAspects()); + + // Retrieve the created model with its types and aspects + // - empty arrays expected as we did not set any aspects, types or constraints + response = getSingle("cmm", modelName + SELECT_ALL, 200); + returnedModel = RestApiUtil + .parseRestApiEntry(response.getJsonResponse(), CustomModel.class); + assertNotNull(returnedModel.getTypes()); + assertTrue(returnedModel.getTypes().isEmpty()); + assertNotNull(returnedModel.getAspects()); + assertTrue(returnedModel.getAspects().isEmpty()); + assertNotNull(returnedModel.getConstraints()); + assertTrue(returnedModel.getConstraints().isEmpty()); + } @Test public void testCreateAspectsAndTypes_ExistingModel() throws Exception