Omaha #2061 Remove IDecoderGettable from all AWIPS2 Raytheon PDOs.

Former-commit-id: 257cfe8bd3 [formerly a96199cc47] [formerly d838ecc734] [formerly 257cfe8bd3 [formerly a96199cc47] [formerly d838ecc734] [formerly 30415ae8c5 [formerly d838ecc734 [formerly b6c63e5791a2438253d6ff039b5164c61105a941]]]]
Former-commit-id: 30415ae8c5
Former-commit-id: 1210c094d7 [formerly 08a1e07918] [formerly c6abdf4a8300c5eb3d9c3950d871d79698655d9a [formerly eb7cf7e8da]]
Former-commit-id: e02af9791372650c46525cb594c1dd112707a9c1 [formerly 02c4332c6a]
Former-commit-id: 3db0af5561
This commit is contained in:
Ben Steffensmeier 2014-06-11 12:37:08 -05:00
parent 936c184c56
commit f4319b5920
16 changed files with 257 additions and 1414 deletions

View file

@ -24,7 +24,6 @@ import gov.noaa.nws.ncep.ui.nsharp.NsharpStationInfo;
import java.util.List;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
/**
@ -35,10 +34,11 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 26, 2011 bsteffen Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jul 26, 2011 bsteffen Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -58,12 +58,6 @@ public class D2DNSharpDataObject extends PluginDataObject {
}
@Override
public IDecoderGettable getDecoderGettable() {
// TODO Auto-generated method stub
return null;
}
public NsharpStationInfo getStationInfo() {
return stationInfo;
}

View file

@ -20,17 +20,7 @@
package com.raytheon.edex.plugin.ldadmanual.dao;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Length;
import javax.measure.quantity.Pressure;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -47,7 +37,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
@ -63,15 +52,17 @@ import com.vividsolutions.jts.geom.Geometry;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ----------- ---------- ----------- --------------------------
* Sep 30, 2009 vkorolev Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Sep 30, 2009 vkorolev Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
* @author vkorolev
@ -91,41 +82,10 @@ import com.vividsolutions.jts.geom.Geometry;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class ManualLdadRecord extends PluginDataObject implements
ISpatialEnabled, IDecoderGettable {
ISpatialEnabled {
private static final long serialVersionUID = 1L;
public static final String OBS_TEXT = "text";
public static final Unit<Length> LENGTH_UNIT = SI.METER;
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
public static final Unit<Velocity> WIND_SPEED_UNIT = SI.METERS_PER_SECOND;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Pressure> PRESSURE_UNIT = SI.PASCAL;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("T", SFC_TEMP);
PARM_MAP.put("DpT", SFC_DWPT);
PARM_MAP.put("WS", SFC_WNDSPD);
PARM_MAP.put("WD", SFC_WNDDIR);
PARM_MAP.put("WGS", SFC_WNDGST);
PARM_MAP.put("ASET", "SFC.PRESS.ALTIMETER");
PARM_MAP.put("PMSL", PRES_SLP);
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put("STA", "STA");
PARM_MAP.put("stationid", "STA");
PARM_MAP.put("message", OBS_TEXT);
PARM_MAP.put(OBS_TEXT, OBS_TEXT);
}
// Time of the observation.
@DataURI(position = 2)
@Column
@ -2179,11 +2139,6 @@ public class ManualLdadRecord extends PluginDataObject implements
this.location = location;
}
@Override
public Amount getValue(String paramName) {
// TODO Auto-generated method stub
return null;
}
/**
* @return the timeObs
@ -2215,45 +2170,6 @@ public class ManualLdadRecord extends PluginDataObject implements
return location;
}
/**
* This class implements IDecoderGettable so return this instance.
*
* @return The reference to this instance.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return this;
}
/**
*
*/
@Override
public String getString(String paramName) {
String retValue = null;
String pName = PARM_MAP.get(paramName);
if ("STA".matches(pName)) {
retValue = getStationId();
} else if (OBS_TEXT.equals(pName)) {
retValue = getStationId();
}
return retValue;
}
@Override
public String[] getStrings(String paramName) {
return null;
}
/**
*
*/
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
/**
* @param providerId
* the providerId to set

View file

@ -20,15 +20,8 @@
package com.raytheon.edex.plugin.ldadprofiler.common;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -46,13 +39,10 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.pointdata.IPointData;
import com.raytheon.uf.common.pointdata.PointDataView;
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
@ -66,15 +56,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ----------- ---------- ----------- --------------------------
* Oct 07, 2009 vkorolev Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Oct 07, 2009 vkorolev Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -95,26 +86,12 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class ProfilerLdadObs extends PersistablePluginDataObject implements
ISpatialEnabled, IDecoderGettable, IPointData, IPersistable {
IPointData, IPersistable {
public static final String PLUGIN_NAME = "ldadprofiler";
private static final long serialVersionUID = 1L;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Velocity> WIND_SPEED_UNIT = SI.METERS_PER_SECOND;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put("WS", SFC_WNDSPD);
PARM_MAP.put("WD", SFC_WNDDIR);
}
private static final String PRESS = "PRESS";
@ -293,42 +270,6 @@ public class ProfilerLdadObs extends PersistablePluginDataObject implements
// ----------------------------------------------------
@Override
public IDecoderGettable getDecoderGettable() {
// TODO Auto-generated method stub
return null;
}
@Override
public ISpatialObject getSpatialObject() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getString(String paramName) {
// TODO Auto-generated method stub
return null;
}
@Override
public String[] getStrings(String paramName) {
// TODO Auto-generated method stub
return null;
}
@Override
public Amount getValue(String paramName) {
// TODO Auto-generated method stub
return null;
}
@Override
public Collection<Amount> getValues(String paramName) {
// TODO Auto-generated method stub
return null;
}
/**
* @param location
* the location to set
@ -398,6 +339,6 @@ public class ProfilerLdadObs extends PersistablePluginDataObject implements
@Override
public String getPluginName() {
return "ldadprofiler";
return PLUGIN_NAME;
}
}

View file

@ -36,9 +36,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import com.raytheon.edex.plugin.shef.util.SHEFDate;
import com.raytheon.edex.plugin.shef.util.ShefUtil;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.shef.util.ParameterCode;
import com.raytheon.uf.common.dataplugin.shef.util.SHEFTimezone;
import com.raytheon.uf.common.dataplugin.shef.util.ShefConstants;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
@ -47,15 +45,17 @@ import com.raytheon.uf.common.time.DataTime;
/**
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* June2006 314 Phillippe Initial Creation.
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Mar 19, 2008 387 M. Duff Modified to store SHEF data.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* </pre>
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jun ??, 2006 314 Phillippe Initial Creation.
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Mar 19, 2008 387 M. Duff Modified to store SHEF data.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
</pre>
*
* @author bphillip
* @version 1
@ -129,9 +129,6 @@ public class ShefRecord extends PluginDataObject {
@Transient
private SHEFDate createDate = null;
@Transient
private final int durationValue = ParameterCode.Duration.DEFAULT.getValue();
/**
* Empty constructor
*/
@ -550,17 +547,6 @@ public class ShefRecord extends PluginDataObject {
messageSource = msgSrc;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record. Null for this
* class.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();

View file

@ -20,17 +20,7 @@
package com.raytheon.uf.common.dataplugin.acars;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Length;
import javax.measure.quantity.Pressure;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -48,7 +38,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
@ -63,19 +52,20 @@ import com.vividsolutions.jts.geom.Geometry;
* <pre>
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 21, 2009 1939 jkorman Initial creation
* Apr 09, 2009 952 jsanchez Updated getValue method. Added a
* getMessageData method.
* Apr 21, 2009 2245 jsanchez Returned temperature unit to kelvin.
* May 21, 2009 2338 jsanchez Updated the getMessageData.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------ -------- ----------- --------------------------
* Jan 21, 2009 1939 jkorman Initial creation
* Apr 09, 2009 952 jsanchez Updated getValue method. Added a
* getMessageData method.
* Apr 21, 2009 2245 jsanchez Returned temperature unit to kelvin.
* May 21, 2009 2338 jsanchez Updated the getMessageData.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -95,41 +85,10 @@ import com.vividsolutions.jts.geom.Geometry;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class ACARSRecord extends PluginDataObject implements ISpatialEnabled,
IDecoderGettable, Comparable<ACARSRecord> {
Comparable<ACARSRecord> {
private static final long serialVersionUID = 1L;
private static final String TEXT_FMT = "%1$s %2$td/%2$tH%2$tM";
public static final Unit<Length> FLIGHT_LEVEL_UNIT = SI.METER;
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
public static final Unit<Velocity> WIND_SPEED_UNIT = SI.METERS_PER_SECOND;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Pressure> PRESSURE_UNIT = SI.PASCAL;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("T", SFC_TEMP);
PARM_MAP.put("DpT", SFC_DWPT);
PARM_MAP.put("WS", SFC_WNDSPD);
PARM_MAP.put("WD", SFC_WNDDIR);
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put("altitude", UA_FLTLVL);
PARM_MAP.put("turbc", "turbc");
}
public static final String TAIL_NUM = "tailNumber";
public static final String FLIGHT_NUM = "tailNumber";
// Time of the observation.
@Column
@DynamicSerializeElement
@ -654,74 +613,6 @@ public class ACARSRecord extends PluginDataObject implements ISpatialEnabled,
this.usedInSounding = usedInSounding;
}
/**
*
*/
@Override
public IDecoderGettable getDecoderGettable() {
return this;
}
@Override
public String getString(String paramName) {
String retValue = null;
if (TAIL_NUM.equals(paramName)) {
retValue = getTailNumber();
} else if (FLIGHT_NUM.equals(paramName)) {
retValue = getFlightNumber();
} else if ("TEXT".equals(paramName)) {
retValue = String.format(TEXT_FMT, getTailNumber(), getTimeObs());
}
return retValue;
}
@Override
public String[] getStrings(String paramName) {
return null;
}
@Override
public Amount getValue(String paramName) {
Amount a = null;
String pName = PARM_MAP.get(paramName);
if (SFC_TEMP.equals(pName) && (temp != null)) {
a = new Amount(temp, TEMPERATURE_UNIT);
} else if (SFC_WNDSPD.equals(pName) && (windSpeed != null)) {
a = new Amount(windSpeed, WIND_SPEED_UNIT);
} else if (SFC_WNDDIR.equals(pName) && (windDirection != null)) {
a = new Amount(windDirection, WIND_DIR_UNIT);
} else if (STA_LAT.equals(pName)) {
a = new Amount(getLatitude(), LOCATION_UNIT);
} else if (STA_LON.equals(pName)) {
a = new Amount(getLongitude(), LOCATION_UNIT);
} else if (UA_FLTLVL.equals(pName) && (getFlightLevel() != null)) {
a = new Amount(getFlightLevel().intValue(), FLIGHT_LEVEL_UNIT);
} else if (SFC_DWPT.equals(pName) && (getDwpt() != null)) {
a = new Amount(getDwpt(), TEMPERATURE_UNIT);
}
return a;
}
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
public static final Double calcHumidity(Double temp, Double dwpt) {
Double humidity = null;
if ((temp != null) && (dwpt != null)) {
}
return humidity;
}
@Override
public String getMessageData() {
return String.format(TEXT_FMT, getTailNumber(), getTimeObs());
}
/*
* (non-Javadoc)
*
@ -777,14 +668,9 @@ public class ACARSRecord extends PluginDataObject implements ISpatialEnabled,
*/
@Override
public int compareTo(ACARSRecord other) {
final int BEFORE = -1;
final int EQUAL = 0;
final int AFTER = 1;
int result = EQUAL;
int result = 0;
if (this == other) {
result = EQUAL;
result = 0;
} else {
if (getTailNumber().equals(getTailNumber())) {
result = timeObs.compareTo(other.timeObs);

View file

@ -20,21 +20,10 @@
package com.raytheon.uf.common.dataplugin.bufrua;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Length;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -52,7 +41,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
@ -63,7 +51,6 @@ import com.raytheon.uf.common.pointdata.PointDataView;
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.edex.decodertools.core.IDecoderConstants;
import com.vividsolutions.jts.geom.Geometry;
/**
@ -77,24 +64,25 @@ import com.vividsolutions.jts.geom.Geometry;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 27, 2007 382 jkorman Initial Coding.
* Jan 04, 2008 712 jkorman Lat/Lon were set incorrectly.
* Jan 07, 2008 720 jkorman remove default assignments from
* attributes.
* Jan 08, 2008 382 jkorman Added IVerticalSoundingCreator impl.
* Jan 14, 2008 763 jkorman Added &quot;below&quot; ground level
* exclusion to getValue.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Jun 20, 2013 2128 bsteffen Ensure setDataURI sets the dataURI.
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
* bufrua.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Nov 27, 2007 382 jkorman Initial Coding.
* Jan 04, 2008 712 jkorman Lat/Lon were set incorrectly.
* Jan 07, 2008 720 jkorman remove default assignments from
* attributes.
* Jan 08, 2008 382 jkorman Added IVerticalSoundingCreator impl.
* Jan 14, 2008 763 jkorman Added &quot;below&quot; ground level
* exclusion to getValue.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Jun 20, 2013 2128 bsteffen Ensure setDataURI sets the dataURI.
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
* bufrua.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -114,7 +102,7 @@ import com.vividsolutions.jts.geom.Geometry;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class UAObs extends PersistablePluginDataObject implements
ISpatialEnabled, IDecoderGettable, IPointData, IPersistable {
ISpatialEnabled, IPointData, IPersistable {
private static final long serialVersionUID = 1L;
@ -139,41 +127,6 @@ public class UAObs extends PersistablePluginDataObject implements
public static final String PLUGIN_NAME = "bufrua";
public static final Unit<Length> DISTANCE_UNIT = SI.METER;
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
public static final Unit<Velocity> WIND_SPEED_UNIT = SI.METERS_PER_SECOND;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("GH", UA_GEOHGT);
PARM_MAP.put("Px", UA_PRESSURE);
PARM_MAP.put("T", SFC_TEMP);
PARM_MAP.put("DpT", SFC_DWPT);
PARM_MAP.put("WS", SFC_WNDSPD);
PARM_MAP.put("WD", SFC_WNDDIR);
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
}
public static final String UA_PARAM_PTRN = ".*:PRESS=\\d{2,4}";
// Non persisted value. Hold the last requested parameter name.
@Transient
private String parameterName = null;
// Non persisted value. Hold the last requested level value.
@Transient
private Integer levelId;
// The observation report type.
@DataURI(position = 1)
@Column
@ -532,28 +485,6 @@ public class UAObs extends PersistablePluginDataObject implements
this.stationName = stationName;
}
/**
* Set the data uri for this observation.
*
* @param A
* data uri.
*/
@Override
public void setDataURI(String dataURI) {
super.setDataURI(dataURI);
identifier = dataURI;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return this;
}
/**
*
*/
@ -570,203 +501,6 @@ public class UAObs extends PersistablePluginDataObject implements
this.pointDataView = pointDataView;
}
/**
* Get the value of a parameter that is represented as a String.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return The String value of the parameter. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public String getString(String paramName) {
if ("STA".matches(paramName)) {
return this.getStationId();
}
return null;
}
/**
* Get the value and units of a named parameter within this observation. The
* parameter name may include level information for these observation data.
* The format for parameter is:
*
* <pre>
* &quot;parameterName&quot; may be one of
* &quot;GH&quot; geopotential height
* &quot;Px&quot; pressure
* &quot;T&quot; temperature
* &quot;DpT&quot; dewpoint
* &quot;WS&quot; wind speed
* &quot;WD&quot; wind direction
* followed by a level specification &quot;:PRESS=xxxx&quot; where xxxx is a level
* in hPa (millibars). To retrieve the temperature from the 850hPa level
* use the following getValue(&quot;T:PRESS=850&quot;);
*
* Some data is specific to the observation, latitude/longitude for
* example. These data may be retrieved using the parameter minus any level
* information as follows
* &quot;NLAT&quot; station latitude
* &quot;NLON&quot; station longitude
* </pre>
*
* If the sounding data defines a surface level, and a request for a level
* below surface is requested, a null value is returned.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return An Amount with value and units. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public Amount getValue(String paramName) {
Amount a = null;
if (parseParameter(paramName)) {
String pName = PARM_MAP.get(parameterName);
if ((pName != null) && (levels != null) && (levels.size() > 0)) {
UAObsLevel obsLevel = getLevel(levelId);
if (obsLevel != null) {
Integer iValue = null;
Double dValue = null;
if (UA_GEOHGT.equals(pName)) {
iValue = obsLevel.getGeoHeight();
if (iValue != null) {
a = new Amount(iValue, DISTANCE_UNIT);
}
} else if (SFC_TEMP.equals(pName)) {
dValue = obsLevel.getTemp();
if (dValue != null) {
a = new Amount(dValue, TEMPERATURE_UNIT);
}
} else if (SFC_DWPT.equals(pName)) {
dValue = obsLevel.getDwpt();
if (dValue != null) {
a = new Amount(dValue, TEMPERATURE_UNIT);
}
} else if (SFC_WNDSPD.equals(pName)) {
dValue = obsLevel.getWindSpeed();
if (dValue != null) {
a = new Amount(dValue, WIND_SPEED_UNIT);
}
} else if (SFC_WNDDIR.equals(pName)) {
iValue = obsLevel.getWindDirection();
if (iValue != null) {
a = new Amount(iValue, WIND_DIR_UNIT);
}
}
}
}
} else {
// Assume we are trying to get an observation attribute.
String pName = PARM_MAP.get(paramName);
if (STA_LAT.equals(pName)) {
a = new Amount(this.getLatitude(), LOCATION_UNIT);
} else if (STA_LON.equals(pName)) {
a = new Amount(this.getLongitude(), LOCATION_UNIT);
}
}
return a;
}
/**
* Get the value of a parameter that is represented as a String.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return The String value of the parameter. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
/**
* Determine if the parameter is a level request, and parse out the pressure
* level and parameter name if so.
*
* @param parameter
* The parameter string to parse.
* @return This is a level parameter.
*/
private boolean parseParameter(String parameter) {
boolean goodParse = false;
Pattern p = Pattern.compile(UA_PARAM_PTRN);
Matcher m = p.matcher(parameter);
if (m.find()) {
int start = parameter.indexOf(":PRESS=");
if (start > 0) {
parameterName = parameter.substring(0, start);
start += ":PRESS=".length();
levelId = Integer.parseInt(parameter.substring(start));
}
goodParse = true;
}
return goodParse;
}
/**
* Get a specified pressure level data if it exists. If the specified level
* is below the declared surface pressure a null reference is returned.
*
* @param level
* A pressure level to get.
* @return The requested level, if found, null reference if not.
*/
private UAObsLevel getLevel(Integer level) {
UAObsLevel retValue = null;
if (level != null) {
level = level * 100;
for (UAObsLevel l : levels) {
if (IDecoderConstants.MANPRE_LEVEL.equals(l.getVertSig())
|| IDecoderConstants.SIGPRE_LEVEL
.equals(l.getVertSig())) {
if (level.equals(l.getPressure())) {
retValue = l;
break;
}
}
}
}
if (retValue != null) {
UAObsLevel sfc = getSurfaceLevel();
if (sfc != null) {
if (LayerTools.isLowerThan(sfc, retValue)) {
retValue = null;
}
}
}
return retValue;
}
/**
* Get the defined surface level. If a surface level cannot be found, then
* return null.
*
* @return The surface level found, or null.
*/
private UAObsLevel getSurfaceLevel() {
UAObsLevel retValue = null;
if (levels != null) {
for (UAObsLevel level : levels) {
if (IDecoderConstants.SFC_LEVEL.equals(level.getVertSig())) {
retValue = level;
break;
}
}
}
return retValue;
}
@Override
public String[] getStrings(String paramName) {
// TODO Auto-generated method stub
return null;
}
@Override
public SurfaceObsLocation getSpatialObject() {
return location;

View file

@ -40,7 +40,6 @@ import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IHDFFilePathProvider;
@ -71,26 +70,27 @@ import com.raytheon.uf.common.time.util.ImmutableDate;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 03, 2009 2521 D. Hladky Initial release
* Jan 27, 2013 1478 D. Hladky OUN memory help
* Feb 28, 2013 1729 dhladky Supressed un-necessary debug loggers
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* April, 9 2013 1890 dhladky Moved dates to referenced map in record
* rather than multiple dates in
* FFMPBasin objs.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* Apr 16, 2013 1912 bsteffen Initial bulk hdf5 access for ffmp
* Apr 18, 2013 1919 dhladky Added method for VGB loading
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Jul 15, 2013 2184 dhladky Remove all HUC's for storage except ALL
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Oct 14, 2013 2361 njensen Removed XML annotations
* May 01, 2014 3026 mpduff Added metadata column.
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jun 03, 2009 2521 D. Hladky Initial release
* Jan 27, 2013 1478 D. Hladky OUN memory help
* Feb 28, 2013 1729 dhladky Supressed un-necessary debug loggers
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* Apr,09, 2013 1890 dhladky Moved dates to referenced map in record
* rather than multiple dates in FFMPBasin
* objs.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* Apr 16, 2013 1912 bsteffen Initial bulk hdf5 access for ffmp
* Apr 18, 2013 1919 dhladky Added method for VGB loading
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Jul 15, 2013 2184 dhladky Remove all HUC's for storage except ALL
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Oct 14, 2013 2361 njensen Removed XML annotations
* May 01, 2014 3026 mpduff Added metadata column.
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -338,17 +338,6 @@ public class FFMPRecord extends PersistablePluginDataObject implements
return sourceName;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record. Null for this
* class.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
/**
* finds the correct basin bin by hucName to place into
*

View file

@ -1,18 +1,26 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.dataplugin.fssobs;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import javax.measure.quantity.Angle;
import javax.measure.quantity.DataAmount;
import javax.measure.quantity.Length;
import javax.measure.quantity.Pressure;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -29,7 +37,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
@ -42,6 +49,20 @@ import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
/**
*
* {@link PluginDataObject} implementation for FSSObs.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*/
@Entity
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "fssobsseq")
@Table(name = FSSObsRecord.PLUGIN_NAME, uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@ -55,59 +76,17 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class FSSObsRecord extends PersistablePluginDataObject implements
ISpatialEnabled, IDecoderGettable, IPersistable, IPointData {
ISpatialEnabled, IPersistable, IPointData {
private static final long serialVersionUID = 1L;
public static final String PLUGIN_NAME = "fssobs";
private static final int MISSING = -9999;
// UNITS
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.CELSIUS;
public static final Unit<Velocity> WIND_SPEED_UNIT = NonSI.KNOT;
public static final Unit<Length> HEIGHT_UNIT = SI.METER;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Pressure> PRESSURE_UNIT = SI.HECTO(SI.PASCAL);
public static final Unit<Length> PRECIP_UNIT = NonSI.INCH;
public static final Unit<Length> WAVE_UNIT = SI.METER;
public static final Unit<Length> VISIBILITY_UNIT = NonSI.MILE;
public static final Unit<DataAmount> CLOUD_COVER = NonSI.OCTET;
/** Metar specific parameter keys */
public static final class ParameterKey {
public static final String SFC_ALTIMETER = "SFC.PRESS.ALTIMETER";
public static final String PRESSURE_CHANGE = "PCHNG";
public static final String VISIBILITY = "VIS";
public static final String PRECIPITATION_1HR = "PR1HR";
}
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put("rawMessage", "rawMessage");
}
/** is feature new **/
@Transient
@DynamicSerializeElement
@XmlElement
public boolean isNew = true;
protected boolean isNew = true;
// Current CWA (WFO)
@Column
@ -180,13 +159,13 @@ public class FSSObsRecord extends PersistablePluginDataObject implements
@Transient
@DynamicSerializeElement
@XmlElement
private float windSpeed = -9999;;
private float windSpeed = -9999;
// Wind gust in knots
@Transient
@DynamicSerializeElement
@XmlElement
private float windGust = -9999;;
private float windGust = -9999;
// Observed maximum wind speed in knots
@Transient
@ -397,58 +376,6 @@ public class FSSObsRecord extends PersistablePluginDataObject implements
super(uri);
}
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
@Override
public Amount getValue(String paramName) {
Amount a = null;
String pName = PARM_MAP.get(paramName);
if (SFC_TEMP.equals(pName) && (temperature != -9999f)) {
a = new Amount(temperature, TEMPERATURE_UNIT);
} else if (SFC_DWPT.equals(pName) && (dewpoint != -9999f)) {
a = new Amount(dewpoint, TEMPERATURE_UNIT);
} else if (SFC_WNDSPD.equals(pName) && (windSpeed != -9999f)) {
a = new Amount(windSpeed, WIND_SPEED_UNIT);
} else if (SFC_WNDDIR.equals(pName) && (windDir != -9999f)) {
a = new Amount(windDir, WIND_DIR_UNIT);
} else if (SFC_WNDGST.equals(pName) && (windGust != -9999f)) {
a = new Amount(windGust, WIND_SPEED_UNIT);
} else if (PRES_SLP.equals(pName) && (seaLevelPress != -9999f)) {
a = new Amount(seaLevelPress, PRESSURE_UNIT);
// } else if (PRES_ALTSG.equals(pName) && (pressureAltimeter !=
// -9999f)) {
// a = new Amount(pressureAltimeter, PRESSURE_UNIT);
} else if (STA_LAT.equals(pName)) {
a = new Amount(this.getLatitude(), LOCATION_UNIT);
} else if (STA_LON.equals(pName)) {
a = new Amount(this.getLongitude(), LOCATION_UNIT);
} else if ("WT".equals(pName) && (this.seaSurfaceTemp != -9999f)) {
a = new Amount(this.seaSurfaceTemp, TEMPERATURE_UNIT);
} else if ("WH".equals(pName)) {
a = new Amount(waveHeight, WAVE_UNIT);
} else if ("SWP".equals(pName)) {
a = new Amount(primarySwellWavePeriod, WAVE_UNIT);
} else if ("SWH".equals(pName)) {
a = new Amount(primarySwellWaveHeight, WAVE_UNIT);
// } else if ("PCHNG".equals(pName) && pressChange3Hour != MISSING)
// {
// a = new Amount(pressChange3Hour, PRESSURE_UNIT);
} else if ("PKWND".equals(paramName) && (maxWindSpeed != MISSING)) {
a = new Amount(maxWindSpeed, WIND_SPEED_UNIT);
} else if ("SWS".equals(paramName) || "SWGS".equals(paramName)) {
a = new Amount(1, WIND_SPEED_UNIT);
} else if ("SWD".equals(paramName) && (primarySwellWaveDir != MISSING)) {
a = new Amount(primarySwellWaveDir, WIND_DIR_UNIT);
}
return a;
}
/**
* @return the isNew
*/
@ -1172,21 +1099,6 @@ public class FSSObsRecord extends PersistablePluginDataObject implements
return totCloudAmount;
}
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
@Override
public String getString(String paramName) {
return null;
}
@Override
public String[] getStrings(String paramName) {
return null;
}
@Override
public ISpatialObject getSpatialObject() {
return location;

View file

@ -29,7 +29,6 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
@ -45,12 +44,13 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 3, 2013 mschenke Initial creation
* Apr 12, 2013 1857 bgonzale Changed to MappedSuperclass.
* Mar 02, 2013 1970 bgonzale Added SequenceGenerator and Inheritance Strategy
* annotations.
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jan 03, 2013 mschenke Initial creation
* Apr 12, 2013 1857 bgonzale Changed to MappedSuperclass.
* Mar 02, 2013 1970 bgonzale Added SequenceGenerator and Inheritance Strategy
* annotations.
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -86,11 +86,6 @@ public abstract class NPPSoundingRecord extends PersistablePluginDataObject
@DynamicSerializeElement
private Double longitude;
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
/**
* @return the latitude
*/

View file

@ -22,22 +22,12 @@ package com.raytheon.uf.common.dataplugin.obs.metar;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Length;
import javax.measure.quantity.Pressure;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -54,7 +44,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.obs.metar.util.SkyCover;
@ -75,29 +64,30 @@ import com.raytheon.uf.common.time.util.TimeUtil;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- ---------------------------------------
* Feb 14, 2007 139 bphillip Initial creation
* Nov 15, 2007 njensen Added static units info.
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Dec 04, 2007 472 jkorman getValue was using wrong select value.
* Dec 07, 2007 452 bphillip Added station lat/lon
* Dec 17, 2007 472 jkorman Changed to use ALTIMETER_UNIT.
* Dec 21, 2007 666 jkorman Modified to default all numerics to
* -9999.
* Apr 23, 2009 2338 jsanchez Implemented precip plots, cloud/vis.
* Added @DynamicSerializeElement to
* location.
* May 28, 2009 2225 jsanchez Implemented tempFromTenths and
* dewPointFromTenths.
* Jun 29, 2009 2538 jsanchez Made the sort public.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Feb 11, 2014 2784 rferrel Remove override of setIdentifier.
* Date Ticket# Engineer Description
* ------------- -------- ----------- ---------------------------------------
* Feb 14, 2007 139 bphillip Initial creation
* Nov 15, 2007 njensen Added static units info.
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Dec 04, 2007 472 jkorman getValue was using wrong select value.
* Dec 07, 2007 452 bphillip Added station lat/lon
* Dec 17, 2007 472 jkorman Changed to use ALTIMETER_UNIT.
* Dec 21, 2007 666 jkorman Modified to default all numerics to -9999
* Apr 23, 2009 2338 jsanchez Implemented precip plots, cloud/vis.
* Added @DynamicSerializeElement to
* location.
* May 28, 2009 2225 jsanchez Implemented tempFromTenths and
* dewPointFromTenths.
* Jun 29, 2009 2538 jsanchez Made the sort public.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Feb 11, 2014 2784 rferrel Remove override of setIdentifier.
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
* @author bphillip
@ -116,147 +106,13 @@ import com.raytheon.uf.common.time.util.TimeUtil;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class MetarRecord extends PersistablePluginDataObject implements
ISpatialEnabled, IDecoderGettable, IPointData {
ISpatialEnabled, IPointData {
public static final String PLUGIN_NAME = "obs";
public static final String STATION_ID = "stationId";
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.CELSIUS;
public static final Unit<Velocity> WIND_SPEED_UNIT = NonSI.KNOT;
public static final Unit<Length> HEIGHT_UNIT = SI.METER;
public static final Unit<Length> VISIBILITY_UNIT = SI.KILO(NonSI.MILE);
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Pressure> PRESSURE_UNIT = SI.HECTO(SI.PASCAL);
public static final Unit<Pressure> ALTIMETER_UNIT = SI.PASCAL;
public static final Unit<Length> PRECIP_UNIT = NonSI.INCH;
/** Metar specific parameter keys */
public static final class ParameterKey {
public static final String SFC_ALTIMETER = "SFC.PRESS.ALTIMETER";
public static final String PRESSURE_CHANGE = "PCHNG";
public static final String VISIBILITY = "VIS";
public static final String PRECIPITATION_1HR = "PR1HR";
public static final String PRECIPITATION_3HR = "PR3HR";
public static final String PRECIPITATION_6HR = "PR6HR";
public static final String PRECIPITATION_24HR = "PR24HR";
}
/** Parameter keys used in the legacy system */
public static final class LegacyParameterKey {
public static final String TEMPERATURE = "T";
public static final String DEW_POINT = "DpT";
public static final String WIND_SPEED = "wSp";
public static final String WIND_DIRECTION = "WD";
public static final String WIND_GUST = "Gust";
public static final String ALTIMETER = "Alti";
public static final String SEA_LEVEL_PRESSURE = "msl-P";
public static final String PRESSURE_CHANGE_3HR = "PT3";
public static final String VISABILITY = "Vis";
public static final String PRECIPITATION_1HR = "TP";
public static final String PRECIPITATION_3HR = "TP3hr";
public static final String PRECIPITATION_6HR = "TP6hr";
public static final String PRECIPITATION_24HR = "TP24hr";
// public static final String SNOW_DEPTH = "snow";
//
// public static final String SNOW_WATER = "weqs";
//
// public static final String SNOWFALL6_HOUR = "TP24hr";
//
// public static final String SUNSHINE = "msun";
//
// public static final String TEMP_MAX_6HOUR = "t6xc";
//
// public static final String TEMP_MIN_6HOUR = "t6nc";
private String value;
/**
*
* @param value
* the value of this legacy parameter key
*/
public void setValue(String value) {
this.value = value;
}
/**
*
* @return the value of this legacy parameter key
*/
public String getValue() {
return value;
}
}
/** Serializable id * */
private static final long serialVersionUID = 1L;
/**
* Maps common AWIPS I keys to IDecoderGettable and newer parameter key
* constants
*/
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put(LegacyParameterKey.TEMPERATURE, SFC_TEMP);
PARM_MAP.put(LegacyParameterKey.DEW_POINT, SFC_DWPT);
PARM_MAP.put(LegacyParameterKey.WIND_SPEED, SFC_WNDSPD);
PARM_MAP.put(LegacyParameterKey.WIND_DIRECTION, SFC_WNDDIR);
PARM_MAP.put(LegacyParameterKey.WIND_GUST, SFC_WNDGST);
PARM_MAP.put(LegacyParameterKey.ALTIMETER, ParameterKey.SFC_ALTIMETER);
PARM_MAP.put(LegacyParameterKey.SEA_LEVEL_PRESSURE, PRES_SLP);
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put(LegacyParameterKey.PRESSURE_CHANGE_3HR,
ParameterKey.PRESSURE_CHANGE);
// PARM_MAP.put("T24", "T24"); // not used
// PARM_MAP.put("DpT24", "DpT24"); // not used
// PARM_MAP.put("WS24", "WS24"); // not used
// PARM_MAP.put("WD24", "WD24"); // not used
// PARM_MAP.put("WGS24", "WGS24"); // not used
// PARM_MAP.put("ASET24", "ASET24"); // not used
// PARM_MAP.put("HIWC", "HIWC"); // not used
PARM_MAP.put(LegacyParameterKey.VISABILITY, ParameterKey.VISIBILITY);
PARM_MAP.put(LegacyParameterKey.PRECIPITATION_1HR,
ParameterKey.PRECIPITATION_1HR);
PARM_MAP.put(LegacyParameterKey.PRECIPITATION_3HR,
ParameterKey.PRECIPITATION_3HR);
PARM_MAP.put(LegacyParameterKey.PRECIPITATION_6HR,
ParameterKey.PRECIPITATION_6HR);
PARM_MAP.put(LegacyParameterKey.PRECIPITATION_24HR,
ParameterKey.PRECIPITATION_24HR);
}
@Transient
private String sampleType = null;
@ -1152,140 +1008,6 @@ public class MetarRecord extends PersistablePluginDataObject implements
this.nominalTime = nominalTime;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return this;
}
/**
* Get the value of a parameter that is represented as a String.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return The String value of the parameter. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public String getString(String paramName) {
if ("STA".matches(paramName)) {
return getStationId();
}
if ("WX".matches(paramName)) {
return this.weatherKey;
}
return null;
}
/*
* (non-Javadoc)
*
* @see
* com.raytheon.uf.common.dataplugin.IDecoderGettable#getValue(java.lang
* .String)
*/
@Override
public Amount getValue(String paramName) {
Amount a = null;
String pName = paramName;
if (PARM_MAP.containsKey(paramName)) {
// we have recieved an AWIPS I parameter name
pName = PARM_MAP.get(paramName);
}
if (SFC_TEMP.equals(pName)) {
if (tempFromTenths != -9999) {
a = new Amount(tempFromTenths, TEMPERATURE_UNIT);
} else if (temperature != -9999) {
a = new Amount(temperature, TEMPERATURE_UNIT);
}
} else if (SFC_DWPT.equals(pName)) {
if (dewPointFromTenths != -9999) {
a = new Amount(dewPointFromTenths, TEMPERATURE_UNIT);
} else if (dewPoint != -9999) {
a = new Amount(dewPoint, TEMPERATURE_UNIT);
}
} else if (SFC_WNDSPD.equals(pName)) {
a = new Amount(windSpeed, WIND_SPEED_UNIT);
} else if (SFC_WNDGST.equals(pName)) {
a = new Amount(windGust, WIND_SPEED_UNIT);
} else if (ParameterKey.PRESSURE_CHANGE.equals(pName)
&& (pressChange3Hour != -9999)) {
a = new Amount(pressChange3Hour, PRESSURE_UNIT);
} else if (SFC_WNDDIR.equals(pName)) {
String windDir = getWindDir();
if ((windDir != null) && !windDir.equalsIgnoreCase("VRB")) {
Double result = Double.parseDouble(windDir);
a = new Amount(result, WIND_DIR_UNIT);
}
} else if (PRES_ALTSG.equals(pName)) {
a = new Amount(altimeterInPa, ALTIMETER_UNIT);
} else if (STA_LAT.equals(pName)) {
a = new Amount(getLatitude(), LOCATION_UNIT);
} else if (STA_LON.equals(pName)) {
a = new Amount(getLongitude(), LOCATION_UNIT);
} else if (PRES_SLP.equals(pName)) {
a = new Amount(this.seaLevelPress, PRESSURE_UNIT);
} else if (pName.startsWith("HGT")) {
int start = "HGT".length();
int index = Integer.parseInt(pName.substring(start));
if ((index < skyCoverage.size())
&& (getSkyCover(index).getHeight() != null)) {
a = new Amount(getSkyCover(index).getHeight(), HEIGHT_UNIT);
}
} else if (pName.startsWith("HMSL")) {
int start = "HMSL".length();
int index = Integer.parseInt(pName.substring(start));
if ((index < skyCoverage.size())
&& (getSkyCover(index).getHeight() != null)
&& (getSpatialObject() != null)
&& (getSpatialObject().getElevation() != null)) {
a = new Amount(getSkyCover(index).getHeight()
+ getSpatialObject().getElevation(), HEIGHT_UNIT);
}
} else if (ParameterKey.PRECIPITATION_1HR.equals(pName)
|| ParameterKey.PRECIPITATION_24HR.equals(pName)) {
sampleType = "PR";
if (precip1Hour != -9999) {
a = new Amount(precip1Hour, PRECIP_UNIT);
}
} else if (ParameterKey.PRECIPITATION_3HR.equals(pName)) {
sampleType = "PR";
if (precip3Hour != -9999) {
a = new Amount(precip3Hour, PRECIP_UNIT);
}
} else if (ParameterKey.PRECIPITATION_6HR.equals(pName)) {
sampleType = "PR";
if (precip6Hour != -9999) {
a = new Amount(precip6Hour, PRECIP_UNIT);
}
} else if (ParameterKey.VISIBILITY.equals(pName)) {
a = new Amount(visibility, VISIBILITY_UNIT);
}
return a;
}
/**
* Get the value and units of a named parameter within this observation that
* has a multiplicity greater than 1.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return An Amount with value and units. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
/**
* Get the geometry latitude.
*
@ -1313,38 +1035,6 @@ public class MetarRecord extends PersistablePluginDataObject implements
return location.getElevation();
}
@Override
public String[] getStrings(String paramName) {
if ("SCV".matches(paramName)) {
ArrayList<String> skyCoverage = new ArrayList<String>();
for (SkyCover sky : this.skyCoverage) {
skyCoverage.add(sky.getType());
}
if (skyCoverage.size() > 0) {
return skyCoverage.toArray(new String[skyCoverage.size()]);
}
} else if ("WX".matches(paramName)) {
if (this.weatherKey != null) {
String[] presentWeather = { this.weatherKey };
return presentWeather;
}
} else if (paramName.startsWith("CLD")) {
int start = "CLD".length();
int index = Integer.parseInt(paramName.substring(start));
String[] retVal = { "BLNK" };
if (index < skyCoverage.size()) {
if (getSkyCover(index).getType() != null) {
retVal[0] = getSkyCover(index).getType();
}
}
return retVal;
} else if (paramName.matches("CCHAR") && (pressChangeChar != null)) {
String[] changeChar = { pressChangeChar };
return changeChar;
}
return null;
}
@Override
public int hashCode() {
final int PRIME = 31;
@ -1648,16 +1338,6 @@ public class MetarRecord extends PersistablePluginDataObject implements
return report;
}
private SkyCover getSkyCover(int index) {
if (!isSkyCoverageSorted) {
isSkyCoverageSorted = true;
sort(skyCoverage);
}
SkyCover[] sc = skyCoverage.toArray(new SkyCover[skyCoverage.size()]);
return sc[index];
}
public void sort(Set<SkyCover> skySet) {
SortedSet<SkyCover> skSet = new TreeSet<SkyCover>();
for (SkyCover sc : skySet) {
@ -1689,10 +1369,6 @@ public class MetarRecord extends PersistablePluginDataObject implements
this.pointDataView = pointDataView;
}
public static Set<String> getAvailableParameters() {
return PARM_MAP.keySet();
}
@Override
@Column
@Access(AccessType.PROPERTY)
@ -1702,6 +1378,6 @@ public class MetarRecord extends PersistablePluginDataObject implements
@Override
public String getPluginName() {
return "obs";
return PLUGIN_NAME;
}
}

View file

@ -52,7 +52,6 @@ import org.geotools.referencing.GeodeticCalculator;
import org.hibernate.annotations.Index;
import org.opengis.referencing.crs.ProjectedCRS;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IHDFFilePathProvider;
@ -116,25 +115,27 @@ import com.vividsolutions.jts.geom.Coordinate;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 14, 2007 139 Phillippe Initial creation
* Sep 14, 2007 379 jkorman Added populateDataStore() and
* getPersistenceTime() from new
* IPersistable
* Oct 09, 2007 465 randerso Updated to better represent level 3 data
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Mar 04, 2013 DCS51 zwang Handle MIGFA product
* Mar 18, 2013 1804 bsteffen Remove AlphanumericValues from radar
* HDF5.
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Dec 18, 2013 16002 kshrestha Added logic to match all dBZ values in the DHR with AWIPS1
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Feb 14, 2007 139 Phillippe Initial creation
* Sep 14, 2007 379 jkorman Added populateDataStore() and
* getPersistenceTime() from new
* IPersistable
* Oct 09, 2007 465 randerso Updated to better represent level 3 data
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Mar 04, 2013 DCS51 zwang Handle MIGFA product
* Mar 18, 2013 1804 bsteffen Remove AlphanumericValues from radar HDF5
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Dec 18, 2013 16002 kshrestha Added logic to match all dBZ values in
* the DHR with AWIPS1
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
*
* </pre>
*
@ -965,17 +966,6 @@ public class RadarRecord extends PersistablePluginDataObject implements
this.elevation = elevation;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record. Null for this
* class.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
public RadarStation getLocation() {
return location;
}
@ -1192,19 +1182,12 @@ public class RadarRecord extends PersistablePluginDataObject implements
private <T> void addPacketData(double i, double j, int type, T currData,
boolean needToConvert) {
addPacketData(i, j, "", type, RadarProductType.GENERAL, currData,
addPacketData(i, j, type, RadarProductType.GENERAL, currData,
needToConvert);
}
private <T> void addPacketData(double i, double j, int type,
RadarProductType productType, T currData, boolean needToConvert) {
addPacketData(i, j, "", type, productType, currData, needToConvert);
}
private <T> void addPacketData(double i, double j, String stormID,
int type, RadarProductType productType, T currData,
boolean needToConvert) {
// Convert x/y to lon/lat
if (needToConvert) {
Coordinate coor;

View file

@ -38,7 +38,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.geotools.coverage.grid.GridGeometry2D;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
@ -56,24 +55,26 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 14, 2007 139 bphillip Initial Creation
* Sep 14, 2007 379 jkorman Added populateDataStore() and
* getPersistenceTime() from new
* IPersistable
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Nov 06, 2008 1515 jkorman Changed units length from 16 to 26
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Jul 30, 2012 798 jkorman Support for common satellite data.
* Mar 25, 2013 1823 dgilling Replace underscores with spaces in URI
* constructor.
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Feb 14, 2007 139 bphillip Initial Creation
* Sep 14, 2007 379 jkorman Added populateDataStore() and
* getPersistenceTime() from new
* IPersistable
* Nov 29, 2007 472 jkorman Added IDecoderGettable interface.
* Nov 06, 2008 1515 jkorman Changed units length from 16 to 26
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Jul 30, 2012 798 jkorman Support for common satellite data.
* Mar 25, 2013 1823 dgilling Replace underscores with spaces in URI
* constructor.
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
* @author bphillip
@ -94,7 +95,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
public class SatelliteRecord extends PersistablePluginDataObject implements
IGridGeometryProvider {
public static final String PLUGIN_ID = "satellite";
public static final String PLUGIN_NAME = "satellite";
private static final long serialVersionUID = 1L;
@ -253,17 +254,6 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
this.units = units;
}
/**
* Get the IDecoderGettable reference for this record.
*
* @return The IDecoderGettable reference for this record. Null for this
* class.
*/
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
public String getSource() {
return source;
}
@ -354,6 +344,6 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
@Override
public String getPluginName() {
return "satellite";
return PLUGIN_NAME;
}
}

View file

@ -21,19 +21,8 @@ package com.raytheon.uf.common.dataplugin.sfcobs;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import javax.measure.quantity.Angle;
import javax.measure.quantity.DataAmount;
import javax.measure.quantity.Length;
import javax.measure.quantity.Pressure;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Velocity;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
@ -51,7 +40,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
@ -69,15 +57,16 @@ import com.vividsolutions.jts.geom.Geometry;
* <pre>
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Oct 01, 2009 jkorman Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Oct 01, 2009 jkorman Initial creation
* Apr 04, 2013 1846 bkowal Added an index on refTime and
* forecastTime
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 07, 2013 1869 bsteffen Remove dataURI column from
* PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -97,55 +86,10 @@ import com.vividsolutions.jts.geom.Geometry;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class ObsCommon extends PersistablePluginDataObject implements
ISpatialEnabled, IDecoderGettable, IPointData {
ISpatialEnabled, IPointData {
private static final long serialVersionUID = 1L;
private static final int MISSING = -9999;
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
public static final Unit<Velocity> WIND_SPEED_UNIT = SI.METERS_PER_SECOND;
public static final Unit<Angle> WIND_DIR_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Pressure> PRESSURE_UNIT = SI.PASCAL;
public static final Unit<Angle> LOCATION_UNIT = NonSI.DEGREE_ANGLE;
public static final Unit<Length> WAVE_UNIT = SI.METER;
public static final Unit<Length> VISIBILITY_UNIT = NonSI.MILE;
public static final Unit<DataAmount> CLOUD_COVER = NonSI.OCTET;
private static final HashMap<String, String> PARM_MAP = new HashMap<String, String>();
static {
PARM_MAP.put("T", SFC_TEMP);
PARM_MAP.put("DpT", SFC_DWPT);
PARM_MAP.put("WS", SFC_WNDSPD);
PARM_MAP.put("WD", SFC_WNDDIR);
PARM_MAP.put("WGS", SFC_WNDGST);
PARM_MAP.put("Px", PRES_STATION);
PARM_MAP.put("PMSL", PRES_SLP);
PARM_MAP.put("ASET", PRES_ALTSG);
PARM_MAP.put("NLAT", STA_LAT);
PARM_MAP.put("NLON", STA_LON);
PARM_MAP.put("WT", "WT");
PARM_MAP.put("TCC", "TCC");
PARM_MAP.put("WP", "WP");
PARM_MAP.put("WH", "WH");
PARM_MAP.put("SWP", "SWP");
PARM_MAP.put("SWH", "SWH");
PARM_MAP.put("SWS", "SWS");
PARM_MAP.put("SWD", "SWD");
PARM_MAP.put("SWGS", "SWGS");
PARM_MAP.put("PCHNG", "PCHNG");
PARM_MAP.put("PKWND", "PKWND");
PARM_MAP.put("VIS", "VIS");
PARM_MAP.put("COVpct", "COVpct");
}
//
@DataURI(position = 1)
@Column
@ -1496,22 +1440,6 @@ public class ObsCommon extends PersistablePluginDataObject implements
interWinds.add(wind);
}
/**
* Set the data uri for this observation.
*
* @param dataURI
*/
@Override
public void setDataURI(String dataURI) {
super.setDataURI(dataURI);
identifier = dataURI;
}
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
@Override
public SurfaceObsLocation getSpatialObject() {
return location;
@ -1579,84 +1507,6 @@ public class ObsCommon extends PersistablePluginDataObject implements
return location.getLocationDefined();
}
@Override
public String getString(String paramName) {
return null;
}
@Override
public String[] getStrings(String paramName) {
return null;
}
/**
* Get the value and units of a named parameter within this observation.
*
* @param paramName
* The name of the parameter value to retrieve.
* @return An Amount with value and units. If the parameter is unknown, a
* null reference is returned.
*/
@Override
public Amount getValue(String paramName) {
Amount a = null;
String pName = PARM_MAP.get(paramName);
if (SFC_TEMP.equals(pName) && (temp != null)) {
a = new Amount(temp, TEMPERATURE_UNIT);
} else if (SFC_DWPT.equals(pName) && (dwpt != null)) {
a = new Amount(dwpt, TEMPERATURE_UNIT);
} else if (SFC_WNDSPD.equals(pName) && (windSpeed != null)) {
a = new Amount(windSpeed, WIND_SPEED_UNIT);
} else if (SFC_WNDDIR.equals(pName) && (windDirection != null)) {
a = new Amount(windDirection, WIND_DIR_UNIT);
} else if (SFC_WNDGST.equals(pName) && (windGust != null)) {
a = new Amount(windGust, WIND_SPEED_UNIT);
} else if (PRES_STATION.equals(pName) && (pressureStation != null)) {
a = new Amount(pressureStation, PRESSURE_UNIT);
} else if (PRES_SLP.equals(pName) && (pressureSealevel != null)) {
a = new Amount(pressureSealevel, PRESSURE_UNIT);
} else if (PRES_ALTSG.equals(pName) && (pressureAltimeter != null)) {
a = new Amount(pressureAltimeter, PRESSURE_UNIT);
} else if (STA_LAT.equals(pName)) {
a = new Amount(this.getLatitude(), LOCATION_UNIT);
} else if (STA_LON.equals(pName)) {
a = new Amount(this.getLongitude(), LOCATION_UNIT);
} else if ("WT".equals(pName) && (this.seaTemp != null)) {
a = new Amount(this.seaTemp, TEMPERATURE_UNIT);
} else if ("TCC".equals(pName) && (this.totalCloudCover != null)) {
a = new Amount(this.totalCloudCover, CLOUD_COVER);
} else if ("COVpct".equals(pName) && (this.totalCloudCover != null)) {
a = new Amount(this.totalCloudCover * 10, CLOUD_COVER);
} else if ("WP".equals(pName)) {
a = new Amount(wavePeriod, WAVE_UNIT);
} else if ("WH".equals(pName)) {
a = new Amount(waveHeight, WAVE_UNIT);
} else if ("SWP".equals(pName)) {
a = new Amount(primarySwellWavePeriod, WAVE_UNIT);
} else if ("SWH".equals(pName)) {
a = new Amount(primarySwellWaveHeight, WAVE_UNIT);
} else if ("PCHNG".equals(pName) && (pressChange3Hr != MISSING)) {
a = new Amount(pressChange3Hr, PRESSURE_UNIT);
} else if ("VIS".equals(pName) && (this.horzVisibility != null)) {
a = new Amount(this.horzVisibility / 1000, VISIBILITY_UNIT);
} else if ("PKWND".equals(paramName) && (peakWindSpeed != MISSING)) {
a = new Amount(peakWindSpeed, WIND_SPEED_UNIT);
} else if ("SWS".equals(paramName) || "SWGS".equals(paramName)) {
a = new Amount(1, WIND_SPEED_UNIT);
} else if ("SWD".equals(paramName) && (primarySwellWaveDir != MISSING)) {
a = new Amount(primarySwellWaveDir, WIND_DIR_UNIT);
}
return a;
}
@Override
public Collection<Amount> getValues(String paramName) {
return null;
}
@Override
public PointDataView getPointDataView() {
return pointDataView;

View file

@ -35,7 +35,6 @@ import javax.persistence.Transient;
import org.hibernate.annotations.Type;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
@ -47,17 +46,18 @@ import com.vividsolutions.jts.geom.Geometry;
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 12, 2007 1003 bwoodle initial creation
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 02, 2013 1949 rjpeter Moved ugcZones to be a column inside
* table.
* Jul 16, 2013 2181 bsteffen Convert geometry types to use hibernate-
* spatial
* Aug 08, 2013 2243 jsanchez Removed super method in copy
* constructor.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Mar 12, 2007 1003 bwoodle initial creation
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
* May 02, 2013 1949 rjpeter Moved ugcZones to be a column inside
* table.
* Jul 16, 2013 2181 bsteffen Convert geometry types to use hibernate-
* spatial
* Aug 08, 2013 2243 jsanchez Removed super method in copy constructor.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
* @author bwoodle
@ -279,11 +279,6 @@ public abstract class AbstractWarningRecord extends PluginDataObject {
super(uri);
}
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
public String createWarningProduct() {
return "Not yet implemented.";
}

View file

@ -35,7 +35,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
import com.raytheon.uf.common.geospatial.ISpatialObject;
@ -48,15 +47,16 @@ import com.raytheon.uf.common.serialization.SerializationUtil;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
/**
* TODO Add Description
* Filter {@link PluginDataObject}s based off configurable parameters.
*
* <pre>
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 16, 2009 jkorman Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Jul 16, 2009 jkorman Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
@ -102,8 +102,9 @@ public class PluginDataObjectFilter extends AbstractObsFilter {
stream.read(data);
stream.close();
AbstractObsFilter filter = (AbstractObsFilter) SerializationUtil
.unmarshalFromXml(new String(data));
AbstractObsFilter filter = SerializationUtil
.unmarshalFromXml(AbstractObsFilter.class,
new String(data));
setFilterElements(filter.getFilterElements());
setFilterName(filter.getFilterName());
@ -231,11 +232,6 @@ public class PluginDataObjectFilter extends AbstractObsFilter {
SurfaceObsLocation location;
@Override
public IDecoderGettable getDecoderGettable() {
return null;
}
@Override
public ISpatialObject getSpatialObject() {
return location;

View file

@ -23,36 +23,35 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.edex.decodertools.core.DecoderTools;
import com.vividsolutions.jts.geom.Geometry;
/**
* TODO Add Description
* Filter {@link PluginDataObject}s based off their distance from a specific
* point.
*
* <pre>
*
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 23, 2009 jkorman Initial creation
*
*
* Date Ticket# Engineer Description
* ------------- -------- ----------- --------------------------
* Mar 23, 2009 jkorman Initial creation
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
*
* </pre>
*
*
* @author jkorman
* @version 1.0
* @version 1.0
*/
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class RadiusFilterElement extends AbstractFilterElement implements ISerializableObject {
public class RadiusFilterElement extends AbstractFilterElement {
private static final String FMT = "RadiusFilterElement:%s[%8.4f,%9.4f,%5.1f]";
@ -170,6 +169,7 @@ public class RadiusFilterElement extends AbstractFilterElement implements ISeria
return pointLon;
}
@Override
public String toString() {
return String.format(FMT,getFilterElementName(),pointLat,pointLon,radius);
}