Mathijs den Burger pushed to branch feature/CC-CHANNELMGR-1520 at cms-community / hippo-addon-channel-manager
Commits: bbe07f37 by Mathijs den Burger at 2018-02-09T14:41:10+01:00 CHANNELMGR-1520 Don't include empty compound fields in document types An empty compound field is not "valid" but does not contain any unsupported validator either. In that case the field should be not reported as an "unknown" one, but it should not be included in the document type either. - - - - - 2 changed files: - content-service/src/main/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtils.java - content-service/src/test/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtilsTest.java Changes: ===================================== content-service/src/main/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtils.java ===================================== --- a/content-service/src/main/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtils.java +++ b/content-service/src/main/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtils.java @@ -184,16 +184,19 @@ public class FieldTypeUtils { final FieldsInformation fieldInfo = fieldType.init(context); if (fieldType.isValid()) { allFieldsInfo.add(fieldInfo); - } else if (fieldType.hasUnsupportedValidator()) { + return result; + } + + if (fieldType.hasUnsupportedValidator()) { allFieldsInfo.addUnknownField(context.getContentTypeItem()); - result = Optional.empty(); } + // Else the field is a known one, but still invalid (example: an empty compound). Don't include + // the field is the list of "unknown" fields, but don't include it in the document type either. } else { allFieldsInfo.addUnknownField(context.getContentTypeItem()); - result = Optional.empty(); } - return result; + return Optional.empty(); } private static Optional<TypeDescriptor> determineDescriptor(final FieldTypeContext context) { ===================================== content-service/src/test/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtilsTest.java ===================================== --- a/content-service/src/test/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtilsTest.java +++ b/content-service/src/test/java/org/onehippo/cms/channelmanager/content/documenttype/field/FieldTypeUtilsTest.java @@ -541,7 +541,7 @@ public class FieldTypeUtilsTest { } @Test - public void populateFieldsInvalidCompoundField() { + public void populateFieldsEmptyCompoundField() { final List<FieldType> fields = new ArrayList<>(); final FieldSorter sorter = createMock(FieldSorter.class); final ContentTypeContext context = createMock(ContentTypeContext.class); @@ -572,9 +572,7 @@ public class FieldTypeUtilsTest { assertTrue(fieldsInfo.isAllFieldsIncluded()); assertTrue(fieldsInfo.getCanCreateAllRequiredFields()); assertTrue(fieldsInfo.getUnsupportedFieldTypes().isEmpty()); - - assertThat(fields.size(), equalTo(1)); - assertThat(fields.get(0), equalTo(fieldType)); + assertTrue(fields.isEmpty()); verifyAll(); } View it on GitLab: https://code.onehippo.org/cms-community/hippo-addon-channel-manager/commit/bbe07f379538bbf799e7a087f89ebcc8f17e1846 --- View it on GitLab: https://code.onehippo.org/cms-community/hippo-addon-channel-manager/commit/bbe07f379538bbf799e7a087f89ebcc8f17e1846 You're receiving this email because of your account on code.onehippo.org.
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn