Class AbstractValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>,T>
java.lang.Object
org.n52.sensorweb.server.db.assembler.value.AbstractValueAssembler<E,V,T>
- All Implemented Interfaces:
TimeOutputCreator,ValueAssembler<E,V, T>
- Direct Known Subclasses:
AbstractNumericalValueAssembler,BooleanValueAssembler,CategoryValueAssembler,ProfileValueAssembler,RecordValueAssembler,TextValueAssembler,TrajectoryValueAssembler
public abstract class AbstractValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>,T>
extends Object
implements ValueAssembler<E,V,T>, TimeOutputCreator
-
Field Summary
FieldsFields inherited from interface org.n52.sensorweb.server.db.TimeOutputCreator
OFFSET_REGEX -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractValueAssembler(DataRepository<E> dataRepository, DatasetRepository datasetRepository) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddGeometry(org.n52.series.db.beans.DataEntity<?> dataEntity, org.n52.io.response.dataset.AbstractValue<?> value, DbQuery query) protected VaddMetadatasIfNeeded(E observation, V value, org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) protected voidaddParameters(org.n52.series.db.beans.DataEntity<?> observation, org.n52.io.response.dataset.AbstractValue<?> value, DbQuery query) protected voidaddResultTime(org.n52.series.db.beans.DataEntity<?> observation, org.n52.io.response.dataset.AbstractValue<?> value, org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) protected voidaddValidTime(org.n52.series.db.beans.DataEntity<?> observation, org.n52.io.response.dataset.AbstractValue<?> value, org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) protected org.n52.io.response.dataset.Data<V>assembleDataValues(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) Assembles data values.assembleDataValueWithMetadata(E data, org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) Assembles an output for a data entity containing all metadata (geometry, parameters, valid time, etc.) for a given query.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.protected BigDecimalformat(BigDecimal value, Integer scale) protected BigDecimalformat(BigDecimal value, org.n52.series.db.beans.DatasetEntity dataset) getClosestValueAfterEnd(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) Finds the closest value after a given timespan.getClosestValueBeforeStart(org.n52.series.db.beans.DatasetEntity dataset, DbQuery query) Finds the closest value before a given timespan.org.n52.io.response.dataset.Data<V>Assembles observation values asDataoutput.protected javax.persistence.EntityManagergetFirstValue(org.n52.series.db.beans.DatasetEntity entity, DbQuery query) protected org.locationtech.jts.geom.GeometrygetGeometry(org.n52.series.db.beans.GeometryEntity geometryEntity, DbQuery query) getLastValue(org.n52.series.db.beans.DatasetEntity entity, DbQuery query) protected booleanhasSingleValidReferenceValue(List<?> observations) protected booleanhasValidEntriesWithinRequestedTimespan(List<?> observations) protected booleanisNoDataValue(org.n52.series.db.beans.DataEntity<?> data, org.n52.series.db.beans.DatasetEntity dataset) protected <O extends org.n52.io.response.dataset.AbstractValue<?>>
OprepareValue(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.voidsetConnectors(Optional<List<ValueConnector>> connectors) protected Eunproxy(org.n52.series.db.beans.DataEntity<?> dataEntity) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.n52.sensorweb.server.db.TimeOutputCreator
createTimeOutput, createTimeOutput, getOriginTimeZoneMethods inherited from interface org.n52.sensorweb.server.db.ValueAssembler
assembleDataValue, getConnector, getReferenceValues, hasConnector
-
Field Details
-
serviceEntityFactory
Preconfigured service entity. Alternative to accessing service entities from a database (in case there data model and mappings supports it).- See Also:
-
assertServiceAvailable(DescribableEntity)
-
-
Constructor Details
-
AbstractValueAssembler
protected AbstractValueAssembler(DataRepository<E> dataRepository, DatasetRepository datasetRepository)
-
-
Method Details
-
setConnectors
-
isNoDataValue
protected boolean isNoDataValue(org.n52.series.db.beans.DataEntity<?> data, org.n52.series.db.beans.DatasetEntity dataset) -
getData
Description copied from interface:ValueAssemblerAssembles observation values asDataoutput. -
getFirstValue
- Specified by:
getFirstValuein interfaceValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>, T> - Parameters:
entity- the dataset entityquery- the query- Returns:
- the first value for the given dataset
-
getLastValue
- Specified by:
getLastValuein interfaceValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>, T> - Parameters:
entity- the dataset entityquery- 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
assembleDataValues(DatasetEntity, DbQuery). Implementations may override this method to include all metadata necessary for an expanded output.- Parameters:
dataset- the datasetquery- 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 datasetquery- 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:ValueAssemblerAssembles an output for a data entity containing all metadata (geometry, parameters, valid time, etc.) for a given query.- Specified by:
assembleDataValueWithMetadatain interfaceValueAssembler<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 assembledataset- the dataset the data entity belongs toquery- the query- Returns:
- the assembled output
-
findAll
-
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) valueobservation- the observation entitydataset- the dataset entityquery- the query- Returns:
- the value with time
-
addMetadatasIfNeeded
-
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
Description copied from interface:ValueAssemblerFinds the closest value before a given timespan.- Specified by:
getClosestValueBeforeStartin interfaceValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>, T> - Parameters:
dataset- the datasetquery- the query containing the timespan- Returns:
- the closest value before a given timespan
-
getClosestValueAfterEnd
Description copied from interface:ValueAssemblerFinds the closest value after a given timespan.- Specified by:
getClosestValueAfterEndin interfaceValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>, T> - Parameters:
dataset- the datasetquery- the query containing the timespan- Returns:
- the closest value after a given timespan
-
unproxy
-
getCount
-
getEntityManager
protected javax.persistence.EntityManager getEntityManager() -
hasValidEntriesWithinRequestedTimespan
-
hasSingleValidReferenceValue
-
format
-
format
-
getConnectors
- Specified by:
getConnectorsin interfaceValueAssembler<E extends org.n52.series.db.beans.DataEntity<T>,V extends org.n52.io.response.dataset.AbstractValue<?>, T>
-