Merge "Issue #2667 reworked abstract data factory timerange query" into development
Former-commit-id:58a4949254
[formerly 165da5923fbf9aab4cf0816ea65b88c0a70d7724] Former-commit-id:43b4344e46
This commit is contained in:
commit
e8402c5562
1 changed files with 14 additions and 7 deletions
|
@ -56,6 +56,7 @@ import com.raytheon.uf.common.time.TimeRange;
|
|||
* Nov 26, 2013 2537 bsteffen Fix NPEs for dataTimes and timeRange requests.
|
||||
* Jan 14, 2014 2667 mnash Change getGridData and getGeometryData methods
|
||||
* to throw exception by default
|
||||
* Jan 21, 2014 2667 bclement changed timeRange buildDbQueryRequest method to query against valid times
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -67,6 +68,12 @@ public abstract class AbstractDataPluginFactory extends AbstractDataFactory {
|
|||
|
||||
protected static final String FIELD_DATATIME = "dataTime";
|
||||
|
||||
protected static final String FIELD_VALID_START = FIELD_DATATIME
|
||||
+ ".validPeriod.start";
|
||||
|
||||
protected static final String FIELD_VALID_END = FIELD_DATATIME
|
||||
+ ".validPeriod.end";
|
||||
|
||||
protected static final String DBQUERY_PLUGIN_NAME_KEY = "pluginName";
|
||||
|
||||
public DataTime[] getAvailableTimes(IDataRequest request)
|
||||
|
@ -241,13 +248,13 @@ public abstract class AbstractDataPluginFactory extends AbstractDataFactory {
|
|||
DbQueryRequest dbQueryRequest = this.buildDbQueryRequest(request);
|
||||
/* Add the TimeRange Constraint */
|
||||
if (timeRange != null) {
|
||||
RequestConstraint requestConstraint = new RequestConstraint();
|
||||
requestConstraint.setConstraintType(ConstraintType.BETWEEN);
|
||||
String[] dateTimeStrings = new String[] {
|
||||
timeRange.getStart().toString(),
|
||||
timeRange.getEnd().toString() };
|
||||
requestConstraint.setBetweenValueList(dateTimeStrings);
|
||||
dbQueryRequest.addConstraint(FIELD_DATATIME, requestConstraint);
|
||||
RequestConstraint afterReqStart = new RequestConstraint(timeRange
|
||||
.getStart().toString(), ConstraintType.GREATER_THAN_EQUALS);
|
||||
RequestConstraint beforeReqEnd = new RequestConstraint(timeRange
|
||||
.getEnd().toString(), ConstraintType.LESS_THAN_EQUALS);
|
||||
|
||||
dbQueryRequest.addConstraint(FIELD_VALID_START, afterReqStart);
|
||||
dbQueryRequest.addConstraint(FIELD_VALID_END, beforeReqEnd);
|
||||
}
|
||||
return dbQueryRequest;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue