How to combine two ValueMaps?
trying to combine 2 valuemaps into 1. putAll fails with null pointer, and it doesnt not seem possible to create an empty valueMap. Any ideas for another option? I have tried posting the full info on why we are doing this, but the forum system always deletes it, so trying this short version.
predicate.put("path", path);
predicate.put("type", "cq:unstructured");
predicate.put("group.1_property", "sling:resourceType");
predicate.put("group.1_property.value", "mysite/components/gamemain");
predicate.put("group.2_property", "sling:resourceType");
predicate.put("group.2_property.value", "mysite/components/gameterms");
predicate.put("group.p.or", "true");
Query query = _builder.createQuery(PredicateGroup.create(predicate), session);
// should only be 2 components!
query.setStart(0);
query.setHitsPerPage(20);
SearchResult searchResult = query.getResult();
ValueMap allProps = null;
for(Hit hit : searchResult.getHits()) {
ValueMap props = hit.getProperties();
if (allProps == null) {
allProps = props;
} else {
allProps.putAll(props); // null pointer exception
}
}