From 3be74c3664c73bb4d8370c4d69c1602b89667bef Mon Sep 17 00:00:00 2001 From: David Friedman Date: Mon, 12 May 2014 13:18:50 +0000 Subject: [PATCH] ASM #551 - EDEX can decode some METAR peak wind fields as 6 hour min/max temperature Change-Id: I1bf62b197f65073dc26356e9eb67d32f7f8ee45c Former-commit-id: 8d9e72c309cbcef7b0cd8656333e05202e0a290b --- .../raytheon/edex/plugin/obs/metar/MetarDecoder.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/edexOsgi/com.raytheon.edex.plugin.obs/src/com/raytheon/edex/plugin/obs/metar/MetarDecoder.java b/edexOsgi/com.raytheon.edex.plugin.obs/src/com/raytheon/edex/plugin/obs/metar/MetarDecoder.java index 43617ece1d..ed134098d6 100644 --- a/edexOsgi/com.raytheon.edex.plugin.obs/src/com/raytheon/edex/plugin/obs/metar/MetarDecoder.java +++ b/edexOsgi/com.raytheon.edex.plugin.obs/src/com/raytheon/edex/plugin/obs/metar/MetarDecoder.java @@ -79,6 +79,7 @@ import com.vividsolutions.jts.geom.impl.CoordinateArraySequence; * Nov 11, 2008 1684 chammack Camel refactor. * Aug 30, 2013 2298 rjpeter Make getPluginName abstract * Sep 17, 2013 2378 njensen Improve 3/6 hr precip decoding + * May 12, 2014 DR 17151 D. Friedman Fix 6hr min/max temp decoding. * * * @author bphillip @@ -254,16 +255,17 @@ public class MetarDecoder extends AbstractDecoder { record.setMessageData(message); message = cleanMessage(message); - String trailingData = null; + String remarks = null; int cutPos = message.indexOf(" RMK "); if (cutPos >= 0) { - trailingData = message.substring(cutPos); + remarks = message.substring(cutPos); // Now truncate the message data. message = message.substring(0, cutPos); } else { - trailingData = message; + remarks = ""; } - trailingData = trailingData + " "; + StringBuilder trailingData = new StringBuilder(remarks); + trailingData.append(' '); StringBuilder obsMsg = new StringBuilder(message); @@ -730,6 +732,7 @@ public class MetarDecoder extends AbstractDecoder { pkTim.add(Calendar.DAY_OF_MONTH, -1); } record.setPkWndTime(pkTim); + trailingData.delete(matcher.start(), matcher.end()); } // Gets the temperature and dew point in tenths precision