public class GetDataAvailabilityDAO extends AbstractGetDataAvailabilityDAO implements HibernateSqlQueryConstants
IGetDataAvailabilityDao
to handle GetDataAvailabilityRequest
s.Modifier and Type | Class and Description |
---|---|
private static class |
GetDataAvailabilityDAO.DataAvailabilityTransformer
Class to transform ResultSets to DataAvailabilities.
|
private static class |
GetDataAvailabilityDAO.SeriesMinMaxTransformer |
Modifier and Type | Field and Description |
---|---|
private static org.slf4j.Logger |
LOGGER |
private HibernateSessionHolder |
sessionHolder |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_OBSERVED_PROPERTIES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_PROCEDURES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_PROCEDURES_OBSERVED_PROPERTIES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_OBSERVED_PROPERTIES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_PROCEDURES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_PROCEDURES_OBSERVED_PROPERTIES |
private static String |
SQL_QUERY_GET_DATA_AVAILABILITY_FOR_SERIES |
INCLUDE_RESULT_TIMES, SHOW_COUNT
FEATURE, FEATURES, GEOMETRY, OBSERVABLE_PROPERTIES, OBSERVABLE_PROPERTY, OFFERING, OFFERINGS, PROCEDURE, PROCEDURES, SRID
DATASOURCE_DAO_IDENTIFIER, IDEPENDET_IDENTIFIER
Constructor and Description |
---|
GetDataAvailabilityDAO() |
Modifier and Type | Method and Description |
---|---|
private boolean |
checkForNamedQueries(GetDataAvailabilityRequest req,
org.hibernate.Session session) |
private List<?> |
executeNamedQuery(GetDataAvailabilityRequest req,
org.hibernate.Session session) |
private Long |
getCountFor(Series series,
GetDataAvailabilityRequest request,
org.hibernate.Session session)
Get count of available observation for this time series
|
GetDataAvailabilityResponse |
getDataAvailability(GetDataAvailabilityRequest req)
Get the DataAvailability out of the Database.
|
String |
getDatasourceDaoIdentifier() |
private org.hibernate.Criteria |
getDefaultObservationInfoCriteria(org.hibernate.Session session) |
private ReferenceType |
getFeatureOfInterestReference(Series series,
Map<String,ReferenceType> featuresOfInterest,
org.hibernate.Session session) |
private ReferenceType |
getObservedPropertyReference(Series series,
Map<String,ReferenceType> observableProperties) |
private TemporalFilter |
getPhenomenonTimeFilter(SwesExtensions extensions)
Get the temporal filter with valueReference phenomenonTime from
extensions
|
private ReferenceType |
getProcedureReference(Series series,
Map<String,ReferenceType> procedures) |
private List<TimeInstant> |
getResultTimesFromObservation(GetDataAvailabilityResponse.DataAvailability dataAvailability,
GetDataAvailabilityRequest request,
org.hibernate.Session session)
Get the result times for the timeseries
|
private List<TimeInstant> |
getResultTimesFromSeriesObservation(SeriesObservationDAO seriesObservationDAO,
Series series,
GetDataAvailabilityRequest request,
org.hibernate.Session session)
Get the result times for the timeseries
|
private TimePeriod |
getTimePeriodFromNamedQuery(long seriesId,
GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer,
org.hibernate.Session session)
Get time information from a named query
|
private TimePeriod |
getTimePeriodFromSeriesGetDataAvailability(SeriesObservationTimeDAO seriesGetDataAvailabilityDAO,
Series series,
GetDataAvailabilityRequest request,
GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer,
org.hibernate.Session session)
Get time information from SeriesGetDataAvailability mapping
|
private TimePeriod |
getTimePeriodFromSeriesObservation(SeriesObservationDAO seriesObservationDAO,
Series series,
GetDataAvailabilityRequest request,
GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer,
org.hibernate.Session session)
Get time information from SeriesObservation
|
private boolean |
hasPhenomenonTimeFilter(SwesExtensions extensions)
Check if extensions contains a temporal filter with valueReference
phenomenonTime
|
private boolean |
isIncludeResultTime(GetDataAvailabilityRequest request)
Check if result times should be added
|
private boolean |
isShowCount(GetDataAvailabilityRequest request)
Check if optional count should be added
|
private List<?> |
queryDataAvailabilityValues(GetDataAvailabilityRequest req,
org.hibernate.Session session)
Query data availability information depending on supported functionality
|
private List<?> |
querySeriesDataAvailabilities(GetDataAvailabilityRequest request,
org.hibernate.Session session)
GetDataAvailability processing is series mapping is supported.
|
isForceValueCount, setForceValueCount, setOperationsMetadata
getCache, getConfigurator, getConformanceClasses, getDCP, getOperationDAOKeyType, getOperationName, getOperationsMetadata
private static final org.slf4j.Logger LOGGER
private HibernateSessionHolder sessionHolder
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_PROCEDURES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_OBSERVED_PROPERTIES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_FEATURES_PROCEDURES_OBSERVED_PROPERTIES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_PROCEDURES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_PROCEDURES_OBSERVED_PROPERTIES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_OBSERVED_PROPERTIES
private static final String SQL_QUERY_GET_DATA_AVAILABILITY_FOR_SERIES
public GetDataAvailabilityResponse getDataAvailability(GetDataAvailabilityRequest req) throws OwsExceptionReport
AbstractGetDataAvailabilityDAO
getDataAvailability
in class AbstractGetDataAvailabilityDAO
req
- the GetDataAvailabilityRequest
GetDataAvailabilityResponse
OwsExceptionReport
- if an error occursprivate List<?> queryDataAvailabilityValues(GetDataAvailabilityRequest req, org.hibernate.Session session) throws OwsExceptionReport
req
- GetDataAvailability requestsession
- Hibernate sessionOwsExceptionReport
- If an error occursprivate List<TimeInstant> getResultTimesFromObservation(GetDataAvailabilityResponse.DataAvailability dataAvailability, GetDataAvailabilityRequest request, org.hibernate.Session session) throws OwsExceptionReport
dataAvailability
- Timeseries to get result times forrequest
- GetDataAvailability requestsession
- Hibernate sessionOwsExceptionReport
- if the requested temporal filter is not supportedprivate org.hibernate.Criteria getDefaultObservationInfoCriteria(org.hibernate.Session session)
private List<?> querySeriesDataAvailabilities(GetDataAvailabilityRequest request, org.hibernate.Session session) throws OwsExceptionReport
request
- GetDataAvailability requestsession
- Hibernate sessionOwsExceptionReport
- If an error occursprivate TimePeriod getTimePeriodFromNamedQuery(long seriesId, GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer, org.hibernate.Session session)
seriesId
- Series idseriesMinMaxTransformer
- Hibernate result transformator for min/max time valuesession
- Hibernate Sessionprivate TimePeriod getTimePeriodFromSeriesGetDataAvailability(SeriesObservationTimeDAO seriesGetDataAvailabilityDAO, Series series, GetDataAvailabilityRequest request, GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer, org.hibernate.Session session)
seriesGetDataAvailabilityDAO
- Series GetDataAvailability DAO classseries
- Series to get information forrequest
- seriesMinMaxTransformer
- Hibernate result transformator for min/max time valuesession
- Hibernate Sessionprivate TimePeriod getTimePeriodFromSeriesObservation(SeriesObservationDAO seriesObservationDAO, Series series, GetDataAvailabilityRequest request, GetDataAvailabilityDAO.SeriesMinMaxTransformer seriesMinMaxTransformer, org.hibernate.Session session)
seriesObservationDAO
- Series observation DAO classseries
- Series to get information forrequest
- seriesMinMaxTransformer
- Hibernate result transformator for min/max time valuesession
- Hibernate Sessionprivate List<TimeInstant> getResultTimesFromSeriesObservation(SeriesObservationDAO seriesObservationDAO, Series series, GetDataAvailabilityRequest request, org.hibernate.Session session) throws OwsExceptionReport
seriesObservationDAO
- DAOseries
- time seriesrequest
- GetDataAvailability requestsession
- Hibernate sessionOwsExceptionReport
- if the requested temporal filter is not supportedprivate Long getCountFor(Series series, GetDataAvailabilityRequest request, org.hibernate.Session session)
series
- Time seriesrequest
- GetDataAvailability requestsession
- Hibernate sessionprivate boolean checkForNamedQueries(GetDataAvailabilityRequest req, org.hibernate.Session session)
private List<?> executeNamedQuery(GetDataAvailabilityRequest req, org.hibernate.Session session)
private ReferenceType getProcedureReference(Series series, Map<String,ReferenceType> procedures)
private ReferenceType getObservedPropertyReference(Series series, Map<String,ReferenceType> observableProperties)
private ReferenceType getFeatureOfInterestReference(Series series, Map<String,ReferenceType> featuresOfInterest, org.hibernate.Session session) throws OwsExceptionReport
OwsExceptionReport
private boolean isShowCount(GetDataAvailabilityRequest request)
request
- GetDataAvailability requesttrue
, if optional count should be addedprivate boolean isIncludeResultTime(GetDataAvailabilityRequest request)
request
- GetDataAvailability requesttrue
, if result times should be addedprivate boolean hasPhenomenonTimeFilter(SwesExtensions extensions)
extensions
- Extensions to checktrue
, if extensions contains a temporal filter with
valueReference phenomenonTimeprivate TemporalFilter getPhenomenonTimeFilter(SwesExtensions extensions)
extensions
- To get filter frompublic String getDatasourceDaoIdentifier()
getDatasourceDaoIdentifier
in interface DatasourceDaoIdentifier
Copyright © 2012-2014 52north.org. All Rights Reserved.