Example usage for org.hibernate.internal.util.collections CollectionHelper isNotEmpty

List of usage examples for org.hibernate.internal.util.collections CollectionHelper isNotEmpty

Introduction

In this page you can find the example usage for org.hibernate.internal.util.collections CollectionHelper isNotEmpty.

Prototype

public static boolean isNotEmpty(Map map) 

Source Link

Usage

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());
}