private Map<String, Object> aggregateProperties(Element element) { Map<String, Object> mention = new HashMap<>(); mention.put(ID_PROPERTY, element.id()); options .getAggregateProperties() .forEach(p -> element.property(p).ifPresent(value -> mention.put(p, value))); return mention; }
private Map<String, Object> aggregateProperties(Element element) { Map<String, Object> mention = new HashMap<>(); mention.put(ID_PROPERTY, element.id()); options .getAggregateProperties() .forEach(p -> element.property(p).ifPresent(value -> mention.put(p, value))); return mention; }
private void copyProperties(Features features, Element from, Element to) { addProperty( features, to, MENTIONS_PROPERTY, Collections.singletonList(aggregateProperties(from))); List<String> aggregateProperties = options.getAggregateProperties(); ElementHelper.propertyValueMap(from) .entrySet() .stream() .filter(e -> !aggregateProperties.contains(e.getKey())) .forEach( property -> { Object value = property.getValue(); if (property instanceof List) { addProperty(features, to, property.getKey(), (List<?>) value); } else { setProperty(to, property.getKey(), value); } }); }
private void copyProperties(Features features, Element from, Element to) { addProperty( features, to, MENTIONS_PROPERTY, Collections.singletonList(aggregateProperties(from))); List<String> aggregateProperties = options.getAggregateProperties(); ElementHelper.propertyValueMap(from) .entrySet() .stream() .filter(e -> !aggregateProperties.contains(e.getKey())) .forEach( property -> { Object value = property.getValue(); if (property instanceof List) { addProperty(features, to, property.getKey(), (List<?>) value); } else { setProperty(to, property.getKey(), value); } }); }
.collect(Collectors.toList()))); List<String> aggregateProperties = options.getAggregateProperties();
.collect(Collectors.toList()))); List<String> aggregateProperties = options.getAggregateProperties();