Omaha #3949 Add lightning source to SCAN site run config and filter on it.
Change-Id: Ic8a13effa112f6858a34b07c65ddae5a592d9be5 Former-commit-id: 4817945b7eadadca996dd1e3d037a2b2de297ec4
This commit is contained in:
parent
504fe69507
commit
4dd5b6999c
7 changed files with 214 additions and 122 deletions
|
@ -1,19 +1,19 @@
|
|||
/**
|
||||
* 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.
|
||||
**/
|
||||
|
@ -56,11 +56,11 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
|||
|
||||
/**
|
||||
* Record implementation for Binary Lightning plugin.
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ---------- ---------- ----------- --------------------------
|
||||
* Aug 10, 2007 379 jkorman Initial Coding from prototype.
|
||||
|
@ -91,9 +91,10 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
|||
* replaced addStrike() with List constructor, added pulses
|
||||
* Jun 10, 2014 3226 bclement collections instead of lists, made data source logic public
|
||||
* Jun 19, 2014 3214 bclement populated pulse index array with -1 when missing pulse data
|
||||
*
|
||||
* Jan 22, 2014 3949 nabowle refactor out default and unknown source constants.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1
|
||||
*/
|
||||
|
@ -154,7 +155,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Constructs a grib record from a dataURI
|
||||
*
|
||||
*
|
||||
* @param uri
|
||||
* The dataURI
|
||||
*/
|
||||
|
@ -164,7 +165,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Construct a lightning record from a list of strikes
|
||||
*
|
||||
*
|
||||
* @param strikes
|
||||
*/
|
||||
public BinLightningRecord(final Collection<LightningStrikePoint> strikes) {
|
||||
|
@ -297,15 +298,15 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Extract data source from strike
|
||||
*
|
||||
*
|
||||
* @param strike
|
||||
* @return
|
||||
*/
|
||||
public static String getDataSource(LightningStrikePoint strike) {
|
||||
if (strike.getLightSource() == null) {
|
||||
return "NLDN";
|
||||
return LightningConstants.DEFAULT_SOURCE;
|
||||
} else if (strike.getLightSource().isEmpty()) {
|
||||
return "UNKN";
|
||||
return LightningConstants.UNKNOWN_SOURCE;
|
||||
} else {
|
||||
return strike.getLightSource();
|
||||
}
|
||||
|
@ -313,7 +314,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Get the data start time time. This is the date/time of the oldest item.
|
||||
*
|
||||
*
|
||||
* @return the startTime
|
||||
*/
|
||||
public Calendar getStartTime() {
|
||||
|
@ -322,7 +323,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Get the data start time time. This is the date/time of the oldest item.
|
||||
*
|
||||
*
|
||||
* @param startTime
|
||||
* the startTime to set
|
||||
*/
|
||||
|
@ -332,7 +333,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Get the data stop time time. This is the date/time of the newest item.
|
||||
*
|
||||
*
|
||||
* @return the stopTime
|
||||
*/
|
||||
public Calendar getStopTime() {
|
||||
|
@ -341,7 +342,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Set the data stop time time. This is the date/time of the newest item.
|
||||
*
|
||||
*
|
||||
* @param stopTime
|
||||
* the stopTime to set
|
||||
*/
|
||||
|
@ -351,7 +352,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Get the data insert time.
|
||||
*
|
||||
*
|
||||
* @return the insert_time
|
||||
*/
|
||||
public Calendar getInsert_time() {
|
||||
|
@ -360,7 +361,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Set the data insert time.
|
||||
*
|
||||
*
|
||||
* @param insert_time
|
||||
* the insert_time to set
|
||||
*/
|
||||
|
@ -370,7 +371,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* gets the obsTimes
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public long[] getObsTimes() {
|
||||
|
@ -380,7 +381,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the latitudes
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public float[] getLatitudes() {
|
||||
|
@ -390,7 +391,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the latitudes
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public float[] getLongitudes() {
|
||||
|
@ -400,7 +401,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the instensities
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public int[] getIntensities() {
|
||||
|
@ -410,7 +411,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the msgTypes
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public byte[] getMsgTypes() {
|
||||
|
@ -420,7 +421,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the strikeTypes
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public byte[] getStrikeTypes() {
|
||||
|
@ -431,7 +432,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Gets the strikeCounts
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public byte[] getPulseCounts() {
|
||||
|
@ -442,7 +443,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* JJG - Get the lightning source
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getSource() {
|
||||
|
@ -451,7 +452,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* JJG - Set the lightning source
|
||||
*
|
||||
*
|
||||
* @param lightSource
|
||||
*/
|
||||
public void setSource(String lightSource) {
|
||||
|
@ -460,7 +461,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Sets the data arrays from the store.
|
||||
*
|
||||
*
|
||||
* @param dataStore
|
||||
*/
|
||||
public void retrieveFromDataStore(IDataStore dataStore)
|
||||
|
@ -470,7 +471,7 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
/**
|
||||
* Sets the data arrays from the store.
|
||||
*
|
||||
*
|
||||
* @param dataStore
|
||||
* @param includePulses
|
||||
* extract pulse data if true
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/**
|
||||
* 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.
|
||||
**/
|
||||
|
@ -30,6 +30,7 @@ package com.raytheon.uf.common.dataplugin.binlightning;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* May 30, 2014 3226 bclement Initial creation
|
||||
* Jul 07, 2014 3333 bclement added SOURCE
|
||||
* Jan 22, 2014 2949 nabowle Add default and unknown source values.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -68,4 +69,10 @@ public class LightningConstants {
|
|||
|
||||
public static final String SENSOR_COUNT_DATASET = "sensorCount";
|
||||
|
||||
// Field values
|
||||
|
||||
public static final String DEFAULT_SOURCE = "NLDN";
|
||||
|
||||
public static final String UNKNOWN_SOURCE = "UNKN";
|
||||
|
||||
}
|
||||
|
|
|
@ -27,9 +27,9 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
|||
|
||||
/**
|
||||
* ScanRunSiteConfigurationManager
|
||||
*
|
||||
*
|
||||
* Holds the SCAN configuration
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
|
@ -38,9 +38,10 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
|||
* 02/25/13 1660 dhladky Fixed configuration bug in scan.
|
||||
* Aug 13, 2013 1742 dhladky Concurrent mod exception on update fixed
|
||||
* Oct 02, 2013 2361 njensen Use JAXBManager for XML
|
||||
*
|
||||
* Jan 20, 2015 3949 nabowle Add lightning source.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author dhladky
|
||||
* @version 1.0
|
||||
*/
|
||||
|
@ -90,7 +91,7 @@ public class SCANRunSiteConfigurationManager implements
|
|||
|
||||
/**
|
||||
* Get an instance of this singleton.
|
||||
*
|
||||
*
|
||||
* @return Instance of this class
|
||||
*/
|
||||
public static SCANRunSiteConfigurationManager getInstance() {
|
||||
|
@ -211,7 +212,7 @@ public class SCANRunSiteConfigurationManager implements
|
|||
|
||||
/**
|
||||
* Get a site listing
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ArrayList<String> getSiteNames() {
|
||||
|
@ -223,7 +224,7 @@ public class SCANRunSiteConfigurationManager implements
|
|||
|
||||
/**
|
||||
* Get a local site listing
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ArrayList<String> getLocalSiteNames() {
|
||||
|
@ -235,7 +236,7 @@ public class SCANRunSiteConfigurationManager implements
|
|||
|
||||
/**
|
||||
* Get a dial site listing
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ArrayList<String> getDialSiteNames() {
|
||||
|
@ -245,9 +246,21 @@ public class SCANRunSiteConfigurationManager implements
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the lightning source.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getLightningSource() {
|
||||
if (configXml != null) {
|
||||
return configXml.getLightningSource();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Site you are seeking
|
||||
*
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
|
@ -302,10 +315,10 @@ public class SCANRunSiteConfigurationManager implements
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Enumeration for which type of ModelData. CAPE is: Convective Available
|
||||
* Potential Energy. HELI is: storm relative HELIcity.
|
||||
*
|
||||
*
|
||||
* @author dhladky
|
||||
* @version 1.0
|
||||
*/
|
||||
|
|
|
@ -1,3 +1,22 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.common.monitor.xml;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -8,12 +27,32 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlElements;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.LightningConstants;
|
||||
import com.raytheon.uf.common.dataplugin.radar.util.RadarsInUseUtil;
|
||||
|
||||
/**
|
||||
* Scan site run config
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 20, 2015 3949 nabowle Add lightning source.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author nabowle
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlRootElement(name = "SCANSiteRunConfig")
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class SCANSiteRunConfigXML {
|
||||
|
||||
@XmlElement(name = "lightningSource")
|
||||
private String lightningSource = LightningConstants.DEFAULT_SOURCE;
|
||||
|
||||
@XmlElements({ @XmlElement(name = "site") })
|
||||
private ArrayList<SCANSiteXML> sites;
|
||||
|
||||
|
@ -72,4 +111,12 @@ public class SCANSiteRunConfigXML {
|
|||
sites.add(site);
|
||||
}
|
||||
|
||||
public String getLightningSource() {
|
||||
return this.lightningSource;
|
||||
}
|
||||
|
||||
public void setLightningSource(String lightningSource) {
|
||||
this.lightningSource = lightningSource;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,19 +3,19 @@ package com.raytheon.uf.edex.plugin.scan;
|
|||
/**
|
||||
* 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 144
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
|
@ -48,6 +48,7 @@ import com.raytheon.uf.common.dataplugin.scan.data.SoundingData;
|
|||
import com.raytheon.uf.common.dataplugin.scan.data.TVSTableData;
|
||||
import com.raytheon.uf.common.localization.IPathManager;
|
||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||
import com.raytheon.uf.common.monitor.config.SCANRunSiteConfigurationManager;
|
||||
import com.raytheon.uf.common.monitor.scan.ScanUtils;
|
||||
import com.raytheon.uf.common.monitor.scan.config.SCANConfigEnums.ScanTables;
|
||||
import com.raytheon.uf.common.monitor.scan.xml.ScanAlarmXML;
|
||||
|
@ -78,13 +79,13 @@ import com.raytheon.uf.edex.plugin.scan.process.VILProduct;
|
|||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Filters URIs for SCAN processing
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 23, 2010 dhladky Initial creation
|
||||
|
@ -92,10 +93,12 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Oct 15, 2013 2361 njensen Use JAXBManager for XML
|
||||
* Apr 24, 2014 2060 njensen Updates for removal of grid dataURI column
|
||||
* May 12, 2014 3133 njensen Remove unused field
|
||||
*
|
||||
*
|
||||
* Jan 20, 2014 3949 nabowle Only match binlightning uris with the proper
|
||||
* lightning source.
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author unknown
|
||||
* @version 1.0
|
||||
*/
|
||||
|
@ -228,7 +231,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the cell tilt angle
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public double getCellTilt() {
|
||||
|
@ -241,7 +244,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the dmd tilt angle
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public double getDmdTilt() {
|
||||
|
@ -254,7 +257,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the tvs tilt angle
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public double getTvsTilt() {
|
||||
|
@ -267,7 +270,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the md tilt angle
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public double getMdTilt() {
|
||||
|
@ -280,7 +283,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the radar station WMO ID
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getStationWmo() {
|
||||
|
@ -309,7 +312,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* same as above except it's a clone of the original
|
||||
*
|
||||
*
|
||||
* @param table
|
||||
* @return
|
||||
*/
|
||||
|
@ -369,7 +372,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gest the home CWA
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getCWA() {
|
||||
|
@ -415,7 +418,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Get the generator
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ScanGenerator getGenerator() {
|
||||
|
@ -424,7 +427,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gathers the patterns the tables search for
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
|
@ -496,9 +499,11 @@ public class ScanURIFilter extends URIFilter {
|
|||
patternKeys.put(CompositeReflectivityProduct.cz,
|
||||
CompositeReflectivityProduct.getPattern(site.getScanSite(),
|
||||
getCellTilt()));
|
||||
getMatchURIs().put(LightningProduct.getPattern(), 0l);
|
||||
patternKeys.put(LightningProduct.BINLIGHTNING,
|
||||
LightningProduct.getPattern());
|
||||
Pattern lightningPattern = LightningProduct
|
||||
.getPattern(SCANRunSiteConfigurationManager.getInstance()
|
||||
.getLightningSource());
|
||||
getMatchURIs().put(lightningPattern, 0l);
|
||||
patternKeys.put(LightningProduct.BINLIGHTNING, lightningPattern);
|
||||
getMatchURIs().put(
|
||||
VILProduct.getPattern(site.getScanSite(), getCellTilt()), 0l);
|
||||
patternKeys.put(VILProduct.vil,
|
||||
|
@ -510,7 +515,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* In the case of SCAN we match on any URI matching that comes in
|
||||
*
|
||||
*
|
||||
* @param message
|
||||
* @return boolean
|
||||
*/
|
||||
|
@ -703,7 +708,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* gets the matching key for a matching pattern
|
||||
*
|
||||
*
|
||||
* @param pattern
|
||||
* @return
|
||||
*/
|
||||
|
@ -719,7 +724,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Determines if a cell record needs to be closed
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean cellIsNew() {
|
||||
|
@ -728,7 +733,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Determines if a dmd record needs to be closed
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean dmdIsNew() {
|
||||
|
@ -737,7 +742,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Determines if a tvs record needs to be closed
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean tvsIsNew() {
|
||||
|
@ -746,7 +751,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Determines if an md record needs to be closed
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean mdIsNew() {
|
||||
|
@ -755,10 +760,10 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Get the SoundingData
|
||||
*
|
||||
*
|
||||
* If there is no data yet in the map then use a "pull strategy" to obtain
|
||||
* this data; but only do this when there is no data available yet.
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public SoundingData getSoundingData() {
|
||||
|
@ -767,7 +772,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Get the Radar Data
|
||||
*
|
||||
*
|
||||
* @return the radar data
|
||||
*/
|
||||
public RadarData getRadarData() {
|
||||
|
@ -776,7 +781,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the grib record by URI
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
@ -798,7 +803,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the radar record by URI
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
@ -818,7 +823,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets the sounding record by URI
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
@ -873,7 +878,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Gets model data
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ModelData getModelData() {
|
||||
|
@ -1026,7 +1031,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Get lightning data
|
||||
*
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
|
@ -1036,7 +1041,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* checks for data
|
||||
*
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
|
@ -1046,7 +1051,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Add lightning record
|
||||
*
|
||||
*
|
||||
* @param record
|
||||
*/
|
||||
public void setLightningData(BinLightningRecord record) {
|
||||
|
@ -1069,9 +1074,9 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* Inner class to thread the scan processing
|
||||
*
|
||||
*
|
||||
* @author dhladky
|
||||
*
|
||||
*
|
||||
*/
|
||||
class ProcessProduct implements Runnable {
|
||||
|
||||
|
@ -1095,7 +1100,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
long time2 = System.currentTimeMillis();
|
||||
logger.debug("SCAN took: " + (time2 - time) + " ms");
|
||||
} catch (Exception e) {
|
||||
logger.error("ProcessProduct: did not complete....." + e);
|
||||
logger.error("ProcessProduct: did not complete.....", e);
|
||||
} finally {
|
||||
synchronized (processes) {
|
||||
processes.remove(scanProduct);
|
||||
|
@ -1197,7 +1202,7 @@ public class ScanURIFilter extends URIFilter {
|
|||
|
||||
/**
|
||||
* get my model param
|
||||
*
|
||||
*
|
||||
* @param paramName
|
||||
* @return
|
||||
*/
|
||||
|
|
|
@ -3,19 +3,19 @@ package com.raytheon.uf.edex.plugin.scan.process;
|
|||
/**
|
||||
* 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.
|
||||
**/
|
||||
|
@ -31,18 +31,19 @@ import com.raytheon.uf.edex.plugin.scan.ScanURIFilter;
|
|||
import com.raytheon.uf.edex.plugin.scan.lightning.LightningRetriever;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Process incoming Lightning product
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 05/05/2009 2037 dhladky Initial Creation.
|
||||
* 05/14/2014 3133 njensen Use LightingRetriever instead of ScanUtils
|
||||
*
|
||||
* 01/20/2014 3949 nabowle Add lightning source to URI pattern.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author dhladky
|
||||
* @version 1.0
|
||||
*/
|
||||
|
@ -50,15 +51,20 @@ import com.raytheon.uf.edex.plugin.scan.lightning.LightningRetriever;
|
|||
public class LightningProduct extends ScanProduct {
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// special one with brackets for lightning
|
||||
private static String wildCard = "[\\w\\[\\]\\-_:.]+";
|
||||
|
||||
/** Maximum size of the URI pattern. */
|
||||
// The wild card length is 9 chars longer than LightningRecord#source length
|
||||
private static final int URI_PATTERN_SIZE = wildCard.length() * 4
|
||||
+ BINLIGHTNING.length() + 6;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param uri
|
||||
* @param tableType
|
||||
* @param filter
|
||||
|
@ -113,18 +119,29 @@ public class LightningProduct extends ScanProduct {
|
|||
|
||||
/**
|
||||
* Lightning URI Pattern
|
||||
*
|
||||
* @return
|
||||
*
|
||||
* @param source
|
||||
* The lightning source. If null or blank, a wildcard will be
|
||||
* matched instead.
|
||||
*
|
||||
* @return The compiled pattern.
|
||||
*/
|
||||
public static Pattern getPattern() {
|
||||
return Pattern.compile("^" + uriSeparator + BINLIGHTNING + uriSeparator
|
||||
+ wildCard + uriSeparator + wildCard + uriSeparator + wildCard);
|
||||
|
||||
public static Pattern getPattern(String source) {
|
||||
StringBuilder pattern = new StringBuilder(URI_PATTERN_SIZE).append("^")
|
||||
.append(uriSeparator).append(BINLIGHTNING).append(uriSeparator)
|
||||
.append(wildCard).append(uriSeparator).append(wildCard)
|
||||
.append(uriSeparator).append(wildCard).append(uriSeparator);
|
||||
if (source == null || source.trim().isEmpty()) {
|
||||
pattern.append(wildCard);
|
||||
} else {
|
||||
pattern.append(source);
|
||||
}
|
||||
return Pattern.compile(pattern.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the SQL
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getSQL(int interval) {
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/**
|
||||
* 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.
|
||||
**/
|
||||
|
@ -27,6 +27,7 @@ import java.util.List;
|
|||
|
||||
import org.geotools.referencing.GeodeticCalculator;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.BinLightningRecord;
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.impl.LtgStrikeType;
|
||||
import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
|
||||
|
@ -59,6 +60,7 @@ import com.vividsolutions.jts.geom.GeometryFactory;
|
|||
* 05/07/2009 2037 dhladky Initial Creation.
|
||||
* Apr 30, 2014 2060 njensen Updates for removal of grid dataURI column
|
||||
* Jun 05, 2014 3226 bclement compare lightning strike type by id instead of ordinal
|
||||
* Jan 22, 2015 3949 nabowle Use DataURI.SEPARATOR.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -108,13 +110,13 @@ public abstract class ScanProduct implements Serializable {
|
|||
protected static String wildCard = "[\\w\\(\\)\\-_:.]+";
|
||||
|
||||
/** Separator for URI's */
|
||||
public static String uriSeparator = "/";
|
||||
public static final String uriSeparator = DataURI.SEPARATOR;
|
||||
|
||||
protected static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(ScanProduct.class);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param uri
|
||||
* @param tableType
|
||||
* @param filter
|
||||
|
@ -127,14 +129,14 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Ensures that folks set a data type
|
||||
*
|
||||
*
|
||||
* @param type
|
||||
*/
|
||||
public abstract void setDataType();
|
||||
|
||||
/**
|
||||
* get the type set
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ScanTables getTableType() {
|
||||
|
@ -143,14 +145,14 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Ensures that folks set an allowance
|
||||
*
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
public abstract boolean getAllowNew();
|
||||
|
||||
/**
|
||||
* get the Record you need
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
@ -158,14 +160,14 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Process the product, adding the data to the SCAN Table Data objects
|
||||
*
|
||||
*
|
||||
* @throws VizException
|
||||
*/
|
||||
public abstract void process() throws Exception;
|
||||
|
||||
/**
|
||||
* Does the actual writing of the table data
|
||||
*
|
||||
*
|
||||
* @throws VizException
|
||||
*/
|
||||
public abstract ScanTableDataRow write(ScanTableDataRow row,
|
||||
|
@ -173,7 +175,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Get County Query
|
||||
*
|
||||
*
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
|
@ -205,7 +207,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Get CWA Query
|
||||
*
|
||||
*
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
|
@ -238,7 +240,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* process lightning
|
||||
*
|
||||
*
|
||||
* @param filter
|
||||
* @param startTime
|
||||
* @param stopTime
|
||||
|
@ -342,7 +344,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Gets a list of rows that should be dumped
|
||||
*
|
||||
*
|
||||
* @param list
|
||||
* @param data
|
||||
* @return
|
||||
|
@ -363,7 +365,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Gets a list of rows that should be added
|
||||
*
|
||||
*
|
||||
* @param list
|
||||
* @param data
|
||||
* @return
|
||||
|
@ -389,7 +391,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Gets a list of rows that should be added
|
||||
*
|
||||
*
|
||||
* @param list
|
||||
* @param data
|
||||
* @return
|
||||
|
@ -409,7 +411,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Gets the dataTable entry by time
|
||||
*
|
||||
*
|
||||
* @param time
|
||||
* @return
|
||||
*/
|
||||
|
@ -428,7 +430,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Sets up the spatial sections for the tables
|
||||
*
|
||||
*
|
||||
* @param row
|
||||
* @param key
|
||||
* @param pdo
|
||||
|
@ -439,7 +441,7 @@ public abstract class ScanProduct implements Serializable {
|
|||
|
||||
/**
|
||||
* Create a new tabledata object
|
||||
*
|
||||
*
|
||||
* @param <T>
|
||||
* @param tableType
|
||||
* @return
|
||||
|
|
Loading…
Add table
Reference in a new issue