From f761c701cfde1cf54a528dfe878178b93343f50a Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Wed, 6 Nov 2013 13:33:15 -0600 Subject: [PATCH] Issue #2493 remove mesowest. Former-commit-id: 36916fedcd8937ec6deeffa451256de52f95f630 [formerly 9a2fe6fa13d424c254b4ed071b743837dfb2e702] Former-commit-id: d0b7966458ba0f89c8d7d45a464651d7fbd1e4ac --- cave/com.raytheon.viz.pointdata/plugin.xml | 19 +- .../viz/pointdata/rsc/PlotResource.java | 79 +- .../ui/cmenu/EnableDisableMesowestAction.java | 82 -- .../ui/cmenu/EnableDisableMetarAction.java | 82 -- deltaScripts/14.2.1/dropMesowest.sh | 11 + .../uf/common/monitor/data/ObConst.java | 74 +- .../base/archiver/purger/PROCESSED_DATA.xml | 2 +- .../feature.xml | 7 - .../.classpath | 7 - .../.project | 34 - .../.pydevproject | 7 - .../.settings/org.eclipse.jdt.core.prefs | 7 - .../META-INF/MANIFEST.MF | 17 - .../MesowestDecoder.py | 129 --- .../build.properties | 6 - .../com.raytheon.uf.edex.plugin.mesowest.ecl | 0 .../res/spring/mesowest-common.xml | 21 - .../res/spring/mesowest-ingest.xml | 75 -- .../edex/plugin/mesowest/MESOWestDecoder.java | 148 ---- .../edex/plugin/mesowest/MESOWestFilter.java | 212 ----- .../plugin/mesowest/MESOWestSeparator.java | 218 ----- .../mesowest/common/MESOWestRecord.java | 772 ------------------ .../edex/plugin/mesowest/dao/MESOWestDao.java | 77 -- .../mesowest/decoder/MESOWestConstants.java | 164 ---- .../mesowest/decoder/MESOWestElement.java | 91 --- .../mesowest/decoder/MESOWestParser.java | 345 -------- .../mesowest/decoder/MWFloatElement.java | 76 -- .../plugin/mesowest/decoder/MWIntElement.java | 109 --- .../base/mesowest/MesowestParmTable.txt | 0 29 files changed, 41 insertions(+), 2830 deletions(-) delete mode 100644 cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMesowestAction.java delete mode 100644 cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMetarAction.java create mode 100644 deltaScripts/14.2.1/dropMesowest.sh delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.classpath delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.project delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.pydevproject delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.settings/org.eclipse.jdt.core.prefs delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/META-INF/MANIFEST.MF delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/MesowestDecoder.py delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/build.properties delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/com.raytheon.uf.edex.plugin.mesowest.ecl delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-common.xml delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestDecoder.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestFilter.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestSeparator.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/common/MESOWestRecord.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/dao/MESOWestDao.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestConstants.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestElement.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestParser.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWFloatElement.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWIntElement.java delete mode 100644 edexOsgi/com.raytheon.uf.edex.plugin.mesowest/utility/common_static/base/mesowest/MesowestParmTable.txt diff --git a/cave/com.raytheon.viz.pointdata/plugin.xml b/cave/com.raytheon.viz.pointdata/plugin.xml index 37c3f89616..4933c46302 100644 --- a/cave/com.raytheon.viz.pointdata/plugin.xml +++ b/cave/com.raytheon.viz.pointdata/plugin.xml @@ -20,25 +20,14 @@ --> - + - - + sortID="115"/> + --> * SOFTWARE HISTORY - * Date Ticket# Engineer Description - * ------------ ---------- ----------- -------------------------- - * 11/20/2006 brockwoo Initial creation. - * 02/17/2009 njensen Refactored to new rsc architecture. - * 03/17/2009 2105 jsanchez Plot goessounding/poessounding availability. - * 03/30/2009 2169 jsanchez Updated initNewFrame. - * 04/09/2009 952 jsanchez Plot acars. - * 04/13/2009 2251 jsanchez Plot profilers. - * 05/12/2009 2338 jsanchez Updated resourceChanged. Registered units. - * 06/08/2009 2450 jsanchez Updated inpsect method to find closest plot. - * ====================================== - * AWIPS2 DR Work - * 08/09/2012 1011 jkorman Added screenToWorldRatio calc to paintInternal. + * Date Ticket# Engineer Description + * ------------- -------- ----------- -------------------------- + * Nov 20, 2006 brockwoo Initial creation. + * Feb 17, 2009 njensen Refactored to new rsc architecture. + * Mar 17, 2009 2105 jsanchez Plot goessounding/poessounding + * availability. + * Mar 30, 2009 2169 jsanchez Updated initNewFrame. + * Apr 09, 2009 952 jsanchez Plot acars. + * Apr 13, 2009 2251 jsanchez Plot profilers. + * May 12, 2009 2338 jsanchez Updated resourceChanged. Registered + * units. + * Jun 08, 2009 2450 jsanchez Updated inpsect method to find closest + * plot. + * Aug 09, 2012 1011 jkorman Added screenToWorldRatio calc to + * paintInternal. + * Nov 06, 2013 2493 bsteffen Removed IPlotDataResource + * * * * @@ -97,7 +100,7 @@ import com.vividsolutions.jts.geom.Envelope; */ public class PlotResource extends AbstractVizResource implements - IPlotDataResource, IResourceDataChanged { + IResourceDataChanged { private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(PlotResource.class); @@ -109,10 +112,6 @@ public class PlotResource extends private DataTime displayedObsTime; - private boolean metarEnabled; - - private boolean mesowestEnabled; - private VA_Advanced progDisc; private double actualPlotWidth; @@ -197,8 +196,6 @@ public class PlotResource extends public PlotResource(PlotResourceData data, LoadProperties props) { super(data, props); this.dataTimes = new ArrayList(); - metarEnabled = true; - mesowestEnabled = true; this.progDisc = new VA_Advanced(); this.stationsToParse = new ArrayList(); this.frameInfo = new HashMap(); @@ -446,46 +443,6 @@ public class PlotResource extends generator.shutdown(); } - /** - * Returns if mesowest data is being displayed by the layer . - * - * @return Whether mesowest is enabled or not - */ - public boolean isMesowestEnabled() { - return mesowestEnabled; - } - - /** - * Returns if metar data is being displayed by the layer. - * - * @return Whether metar is enabled or not - */ - public boolean isMetarEnabled() { - return metarEnabled; - } - - /** - * Enables/disables mesowest data. - * - * @param flag - * Enable or disable mesowest on the display - */ - public void setMesowestMode(boolean flag) { - mesowestEnabled = flag; - // aTarget.setNeedsRefresh(true); - } - - /** - * Enables/disables metar data. - * - * @param flag - * Enable or disable metar on the display - */ - public void setMetarMode(boolean flag) { - metarEnabled = flag; - // aTarget.setNeedsRefresh(true); - } - @Override public DataTime[] getDataTimes() { try { diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMesowestAction.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMesowestAction.java deleted file mode 100644 index 2116331259..0000000000 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMesowestAction.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * 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.viz.pointdata.ui.cmenu; - -import com.raytheon.uf.viz.core.drawables.ResourcePair; -import com.raytheon.uf.viz.core.rsc.capabilities.IPlotDataResource; -import com.raytheon.viz.ui.cmenu.AbstractRightClickAction; - -/** - * - * Enable/Disable metar data within a layer - * - *
- * 
- *  SOFTWARE HISTORY
- * 
- *  Date         Ticket#     Engineer    Description
- *  ------------ ----------  ----------- --------------------------
- *  Nov 28, 2006             brockwoo    Initial Creation.
- * 
- * 
- * - * @author brockwoo - * @version 1 - */ - -public class EnableDisableMesowestAction extends AbstractRightClickAction { - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.Action#run() - */ - @Override - public void run() { - IPlotDataResource rsc = (IPlotDataResource) getSelectedRsc(); - boolean isEnabled = rsc.isMesowestEnabled(); - rsc.setMesowestMode(!isEnabled); - this.setChecked(!isEnabled); - if (isEnabled && !rsc.isMetarEnabled()) { - rsc.setMetarMode(true); - } - } - - @Override - public void setSelectedRsc(ResourcePair selectedRsc) { - super.setSelectedRsc(selectedRsc); - IPlotDataResource rsc = (IPlotDataResource) getSelectedRsc(); - - boolean curState = rsc.isMesowestEnabled(); - this.setChecked(curState); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.Action#getText() - */ - @Override - public String getText() { - return "Enable Mesowest"; - } - -} diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMetarAction.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMetarAction.java deleted file mode 100644 index 123104226e..0000000000 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/ui/cmenu/EnableDisableMetarAction.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * 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.viz.pointdata.ui.cmenu; - -import com.raytheon.uf.viz.core.drawables.ResourcePair; -import com.raytheon.uf.viz.core.rsc.capabilities.IPlotDataResource; -import com.raytheon.viz.ui.cmenu.AbstractRightClickAction; - -/** - * - * Enable/Disable metar data within a layer - * - *
- * 
- *  SOFTWARE HISTORY
- * 
- *  Date         Ticket#     Engineer    Description
- *  ------------ ----------  ----------- --------------------------
- *  Nov 28, 2006             brockwoo    Initial Creation.
- * 
- * 
- * - * @author brockwoo - * @version 1 - */ - -public class EnableDisableMetarAction extends AbstractRightClickAction { - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.Action#run() - */ - @Override - public void run() { - IPlotDataResource rsc = (IPlotDataResource) getSelectedRsc(); - boolean isEnabled = rsc.isMetarEnabled(); - rsc.setMetarMode(!isEnabled); - this.setChecked(!isEnabled); - if (isEnabled && !rsc.isMesowestEnabled()) { - rsc.setMesowestMode(true); - } - } - - @Override - public void setSelectedRsc(ResourcePair selectedRsc) { - super.setSelectedRsc(selectedRsc); - IPlotDataResource rsc = (IPlotDataResource) getSelectedRsc(); - - boolean curState = rsc.isMetarEnabled(); - this.setChecked(curState); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.Action#getText() - */ - @Override - public String getText() { - return "Enable METAR"; - } - -} diff --git a/deltaScripts/14.2.1/dropMesowest.sh b/deltaScripts/14.2.1/dropMesowest.sh new file mode 100644 index 0000000000..b80d32fc24 --- /dev/null +++ b/deltaScripts/14.2.1/dropMesowest.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# DR #2493 remove mesowest from the database + +PSQL="/awips2/psql/bin/psql" + +SQL_COMMAND=" +delete from plugin_info where name = 'mesowest'; +drop table if exists mesowest; +drop sequence if exists mesowestseq; +" +${PSQL} -U awips -d metadata -c "${SQL_COMMAND}" diff --git a/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/data/ObConst.java b/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/data/ObConst.java index f8a7ea1c7e..91ce3e4601 100644 --- a/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/data/ObConst.java +++ b/edexOsgi/com.raytheon.uf.common.monitor/src/com/raytheon/uf/common/monitor/data/ObConst.java @@ -19,8 +19,6 @@ **/ package com.raytheon.uf.common.monitor.data; -import java.text.SimpleDateFormat; -import java.util.TimeZone; /** * Constants for Observations within the Decision Assistance Tool Suite that @@ -29,10 +27,13 @@ import java.util.TimeZone; *
  * 
  * SOFTWARE HISTORY
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Feb 10, 2009 1999       grichard    Initial creation.
- * Jan 26, 2010 4268       skorolev    Corrected DisplayVarName according to VarName for SWELL
+ * Date          Ticket#  Engineer    Description
+ * ------------- -------- ----------- --------------------------
+ * Feb 10, 2009  1999     grichard    Initial creation.
+ * Jan 26, 2010  4268     skorolev    Corrected DisplayVarName according to
+ *                                    VarName for SWELL
+ * Nov 06, 2013  2493     bsteffen    Remove unused constants.
+ * 
  * 
* * @author grichard @@ -45,16 +46,6 @@ public final class ObConst { private ObConst() { } - // Date Format - public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat( - "yyyy-MM-dd HH:mm"); - - public static SimpleDateFormat obTimeFormat = DATE_FORMAT; - - static { - obTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - } - // Time Window in units of hours public static final int THREAT_INTERVAL_HOURS = 2; @@ -85,21 +76,6 @@ public final class ObConst { public static final String SKC_SKY_STRING = "SKC"; - // Image type used for Fog Monitor - public enum ImageType { - VIS, IR3_9, IR10_7, Undefined_ImageType - } - - // Intensity Level - public enum IntensityLevel { - LIGHT, MODERATE, HEAVY - }; - - // Monitor Area - // public enum MonitorArea { - // SS, FM, SS_FM - // } - // Chosen Application Key public enum ChosenAppKey { SNOW, FOG, SAFESEAS @@ -115,11 +91,6 @@ public final class ObConst { BLACK, GRAY, GREEN, YELLOW, RED, YELLOW_LO, YELLOW_HI, RED_LO, RED_HI, UNDEFINED_THREATLEVEL } - // Threat Level Strings - public static final String[] THREAT_LEVEL_STRINGS = { "black", "gray", - "green", "yellow", "red", "yellow_lo", "yellow_hi", "red_lo", - "red_hi" }; - // Report Type public enum ReportType { SYNOPTIC_FIXED_LAND, @@ -158,19 +129,6 @@ public final class ObConst { VISIBILITY, WIND_SPEED, MAX_WIND_SPEED, GUST_SPEED, TEMPERATURE, WIND_CHILL, SNOW_DEPTH, PRIM_SWELL_HT, PRIM_SWELL_PD, PRIM_SWELL_DIR, SEC_SWELL_HT, SEC_SWELL_PD, SEC_SWELL_DIR, STATIONARY, WAVE_HEIGHT, WAVE_PERIOD, WAVE_STEEPNESS, LATITUDE, LONGITUDE, NOMINAL_DATETIME, OBSERVATION_DATETIME, PLATFORM_ID, PRESSURE, PRES_CHANGE, WIND_DIR, FOG, ZONE_ID, DEWPOINT, PRES_WX, SEA_SURFACE_TEMPERATURE, HOURLY_PRECIP, SNINCR_HOURLY, SNINCR_TOTAL, FROSTBITE_TIME, RELATIVE_HUMIDITY, CEILING, DEWPOINT_DEPR, SEA_LEVEL_PRESS, UNDEFINED_VARIABLE } - // Variable Name Strings - public static final String[] VAR_NAME_TEXT = { "GUST_SPEED", "LATITUDE", - "LONGITUDE", "NOMINAL_DATETIME", "OBSERVATION_DATETIME", - "PLATFORM_ID", "PRESSURE", "PRES_CHANGE", "PRIM_SWELL_DIR", - "PRIM_SWELL_HT", "PRIM_SWELL_PD", "SEC_SWELL_DIR", "SEC_SWELL_HT", - "SEC_SWELL_PD", "STATIONARY", "TEMPERATURE", "VISIBILITY", - "WAVE_HEIGHT", "WAVE_PERIOD", "WAVE_STEEPNESS", "WIND_DIR", - "WIND_SPEED", "MAX_WIND_SPEED", "FOG", "ZONE_ID", "DEWPOINT", - "PRES_WX", "SEA_SURFACE_TEMPERATURE", "HOURLY_PRECIP", - "SNOW_DEPTH", "SNINCR_HOURLY", "SNINCR_TOTAL", "WIND_CHILL", - "FROSTBITE_TIME", "RELATIVE_HUMIDITY", "CEILING", "DEWPOINT_DEPR", - "SEA_LEVEL_PRESS", "UNDEFINED_VARIABLE" }; - // Display Variable Names public enum DisplayVarName { SCA_WIND_SPEED, SCA_GUST_SPEED, SCA_MAX_WIND_SPEED, SCA_WAVE_HEIGHT, GALE_WIND_SPEED, GALE_GUST_SPEED, GALE_MAX_WIND_SPEED, STORM_WIND_SPEED, STORM_GUST_SPEED, STORM_MAX_WIND_SPEED, HURRICANE_WIND_SPEED, HURRICANE_GUST_SPEED, HURRICANE_MAX_WIND_SPEED, VAR_WIND_DIR, VAR_WIND_SPEED, VAR_MAX_WIND_SPEED, VAR_GUST_SPEED, VAR_VISIBILITY, VAR_TEMPERATURE, VAR_DEWPOINT, VAR_SEA_SURFACE_TEMPERATURE, VAR_WAVE_HEIGHT, VAR_WAVE_STEEPNESS, VAR_TIME, VAR_LATITUDE, VAR_LONGITUDE, VAR_PRESSURE, VAR_PRES_CHANGE, VAR_SNOW_DEPTH, VAR_SNINCR_HOURLY, VAR_SNINCR_TOTAL, VAR_WIND_CHILL, VAR_FROSTBITE_TIME, VAR_HOURLY_PRECIP, VAR_PRIM_SWELL_HT, VAR_PRIM_SWELL_PD, VAR_PRIM_SWELL_DIR, VAR_SEC_SWELL_HT, VAR_SEC_SWELL_PD, VAR_SEC_SWELL_DIR, VAR_FOG, BLIZ_WIND_SPEED, BLIZ_GUST_SPEED, BLIZ_MAX_WIND_SPEED, BLIZ_VISIBILITY, FRZ_HOURLY_PRECIP, FRZ_TEMPERATURE, HSW_SNOW_DEPTH, HSW_SNINCR_HOURLY, HSW_SNINCR_TOTAL, VAR_RELATIVE_HUMIDITY, VAR_CEILING, VAR_DEWPOINT_DEPR, VAR_SEA_LEVEL_PRESS @@ -200,24 +158,6 @@ public final class ObConst { "kts", "kts", "nm", "in", "F", "in", "in", "in", "%", "ftx100", "F", "mb" }; - // Remarks section delimiter in METAR - public static final String REMARK_EXPR = "RMK"; - - // Snow increasing rapidly remark expression in a METAR's remarks section - public static final String SNINCR_EXPR = "(SNINCR )(\\d+)/(\\d+)"; - - // Snow depth remark expression in a METAR's remarks section - public static final String SNOW_DEPTH_EXPR = "4/\\(d{3})"; - - // Metar plugin name - public static final String METAR_PLUGIN_NAME = "obs"; - - // Marine plugin name - public static final String MARINE_PLUGIN_NAME = "scfobs"; - - // Meso plugin name - public static final String MESO_PLUGIN_NAME = "mesowest"; - // Default station identifier public static final String DEFAULT_STATION_NAME = "KOMA"; diff --git a/edexOsgi/com.raytheon.uf.edex.archive/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml b/edexOsgi/com.raytheon.uf.edex.archive/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml index 6376546ab5..7b50503a88 100644 --- a/edexOsgi/com.raytheon.uf.edex.archive/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml +++ b/edexOsgi/com.raytheon.uf.edex.archive/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml @@ -160,7 +160,7 @@ Local 168 - (ldadhydro|ldadmesonet|ldadprofiler|ldad_manual|mesowest|qc) + (ldadhydro|ldadmesonet|ldadprofiler|ldad_manual|qc) .*(\d{4})-(\d{2})-(\d{2})-(\d{2}).* {1} 2,3,4,5 diff --git a/edexOsgi/com.raytheon.uf.edex.dataplugins.feature/feature.xml b/edexOsgi/com.raytheon.uf.edex.dataplugins.feature/feature.xml index 2f2e470f33..f1550f4b66 100644 --- a/edexOsgi/com.raytheon.uf.edex.dataplugins.feature/feature.xml +++ b/edexOsgi/com.raytheon.uf.edex.dataplugins.feature/feature.xml @@ -269,13 +269,6 @@ version="0.0.0" unpack="false"/> - - - - - - - - diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.project b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.project deleted file mode 100644 index bf30ba8a92..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - com.raytheon.uf.edex.plugin.mesowest - - - - - - org.python.pydev.PyDevBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.python.pydev.pythonNature - - diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.pydevproject b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.pydevproject deleted file mode 100644 index faf12629d9..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.pydevproject +++ /dev/null @@ -1,7 +0,0 @@ - - - - -python 2.5 -Default - diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.settings/org.eclipse.jdt.core.prefs b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 4eb46e052d..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -#Tue Mar 03 17:15:37 GMT+00:00 2009 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/META-INF/MANIFEST.MF b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/META-INF/MANIFEST.MF deleted file mode 100644 index 999b13ce1e..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/META-INF/MANIFEST.MF +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Mesowest Plug-in -Bundle-SymbolicName: com.raytheon.uf.edex.plugin.mesowest -Bundle-Version: 1.12.1174.qualifier -Bundle-Vendor: RAYTHEON -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Require-Bundle: com.raytheon.edex.common, - com.raytheon.uf.common.pointdata, - com.raytheon.uf.edex.decodertools;bundle-version="1.0.0", - com.raytheon.uf.common.localization, - org.geotools, - javax.persistence, - javax.measure -Export-Package: com.raytheon.uf.edex.plugin.mesowest, - com.raytheon.uf.edex.plugin.mesowest.common -Import-Package: org.apache.commons.logging diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/MesowestDecoder.py b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/MesowestDecoder.py deleted file mode 100644 index d4bdd64cb8..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/MesowestDecoder.py +++ /dev/null @@ -1,129 +0,0 @@ -## -# 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. -## -import sys, os, time, re, string, getopt -import copy -import LogStream -import pupynere -from com.raytheon.uf.common.pointdata.spatial import SurfaceObsLocation -from java.lang import Double -from java.lang import Integer - -class MesowestDecoder(): - - def __init__(self, text=None, filePath=None): - - self._parameters = ['altimeter', 'dewpoint', 'relHumidity', 'stationId', 'rawMessage', 'temperature', 'windDir', 'windGust', 'windSpeed', 'precipAccum'] - self._mappings = ['altimeter', 'dwpt', 'humidity', 'stationId', 'obsText', 'temp', 'windDirection', 'windGust', 'windSpeed', 'precip'] - - - #to ensure time calls are based on Zulu - os.environ['TZ'] = "GMT0" - - self._deleteAfterProcessing = 0 - if filePath is None: - self._incomingFilename = None - else: - self._incomingFilename = filePath - - def decode(self): - fillValue = None - missing = None - mesowestReports = list() - obsList = dict() - net = pupynere.netcdf_file(self._incomingFilename,"r") - records = net._recs - for x in range(records): - stationId = ''.join(net.variables['stationId'][x]) - reportTime = net.variables['reportTime'][x] * 1000 - if obsList.has_key(reportTime): - if stationId in obsList[reportTime]: - continue - else: - obsList[reportTime].append(stationId) - else: - obsList[reportTime] = list() - obsList[reportTime].append(stationId) - mesowestReport = dict() - for paramNum in range(len(self._parameters)): - param = self._parameters[paramNum] - mapping = self._mappings[paramNum] - variable = net.variables[param] - # Set the missing value if available - try: - missing = variable.missing_value - except AttributeError: - missing = None - # Set the fill value if available - try: - fillValue = variable._FillValue - except AttributeError: - fillValue = None - if len(variable.shape) == 1: - if fillValue != None and variable[x] == fillValue: - mesowestReport[mapping] = Double(-9999.0) - continue - if missing != None: - # Odd case where certain values are -764 in the netcdf - if variable[x] == missing or variable[x] < -600: - mesowestReport[mapping] = Double(-9999.0) - continue - mesowestReport[mapping] = Double.valueOf(str(variable[x])) - elif len(variable.shape) > 1 and variable.shape[1] > 3: - mesowestReport[mapping] = ''.join(variable[x]) - - location = SurfaceObsLocation() - lat = Double.valueOf(str(net.variables['latitude'][x])) - lon = Double.valueOf(str(net.variables['longitude'][x])) - elv = Double.valueOf(str(net.variables['elevation'][x])) - location.assignLocation(lat.doubleValue(),lon.doubleValue()); - location.setElevation(Integer(elv.intValue())); - location.setStationId(stationId) - mesowestReport['location'] = location - mesowestReport['timeObs'] = long(reportTime) - mesowestReport['dataTime'] = mesowestReport['timeObs'] - mesowestReport['networkType'] = ''.join(net.variables['stationType'][x]) - mesowestReports.append(mesowestReport) - net.close() - return mesowestReports - - - def _usage(self): - #Prints out usage information if started without sufficient command - #line arguments. - s = "This tool is not meant to be run from the command line." - print s - LogStream.logProblem(s) - - - -def main(): - try: - LogStream.logEvent("MesowestDecoder Starting") - decoder = MesowestDecoder() - decoder.decode() - decoder = None - LogStream.logEvent("MesowestDecoder Finished") - except: - LogStream.logProblem("Caught Exception: ", LogStream.exc()) - sys.exit(1) - -if __name__ == "__main__": - main() - sys.exit(0) diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/build.properties b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/build.properties deleted file mode 100644 index 9410ee96ef..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/build.properties +++ /dev/null @@ -1,6 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - res/,\ - MesowestDecoder.py diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/com.raytheon.uf.edex.plugin.mesowest.ecl b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/com.raytheon.uf.edex.plugin.mesowest.ecl deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-common.xml b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-common.xml deleted file mode 100644 index 94e7d40126..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-common.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml deleted file mode 100644 index 23a5694be6..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/res/spring/mesowest-ingest.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - java.lang.Throwable - - - - - - - \ No newline at end of file diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestDecoder.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestDecoder.java deleted file mode 100644 index 3b90cfe1bc..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestDecoder.java +++ /dev/null @@ -1,148 +0,0 @@ -/** - * 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.edex.plugin.mesowest; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.raytheon.edex.exception.DecoderException; -import com.raytheon.uf.common.dataplugin.PluginDataObject; -import com.raytheon.uf.common.dataplugin.PluginException; -import com.raytheon.uf.edex.decodertools.core.IDecoderInput; -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; -import com.raytheon.uf.edex.plugin.mesowest.decoder.MESOWestConstants; -import com.raytheon.uf.edex.plugin.mesowest.decoder.MESOWestParser; - -/** - * TODO Add Description - * - *
- * 
- * SOFTWARE HISTORY
- * 
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 03, 2009            jkorman     Initial creation
- * Aug 30, 2013 2298       rjpeter     Make getPluginName abstract
- * 
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MESOWestDecoder { - - private final Log logger = LogFactory.getLog(getClass()); - - private String pluginName = "mesowest"; - - private final Map parserMap = new HashMap(); - - /** - * - * @param name - */ - public MESOWestDecoder(String name) { - this.pluginName = name; - } - - /** - * Get the next decoded data record. - * - * @return One record of decoded data. - * @throws DecoderException - * Thrown if no data is available. - */ - public PluginDataObject[] decode(IDecoderInput input) { - - PluginDataObject[] decodedData = null; - String traceId = null; - - logger.debug("MESOWestDecoder.decode()"); - - if (input != null) { - traceId = input.getProperty(MESOWestConstants.TRACEID); - - MESOWestRecord record = null; - - String type = input.getProperty(MESOWestConstants.K_DATATYPE); - if (MESOWestConstants.T_PARMHEADER.equals(type)) { - parserMap.put(input.getProperty("uuid"), new MESOWestParser( - input.getReport())); - logger.debug("Created parser "); - } else if (MESOWestConstants.T_LASTITEM.equals(type)) { - parserMap.remove(input.getProperty("uuid")); - logger.debug("Destroyed parser "); - } else { - MESOWestParser parser = parserMap - .get(input.getProperty("uuid")); - if (parser != null) { - if (input.getReport().length() > 10) { - if ((record = parser.decode(input.getReport())) != null) { - record.setTraceId(traceId); - record.setObsText(input.getReport() + "\n"); - } - } - } else { - logger.error("Unexpected data in data stream"); - } - } - - try { - if (record != null) { - logger.info("Decoded obs " + record.getStationId()); - - try { - record.constructDataURI(); - } catch (PluginException e) { - throw new DecoderException( - "Unable to construct dataURI", e); - } - - decodedData = new PluginDataObject[] { record }; - } else { - logger.info(String.format("%s - Decoded no obs", traceId)); - } - } catch (Exception e) { - logger.error("Error in MESOWestDecoder", e); - } finally { - if (decodedData == null) { - decodedData = new PluginDataObject[0]; - } - } - } else { - logger.error("null input data in MESOWestDecoder"); - } - - return decodedData; - } - - /** - * @return the pluginName - */ - public String getPluginName() { - return pluginName; - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestFilter.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestFilter.java deleted file mode 100644 index e3c0f8d9db..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestFilter.java +++ /dev/null @@ -1,212 +0,0 @@ -/** - * 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.edex.plugin.mesowest; - -import static com.raytheon.uf.common.localization.LocalizationContext.LocalizationType.EDEX_STATIC; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.util.List; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.raytheon.uf.common.dataplugin.PluginDataObject; -import com.raytheon.uf.common.localization.IPathManager; -import com.raytheon.uf.common.localization.LocalizationContext; -import com.raytheon.uf.common.localization.PathManagerFactory; -import com.raytheon.uf.common.serialization.JAXBManager; -import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; -import com.raytheon.uf.edex.decodertools.core.filterimpl.AbstractFilterElement; -import com.raytheon.uf.edex.decodertools.core.filterimpl.AbstractObsFilter; -import com.raytheon.uf.edex.decodertools.core.filterimpl.PluginDataObjectFilter; -import com.raytheon.uf.edex.decodertools.core.filterimpl.RectFilterElement; - -/** - * A filter for mesowest data that is configured through XML. - * - *
- * 
- * SOFTWARE HISTORY
- * 
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 23, 2009            jkorman     Initial creation
- * Oct 22, 2013 2361       njensen     Use JAXBManager for XML
- * 
- * 
- * 
- * - * @author jkorman - * @version 1.0 - */ -@XmlRootElement -@XmlAccessorType(XmlAccessType.NONE) -@DynamicSerialize -public class MESOWestFilter extends AbstractObsFilter { - - private Log logger = LogFactory.getLog(getClass()); - - private static final String FILTER_CONFIG = "mesowest_filters.xml"; - - public MESOWestFilter() { - } - - public MESOWestFilter(String site) { - try { - IPathManager manager = PathManagerFactory.getPathManager(); - - LocalizationContext siteContext = manager.getContextForSite( - EDEX_STATIC, site); - - File siteDir = manager.getFile(siteContext, ""); - if (siteDir.exists()) { - try { - File srcFile = new File(siteDir, FILTER_CONFIG); - JAXBManager jaxb = new JAXBManager(MESOWestFilter.class, - PluginDataObjectFilter.class); - AbstractObsFilter filter = jaxb.unmarshalFromXmlFile( - AbstractObsFilter.class, srcFile); - this.setFilterElements(filter.getFilterElements()); - this.setFilterName(filter.getFilterName()); - } catch (JAXBException e) { - logger.error("Unable to unmarshall filter config", e); - } - } - - } catch (Exception e) { - logger.error("Error creating filter. Creating default empty", e); - setFilterName("Default"); - } - } - - /** - * Apply the list of filters against given input data. - * - */ - @Override - public PluginDataObject[] filter(PluginDataObject[] reports) { - int reportCount = 0; - if (reports != null) { - for (int i = 0; i < reports.length; i++) { - boolean keep = false; - for (AbstractFilterElement element : filterElements) { - PluginDataObject r = element.filter(reports[i]); - if (r != null) { - if (AbstractObsFilter.INCLUDE_TYPE.equals(element - .getFilterType())) { - keep = keep | true; - } - } - } - if (!keep) { - reports[i] = null; - } else { - reportCount++; - } - } - } - if (reportCount == 0) { - reports = new PluginDataObject[0]; - } else { - PluginDataObject[] newReports = new PluginDataObject[reportCount]; - int i = 0; - for (PluginDataObject report : reports) { - if (report != null) { - newReports[i++] = report; - } - } - reports = newReports; - } - return reports; - } - - public static final void main(String[] args) { - - AbstractObsFilter filter = new MESOWestFilter(); - filter.setFilterName("TestFilter"); - - RectFilterElement rect = new RectFilterElement(); - rect.setLowerRightLat(40.0); - rect.setLowerRightLon(-90.0); - rect.setUpperLeftLat(45.0); - rect.setUpperLeftLon(-95.0); - rect.setFilterElementName("OAX.WFO"); - rect.setFilterType(AbstractObsFilter.INCLUDE_TYPE); - filter.addFilterElement(rect); - - rect = new RectFilterElement(); - rect.setLowerRightLat(46.0); - rect.setLowerRightLon(-90.0); - rect.setUpperLeftLat(49.0); - rect.setUpperLeftLon(-100.0); - rect.setFilterElementName("Upperbasin"); - rect.setFilterType(AbstractObsFilter.INCLUDE_TYPE); - filter.addFilterElement(rect); - - String s = null; - - try { - JAXBContext ctx = JAXBContext.newInstance(MESOWestFilter.class, - RectFilterElement.class); - - Marshaller msh = ctx.createMarshaller(); - - msh.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); - - ByteArrayOutputStream istrm = new ByteArrayOutputStream(); - msh.marshal(filter, istrm); - - s = istrm.toString(); - - System.out.println(s); - - rect = null; - filter = null; - - Unmarshaller umsh = ctx.createUnmarshaller(); - - ByteArrayInputStream ostrm = new ByteArrayInputStream(s.getBytes()); - filter = (AbstractObsFilter) umsh.unmarshal(ostrm); - - System.out.println(filter.getFilterName()); - System.out.println(filter.getClass().getName()); - - List elements = filter.getFilterElements(); - for (AbstractFilterElement element : elements) { - System.out.println(element.getFilterElementName()); - } - - } catch (JAXBException e) { - - e.printStackTrace(); - } - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestSeparator.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestSeparator.java deleted file mode 100644 index 9eda63dbc8..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/MESOWestSeparator.java +++ /dev/null @@ -1,218 +0,0 @@ -/** - * 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.edex.plugin.mesowest; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.raytheon.edex.esb.Headers; -import com.raytheon.edex.plugin.AbstractRecordSeparator; -import com.raytheon.uf.edex.decodertools.core.DecoderInput; -import com.raytheon.uf.edex.decodertools.core.IDecoderInput; -import com.raytheon.uf.edex.plugin.mesowest.decoder.MESOWestConstants; - -/** - * - *
- * 
- * SOFTWARE HISTORY
- * 
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * 20090310           1969 jkorman     Initial Coding.
- * 
- * - * @author jkorman - * @version 1.0 - */ -public class MESOWestSeparator extends AbstractRecordSeparator { - - private Log logger = LogFactory.getLog(getClass()); - - private static final int MIN_LINE_LEN = 10; - - private byte[] messageData = null; - - private Headers headerData = null; - - private List reports = null; - - private String traceId = null; - - private int currentReport = -1; - - private UUID uuid = null; - - /** - * - * @param data - * @param headers - */ - private MESOWestSeparator(byte[] data, Headers headers) { - headerData = headers; - if (headerData != null) { - traceId = (String) headerData.get(MESOWestConstants.TRACEID); - } - - uuid = UUID.randomUUID(); - - setData(data, headers); - } - - /** - * Empty constructor so Spring doesn't complain. TODO : Make sure this is - * needed. - */ - public MESOWestSeparator() { - } - - /** - * Create an instance of a separator using the supplied data. - * - * @param data - * @param headers - * @return - * @throws Exception - */ - public static MESOWestSeparator separate(byte[] data, Headers headers) - throws Exception { - return new MESOWestSeparator(data, headers); - } - - /** - * Get the next record. This implementation returns the record as a String. - * - * @return The next observation record as a String. - */ - @Override - public IDecoderInput next() { - IDecoderInput data = null; - if (hasNext()) { - - String rpt = reports.get(currentReport++); - data = new DecoderInput(null, rpt); - data.setProperty("uuid", uuid.toString()); - - if (rpt.startsWith(MESOWestConstants.D_PARMLEADER)) { - data.setProperty(MESOWestConstants.K_DATATYPE, - MESOWestConstants.T_PARMHEADER); - } else if (rpt.startsWith(MESOWestConstants.LAST_DATA_ITEM)) { - data.setProperty(MESOWestConstants.K_DATATYPE, - MESOWestConstants.T_LASTITEM); - } else { - data.setProperty(MESOWestConstants.K_DATATYPE, - MESOWestConstants.T_REPORTDATA); - } - data.setProperty(MESOWestConstants.TRACEID, traceId); - } - logger.debug("Separator.next()"); - return data; - } - - /** - * Is there another record available? - * - * @return Is there another record available? - */ - @Override - public boolean hasNext() { - logger.debug("Separator.hasNext()"); - boolean hasNext = false; - if (reports != null) { - if (reports.size() > 0) { - hasNext = currentReport < reports.size(); - } else { - reports.clear(); - reports = null; - } - } - return hasNext; - } - - /** - * Set the raw message data and invoke the internal message separation - * process. - * - * @param rawMessage - * The raw weather text message. - */ - @Override - public void setData(byte[] rawMessage, Headers headers) { - currentReport = -1; - reports = new ArrayList(); - if (rawMessage != null) { - - InputStream strm = new ByteArrayInputStream(rawMessage); - - separate(strm); - } - - if ((reports != null) && (reports.size() > 0)) { - currentReport = 0; - } else { - logger.info("No reports found in data."); - } - } - - /** - * Get the message data. - * - * @return The cleaned message data. - */ - public byte[] getMessage() { - return messageData; - } - - /** - * Separate the mesonet data, one report per line. No need to account for - * reports spanning lines. - * - * @param strm - * An input stream to the meso data. - */ - private void separate(InputStream strm) { - BufferedReader in = null; - - try { - in = new BufferedReader(new InputStreamReader(strm)); - - String s = null; - while ((s = in.readLine()) != null) { - if (s.length() > MIN_LINE_LEN) { - reports.add(s.trim()); - } - } - reports.add(MESOWestConstants.LAST_DATA_ITEM); - - } catch (IOException ioe) { - logger.error("Error reading mesowest data " + ioe); - } - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/common/MESOWestRecord.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/common/MESOWestRecord.java deleted file mode 100644 index 83bef6ec7f..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/common/MESOWestRecord.java +++ /dev/null @@ -1,772 +0,0 @@ -/** - * 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.edex.plugin.mesowest.common; - -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; -import javax.persistence.Embedded; -import javax.persistence.Entity; -import javax.persistence.SequenceGenerator; -import javax.persistence.Table; -import javax.persistence.UniqueConstraint; - -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; -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.vividsolutions.jts.geom.Geometry; - -/** - * Record for mesowest data - * - *
- * 
- * SOFTWARE HISTORY
- * 
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 03, 2009            jkorman     Initial creation
- * 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
- * Oct 22, 2013 2361       njensen     Remove XML annotations
- * 
- * 
- * - * @author jkorman - * @version 1.0 - */ -@Entity -@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "mesowestseq") -@Table(name = "mesowest", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) -@DynamicSerialize -public class MESOWestRecord extends PluginDataObject implements - ISpatialEnabled, IDecoderGettable { - - private static final long serialVersionUID = 1L; - - public static final String OBS_TEXT = "text"; - - public static final Unit LENGTH_UNIT = SI.METER; - - public static final Unit TEMPERATURE_UNIT = SI.KELVIN; - - public static final Unit WIND_SPEED_UNIT = SI.METERS_PER_SECOND; - - public static final Unit WIND_DIR_UNIT = NonSI.DEGREE_ANGLE; - - public static final Unit PRESSURE_UNIT = SI.PASCAL; - - public static final Unit LOCATION_UNIT = NonSI.DEGREE_ANGLE; - - private static final HashMap PARM_MAP = new HashMap(); - 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); - } - - @DataURI(position = 1) - @DynamicSerializeElement - private String networkType; - - // Time of the observation. - @DataURI(position = 2) - @DynamicSerializeElement - private Calendar timeObs; - - @Embedded - @DataURI(position = 3, embedded = true) - @DynamicSerializeElement - private SurfaceObsLocation location; - - // Observation air temperature in degrees Kelvin. - @Column - @DynamicSerializeElement - private Double temp; - - // Observation dewpoint temperature in degrees Kelvin. - @Column - @DynamicSerializeElement - private Double dwpt; - - // 24 Hour maximum temperature in degrees Kelvin. - @Column - @DynamicSerializeElement - private Double maxT24; - - // 24 Hour minimum temperature in degrees Kelvin. - @Column - @DynamicSerializeElement - private Double minT24; - - // Relative Humidity in percent. - @Column - @DynamicSerializeElement - private Double humidity; - - // Observation wind direction in angular degrees. Integer - @Column - @DynamicSerializeElement - private Double windDirection; - - // Observation wind speed in meters per second. - @Column - @DynamicSerializeElement - private Double windSpeed; - - // Observation wind gust in meters per second. - @Column - @DynamicSerializeElement - private Double windGust; - - // Observation pressure in Pa. - @Column - @DynamicSerializeElement - private Double pressure; - - // Observation pressure in Pa. - @Column - @DynamicSerializeElement - private Double seaLevelPressure; - - // Observation pressure in Pa. - @Column - @DynamicSerializeElement - private Double altimeter; - - // Observation precip in mm. - @Column - @DynamicSerializeElement - private Double precip; - - // 1 minute precip in inches. - @Column - @DynamicSerializeElement - private Double precip_01M; - - // 5 minute precip in inches. - @Column - @DynamicSerializeElement - private Double precip_05M; - - // 10 minute precip in inches. - @Column - @DynamicSerializeElement - private Double precip_10M; - - // 15 minute precip in inches. - @Column - @DynamicSerializeElement - private Double precip_15M; - - // 30 minute precip in inches. - @Column - @DynamicSerializeElement - private Double precip_30M; - - // 1 hour precip in inches. - @Column - @DynamicSerializeElement - private Double precip_01H; - - // 3 hour precip in inches. - @Column - @DynamicSerializeElement - private Double precip_03H; - - // 6 hour precip in inches. - @Column - @DynamicSerializeElement - private Double precip_06H; - - // 24 hour precip in inches. - @Column - @DynamicSerializeElement - private Double precip_24H; - - // Raw observation text - @Column - @DynamicSerializeElement - private String obsText; - - /** - * - */ - public MESOWestRecord() { - } - - /** - * Constructor for DataURI construction through base class. This is used by - * the notification service. - * - * @param uri - * A data uri applicable to this class. - */ - public MESOWestRecord(String uri) { - super(uri); - } - - /** - * Get this observation's geometry. - * - * @return The geometry for this observation. - */ - public Geometry getGeometry() { - return location.getGeometry(); - } - - /** - * Get the geometry latitude. - * - * @return The geometry latitude. - */ - public double getLatitude() { - return location.getLatitude(); - } - - /** - * Get the geometry longitude. - * - * @return The geometry longitude. - */ - public double getLongitude() { - return location.getLongitude(); - } - - /** - * Get the station identifier for this observation. - * - * @return the stationId - */ - public String getStationId() { - return location.getStationId(); - } - - /** - * Get the elevation, in meters, of the observing platform or location. - * - * @return The observation elevation, in meters. - */ - public Integer getElevation() { - return location.getElevation(); - } - - /** - * @return the location - */ - public SurfaceObsLocation getLocation() { - return location; - } - - /** - * @param location - * the location to set - */ - public void setLocation(SurfaceObsLocation location) { - this.location = location; - } - - /** - * - * @return - */ - public String getNetworkType() { - return networkType; - } - - /** - * - * @return - */ - public void setNetworkType(String type) { - networkType = type; - } - - /** - * @return the timeObs - */ - public Calendar getTimeObs() { - return timeObs; - } - - /** - * @param timeObs - * the timeObs to set - */ - public void setTimeObs(Calendar timeObs) { - this.timeObs = timeObs; - } - - // ****************************************** - - /** - * @return the temp - */ - public Double getTemp() { - return temp; - } - - /** - * @param temp - * the temp to set - */ - public void setTemp(Double temp) { - this.temp = temp; - } - - /** - * @return the dwpt - */ - public Double getDwpt() { - return dwpt; - } - - /** - * @param dwpt - * the dwpt to set - */ - public void setDwpt(Double dwpt) { - this.dwpt = dwpt; - } - - /** - * @return the maxT24 - */ - public Double getMaxT24() { - return maxT24; - } - - /** - * @param maxT24 - * the maxT24 to set - */ - public void setMaxT24(Double maxT24) { - this.maxT24 = maxT24; - } - - /** - * @return the minT24 - */ - public Double getMinT24() { - return minT24; - } - - /** - * @param minT24 - * the minT24 to set - */ - public void setMinT24(Double minT24) { - this.minT24 = minT24; - } - - /** - * @return the humidity - */ - public Double getHumidity() { - return humidity; - } - - /** - * @param humidity - * the humidity to set - */ - public void setHumidity(Double humidity) { - this.humidity = humidity; - } - - /** - * @return the windDirection - */ - public Double getWindDirection() { - return windDirection; - } - - /** - * @param windDirection - * the windDirection to set - */ - public void setWindDirection(Double windDirection) { - this.windDirection = windDirection; - } - - /** - * @return the windSpeed - */ - public Double getWindSpeed() { - return windSpeed; - } - - /** - * @param windSpeed - * the windSpeed to set - */ - public void setWindSpeed(Double windSpeed) { - this.windSpeed = windSpeed; - } - - /** - * @return the windGust - */ - public Double getWindGust() { - return windGust; - } - - /** - * @param windGust - * the windGust to set - */ - public void setWindGust(Double windGust) { - this.windGust = windGust; - } - - /** - * @return the pressure - */ - public Double getPressure() { - return pressure; - } - - /** - * @param pressure - * the pressure to set - */ - public void setPressure(Double pressure) { - this.pressure = pressure; - } - - /** - * @return the seaLevelPressure - */ - public Double getSeaLevelPressure() { - return seaLevelPressure; - } - - /** - * @param seaLevelPressure - * the seaLevelPressure to set - */ - public void setSeaLevelPressure(Double seaLevelPressure) { - this.seaLevelPressure = seaLevelPressure; - } - - /** - * @return the altimeter - */ - public Double getAltimeter() { - return altimeter; - } - - /** - * @param altimeter - * the altimeter to set - */ - public void setAltimeter(Double altimeter) { - this.altimeter = altimeter; - } - - /** - * @return the precip - */ - public Double getPrecip() { - return precip; - } - - /** - * @param precip - * the precip to set - */ - public void setPrecip(Double precip) { - this.precip = precip; - } - - /** - * @return the precip_01M - */ - public Double getPrecip_01M() { - return precip_01M; - } - - /** - * @param precip_01M - * the precip_01M to set - */ - public void setPrecip_01M(Double precip_01M) { - this.precip_01M = precip_01M; - } - - /** - * @return the precip_05M - */ - public Double getPrecip_05M() { - return precip_05M; - } - - /** - * @param precip_05M - * the precip_05M to set - */ - public void setPrecip_05M(Double precip_05M) { - this.precip_05M = precip_05M; - } - - /** - * @return the precip_10M - */ - public Double getPrecip_10M() { - return precip_10M; - } - - /** - * @param precip_10M - * the precip_10M to set - */ - public void setPrecip_10M(Double precip_10M) { - this.precip_10M = precip_10M; - } - - /** - * @return the precip_15M - */ - public Double getPrecip_15M() { - return precip_15M; - } - - /** - * @param precip_15M - * the precip_15M to set - */ - public void setPrecip_15M(Double precip_15M) { - this.precip_15M = precip_15M; - } - - /** - * @return the precip_30M - */ - public Double getPrecip_30M() { - return precip_30M; - } - - /** - * @param precip_30M - * the precip_30M to set - */ - public void setPrecip_30M(Double precip_30M) { - this.precip_30M = precip_30M; - } - - /** - * @return the precip_01H - */ - public Double getPrecip_01H() { - return precip_01H; - } - - /** - * @param precip_01H - * the precip_01H to set - */ - public void setPrecip_01H(Double precip_01H) { - this.precip_01H = precip_01H; - } - - /** - * @return the precip_03H - */ - public Double getPrecip_03H() { - return precip_03H; - } - - /** - * @param precip_03H - * the precip_03H to set - */ - public void setPrecip_03H(Double precip_03H) { - this.precip_03H = precip_03H; - } - - /** - * @return the precip_06H - */ - public Double getPrecip_06H() { - return precip_06H; - } - - /** - * @param precip_06H - * the precip_06H to set - */ - public void setPrecip_06H(Double precip_06H) { - this.precip_06H = precip_06H; - } - - /** - * @return the precip_24H - */ - public Double getPrecip_24H() { - return precip_24H; - } - - /** - * @param precip_24H - * the precip_24H to set - */ - public void setPrecip_24H(Double precip_24H) { - this.precip_24H = precip_24H; - } - - /** - * @return the obsText - */ - public String getObsText() { - return obsText; - } - - /** - * @param obsText - * the obsText to set - */ - public void setObsText(String obsText) { - this.obsText = obsText; - } - - // ****************************************** - - /** - * - */ - public void setSpatialObject(SurfaceObsLocation loc) { - location = loc; - } - - /** - * - */ - @Override - public SurfaceObsLocation getSpatialObject() { - 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 Amount getValue(String paramName) { - Amount a = null; - String pName = PARM_MAP.get(paramName); - - if (SFC_TEMP.equals(pName)) { - a = new Amount(temp, TEMPERATURE_UNIT); - } else if (SFC_DWPT.equals(pName)) { - a = new Amount(dwpt, 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 (SFC_WNDDIR.equals(pName)) { - a = new Amount(windDirection, WIND_DIR_UNIT); - } else if (PRES_ALTSG.equals(pName)) { - a = new Amount(altimeter, PRESSURE_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(seaLevelPressure, PRESSURE_UNIT); - } - - return a; - } - - /** - * - */ - @Override - public Collection getValues(String paramName) { - return null; - } - - @Override - @Column - @Access(AccessType.PROPERTY) - public String getDataURI() { - return super.getDataURI(); - } - - @Override - public String getPluginName() { - return "mesowest"; - } -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/dao/MESOWestDao.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/dao/MESOWestDao.java deleted file mode 100644 index c9a23f3824..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/dao/MESOWestDao.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 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.edex.plugin.mesowest.dao; - -import java.util.List; - -import com.raytheon.edex.db.dao.DefaultPluginDao; -import com.raytheon.uf.common.dataplugin.PluginException; -import com.raytheon.uf.edex.database.DataAccessLayerException; -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; - -/** - * TODO Add Description - * - *
- *
- * SOFTWARE HISTORY
- *
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 9, 2009        1939 jkorman     Initial creation
- *
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MESOWestDao extends DefaultPluginDao { - - - /** - * Creates a new ReccoDao - * @throws PluginException - */ - public MESOWestDao(String pluginName) throws PluginException { - super(pluginName); - } - - /** - * Retrieves an bufrua report using the datauri . - * - * @param dataURI - * The dataURI to match against. - * @return The report record if it exists. - */ - public MESOWestRecord queryByDataURI(String dataURI) { - MESOWestRecord report = null; - List obs = null; - try { - obs = queryBySingleCriteria("dataURI", dataURI); - } catch (DataAccessLayerException e) { - e.printStackTrace(); - } - if((obs != null)&&(obs.size() > 0)) { - report = (MESOWestRecord) obs.get(0); - } - return report; - } -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestConstants.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestConstants.java deleted file mode 100644 index 0de41611d8..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestConstants.java +++ /dev/null @@ -1,164 +0,0 @@ -/** - * 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.edex.plugin.mesowest.decoder; - -import java.util.HashMap; -import java.util.Map; - -/** - * TODO Add Description - * - *
- *
- * SOFTWARE HISTORY
- *
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 10, 2009            jkorman     Initial creation
- *
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MESOWestConstants { - - public static final String LAST_DATA_ITEM = "##### LAST DATA ITEM #####"; - - public static final String TRACEID = "traceId"; - - public static final String K_DATATYPE = "datatype"; - - public static final String T_PARMHEADER = "parmheader"; - - public static final String T_REPORTDATA = "report"; - - public static final String T_LASTITEM = LAST_DATA_ITEM; - - public static final String D_PARMLEADER = "PARM ="; - - public static final String D_PARM_DELIMIT = ";"; - - public static final String P_STNID = "STNID"; - - public static final String P_LAT = "latitude"; - - public static final String P_LON = "longitude"; - - public static final String P_ELEV = "ELEV"; - - public static final String P_STNTYPE = "STNTYPE"; - - public static final String P_DATATIME = "DATETIME"; - - //******************************************* - - public static final String P_SFCTEMP = "TMPF"; - - public static final String P_SFCDWPT = "DWPF"; - //************************ - - public static final String P_MIN_T_24H = "LO24"; - - public static final String P_MAX_T_24H = "HI24"; - - //************************ - public static final String P_WINDSPD = "SKNT"; - - public static final String P_WINDDIR = "DRCT"; - - public static final String P_WINDGST = "GUST"; - - public static final String P_HUMIDITY = "RELH"; - - public static final String P_PRESSURE = "PRES"; - - public static final String P_ALTIMETER = "ALTI"; - - public static final String P_SEA_LVL_PRES = "PMSL"; - - //************************ - public static final String P_PRECIP_01M = "P1MI"; - - public static final String P_PRECIP_05M = "P05I"; - - public static final String P_PRECIP_10M = "P10I"; - - public static final String P_PRECIP_15M = "P15I"; - - public static final String P_PRECIP_30M = "P30I"; - - public static final String P_PRECIP_01H = "P01I"; - - public static final String P_PRECIP_03H = "P03I"; - - public static final String P_PRECIP_06H = "P06I"; - - public static final String P_PRECIP_24H = "P24I"; - - private static int PARM_POS = 0; - private static Map parmMap = new HashMap(); - static { - parmMap.put(PARM_POS++,P_STNID); - parmMap.put(PARM_POS++,P_LAT); - parmMap.put(PARM_POS++,P_LON); - parmMap.put(PARM_POS++,P_ELEV); - parmMap.put(PARM_POS++,P_STNTYPE); - parmMap.put(PARM_POS++,P_DATATIME); - } - - // YYYYMMDD/HHMM - // 20090303/1950 - - public static final String D_DATEFMT = "yyyyMMdd/HHmm"; - - - /** - * - * @return - */ - public static int getParmPos() { - return PARM_POS; - } - - /** - * - * @return - */ - public static Map getParmMap() { - Map map = new HashMap(); - map.putAll(parmMap); - - return map; - } - - /** - * - * @return - */ - public static Map getValuesMap() { - Map values = new HashMap(); - for(String s : parmMap.values()) { - values.put(s, new MESOWestElement(s)); - } - return values; - } -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestElement.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestElement.java deleted file mode 100644 index 8ed23581c9..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestElement.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - * 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.edex.plugin.mesowest.decoder; - -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; - -/** - * TODO Add Description - * - *
- *
- * SOFTWARE HISTORY
- *
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 10, 2009            jkorman     Initial creation
- *
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MESOWestElement { - - private final String elementName; - - private String elementValue = null; - - public MESOWestElement(String name) { - elementName = name; - } - - /** - * - * @return - */ - public String getElementName() { - return elementName; - } - - /** - * - * @return - */ - public String getElementValue() { - return elementValue; - } - - /** - * - * @param value - */ - public void setElementValue(String value) { - elementValue = value; - } - - /** - * - * @param record - * @return - */ - public MESOWestRecord getDecodedData(MESOWestRecord record) { - - return record; - } - - - @Override - public String toString() { - return elementValue; - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestParser.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestParser.java deleted file mode 100644 index d51993815f..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MESOWestParser.java +++ /dev/null @@ -1,345 +0,0 @@ -/** - * 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.edex.plugin.mesowest.decoder; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.Map; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation; -import com.raytheon.uf.common.time.DataTime; -import com.raytheon.uf.edex.decodertools.core.DecoderTools; -import com.raytheon.uf.edex.decodertools.time.TimeTools; -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; - -/** - * TODO Add Description - * - *
- * 
- * SOFTWARE HISTORY
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 10, 2009            jkorman     Initial creation
- * 
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MESOWestParser { - - private Log logger = LogFactory.getLog(getClass()); - - private Map paramMap = null; - - private Map valuesMap = null; - - private SimpleDateFormat dateFormat = new SimpleDateFormat( - MESOWestConstants.D_DATEFMT); - - /** - * - * @param parameters - */ - public MESOWestParser(String parameters) { - - paramMap = MESOWestConstants.getParmMap(); - valuesMap = MESOWestConstants.getValuesMap(); - parameters = parameters.trim(); - if (parameters.startsWith(MESOWestConstants.D_PARMLEADER)) { - - parameters = parameters.substring( - MESOWestConstants.D_PARMLEADER.length()).trim(); - - String[] parms = parameters.split(MESOWestConstants.D_PARM_DELIMIT, - -1); - - int index = MESOWestConstants.getParmPos(); - for (String s : parms) { - paramMap.put(index, s); - valuesMap.put(s, new MESOWestElement(s)); - - index++; - } - } - } - - /** - * - * @param report - * @return - */ - public MESOWestRecord decode(String report) { - // Clear out the old data! - clearValueMap(); - String[] parts = report.split(",", -1); - - if ((parts != null) && (parts.length > 5)) { - int index = 0; - for (String s : parts) { - String elementName = paramMap.get(index++); - - MESOWestElement element = valuesMap.get(elementName); - if (element != null) { - element.setElementValue(s); - } - } - } - - return getDecodedData(); - } - - /** - * - * @return - */ - private MESOWestRecord getDecodedData() { - - MESOWestRecord record = getLocationInfo(new MESOWestRecord()); - if (record != null) { - // Now go get specific data elements - Double val = getFloatValue(MESOWestConstants.P_SFCTEMP); - val = DecoderTools.fahrenheitToCelsius(val); - record.setTemp(DecoderTools.celsiusToKelvin(val)); - - val = getFloatValue(MESOWestConstants.P_SFCDWPT); - val = DecoderTools.fahrenheitToCelsius(val); - record.setDwpt(DecoderTools.celsiusToKelvin(val)); - - val = getFloatValue(MESOWestConstants.P_MAX_T_24H); - val = DecoderTools.fahrenheitToCelsius(val); - record.setMaxT24(DecoderTools.celsiusToKelvin(val)); - - val = getFloatValue(MESOWestConstants.P_MIN_T_24H); - val = DecoderTools.fahrenheitToCelsius(val); - record.setMinT24(DecoderTools.celsiusToKelvin(val)); - - record.setHumidity(getFloatValue(MESOWestConstants.P_HUMIDITY)); - - val = getFloatValue(MESOWestConstants.P_WINDSPD); - record.setWindSpeed(DecoderTools.ktsToMSec(val)); - - val = getFloatValue(MESOWestConstants.P_WINDGST); - record.setWindGust(DecoderTools.ktsToMSec(val)); - - record.setWindDirection(getFloatValue(MESOWestConstants.P_WINDDIR)); - - val = getFloatValue(MESOWestConstants.P_PRESSURE); - record.setPressure(DecoderTools.hPaToPa(val)); - - val = getFloatValue(MESOWestConstants.P_ALTIMETER); - record.setAltimeter(DecoderTools.inToPa(val)); - - val = getFloatValue(MESOWestConstants.P_SEA_LVL_PRES); - record.setSeaLevelPressure(DecoderTools.hPaToPa(val)); - - - record.setPrecip_01M(getFloatValue(MESOWestConstants.P_PRECIP_01M)); - record.setPrecip_05M(getFloatValue(MESOWestConstants.P_PRECIP_05M)); - record.setPrecip_10M(getFloatValue(MESOWestConstants.P_PRECIP_10M)); - record.setPrecip_15M(getFloatValue(MESOWestConstants.P_PRECIP_15M)); - record.setPrecip_30M(getFloatValue(MESOWestConstants.P_PRECIP_30M)); - record.setPrecip_01H(getFloatValue(MESOWestConstants.P_PRECIP_01H)); - record.setPrecip_03H(getFloatValue(MESOWestConstants.P_PRECIP_03H)); - record.setPrecip_06H(getFloatValue(MESOWestConstants.P_PRECIP_06H)); - record.setPrecip_24H(getFloatValue(MESOWestConstants.P_PRECIP_24H)); - } - return record; - } - - /** - * Clear the parsed values from each element prior to accepting new data. - */ - private void clearValueMap() { - for (MESOWestElement element : valuesMap.values()) { - element.setElementValue(null); - } - } - - /** - * - * @param data - * @return - */ - private MESOWestRecord getLocationInfo(MESOWestRecord data) { - - Calendar obsTime = null; - - MESOWestElement m = valuesMap.get(MESOWestConstants.P_DATATIME); - if (m != null) { - String s = m.getElementValue(); - if (s != null) { - try { - Date d = dateFormat.parse(s); - if (d != null) { - Calendar c = TimeTools.newCalendar(d.getTime()); - if (c != null) { - obsTime = TimeTools.copy(c); - data.setTimeObs(obsTime); - - DataTime t = new DataTime(TimeTools.copy(obsTime)); - data.setDataTime(t); - } - } - } catch (ParseException e) { - logger.error("Invalid date [" + s + "]"); - } - } - } else { - logger.error("Date missing"); - data = null; - } - - if (obsTime != null) { - - Double lat = getFloatValue(MESOWestConstants.P_LAT); - Double lon = getFloatValue(MESOWestConstants.P_LON); - Integer elev = getIntValue(MESOWestConstants.P_ELEV); - - if ((lat != null) && (lon != null) && (elev != null)) { - SurfaceObsLocation location = new SurfaceObsLocation(); - location.assignLocation(lat, lon); - location.setElevation(elev); - - String stnId = getStringValue(MESOWestConstants.P_STNID); - if (stnId != null) { - location.setStationId(stnId); - - data.setSpatialObject(location); - data.setNetworkType(getStringValue(MESOWestConstants.P_STNTYPE)); - } else { - data = null; - logger.error("Station Id missing"); - } - } else { - data = null; - logger.error("Spatial information missing"); - } - } - - return data; - } - - /** - * - * @param value - * @return - */ - private String getStringValue(String key) { - String sValue = null; - - MESOWestElement value = valuesMap.get(key); - if (value != null) { - sValue = value.getElementValue(); - } - return sValue; - } - - /** - * - * @param value - * @return - */ - private Double getFloatValue(String key) { - Double floatValue = null; - - MESOWestElement value = valuesMap.get(key); - if (value != null) { - try { - floatValue = Double.parseDouble(value.getElementValue()); - } catch (NumberFormatException nfe) { - - } - } - return floatValue; - } - - /** - * - * @param value - * @return - */ - private Integer getIntValue(String key) { - Integer intValue = null; - - MESOWestElement value = valuesMap.get(key); - if (value != null) { - try { - intValue = Integer.parseInt(value.getElementValue()); - } catch (NumberFormatException nfe) { - - } - } - return intValue; - } - - public static final void main(String[] args) { - - String parms = " PARM = TMPF;RELH;SKNT;GUST;DRCT;QFLG;DWPF;PRES;PMSL;ALTI;P03D;SOLR;WNUM;VSBY;CHC1;CHC2;CHC3;CIG;TLKE;FT;FM;HI6;LO6;PEAK;HI24;LO24;PREC;P01I;P03I;P06I;P24I;P05I;P10I;P15I;SNOW;PACM;SACM;WEQS;P30I;PWVP;TSOI;MSOI;STEN;TSRD;EVAP;TRD1;TRD2;TRD3;TRD4;TFZ1;TFZ2;TFZ3;TFZ4;RSS1;RSS2;RSS3;RSS4"; - - String data1 = "KAAT,41.49139,-120.56444,4373,1,20090303/2009,32,92.96,18,27,230,2,30.2,,,29.81,,,740,0.5,36,73,194,700,,,,,,27,,,,0.01,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"; - - String data2 = "KRSP,,,,1,20090312/1254,28.94,53.05,7,19,340,,14,,1031.2,30.39,,,,10,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"; - MESOWestParser parser = new MESOWestParser(parms); - - MESOWestRecord record = parser.decode(data2); - - System.out.println("******************************"); - if (record != null) { - Calendar c = record.getTimeObs(); - if (c != null) { - System.out.println(String.format( - "* time | %1$tY%1$tm%1$td%1$tH%1$tM", record - .getTimeObs())); - } else { - System.out.println("* time | null"); - } - System.out.println("* latitude | " + record.getLatitude()); - System.out.println("* longitude | " + record.getLongitude()); - System.out.println("* station id | " + record.getStationId()); - System.out.println("* network | " + record.getNetworkType()); - - System.out.println("*************"); - System.out.println("* temperature = " + record.getTemp()); - System.out.println("* dewpoint = " + record.getDwpt()); - System.out.println("* humidity % = " + record.getHumidity()); - System.out.println("* wind speed = " + record.getWindSpeed()); - System.out.println("* wind gust = " + record.getWindGust()); - System.out.println("* wind direction = " - + record.getWindDirection()); - System.out.println("* pressure = " + record.getPressure()); - System.out.println("* slp = " - + record.getSeaLevelPressure()); - System.out.println("* altimeter = " + record.getAltimeter()); - } else { - System.out.println("* No data decoded"); - System.out.println("*************"); - System.out.println("******************************"); - } - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWFloatElement.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWFloatElement.java deleted file mode 100644 index b306675e23..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWFloatElement.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * 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.edex.plugin.mesowest.decoder; - -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; - -/** - * TODO Add Description - * - *
- *
- * SOFTWARE HISTORY
- *
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 10, 2009            jkorman     Initial creation
- *
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MWFloatElement extends MESOWestElement { - - private Double floatValue = null; - - public MWFloatElement(String name) { - super(name); - } - - /** - * - * @param value - */ - @Override - public void setElementValue(String value) { - super.setElementValue(value); - - try { - floatValue = Double.parseDouble(value); - } catch(NumberFormatException nfe) { - - } - } - - /** - * - * @param record - * @return - */ - @Override - public MESOWestRecord getDecodedData(MESOWestRecord record) { - - - - return record; - } -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWIntElement.java b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWIntElement.java deleted file mode 100644 index a795db47dc..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/src/com/raytheon/uf/edex/plugin/mesowest/decoder/MWIntElement.java +++ /dev/null @@ -1,109 +0,0 @@ -/** - * 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.edex.plugin.mesowest.decoder; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import com.raytheon.uf.edex.plugin.mesowest.common.MESOWestRecord; - -/** - * TODO Add Description - * - *
- *
- * SOFTWARE HISTORY
- *
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Mar 10, 2009            jkorman     Initial creation
- *
- * 
- * - * @author jkorman - * @version 1.0 - */ - -public class MWIntElement extends MESOWestElement { - - private Integer intValue = null; - - public MWIntElement(String name) { - super(name); - } - - /** - * - * @param value - */ - @Override - public void setElementValue(String value) { - super.setElementValue(value); - - try { - intValue = Integer.parseInt(value); - } catch(NumberFormatException nfe) { - - } - } - - /** - * - * @param record - * @return - */ - @Override - public MESOWestRecord getDecodedData(MESOWestRecord record) { - - StringBuilder sb = new StringBuilder(getElementName()); - sb.setCharAt(0,Character.toUpperCase(sb.charAt(0))); - sb.insert(0,"get"); - - String methodName = sb.toString(); - Method m = null; - - try { - m = record.getClass().getDeclaredMethod(methodName, Integer.class); - if(m != null) { - - try { - m.invoke(record, intValue); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - } - } catch (SecurityException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (NoSuchMethodException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return record; - } - -} diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/utility/common_static/base/mesowest/MesowestParmTable.txt b/edexOsgi/com.raytheon.uf.edex.plugin.mesowest/utility/common_static/base/mesowest/MesowestParmTable.txt deleted file mode 100644 index e69de29bb2..0000000000