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

java.lang.Object
org.n52.series.db.old.da.SessionAwareAssembler
org.n52.series.db.old.da.data.AbstractDataRepository<E,V,T>
All Implemented Interfaces:
TimeOutputCreator, ValueAssembler<E,V,T>, DataRepository<E,V,T>, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
AbstractNumericalDataRepository, BooleanDataRepository, CategoryDataRepository, ProfileDataRepository, RecordDataRepository, TextDataRepository

public abstract class AbstractDataRepository<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>,T> extends SessionAwareAssembler implements DataRepository<E,V,T>
  • Constructor Details

  • Method Details

    • 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
    • assembleExpandedData

      protected org.n52.io.response.dataset.Data<V> assembleExpandedData(org.n52.series.db.beans.DatasetEntity dataset, DbQuery dbQuery, org.hibernate.Session session)
    • assembleExpandedData

      protected org.n52.io.response.dataset.Data<V> assembleExpandedData(Long dataset, DbQuery dbQuery, org.hibernate.Session session)
    • assembleData

      protected org.n52.io.response.dataset.Data<V> assembleData(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query, org.hibernate.Session session)
    • assembleData

      protected abstract org.n52.io.response.dataset.Data<V> assembleData(Long dataset, DbQuery query, org.hibernate.Session session)
    • 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
    • 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
    • createDataDao

      protected DataDao<E> createDataDao(org.hibernate.Session session)
    • createEmptyValue

      protected abstract V createEmptyValue()
    • prepareValue

      protected V prepareValue(E observation, DbQuery query)
    • hasValidEntriesWithinRequestedTimespan

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

      protected boolean hasSingleValidReferenceValue(List<?> observations)
    • 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)
    • addValidTime

      protected void addValidTime(org.n52.series.db.beans.DataEntity<?> observation, org.n52.io.response.dataset.AbstractValue<?> value, org.n52.io.request.IoParameters parameters)
    • addResultTime

      protected void addResultTime(org.n52.series.db.beans.DataEntity<?> observation, org.n52.io.response.dataset.AbstractValue<?> value, org.n52.io.request.IoParameters parameters)
    • 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
    • getClosestValueBeforeStart

      protected E getClosestValueBeforeStart(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query, org.hibernate.Session session)
    • 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
    • getClosestValueAfterEnd

      protected E getClosestValueAfterEnd(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query, org.hibernate.Session session)
    • unproxy

      protected E unproxy(org.n52.series.db.beans.DataEntity<?> dataEntity, org.hibernate.Session session)
    • format

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

      protected BigDecimal format(BigDecimal value, int scale)
    • getDetectionLimit

      protected org.n52.io.response.DetectionLimitOutput getDetectionLimit(org.n52.series.db.beans.DataEntity<?> o)
    • getCount

      public Long getCount(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query, org.hibernate.Session session)
    • getConnectors

      public Map<String,ValueConnector> getConnectors()
      Specified by:
      getConnectors in interface ValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>,T>