Issue #2636 - Calculate a data set availability delay for each dataset.
Former-commit-id:45a03a53f2
[formerlya4036f49a9
] [formerlyf04e249e23
] [formerlyfb96084864
[formerlyf04e249e23
[formerly 6c5fd79bd2a74422053b064d968de3ca440ecec1]]] Former-commit-id:fb96084864
Former-commit-id: 28e5e91b2b34593ef9a8e79035bf1fe26f2f0456 [formerlya72fa70992
] Former-commit-id:01a48c9f17
This commit is contained in:
parent
68909c095c
commit
6c88d89368
2 changed files with 41 additions and 1 deletions
|
@ -40,6 +40,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
|||
* Aug 22, 2012 0743 djohnson Store data type as an enum.
|
||||
* Sep 07, 2012 1102 djohnson Remove invalid {@code @XmlRootElement}.
|
||||
* Nov 19, 2012 1166 djohnson Clean up JAXB representation of registry objects.
|
||||
* Dec 18, 2013 2636 mpduff Add a data availability delay for the dataset.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -49,7 +50,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
|||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
@DynamicSerialize
|
||||
@RegistryObject({ "providerName", "collectionName", "dataSetName" })
|
||||
public abstract class DataSet<T extends Time, C extends Coverage>{
|
||||
public abstract class DataSet<T extends Time, C extends Coverage> {
|
||||
|
||||
@RegistryObjectOwner
|
||||
@XmlAttribute
|
||||
|
@ -94,6 +95,11 @@ public abstract class DataSet<T extends Time, C extends Coverage>{
|
|||
@SlotAttributeConverter(TimeSlotConverter.class)
|
||||
protected T time;
|
||||
|
||||
@XmlElement
|
||||
@DynamicSerializeElement
|
||||
@SlotAttribute
|
||||
protected int availabilityDelay;
|
||||
|
||||
public Map<String, Parameter> getParameters() {
|
||||
return parameters;
|
||||
}
|
||||
|
@ -157,6 +163,21 @@ public abstract class DataSet<T extends Time, C extends Coverage>{
|
|||
*/
|
||||
public abstract ServiceType getServiceType();
|
||||
|
||||
/**
|
||||
* @return the availabilityDelay
|
||||
*/
|
||||
public int getAvailabilityDelay() {
|
||||
return availabilityDelay;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param availabilityDelay
|
||||
* the availabilityDelay to set
|
||||
*/
|
||||
public void setAvailabilityDelay(int availabilityDelay) {
|
||||
this.availabilityDelay = availabilityDelay;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof DataSet) {
|
||||
|
|
|
@ -56,6 +56,7 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
|||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.common.time.util.ImmutableDate;
|
||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||
import com.raytheon.uf.common.util.CollectionUtil;
|
||||
import com.raytheon.uf.common.util.GridUtil;
|
||||
import com.raytheon.uf.edex.datadelivery.retrieval.Link;
|
||||
|
@ -93,6 +94,7 @@ import dods.dap.DAS;
|
|||
* Jan 24, 2013 1527 dhladky Changed 0DEG to FRZ
|
||||
* Sept 25, 2013 1797 dhladky separated time from gridded time
|
||||
* Oct 10, 2013 1797 bgonzale Refactored registry Time objects.
|
||||
* Dec 18, 2013 2636 mpduff Calculate a data availability delay for the dataset.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -259,6 +261,23 @@ class OpenDAPMetaDataParser extends MetaDataParser {
|
|||
time.setStepUnit(Time.findStepUnit(step.get(1))
|
||||
.getDurationUnit());
|
||||
gdsmd.setTime(time);
|
||||
|
||||
// Calculate dataset availability delay
|
||||
long startMillis = time.getStart().getTime();
|
||||
long now = TimeUtil.newGmtCalendar().getTimeInMillis();
|
||||
long delay = (now - startMillis) / TimeUtil.MILLIS_PER_MINUTE;
|
||||
|
||||
// There were some models where the availability delay was
|
||||
// negative
|
||||
dataSet.setAvailabilityDelay(Math.max(0, (int) delay));
|
||||
|
||||
if (statusHandler.isPriorityEnabled(Priority.DEBUG)) {
|
||||
statusHandler.debug("Dataset Name: "
|
||||
+ dataSet.getDataSetName());
|
||||
statusHandler.debug("StartTime: " + time.getStart());
|
||||
statusHandler.debug("Delay: "
|
||||
+ dataSet.getAvailabilityDelay());
|
||||
}
|
||||
} catch (Exception le) {
|
||||
logParsingException(timecon, "Time", collectionName, url);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue