List of usage examples for org.hibernate.internal.util.collections CollectionHelper isNotEmpty
public static boolean isNotEmpty(Map map)
From source file:org.n52.sos.ds.hibernate.cache.base.ProcedureCacheUpdate.java
License:Open Source License
@Override public void execute() { //single threaded updates LOGGER.debug("Executing ProcedureCacheUpdate (Single Threaded Tasks)"); startStopwatch();/* w ww.j a va 2 s . c o m*/ getProcedureDescriptionFormat(); boolean obsConstSupported = HibernateHelper.isEntitySupported(ObservationConstellation.class); Map<String, Collection<String>> procedureMap = procedureDAO.getProcedureIdentifiers(getSession()); List<Procedure> procedures = procedureDAO.getProcedureObjects(getSession()); for (Procedure procedure : procedures) { String procedureIdentifier = procedure.getIdentifier(); Collection<String> parentProcedures = procedureMap.get(procedureIdentifier); // } // for (Entry<String, Collection<String>> entry : procedureMap.entrySet()) { // String procedureIdentifier = entry.getKey(); // Collection<String> parentProcedures = entry.getValue(); getCache().addProcedure(procedureIdentifier); if (procedure.isSetName()) { getCache().addProcedureIdentifierHumanReadableName(procedureIdentifier, procedure.getName()); } if (obsConstSupported) { Collection<ObservationConstellationInfo> ocis = getProcedureObservationConstellationInfo() .get(procedureIdentifier); if (CollectionHelper.isNotEmpty(ocis)) { getCache().setOfferingsForProcedure(procedureIdentifier, DatasourceCacheUpdateHelper .getAllOfferingIdentifiersFromObservationConstellationInfos(ocis)); getCache().setObservablePropertiesForProcedure(procedureIdentifier, DatasourceCacheUpdateHelper .getAllObservablePropertyIdentifiersFromObservationConstellationInfos(ocis)); } } else { try { getCache().setOfferingsForProcedure(procedureIdentifier, Sets.newHashSet( offeringDAO.getOfferingIdentifiersForProcedure(procedureIdentifier, getSession()))); } catch (OwsExceptionReport ce) { LOGGER.error("Error while querying offering identifiers for procedure!", ce); getErrors().add(ce); } getCache().setObservablePropertiesForProcedure(procedureIdentifier, Sets.newHashSet(observablePropertyDAO .getObservablePropertyIdentifiersForProcedure(procedureIdentifier, getSession()))); } if (!CollectionHelper.isEmpty(parentProcedures)) { getCache().addParentProcedures(procedureIdentifier, parentProcedures); } } LOGGER.debug("Finished executing ProcedureCacheUpdate (Single Threaded Tasks) ({})", getStopwatchResult()); //multi-threaded execution LOGGER.debug("Executing ProcedureCacheUpdate (Multi-Threaded Tasks)"); startStopwatch(); super.execute(); LOGGER.debug("Finished executing ProcedureCacheUpdate (Multi-Threaded Tasks) ({})", getStopwatchResult()); }