DATAGEODE-302 - Refactor of(:TypeFilter) factory method to not double wrap a CompositeTypeFilter.

This commit is contained in:
John Blum
2020-06-22 12:39:08 -07:00
parent 7628b3ec83
commit 44816c3664
2 changed files with 11 additions and 1 deletions

View File

@@ -161,7 +161,9 @@ public interface CompositeTypeFilter extends TypeFilter {
Assert.notNull(typeFilter, "TypeFilter to wrap must not be null");
return (metadataReader, metadataReaderFactory) -> typeFilter.match(metadataReader, metadataReaderFactory);
return typeFilter instanceof CompositeTypeFilter
? (CompositeTypeFilter) typeFilter
: (metadataReader, metadataReaderFactory) -> typeFilter.match(metadataReader, metadataReaderFactory);
}
/**

View File

@@ -68,6 +68,14 @@ public class CompositeTypeFilterUnitTests {
assertThat(CompositeTypeFilter.DENY.match(mockMetadataReader, mockMetadataReaderFactory)).isFalse();
}
@Test
public void ofWillNotWrapExistingCompositeTypeFilter() {
CompositeTypeFilter mockCompositeTypeFilter = mock(CompositeTypeFilter.class);
assertThat(CompositeTypeFilter.of(mockCompositeTypeFilter)).isSameAs(mockCompositeTypeFilter);
}
@Test
public void ofWrapsExistingTypeFilter() {