/** * Get map keyed by observable properties with * collections of child observable properties (if supported) as values * @param session * @return Map keyed by observable properties with values of child observable properties collections */ public Map<PhenomenonEntity,Collection<PhenomenonEntity>> getObservablePropertyHierarchy(final Session session) { List<PhenomenonEntity> observablePropertyObjects = getObservablePropertyObjects(session); Map<PhenomenonEntity, Collection<PhenomenonEntity>> map = new HashMap<>(observablePropertyObjects.size()); for (PhenomenonEntity op : observablePropertyObjects) { map.put(op, op.getChildren()); } return map; // } else { // List<PhenomenonEntity> observablePropertyObjects // = getObservablePropertyObjects(session); // Map<ObservableProperty, Collection<PhenomenonEntity>> map // = new HashMap<>(observablePropertyObjects.size()); // Set<PhenomenonEntity> empty = Collections.emptySet(); // for (PhenomenonEntity op : observablePropertyObjects) { // map.put(op, empty); // } // return map; // } }
/** * Get map keyed by observable properties with * collections of child observable properties (if supported) as values * @param session * @return Map keyed by observable properties with values of child observable properties collections */ public Map<PhenomenonEntity,Collection<PhenomenonEntity>> getObservablePropertyHierarchy(final Session session) { List<PhenomenonEntity> observablePropertyObjects = getObservablePropertyObjects(session); Map<PhenomenonEntity, Collection<PhenomenonEntity>> map = new HashMap<>(observablePropertyObjects.size()); for (PhenomenonEntity op : observablePropertyObjects) { map.put(op, op.getChildren()); } return map; // } else { // List<PhenomenonEntity> observablePropertyObjects // = getObservablePropertyObjects(session); // Map<ObservableProperty, Collection<PhenomenonEntity>> map // = new HashMap<>(observablePropertyObjects.size()); // Set<PhenomenonEntity> empty = Collections.emptySet(); // for (PhenomenonEntity op : observablePropertyObjects) { // map.put(op, empty); // } // return map; // } }
protected void setUpPhenomenaForOffering(OfferingEntity offering, ProcedureEntity procedure, SosObservationOffering sosOffering, Session session) throws DataAccessException { Map<String, String> map = new HashMap<>(); map.put(IoParameters.OFFERINGS, Long.toString(offering.getId())); map.put(IoParameters.PROCEDURES, Long.toString(procedure.getId())); List<PhenomenonEntity> observableProperties = new PhenomenonDao(session) .getAllInstances(new DbQuery(IoParameters.createFromSingleValueMap(map))); Collection<String> phenomenons = new LinkedList<>(); Map<String, Collection<String>> phens4CompPhens = new HashMap<>(observableProperties.size()); observableProperties.forEach(observableProperty -> { if (!observableProperty.hasChildren() && !observableProperty.hasParents()) { phenomenons.add(observableProperty.getIdentifier()); } else if (observableProperty.hasChildren() && !observableProperty.hasParents()) { phens4CompPhens.put(observableProperty.getIdentifier(), observableProperty.getChildren().stream().map(PhenomenonEntity::getIdentifier) .collect(toCollection(TreeSet::new))); } }); sosOffering.setObservableProperties(phenomenons); sosOffering.setPhens4CompPhens(phens4CompPhens); }
for (PhenomenonEntity child : observableProperty.getChildren()) { getCache().addCompositePhenomenonForObservableProperty(child.getIdentifier(), identifier); getCache().addObservablePropertyForCompositePhenomenon(identifier, child.getIdentifier());