From 4b6e4fcd3a5a833db5dbae6457377ff300b8c9f6 Mon Sep 17 00:00:00 2001 From: Richard Peter Date: Thu, 12 Sep 2013 13:47:43 -0500 Subject: [PATCH] Issue #2362: Merge issues with initial cherry pick of Wes2Bridge DRs Former-commit-id: 89a61850616dd532fc81e7cdaefc9dcb360633f3 --- .../viz/warngen/gui/FollowupData.java | 13 +- .../META-INF/MANIFEST.MF | 2 +- .../plugin/satellite/SatelliteDecoder.java | 58 +-- .../shef/TestMetarToShefTransformer.java | 52 ++- .../dataplugin/npp/nucaps/NucapsRecord.java | 2 +- .../uf/edex/database/plugin/PluginDao.java | 2 +- .../uf/edex/plugin/ffmp/FFMPGenerator.java | 1 + .../gpd/GenericPointDataRecord.java | 431 +++++++++--------- .../edex/plugin/aww/decoder/AwwDecoder.java | 22 +- 9 files changed, 298 insertions(+), 285 deletions(-) diff --git a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java index 90abe1fc73..c54a84d9aa 100644 --- a/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java +++ b/cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/FollowupData.java @@ -51,7 +51,7 @@ public class FollowupData extends AbstractWarningRecord { /** * String displayed in the drop down update list. */ - private String displayString; + private final String displayString; /** * String used to test if this object is equivalent to one of the updated @@ -62,7 +62,7 @@ public class FollowupData extends AbstractWarningRecord { /** * Information string used when the follow up is no longer valid or allowed. */ - private String expirationString; + private final String expirationString; public FollowupData(WarningAction action, AbstractWarningRecord record) { super(record); @@ -192,4 +192,13 @@ public class FollowupData extends AbstractWarningRecord { return expirationString; } + /* + * (non-Javadoc) + * + * @see com.raytheon.uf.common.dataplugin.PluginDataObject#getPluginName() + */ + @Override + public String getPluginName() { + return "followUpWarning"; + } } diff --git a/cots/edu.uci.ics.crawler4j/META-INF/MANIFEST.MF b/cots/edu.uci.ics.crawler4j/META-INF/MANIFEST.MF index faccfa6f8d..4532dbcd7c 100644 --- a/cots/edu.uci.ics.crawler4j/META-INF/MANIFEST.MF +++ b/cots/edu.uci.ics.crawler4j/META-INF/MANIFEST.MF @@ -21,7 +21,7 @@ Bundle-ClassPath: apache-mime4j-core-0.7.jar, tika-parsers-1.0.jar, . Require-Bundle: org.eclipse.core.runtime, - org.apache.log4j + org.apache.log4j, org.apache.commons.compress;bundle-version="1.5.0" Export-Package: com.drew.imaging, com.drew.imaging.jpeg, diff --git a/edexOsgi/com.raytheon.edex.plugin.satellite/src/com/raytheon/edex/plugin/satellite/SatelliteDecoder.java b/edexOsgi/com.raytheon.edex.plugin.satellite/src/com/raytheon/edex/plugin/satellite/SatelliteDecoder.java index 55827a56ef..1a6457edac 100644 --- a/edexOsgi/com.raytheon.edex.plugin.satellite/src/com/raytheon/edex/plugin/satellite/SatelliteDecoder.java +++ b/edexOsgi/com.raytheon.edex.plugin.satellite/src/com/raytheon/edex/plugin/satellite/SatelliteDecoder.java @@ -46,9 +46,9 @@ import com.raytheon.uf.common.datastorage.records.IDataRecord; import com.raytheon.uf.common.status.IPerformanceStatusHandler; import com.raytheon.uf.common.status.PerformanceStatus; import com.raytheon.uf.common.time.DataTime; -import com.raytheon.uf.common.util.ArraysUtil; import com.raytheon.uf.common.time.util.ITimer; import com.raytheon.uf.common.time.util.TimeUtil; +import com.raytheon.uf.common.util.ArraysUtil; import com.raytheon.uf.edex.decodertools.time.TimeTools; import com.raytheon.uf.edex.wmo.message.WMOHeader; @@ -79,7 +79,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader; * 01/03/2013 15294 D. Friedman Start with File instead of byte[] to * reduce memory usage. * Feb 15, 2013 1638 mschenke Moved array based utilities from Util into ArraysUtil - * + * * Mar 19, 2013 1785 bgonzale Added performance status handler and added status * to decode. * @@ -90,7 +90,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader; */ public class SatelliteDecoder extends AbstractDecoder { - private String traceId = ""; + private final String traceId = ""; private static final int MAX_IMAGE_SIZE = 30000000; @@ -111,8 +111,9 @@ public class SatelliteDecoder extends AbstractDecoder { SatelliteRecord record = null; - if (file == null || (file.length() < 1)) + if ((file == null) || (file.length() < 1)) { return new PluginDataObject[0]; + } RandomAccessFile f = new RandomAccessFile(file, "r"); try { ITimer timer = TimeUtil.getTimer(); @@ -129,7 +130,8 @@ public class SatelliteDecoder extends AbstractDecoder { byteBuffer = null; } if (byteBuffer != null) { - int offsetOfDataInFile = byteBuffer.position() + GINI_HEADER_SIZE; + int offsetOfDataInFile = byteBuffer.position() + + GINI_HEADER_SIZE; Calendar calendar = Calendar.getInstance(TimeZone .getTimeZone("GMT")); int intValue = 0; @@ -140,20 +142,23 @@ public class SatelliteDecoder extends AbstractDecoder { record = new SatelliteRecord(); if (isCompressed(byteBuffer)) { - /* If the data is compressed, we assume it came from the SBN + /* + * If the data is compressed, we assume it came from the SBN * and will have a reasonable size such that we can have two - * copies of the data in memory at the same time. Ideally, + * copies of the data in memory at the same time. Ideally, * SBN decompression should be performed upstream from EDEX * and this code would be removed. */ - byte[] data = new byte[(int) file.length() - byteBuffer.position()]; + byte[] data = new byte[(int) file.length() + - byteBuffer.position()]; f.seek(byteBuffer.position()); f.readFully(data); byte[][] retVal = decompressSatellite(data); byteBuffer = ByteBuffer.wrap(retVal[0]); tempBytes = retVal[1]; } else { - /* The code bellow performs absolute gets on the buffer, so + /* + * The code bellow performs absolute gets on the buffer, so * it needs to be compacted. */ byteBuffer.compact(); @@ -255,7 +260,7 @@ public class SatelliteDecoder extends AbstractDecoder { // Get the Satellite Height int satHeight = byteBuffer.getShort(53); - if (latSub != 0 || lonSub != 0 || satHeight != 0) { + if ((latSub != 0) || (lonSub != 0) || (satHeight != 0)) { // Correct the longitude so negative is west lonSub *= -1; // Correct the height to be height above ground @@ -287,8 +292,9 @@ public class SatelliteDecoder extends AbstractDecoder { // get number of points along y-axis int ny = byteBuffer.getShort(18); - /* If input was SBN-compressed, we already have the data - * loaded. If not, load it now. + /* + * If input was SBN-compressed, we already have the data loaded. + * If not, load it now. */ if (tempBytes == null) { tempBytes = new byte[nx * ny]; @@ -433,7 +439,6 @@ public class SatelliteDecoder extends AbstractDecoder { record.setCoverage(mapCoverage); record.setPersistenceTime(TimeTools.getSystemCalendar() .getTime()); - record.setPluginName("satellite"); record.constructDataURI(); // Create the data record. IDataRecord dataRec = messageData.getStorageRecord(record, @@ -466,10 +471,11 @@ public class SatelliteDecoder extends AbstractDecoder { * @throws DecoderException * If WMO header is not found, or is incorrect. * @param messageData - * Contains the start of the satellite data file. On return, - * the position is set the beginning of the GINI header. + * Contains the start of the satellite data file. On return, the + * position is set the beginning of the GINI header. */ - private void removeWmoHeader(ByteBuffer messageData) throws DecoderException { + private void removeWmoHeader(ByteBuffer messageData) + throws DecoderException { // Copy to a char [], carefully, as creating a string from // a byte [] with binary data can create erroneous data @@ -500,7 +506,7 @@ public class SatelliteDecoder extends AbstractDecoder { * Checks to see if the current satellite product is compressed. * * Assumes messageData is a byte[]-backed ByteBuffer. - * + * * @return A boolean indicating if the file is compressed or not */ private boolean isCompressed(ByteBuffer messageData) { @@ -508,8 +514,8 @@ public class SatelliteDecoder extends AbstractDecoder { byte[] placeholder = new byte[10]; Inflater decompressor = new Inflater(); try { - decompressor.setInput(messageData.array(), - messageData.position(), messageData.remaining()); + decompressor.setInput(messageData.array(), messageData.position(), + messageData.remaining()); decompressor.inflate(placeholder); } catch (DataFormatException e) { compressed = false; @@ -539,14 +545,13 @@ public class SatelliteDecoder extends AbstractDecoder { // Allocate 30MB for a possible max size ByteArrayOutputStream bos = new ByteArrayOutputStream(MAX_IMAGE_SIZE); int totalBytesDecomp = 0; - int decompByteCounter = 0; byte[] inputArray = new byte[1024 * 10]; Inflater decompressor = new Inflater(); int index = -1; try { while (totalBytesDecomp < zSatellite.length) { - int compChunkSize = zSatellite.length - totalBytesDecomp > 10240 ? 10240 + int compChunkSize = (zSatellite.length - totalBytesDecomp) > 10240 ? 10240 : zSatellite.length - totalBytesDecomp; // copy compChunkSize compressed data from zSatellite, offset by @@ -570,9 +575,6 @@ public class SatelliteDecoder extends AbstractDecoder { throw new DecoderException( "Unable to decompress satellite data - input data appears to be truncated"); } - // add the total bytes decompressed from inflate call - decompByteCounter += inflatedBytes; - // retrieve the total compressed bytes input so far totalBytesDecomp += decompressor.getTotalIn(); @@ -641,9 +643,9 @@ public class SatelliteDecoder extends AbstractDecoder { } - if (index != -1 && (index + 3 <= inflateArray.length - 1)) { - if (!(inflateArray[index] == -1 && inflateArray[index + 1] == 0 - && inflateArray[index + 2] == -1 && inflateArray[index + 3] == 0)) { + if ((index != -1) && ((index + 3) <= (inflateArray.length - 1))) { + if (!((inflateArray[index] == -1) && (inflateArray[index + 1] == 0) + && (inflateArray[index + 2] == -1) && (inflateArray[index + 3] == 0))) { index = getIndex(inflateArray, index + 1); } } else { @@ -686,7 +688,7 @@ public class SatelliteDecoder extends AbstractDecoder { if (byteArray[0] < 0) { // remove the negative value byteArray[0] &= 127; - latitude = byteArrayToFloat(byteArray) / 10000 * -1; + latitude = (byteArrayToFloat(byteArray) / 10000) * -1; } else { latitude = byteArrayToFloat(byteArray) / 10000; } diff --git a/edexOsgi/com.raytheon.edex.plugin.shef/unit-test/test/edex/transform/shef/TestMetarToShefTransformer.java b/edexOsgi/com.raytheon.edex.plugin.shef/unit-test/test/edex/transform/shef/TestMetarToShefTransformer.java index 8a4b988f28..2c473e8bce 100644 --- a/edexOsgi/com.raytheon.edex.plugin.shef/unit-test/test/edex/transform/shef/TestMetarToShefTransformer.java +++ b/edexOsgi/com.raytheon.edex.plugin.shef/unit-test/test/edex/transform/shef/TestMetarToShefTransformer.java @@ -19,10 +19,15 @@ **/ package test.edex.transform.shef; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + import java.util.Iterator; import org.junit.Test; -import static org.junit.Assert.*; import com.raytheon.edex.transform.shef.MetarToShefTransformer; import com.raytheon.uf.common.dataplugin.IDecoderGettable; @@ -32,26 +37,25 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject; * Tests extracted from MetarToShef. * *
- *
+ * 
  * SOFTWARE HISTORY
- *
+ * 
  * Date         Ticket#    Engineer    Description
  * ------------ ---------- ----------- --------------------------
  * ======================================
  * AWIPS2 DR Work
  * 20120918           1185 jkorman     Extracted from mains
- *
+ * 
  * 
- * + * * @author jkorman - * @version 1.0 + * @version 1.0 */ public class TestMetarToShefTransformer { /** - * Test that the transformer creates an empty iterator when - * given no input. + * Test that the transformer creates an empty iterator when given no input. */ @Test public void testMetarToShefInteratorA() { @@ -60,18 +64,17 @@ public class TestMetarToShefTransformer { assertNotNull(it); assertFalse(it.hasNext()); assertNull(it.next()); - - pdos = new PluginDataObject [0]; + + pdos = new PluginDataObject[0]; it = MetarToShefTransformer.iterate(pdos); assertNotNull(it); assertFalse(it.hasNext()); assertNull(it.next()); - + } - + /** - * Test that the transformer creates an non-empty iterator for - * given input. + * Test that the transformer creates an non-empty iterator for given input. */ @Test public void testMetarToShefInteratorB() { @@ -81,8 +84,20 @@ public class TestMetarToShefTransformer { public IDecoderGettable getDecoderGettable() { return null; } + + /* + * (non-Javadoc) + * + * @see + * com.raytheon.uf.common.dataplugin.PluginDataObject#getPluginName + * () + */ + @Override + public String getPluginName() { + return "testMetarToShef"; + } }; - + PluginDataObject[] pdos = { p, }; Iterator it = MetarToShefTransformer.iterate(pdos); assertNotNull(it); @@ -105,9 +120,6 @@ public class TestMetarToShefTransformer { + "\r\r\n: 60000 T00330011 10078 20033 53021 931012 933025 98245 4/005=", newobs.toString()); - } - - - - + } + } diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/src/com/raytheon/uf/common/dataplugin/npp/nucaps/NucapsRecord.java b/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/src/com/raytheon/uf/common/dataplugin/npp/nucaps/NucapsRecord.java index 611b4fa530..b77931e636 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/src/com/raytheon/uf/common/dataplugin/npp/nucaps/NucapsRecord.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.npp.nucaps/src/com/raytheon/uf/common/dataplugin/npp/nucaps/NucapsRecord.java @@ -95,6 +95,6 @@ public class NucapsRecord extends NPPSoundingRecord { @Override public String getPluginName() { - return PLUGIN_NAME; + return "nucaps"; } } diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java index e42812bf5c..a52de16a73 100644 --- a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java +++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java @@ -754,7 +754,7 @@ public abstract class PluginDao extends CoreDao { * @throws DataAccessLayerException */ protected int purgeExpiredKey(PurgeRuleSet ruleSet, String[] purgeKeys) - String[] purgeKeys) throws DataAccessLayerException { + throws DataAccessLayerException { List rules = ruleSet.getRuleForKeys(purgeKeys); if (rules == null) { diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/FFMPGenerator.java b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/FFMPGenerator.java index 49514b6199..e27d61d78c 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/FFMPGenerator.java +++ b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/FFMPGenerator.java @@ -46,6 +46,7 @@ import com.raytheon.uf.common.dataplugin.ffmp.FFMPTemplates; import com.raytheon.uf.common.dataplugin.ffmp.FFMPTemplates.MODE; import com.raytheon.uf.common.dataplugin.ffmp.FFMPUtils; import com.raytheon.uf.common.dataplugin.ffmp.SourceBinList; +import com.raytheon.uf.common.dataplugin.ffmp.dao.FFMPDao; import com.raytheon.uf.common.dataplugin.message.DataURINotificationMessage; import com.raytheon.uf.common.dataplugin.radar.RadarStation; import com.raytheon.uf.common.dataplugin.radar.util.RadarsInUseUtil; diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.gpd/src/gov/noaa/nws/ncep/common/dataplugin/gpd/GenericPointDataRecord.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.gpd/src/gov/noaa/nws/ncep/common/dataplugin/gpd/GenericPointDataRecord.java index 04fa3abd8f..9c8b4bd96e 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.gpd/src/gov/noaa/nws/ncep/common/dataplugin/gpd/GenericPointDataRecord.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.gpd/src/gov/noaa/nws/ncep/common/dataplugin/gpd/GenericPointDataRecord.java @@ -49,264 +49,259 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.time.DataTime; @Entity -//@Table(name = "gpd", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) +// @Table(name = "gpd", uniqueConstraints = { @UniqueConstraint(columnNames = { +// "dataURI" }) }) @SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "gpdseq") @Table(name = "gpd") @DynamicSerialize @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement -public class GenericPointDataRecord extends PersistablePluginDataObject implements -/*ISpatialEnabled,*/ IDecoderGettable, IPointData, IPersistable { +public class GenericPointDataRecord extends PersistablePluginDataObject + implements + /* ISpatialEnabled, */IDecoderGettable, IPointData, IPersistable { - private static final long serialVersionUID = 1L; - @ManyToOne - @PrimaryKeyJoinColumn - //@DataURI(position = 1, embedded = true) - @DynamicSerializeElement - @XmlElement - private GenericPointDataProductInfo productInfo; + private static final long serialVersionUID = 1L; - @ManyToOne + @ManyToOne + @PrimaryKeyJoinColumn + // @DataURI(position = 1, embedded = true) + @DynamicSerializeElement + @XmlElement + private GenericPointDataProductInfo productInfo; + + @ManyToOne @PrimaryKeyJoinColumn @DynamicSerializeElement @XmlElement - private ObStation location; - - @Column - @DynamicSerializeElement - @XmlAttribute - private float slat; + private ObStation location; - @Column - @DynamicSerializeElement - @XmlAttribute - private float slon; + @Column + @DynamicSerializeElement + @XmlAttribute + private float slat; - @Embedded - @DynamicSerializeElement - private PointDataView pointDataView; - - /* TBM - chin...delete these later..not used? - @Column - @DynamicSerializeElement - @XmlAttribute - private int numLevel; - */ - - @Column - @DynamicSerializeElement - @XmlAttribute - //@DataURI(position = 2) - //product release version for product correction used only. - private int productVersion=0; - - - //list of master level values - @Transient - @XmlElement - private List levelValueLst = new ArrayList(); - - //one level of parameters value map. Key (String) = parameter name, value (double) = parameter value - //@Transient - //private HashMap Map_ParmToValue = new HashMap(); - - //Map of all levels of parameters value maps. Key (integer) = level value in levelValueLst, value = - // one level of parameter values = a Map_ParmToValue map). - //@Transient - //private HashMap> Map_LevelToParmValueMap = new HashMap >(); - - public GenericPointDataRecord() { - super(); - //System.out.println("GenericPointDataRecord() entered"); - - } + @Column + @DynamicSerializeElement + @XmlAttribute + private float slon; - public GenericPointDataRecord(String uri) { - super(uri); - //System.out.println("GenericPointDataRecord(String uri) entered"); - } + @Embedded + @DynamicSerializeElement + private PointDataView pointDataView; - public GenericPointDataRecord(String uri, GenericPointDataProductInfo productInfo, - ObStation location, - float slat, float slon, PointDataView pointDataView) { - super(uri); - this.productInfo = productInfo; - this.location = location; - this.slat = slat; - this.slon = slon; - this.pointDataView = pointDataView; - this.pluginName ="gpd"; - //System.out.println("GenericPointDataRecord(3) entered"); - } - public GenericPointDataRecord(GenericPointDataProductInfo productInfo, - ObStation location, - float slat, float slon, PointDataView pointDataView, DataTime dataTime, - int productVersion) { - this.productInfo = productInfo; - this.location = location; - this.slat = slat; - this.slon = slon; - this.pointDataView = pointDataView; - this.dataTime = dataTime; - this.productVersion = productVersion; - this.pluginName ="gpd"; - //System.out.println("GenericPointDataRecord(4) entered"); - } - - /* TBM - chin...delete it later..not used? - public void constructTransientListAndMap(GenericPointDataStationProduct stnPd){ - setNumLevel(stnPd.getNumLevel()); - for(int i=0; i levelValueLst = new ArrayList(); - public void setProductInfo(GenericPointDataProductInfo productInfo) { - this.productInfo = productInfo; - } + // one level of parameters value map. Key (String) = parameter name, value + // (double) = parameter value + // @Transient + // private HashMap Map_ParmToValue = new HashMap(); - public float getSlat() { - return slat; - } + // Map of all levels of parameters value maps. Key (integer) = level value + // in levelValueLst, value = + // one level of parameter values = a Map_ParmToValue map). + // @Transient + // private HashMap> Map_LevelToParmValueMap = + // new HashMap >(); - public void setSlat(float slat) { - this.slat = slat; - } + public GenericPointDataRecord() { + super(); + // System.out.println("GenericPointDataRecord() entered"); - public float getSlon() { - return slon; - } + } - public void setSlon(float slon) { - this.slon = slon; - } + public GenericPointDataRecord(String uri) { + super(uri); + // System.out.println("GenericPointDataRecord(String uri) entered"); + } - @Override - public IDecoderGettable getDecoderGettable() { - // TODO Auto-generated method stub - return null; - } + public GenericPointDataRecord(String uri, + GenericPointDataProductInfo productInfo, ObStation location, + float slat, float slon, PointDataView pointDataView) { + super(uri); + this.productInfo = productInfo; + this.location = location; + this.slat = slat; + this.slon = slon; + this.pointDataView = pointDataView; + // System.out.println("GenericPointDataRecord(3) entered"); + } - @Override - public PointDataView getPointDataView() { - return this.pointDataView; - } + public GenericPointDataRecord(GenericPointDataProductInfo productInfo, + ObStation location, float slat, float slon, + PointDataView pointDataView, DataTime dataTime, int productVersion) { + this.productInfo = productInfo; + this.location = location; + this.slat = slat; + this.slon = slon; + this.pointDataView = pointDataView; + this.dataTime = dataTime; + this.productVersion = productVersion; + // System.out.println("GenericPointDataRecord(4) entered"); + } - @Override - public void setPointDataView(PointDataView pointDataView) { - this.pointDataView = pointDataView; - } + /* + * TBM - chin...delete it later..not used? public void + * constructTransientListAndMap(GenericPointDataStationProduct stnPd){ + * setNumLevel(stnPd.getNumLevel()); for(int i=0; i getValues(String paramName) { - // TODO Auto-generated method stub - return null; - } + public void setProductInfo(GenericPointDataProductInfo productInfo) { + this.productInfo = productInfo; + } - @Override - public String getString(String paramName) { - // TODO Auto-generated method stub - return null; - } + public float getSlat() { + return slat; + } - @Override - public String[] getStrings(String paramName) { - // TODO Auto-generated method stub - return null; - } + public void setSlat(float slat) { + this.slat = slat; + } - - /*TBM - chin...delete these later..not used? - @Override - public void constructDataURI() throws PluginException { - // TODO Auto-generated method stub - super.constructDataURI(); - // ObStation class does not define dataUri component. Therefore, - // add stationId/longitude/latitude here to end of dataUri - if(this.location!=null){ - if(this.location.getStationId()!=null){ - this.dataURI = this.dataURI+DataURI.SEPARATOR+this.location.getStationId(); - } - else { - this.dataURI = this.dataURI+DataURI.SEPARATOR+"null"; - } - if(this.location.getStationGeom()!=null){ - this.dataURI = this.dataURI+DataURI.SEPARATOR+ - this.location.getStationGeom().getX()+ DataURI.SEPARATOR+ - this.location.getStationGeom().getY(); - } - else { - this.dataURI = this.dataURI+DataURI.SEPARATOR+"null"+DataURI.SEPARATOR+"null"; - } - } - }*/ + public float getSlon() { + return slon; + } - public ObStation getLocation() { - return location; - } + public void setSlon(float slon) { + this.slon = slon; + } - public void setLocation(ObStation location) { - this.location = location; - } + @Override + public IDecoderGettable getDecoderGettable() { + // TODO Auto-generated method stub + return null; + } - /* TBM - chin...delete these later..not used? - public int getNumLevel() { - return numLevel; - } + @Override + public PointDataView getPointDataView() { + return this.pointDataView; + } - public void setNumLevel(int numLevel) { - this.numLevel = numLevel; - } */ + @Override + public void setPointDataView(PointDataView pointDataView) { + this.pointDataView = pointDataView; + } - public List getLevelValueLst() { - return levelValueLst; - } + @Override + public Amount getValue(String paramName) { + // TODO Auto-generated method stub + return null; + } - public void setLevelValueLst(List levelValueLst) { - this.levelValueLst = levelValueLst; - } + @Override + public Collection getValues(String paramName) { + // TODO Auto-generated method stub + return null; + } - /* TBM - chin...delete these later..not used? - public HashMap getMap_ParmToValue() { - return Map_ParmToValue; - } + @Override + public String getString(String paramName) { + // TODO Auto-generated method stub + return null; + } - public void setMap_ParmToValue(HashMap map_ParmToValue) { - Map_ParmToValue = map_ParmToValue; - } + @Override + public String[] getStrings(String paramName) { + // TODO Auto-generated method stub + return null; + } - public HashMap> getMap_LevelToParmValueMap() { - return Map_LevelToParmValueMap; - } + /* + * TBM - chin...delete these later..not used? + * + * @Override public void constructDataURI() throws PluginException { // TODO + * Auto-generated method stub super.constructDataURI(); // ObStation class + * does not define dataUri component. Therefore, // add + * stationId/longitude/latitude here to end of dataUri + * if(this.location!=null){ if(this.location.getStationId()!=null){ + * this.dataURI = + * this.dataURI+DataURI.SEPARATOR+this.location.getStationId(); } else { + * this.dataURI = this.dataURI+DataURI.SEPARATOR+"null"; } + * if(this.location.getStationGeom()!=null){ this.dataURI = + * this.dataURI+DataURI.SEPARATOR+ this.location.getStationGeom().getX()+ + * DataURI.SEPARATOR+ this.location.getStationGeom().getY(); } else { + * this.dataURI = + * this.dataURI+DataURI.SEPARATOR+"null"+DataURI.SEPARATOR+"null"; } } } + */ - public void setMap_LevelToParmValueMap( - HashMap> map_LevelToParmValueMap) { - Map_LevelToParmValueMap = map_LevelToParmValueMap; - }*/ + public ObStation getLocation() { + return location; + } - public int getProductVersion() { - return productVersion; - } + public void setLocation(ObStation location) { + this.location = location; + } - public void setProductVersion(int productVersion) { - this.productVersion = productVersion; - } + /* + * TBM - chin...delete these later..not used? public int getNumLevel() { + * return numLevel; } + * + * public void setNumLevel(int numLevel) { this.numLevel = numLevel; } + */ + public List getLevelValueLst() { + return levelValueLst; + } + + public void setLevelValueLst(List levelValueLst) { + this.levelValueLst = levelValueLst; + } + + /* + * TBM - chin...delete these later..not used? public HashMap + * getMap_ParmToValue() { return Map_ParmToValue; } + * + * public void setMap_ParmToValue(HashMap map_ParmToValue) { + * Map_ParmToValue = map_ParmToValue; } + * + * public HashMap> + * getMap_LevelToParmValueMap() { return Map_LevelToParmValueMap; } + * + * public void setMap_LevelToParmValueMap( HashMap> map_LevelToParmValueMap) { Map_LevelToParmValueMap = + * map_LevelToParmValueMap; } + */ + + public int getProductVersion() { + return productVersion; + } + + public void setProductVersion(int productVersion) { + this.productVersion = productVersion; + } + + @Override + public String getPluginName() { + return "gpd"; + } } diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.aww/src/gov/noaa/nws/ncep/edex/plugin/aww/decoder/AwwDecoder.java b/ncep/gov.noaa.nws.ncep.edex.plugin.aww/src/gov/noaa/nws/ncep/edex/plugin/aww/decoder/AwwDecoder.java index 0a516d4088..c43f73148c 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.aww/src/gov/noaa/nws/ncep/edex/plugin/aww/decoder/AwwDecoder.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.aww/src/gov/noaa/nws/ncep/edex/plugin/aww/decoder/AwwDecoder.java @@ -1,4 +1,3 @@ - * 08/08/13 1028 G. Hull rm underscores from reportType and set mndTime in URI package gov.noaa.nws.ncep.edex.plugin.aww.decoder; import gov.noaa.nws.ncep.common.dataplugin.aww.AwwLatlons; @@ -53,11 +52,12 @@ import com.raytheon.uf.edex.decodertools.core.IDecoderConstants; * 11/2009 38 L. Lin Correctly get UGC information. * 11/2009 38 L. Lin Migration to TO11 D6. * 05/2010 38 L. Lin Migration to TO11DR11. - * 01/26/2011 N/A M. Gao Refactor: + * Jan 26, 2011 N/A M. Gao Refactor: * 1. if AwwParser.processWMO failed, simply * drop the record by throwing an exception * 2. comment out the end check "if(record == null") * because it is a dead code. + * Aug 08, 2013 1028 G. Hull rm underscores from reportType and set mndTime in URI * Aug 30, 2013 2298 rjpeter Make getPluginName abstract * * @@ -248,12 +248,7 @@ public class AwwDecoder extends AbstractDecoder { List pointAwwLatLonsList = AwwLatLonUtil .getAwwLatLonsListBySereveWeatherStatusPointLine(awwVtec .getVtecLine()); - // System.out.println("==========, within AwwDecoder, pointAwwLatLonsList.size="+pointAwwLatLonsList.size()); - int index = 0; for (AwwLatlons eachAwwLatlons : pointAwwLatLonsList) { - // System.out.println("===============,before adding awwLatLons to ugc, No."+(index+1)+" awwLatLons.getLat="+ - // eachAwwLatlons.getLat()+" awwLatLons.getLon="+eachAwwLatlons.getLon()); - index++; ugc.addAwwLatLon(eachAwwLatlons); } } @@ -278,15 +273,14 @@ public class AwwDecoder extends AbstractDecoder { return new PluginDataObject[0]; } - record.setReportType( reportType.trim() ); + record.setReportType(reportType.trim()); record.setTraceId(traceId); // Set MND remark before the URI is constructed - if( mt.getMndTimeString() == null || - mt.getMndTimeString().trim().isEmpty() ) { - record.setMndTime( "unknown" ); - } - else { - record.setMndTime( mt.getMndTimeString() ); + if ((mt.getMndTimeString() == null) + || mt.getMndTimeString().trim().isEmpty()) { + record.setMndTime("unknown"); + } else { + record.setMndTime(mt.getMndTimeString()); } try {