Class AbstractValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>

    • Method Detail

      • isNoDataValue

        protected boolean isNoDataValue​(org.n52.series.db.beans.DataEntity<?> data,
                                        org.n52.series.db.beans.DatasetEntity dataset)
      • getData

        public org.n52.io.response.dataset.Data<V> getData​(String datasetId,
                                                           DbQuery dbQuery)
        Description copied from interface: ValueAssembler
        Assembles observation values as Data output.
        Specified by:
        getData in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        datasetId - the dataset id
        dbQuery - the query
        Returns:
        the assembled data
      • getFirstValue

        public V getFirstValue​(org.n52.series.db.beans.DatasetEntity entity,
                               DbQuery query)
        Specified by:
        getFirstValue in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        entity - the dataset entity
        query - the query
        Returns:
        the first value for the given dataset
      • getLastValue

        public V getLastValue​(org.n52.series.db.beans.DatasetEntity entity,
                              DbQuery query)
        Specified by:
        getLastValue in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        entity - the dataset entity
        query - the query
        Returns:
        the last value for the given dataset
      • assembleExpandedDataValues

        protected org.n52.io.response.dataset.Data<V> assembleExpandedDataValues​(org.n52.series.db.beans.DatasetEntity dataset,
                                                                                 DbQuery query)
        Assembles an expanded view of data values. An expanded view may include for example
        • Reference values
        • First values beyond requested timespan interval
        • Further output for each data value
        By default this returns the output of assembleDataValues(DatasetEntity, DbQuery). Implementations may override this method to include all metadata necessary for an expanded output.
        Parameters:
        dataset - the dataset
        query - the query
        Returns:
        an expanded view of assembled data
      • assembleDataValues

        protected org.n52.io.response.dataset.Data<V> assembleDataValues​(org.n52.series.db.beans.DatasetEntity dataset,
                                                                         DbQuery query)
        Assembles data values.
        Parameters:
        dataset - the dataset
        query - the query
        Returns:
        the assembled data
      • assembleDataValueWithMetadata

        public V assembleDataValueWithMetadata​(E data,
                                               org.n52.series.db.beans.DatasetEntity dataset,
                                               DbQuery query)
        Description copied from interface: ValueAssembler
        Assembles an output for a data entity containing all metadata (geometry, parameters, valid time, etc.) for a given query.
        Specified by:
        assembleDataValueWithMetadata in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        data - the single data entity to assemble
        dataset - the dataset the data entity belongs to
        query - the query
        Returns:
        the assembled output
      • findAll

        protected Stream<E> findAll​(org.n52.series.db.beans.DatasetEntity dataset,
                                    DbQuery query)
      • prepareValue

        protected <O extends org.n52.io.response.dataset.AbstractValue<?>> O prepareValue​(O value,
                                                                                          org.n52.series.db.beans.DataEntity<?> observation,
                                                                                          org.n52.series.db.beans.DatasetEntity dataset,
                                                                                          DbQuery query)
        Prepares data value by setting time/time interval depending on actual query.
        Type Parameters:
        O - the type of the assembled output value
        Parameters:
        value - the actual (empty) value
        observation - the observation entity
        dataset - the dataset entity
        query - the query
        Returns:
        the value with time
      • addMetadatasIfNeeded

        protected V addMetadatasIfNeeded​(E observation,
                                         V value,
                                         org.n52.series.db.beans.DatasetEntity dataset,
                                         DbQuery query)
      • addGeometry

        protected void addGeometry​(org.n52.series.db.beans.DataEntity<?> dataEntity,
                                   org.n52.io.response.dataset.AbstractValue<?> value,
                                   DbQuery query)
      • getGeometry

        protected org.locationtech.jts.geom.Geometry getGeometry​(org.n52.series.db.beans.GeometryEntity geometryEntity,
                                                                 DbQuery query)
      • addValidTime

        protected void addValidTime​(org.n52.series.db.beans.DataEntity<?> observation,
                                    org.n52.io.response.dataset.AbstractValue<?> value,
                                    org.n52.series.db.beans.DatasetEntity dataset,
                                    DbQuery query)
      • addResultTime

        protected void addResultTime​(org.n52.series.db.beans.DataEntity<?> observation,
                                     org.n52.io.response.dataset.AbstractValue<?> value,
                                     org.n52.series.db.beans.DatasetEntity dataset,
                                     DbQuery query)
      • addParameters

        protected void addParameters​(org.n52.series.db.beans.DataEntity<?> observation,
                                     org.n52.io.response.dataset.AbstractValue<?> value,
                                     DbQuery query)
      • getClosestValueBeforeStart

        public E getClosestValueBeforeStart​(org.n52.series.db.beans.DatasetEntity dataset,
                                            DbQuery query)
        Description copied from interface: ValueAssembler
        Finds the closest value before a given timespan.
        Specified by:
        getClosestValueBeforeStart in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        dataset - the dataset
        query - the query containing the timespan
        Returns:
        the closest value before a given timespan
      • getClosestValueAfterEnd

        public E getClosestValueAfterEnd​(org.n52.series.db.beans.DatasetEntity dataset,
                                         DbQuery query)
        Description copied from interface: ValueAssembler
        Finds the closest value after a given timespan.
        Specified by:
        getClosestValueAfterEnd in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,​V extends org.n52.io.response.dataset.AbstractValue<?>,​T>
        Parameters:
        dataset - the dataset
        query - the query containing the timespan
        Returns:
        the closest value after a given timespan
      • unproxy

        protected E unproxy​(org.n52.series.db.beans.DataEntity<?> dataEntity)
      • getCount

        public Long getCount​(org.n52.series.db.beans.DatasetEntity dataset,
                             DbQuery query)
      • getEntityManager

        protected javax.persistence.EntityManager getEntityManager()
      • hasValidEntriesWithinRequestedTimespan

        protected boolean hasValidEntriesWithinRequestedTimespan​(List<?> observations)
      • hasSingleValidReferenceValue

        protected boolean hasSingleValidReferenceValue​(List<?> observations)
      • format

        protected BigDecimal format​(BigDecimal value,
                                    org.n52.series.db.beans.DatasetEntity dataset)