Omaha #2061 Remove dataURI from acars.
Former-commit-id: e8b5ea58ca12878922be01c815a354703f5f4387
This commit is contained in:
parent
4ac8246386
commit
f66725a515
6 changed files with 87 additions and 39 deletions
|
@ -149,7 +149,6 @@ public class PlotResourceData extends AbstractRequestableResourceData {
|
||||||
pluginProps.put("svrwx", new PluginPlotProperties(false));
|
pluginProps.put("svrwx", new PluginPlotProperties(false));
|
||||||
pluginProps.put("ldadhydro", new PluginPlotProperties(false));
|
pluginProps.put("ldadhydro", new PluginPlotProperties(false));
|
||||||
pluginProps.put("textPoints", new PluginPlotProperties(false));
|
pluginProps.put("textPoints", new PluginPlotProperties(false));
|
||||||
pluginProps.put("acars", new PluginPlotProperties(false));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The good ones, these don't even need to be here because this is the
|
* The good ones, these don't even need to be here because this is the
|
||||||
|
@ -180,6 +179,7 @@ public class PlotResourceData extends AbstractRequestableResourceData {
|
||||||
pluginProps.put("madis", new PluginPlotProperties());
|
pluginProps.put("madis", new PluginPlotProperties());
|
||||||
pluginProps.put("pirep", new PluginPlotProperties());
|
pluginProps.put("pirep", new PluginPlotProperties());
|
||||||
pluginProps.put("airep", new PluginPlotProperties());
|
pluginProps.put("airep", new PluginPlotProperties());
|
||||||
|
pluginProps.put("acars", new PluginPlotProperties());
|
||||||
|
|
||||||
ParsedURL.registerHandler(new LocalizationParsedURLHandler());
|
ParsedURL.registerHandler(new LocalizationParsedURLHandler());
|
||||||
}
|
}
|
||||||
|
|
40
deltaScripts/14.4.1/DR2061/dropAcarsDataURI.sh
Normal file
40
deltaScripts/14.4.1/DR2061/dropAcarsDataURI.sh
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# DR #2061 - this update script will drop the dataURI column from acars
|
||||||
|
|
||||||
|
PSQL="/awips2/psql/bin/psql"
|
||||||
|
|
||||||
|
# takes one arg: a table name
|
||||||
|
# drops the datauri constraint and column if they exist
|
||||||
|
function dropDatauri {
|
||||||
|
echo "INFO: Dropping DataURI column from $1"
|
||||||
|
${PSQL} -U awips -d metadata -c "ALTER TABLE $1 DROP CONSTRAINT IF EXISTS ${1}_datauri_key;"
|
||||||
|
${PSQL} -U awips -d metadata -c "ALTER TABLE $1 DROP COLUMN IF EXISTS datauri;"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to drop dataURI column for $table"
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# takes three args: table, constraint name, unique columns
|
||||||
|
# will first drop the constraint if it exists and then adds it back, this is
|
||||||
|
# fairly inefficient if it does exist but operationally it won't exist and for
|
||||||
|
# testing this allows the script to be run easily as a noop.
|
||||||
|
function dropDatauriAndAddConstraint {
|
||||||
|
dropDatauri $1
|
||||||
|
${PSQL} -U awips -d metadata -c "ALTER TABLE $1 DROP CONSTRAINT IF EXISTS $2;"
|
||||||
|
${PSQL} -U awips -d metadata -c "ALTER TABLE $1 ADD CONSTRAINT $2 UNIQUE $3;"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to add new unique constraint for $table"
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "INFO: Dropping acars dataURI columns."
|
||||||
|
|
||||||
|
dropDatauriAndAddConstraint acars acars_reftime_tailnumber_flightlevel_latitude_longitude_key "(reftime, tailnumber, flightlevel, latitude, longitude)"
|
||||||
|
${PSQL} -U awips -d metadata -c "update acars set stationid = to_char(longitude, 'FM999.999') || ':' || to_char(latitude, 'FM999.999')"
|
||||||
|
${PSQL} -U awips -d metadata -c "VACUUM FULL ANALYZE acars"
|
||||||
|
|
||||||
|
echo "INFO: acars dataURI columns dropped successfully"
|
|
@ -1,17 +1,17 @@
|
||||||
Manifest-Version: 1.0
|
Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: Acars Plug-in
|
Bundle-Name: Acars Common Plug-in
|
||||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acars
|
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acars
|
||||||
Bundle-Version: 1.12.1174.qualifier
|
Bundle-Version: 1.14.0.qualifier
|
||||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
|
||||||
Bundle-Vendor: RAYTHEON
|
Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
|
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||||
Require-Bundle: com.raytheon.uf.common.dataplugin,
|
Require-Bundle: com.raytheon.uf.common.dataplugin,
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.pointdata;bundle-version="1.13.0",
|
||||||
com.raytheon.uf.common.serialization,
|
com.raytheon.uf.common.serialization;bundle-version="1.14.0",
|
||||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
com.raytheon.uf.common.geospatial;bundle-version="1.14.0",
|
||||||
|
com.raytheon.uf.common.dataaccess;bundle-version="1.14.0",
|
||||||
javax.persistence,
|
javax.persistence,
|
||||||
org.hibernate;bundle-version="1.0.0",
|
org.hibernate,
|
||||||
javax.measure;bundle-version="1.0.0",
|
javax.measure
|
||||||
com.raytheon.uf.common.dataaccess;bundle-version="1.14.0"
|
|
||||||
Export-Package: com.raytheon.uf.common.dataplugin.acars
|
Export-Package: com.raytheon.uf.common.dataplugin.acars
|
||||||
|
|
|
@ -21,8 +21,6 @@ package com.raytheon.uf.common.dataplugin.acars;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
import javax.persistence.Access;
|
|
||||||
import javax.persistence.AccessType;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
import javax.persistence.Embedded;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
@ -64,8 +62,9 @@ import com.vividsolutions.jts.geom.Geometry;
|
||||||
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
|
* Apr 12, 2013 1857 bgonzale Added SequenceGenerator annotation.
|
||||||
* May 07, 2013 1869 bsteffen Remove dataURI column from
|
* May 07, 2013 1869 bsteffen Remove dataURI column from
|
||||||
* PluginDataObject.
|
* PluginDataObject.
|
||||||
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
||||||
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable
|
* Jun 11, 2014 2061 bsteffen Remove IDecoderGettable, drop datauri
|
||||||
|
*
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -74,13 +73,14 @@ import com.vividsolutions.jts.geom.Geometry;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "acarsseq")
|
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "acarsseq")
|
||||||
@Table(name = "acars", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "acars", uniqueConstraints = { @UniqueConstraint(columnNames = {
|
||||||
|
"refTime", "tailNumber", "flightLevel", "latitude", "longitude" }) })
|
||||||
/*
|
/*
|
||||||
* Both refTime and forecastTime are included in the refTimeIndex since
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
* forecastTime is unlikely to be used.
|
* forecastTime is unlikely to be used.
|
||||||
*/
|
*/
|
||||||
@org.hibernate.annotations.Table(appliesTo = "acars", indexes = { @Index(name = "acars_refTimeIndex", columnNames = {
|
@org.hibernate.annotations.Table(appliesTo = "acars", indexes = { @Index(name = "acars_refTimeIndex", columnNames = {
|
||||||
"refTime", "forecastTime" }) })
|
"refTime" }) })
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
@ -681,13 +681,6 @@ public class ACARSRecord extends PluginDataObject implements ISpatialEnabled,
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Column
|
|
||||||
@Access(AccessType.PROPERTY)
|
|
||||||
public String getDataURI() {
|
|
||||||
return super.getDataURI();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPluginName() {
|
public String getPluginName() {
|
||||||
return "acars";
|
return "acars";
|
||||||
|
|
|
@ -2,19 +2,19 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: Acars Decoder Plug-in
|
Bundle-Name: Acars Decoder Plug-in
|
||||||
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.acars
|
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.acars
|
||||||
Bundle-Version: 1.14.0.qualifier
|
Bundle-Version: 1.14.1.qualifier
|
||||||
Bundle-Vendor: RAYTHEON
|
Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
Require-Bundle: com.raytheon.edex.common,
|
Require-Bundle: com.raytheon.edex.common;bundle-version="1.14.0",
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.dataplugin.acars;bundle-version="1.14.0",
|
||||||
com.raytheon.uf.edex.decodertools;bundle-version="1.0.0",
|
com.raytheon.uf.common.pointdata;bundle-version="1.13.0",
|
||||||
org.geotools,
|
com.raytheon.uf.edex.decodertools,
|
||||||
|
com.raytheon.uf.common.status,
|
||||||
|
com.raytheon.uf.common.wmo;bundle-version="1.14.0",
|
||||||
|
org.geotools;bundle-version="10.5",
|
||||||
javax.persistence,
|
javax.persistence,
|
||||||
javax.measure,
|
javax.measure,
|
||||||
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174"
|
com.raytheon.uf.edex.pointdata
|
||||||
Export-Package: com.raytheon.uf.edex.plugin.acars,
|
Export-Package: com.raytheon.uf.edex.plugin.acars,
|
||||||
com.raytheon.uf.edex.plugin.acars.common,
|
com.raytheon.uf.edex.plugin.acars.common,
|
||||||
com.raytheon.uf.edex.plugin.acars.dao
|
com.raytheon.uf.edex.plugin.acars.dao
|
||||||
Import-Package: com.raytheon.uf.common.dataplugin.acars,
|
|
||||||
com.raytheon.uf.common.status,
|
|
||||||
com.raytheon.uf.common.wmo
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ import static com.raytheon.uf.edex.decodertools.bufr.packets.DataPacketTypes.Sub
|
||||||
import static com.raytheon.uf.edex.plugin.acars.common.ACARSConstants.NO_ICING;
|
import static com.raytheon.uf.edex.plugin.acars.common.ACARSConstants.NO_ICING;
|
||||||
import static com.raytheon.uf.edex.plugin.acars.common.ACARSConstants.RESERVE_13;
|
import static com.raytheon.uf.edex.plugin.acars.common.ACARSConstants.RESERVE_13;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -49,13 +50,14 @@ import com.raytheon.uf.edex.decodertools.bufr.packets.IBUFRDataPacket;
|
||||||
* <pre>
|
* <pre>
|
||||||
*
|
*
|
||||||
* SOFTWARE HISTORY
|
* SOFTWARE HISTORY
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------- -------- ----------- --------------------------
|
||||||
* Jan 22, 2009 1939 jkorman Initial creation
|
* Jan 22, 2009 1939 jkorman Initial creation
|
||||||
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
||||||
* Sep 18, 2013 2339 njensen Index safety check in getTailNumber()
|
* Sep 18, 2013 2339 njensen Index safety check in getTailNumber()
|
||||||
* Mar 27, 2014 2811 skorolev Added check for empty message.
|
* Mar 27, 2014 2811 skorolev Added check for empty message.
|
||||||
* May 14, 2014 2536 bclement moved WMO Header to common, removed TimeTools usage
|
* May 14, 2014 2536 bclement moved WMO Header to common, removed TimeTools usage
|
||||||
|
* Jun 12, 2014 2061 bsteffen Generate unique stationid
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -82,6 +84,9 @@ public class ACARSDataAdapter {
|
||||||
private static final int[] DETAIL_PHASE_MAP = { 3, 4, 2, 3, 4, 5, 6, 5, 5,
|
private static final int[] DETAIL_PHASE_MAP = { 3, 4, 2, 3, 4, 5, 6, 5, 5,
|
||||||
5, 5, 6, 6, 6, 6, 7, };
|
5, 5, 6, 6, 6, 6, 7, };
|
||||||
|
|
||||||
|
private static final DecimalFormat STATION_ID_FORMAT = new DecimalFormat(
|
||||||
|
"###.###");
|
||||||
|
|
||||||
private String traceId = null;
|
private String traceId = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -495,6 +500,7 @@ public class ACARSDataAdapter {
|
||||||
if (hgt != null) {
|
if (hgt != null) {
|
||||||
loc.setFlightLevel(hgt.intValue());
|
loc.setFlightLevel(hgt.intValue());
|
||||||
}
|
}
|
||||||
|
generateStationId(loc);
|
||||||
}
|
}
|
||||||
return loc;
|
return loc;
|
||||||
}
|
}
|
||||||
|
@ -534,10 +540,19 @@ public class ACARSDataAdapter {
|
||||||
loc.setLatitude(lat);
|
loc.setLatitude(lat);
|
||||||
loc.setLongitude(lon);
|
loc.setLongitude(lon);
|
||||||
loc.setLocation(lat, lon);
|
loc.setLocation(lat, lon);
|
||||||
|
generateStationId(loc);
|
||||||
}
|
}
|
||||||
return loc;
|
return loc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void generateStationId(AircraftObsLocation loc) {
|
||||||
|
synchronized (STATION_ID_FORMAT) {
|
||||||
|
loc.setStationId(STATION_ID_FORMAT.format(loc.getLongitude()) + ":"
|
||||||
|
+ STATION_ID_FORMAT.format(loc.getLatitude()));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param dataList
|
* @param dataList
|
||||||
|
|
Loading…
Add table
Reference in a new issue