@Override public void keepOnly(final Collection<String> propertiesToKeep) { properties.keepOnly(propertiesToKeep); loadedProperties.removeIf(s -> !propertiesToKeep.contains(s)); }
/** * Remove properties from the supplied element, according to the {@link ViewElementDefinition}. * * @param elDef the element definition to apply * @param properties the properties to modify */ public static void removeProperties(final ViewElementDefinition elDef, final Properties properties) { if (null != elDef && !elDef.isAllProperties()) { if (null == elDef.getProperties()) { elDef.getExcludeProperties().forEach(properties::remove); } else { properties.keepOnly(elDef.getProperties()); } } }
@Test public void shouldKeepOnlyGivenProperties() { // Given final String property1 = "property 1"; final String property2 = "property 2"; final String property3 = "property 3"; final String property4 = "property 4"; final String propertyValue1 = "property value 1"; final String propertyValue2 = "property value 2"; final String propertyValue3 = "property value 3"; final String propertyValue4 = "property value 4"; final Collection<String> propertiesToKeep = Arrays.asList(property1, property3); final Properties properties = new Properties(); properties.put(property1, propertyValue1); properties.put(property2, propertyValue2); properties.put(property3, propertyValue3); properties.put(property4, propertyValue4); // When properties.keepOnly(propertiesToKeep); // Then assertEquals(2, properties.size()); assertEquals(propertyValue1, properties.get(property1)); assertEquals(propertyValue3, properties.get(property3)); }
@Override public void keepOnly(final Collection<String> propertiesToKeep) { properties.keepOnly(propertiesToKeep); loadedProperties.removeIf(s -> !propertiesToKeep.contains(s)); }
/** * Remove properties from the supplied element, according to the {@link ViewElementDefinition}. * * @param elDef the element definition to apply * @param properties the properties to modify */ public static void removeProperties(final ViewElementDefinition elDef, final Properties properties) { if (null != elDef && !elDef.isAllProperties()) { if (null == elDef.getProperties()) { elDef.getExcludeProperties().forEach(properties::remove); } else { properties.keepOnly(elDef.getProperties()); } } }