Issue #181 integrating ncep edex code

Change-Id: Iaf11559e4cdb4f846d02283c5d2038474c0118e3

Former-commit-id: 3aa13bd49e23ef963127f7efbc91054c06808f1c
This commit is contained in:
Nate Jensen 2012-01-24 09:59:50 -06:00
parent a015cc136b
commit 33756de9c8
250 changed files with 80163 additions and 78106 deletions

View file

@ -59,13 +59,13 @@ public class AirmetDataAdapter extends AbstractAdvisoryDataAdapter {
private static final String LABEL_FORMAT = "%d%s"; private static final String LABEL_FORMAT = "%d%s";
private static final String INSPECT_FORMAT = "Valid UNTIL %02d%02d%02d\n%s"; private static final String INSPECT_FORMAT = "Valid UNTIL %02d%02d%02d\n%s";
private static final String REPORT_INDICATOR = "AIRMET"; private static final String REPORT_INDICATOR = "AIRMET";
private static final String SEGMENT_SEPERATOR = "\n. \n"; private static final String SEGMENT_SEPERATOR = "\n. \n";
private static final float LINE_WIDTH = 1.5f; private static final float LINE_WIDTH = 1.5f;
private static final LineStyle LINE_STYLE = LineStyle.SOLID; private static final LineStyle LINE_STYLE = LineStyle.SOLID;
@XmlAttribute @XmlAttribute
@ -89,7 +89,8 @@ public class AirmetDataAdapter extends AbstractAdvisoryDataAdapter {
if (airmetRecord.getAirmetReport() != null) { if (airmetRecord.getAirmetReport() != null) {
for (AirmetReport report : airmetRecord.getAirmetReport()) { for (AirmetReport report : airmetRecord.getAirmetReport()) {
if (isValidReport(report)) { if (isValidReport(report)) {
AdvisoryRecord oRecord = convertReport(report); AdvisoryRecord oRecord = convertReport(airmetRecord,
report);
if (oRecord != null) { if (oRecord != null) {
result.add(oRecord); result.add(oRecord);
} }
@ -100,17 +101,17 @@ public class AirmetDataAdapter extends AbstractAdvisoryDataAdapter {
return result; return result;
} }
public AdvisoryRecord convertReport(AirmetReport report) { public AdvisoryRecord convertReport(AirmetRecord parent, AirmetReport report) {
Set<AirmetLocation> locations = report.getAirmetLocation(); Set<AirmetLocation> locations = report.getAirmetLocation();
if (locations == null || locations.size() == 0) { if (locations == null || locations.size() == 0) {
return null; return null;
} }
Coordinate[] coords = new Coordinate[locations.size()]; Coordinate[] coords = new Coordinate[locations.size()];
for (AirmetLocation loc : locations) { for (AirmetLocation loc : locations) {
coords[loc.getIndex() - 1] = new Coordinate(loc.getLongitude(), loc coords[loc.getIndex() - 1] = new Coordinate(loc.getLongitude(),
.getLatitude()); loc.getLatitude());
} }
int updateNumber = report.getParentID().getUpdateNumber(); int updateNumber = parent.getUpdateNumber();
String sequenceId = report.getSequenceID(); String sequenceId = report.getSequenceID();
if (sequenceId == null) { if (sequenceId == null) {
sequenceId = ""; sequenceId = "";
@ -166,7 +167,7 @@ public class AirmetDataAdapter extends AbstractAdvisoryDataAdapter {
public float getLineWidth() { public float getLineWidth() {
return LINE_WIDTH; return LINE_WIDTH;
} }
@Override @Override
public LineStyle getLineStyle() { public LineStyle getLineStyle() {
return LINE_STYLE; return LINE_STYLE;

View file

@ -47,20 +47,23 @@
<exclude>ncgrib-ingest.xml</exclude> <exclude>ncgrib-ingest.xml</exclude>
<!-- ncep excludes until tested --> <!-- ncep excludes until tested -->
<exclude>aww-ingest.xml</exclude> <exclude>aww-ingest.xml</exclude>
<exclude>ncairep-ingest.xml</exclude>
<exclude>ncccfp-ingest.xml</exclude> <exclude>ncccfp-ingest.xml</exclude>
<exclude>ncgrib-distribution.xml</exclude> <exclude>ncgrib-distribution.xml</exclude>
<exclude>ncep-util-on-edex-ingest</exclude> <exclude>ncep-util-on-edex-ingest</exclude>
<exclude>ncep-util-on-edex-ingestGrib</exclude> <exclude>ncep-util-on-edex-ingestGrib</exclude>
<exclude>h5uair-ingest.xml</exclude> <exclude>ncscd-ingest.xml</exclude>
<exclude>h5scd-ingest.xml</exclude> <exclude>ncpafm-ingest.xml</exclude>
<exclude>pafm-ingest.xml</exclude> <exclude>ncpirep-ingest.xml</exclude>
<exclude>uair-ingest.xml</exclude> <exclude>nctaf-ingest.xml</exclude>
<exclude>ncuair-ingest.xml</exclude>
<!-- end of ncep excludes --> <!-- end of ncep excludes -->
</mode> </mode>
<!-- In high memory mode, DAT runs in its own jvm --> <!-- In high memory mode, DAT runs in its own jvm -->
<mode name="ingestHighMem"> <mode name="ingestHighMem">
<exclude>.*request.*</exclude> <exclude>.*request.*</exclude>
<exclude>grib-ingest.xml</exclude> <exclude>grib-ingest.xml</exclude>
<exclude>ncairep-ingest.xml</exclude>
<exclude>ncgrib-ingest.xml</exclude> <exclude>ncgrib-ingest.xml</exclude>
<exclude>ffmp-ingest.*.xml</exclude> <exclude>ffmp-ingest.*.xml</exclude>
<exclude>scan-ingest.*.xml</exclude> <exclude>scan-ingest.*.xml</exclude>
@ -77,11 +80,12 @@
<exclude>ncccfp-ingest.xml</exclude> <exclude>ncccfp-ingest.xml</exclude>
<exclude>ncgrib-distribution.xml</exclude> <exclude>ncgrib-distribution.xml</exclude>
<exclude>ncep-util-on-edex-ingest</exclude> <exclude>ncep-util-on-edex-ingest</exclude>
<exclude>ncep-util-on-edex-ingestGrib</exclude> <exclude>ncep-util-on-edex-ingestGrib</exclude>
<exclude>h5uair-ingest.xml</exclude> <exclude>ncscd-ingest.xml</exclude>
<exclude>h5scd-ingest.xml</exclude> <exclude>ncpafm-ingest.xml</exclude>
<exclude>pafm-ingest.xml</exclude> <exclude>ncpirep-ingest.xml</exclude>
<exclude>uair-ingest.xml</exclude> <exclude>nctaf-ingest.xml</exclude>
<exclude>ncuair-ingest.xml</exclude>
<!-- end of ncep excludes --> <!-- end of ncep excludes -->
</mode> </mode>
<mode name="ingestGrib"> <mode name="ingestGrib">

View file

@ -22,11 +22,11 @@ pkey SERIAL PRIMARY KEY,
DROP TABLE IF EXISTS stns.BUOYS CASCADE; DROP TABLE IF EXISTS stns.BUOYS CASCADE;
CREATE TABLE stns.BUOYS ( CREATE TABLE stns.BUOYS (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision LONGITUDE double precision
); );
-- Create cities table -- Create cities table
@ -43,6 +43,20 @@ pkey SERIAL PRIMARY KEY,
priority smallint NOT NULL priority smallint NOT NULL
); );
-- Create climo_data table
DROP TABLE IF EXISTS stns.climo_data CASCADE;
CREATE TABLE stns.climo_data(
pkey SERIAL PRIMARY KEY,
station_id varchar(8) NOT NULL,
month smallint NOT NULL,
day smallint NOT NULL,
TDYF double precision,
TNTF double precision,
PPNT double precision,
PPDY double precision,
PP24 double precision
);
-- Create climreg table -- Create climreg table
DROP TABLE IF EXISTS stns.climreg CASCADE; DROP TABLE IF EXISTS stns.climreg CASCADE;
CREATE TABLE stns.climreg( CREATE TABLE stns.climreg(
@ -114,13 +128,13 @@ pkey SERIAL PRIMARY KEY,
DROP TABLE IF EXISTS stns.countynam CASCADE; DROP TABLE IF EXISTS stns.countynam CASCADE;
CREATE TABLE stns.countynam ( CREATE TABLE stns.countynam (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8), STATION_ID varchar(8),
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
STATE char(2), STATE char(2),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision, LONGITUDE double precision,
WFO varchar(3) WFO varchar(3)
); );
@ -142,13 +156,13 @@ pkey SERIAL PRIMARY KEY,
DROP TABLE IF EXISTS stns.CPCSTNS CASCADE; DROP TABLE IF EXISTS stns.CPCSTNS CASCADE;
CREATE TABLE stns.CPCSTNS ( CREATE TABLE stns.CPCSTNS (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(4), STATION_ID varchar(4),
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
STATE char(2), STATE char(2),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision, LONGITUDE double precision,
ELEV int, ELEV int,
PRI int PRI int
); );
@ -156,13 +170,13 @@ CREATE TABLE stns.CPCSTNS (
DROP TABLE IF EXISTS stns.DLWX CASCADE; DROP TABLE IF EXISTS stns.DLWX CASCADE;
CREATE TABLE stns.DLWX ( CREATE TABLE stns.DLWX (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(4), STATION_ID varchar(4),
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
STATE char(2), STATE char(2),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision, LONGITUDE double precision,
ELEV int, ELEV int,
PRI int PRI int
); );
@ -170,26 +184,26 @@ CREATE TABLE stns.DLWX (
DROP TABLE IF EXISTS stns.FFGZON CASCADE; DROP TABLE IF EXISTS stns.FFGZON CASCADE;
CREATE TABLE stns.FFGZON ( CREATE TABLE stns.FFGZON (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8), STATION_ID varchar(8),
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
STATE char(2), STATE char(2),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision, LONGITUDE double precision,
WFO varchar(8) WFO varchar(8)
); );
-- Create firezones table -- Create firezones table
DROP TABLE IF EXISTS stns.FIREZONES CASCADE; DROP TABLE IF EXISTS stns.FIREZONES CASCADE;
CREATE TABLE stns.FIREZONES ( CREATE TABLE stns.FIREZONES (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8), STATION_ID varchar(8),
STNUM int, STATION_NUM int,
NAME varchar(32), NAME varchar(32),
STATE char(2), STATE char(2),
COUNTRY char(2), COUNTRY char(2),
LAT double precision, LATITUDE double precision,
LON double precision, LONGITUDE double precision,
WFO varchar(8) WFO varchar(8)
); );
@ -578,28 +592,28 @@ pkey SERIAL PRIMARY KEY,
DROP TABLE IF EXISTS stns.SNWORLD CASCADE; DROP TABLE IF EXISTS stns.SNWORLD CASCADE;
CREATE TABLE stns.SNWORLD CREATE TABLE stns.SNWORLD
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(4) NOT NULL, STATION_ID varchar(4) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL, ELEVATION int NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create spcwatch table -- Create spcwatch table
DROP TABLE IF EXISTS stns.SPCWATCH CASCADE; DROP TABLE IF EXISTS stns.SPCWATCH CASCADE;
CREATE TABLE stns.SPCWATCH ( CREATE TABLE stns.SPCWATCH (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL ELEVATION int NOT NULL
); );
-- Create state table -- Create state table
DROP TABLE IF EXISTS stns.STATE CASCADE; DROP TABLE IF EXISTS stns.STATE CASCADE;
@ -612,53 +626,53 @@ CREATE TABLE stns.STATE (
DROP TABLE IF EXISTS stns.STNS_II90 CASCADE; DROP TABLE IF EXISTS stns.STNS_II90 CASCADE;
CREATE TABLE stns.STNS_II90 ( CREATE TABLE stns.STNS_II90 (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL , ELEVATION int NOT NULL ,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create systns table -- Create systns table
DROP TABLE IF EXISTS stns.SYSTNS CASCADE; DROP TABLE IF EXISTS stns.SYSTNS CASCADE;
CREATE TABLE stns.SYSTNS ( CREATE TABLE stns.SYSTNS (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL ELEVATION int NOT NULL
); );
-- Create syworld table -- Create syworld table
DROP TABLE IF EXISTS stns.SYWORLD CASCADE; DROP TABLE IF EXISTS stns.SYWORLD CASCADE;
CREATE TABLE stns.SYWORLD ( CREATE TABLE stns.SYWORLD (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL ELEVATION int NOT NULL
); );
-- Create tafstn table -- Create tafstn table
DROP TABLE IF EXISTS stns.TAFSTN CASCADE; DROP TABLE IF EXISTS stns.TAFSTN CASCADE;
CREATE TABLE stns.TAFSTN ( CREATE TABLE stns.TAFSTN (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL, ELEVATION int NOT NULL,
PRI int NOT NULL, PRI int NOT NULL,
MISC char(3) NOT NULL MISC char(3) NOT NULL
); );
@ -666,13 +680,13 @@ CREATE TABLE stns.TAFSTN (
DROP TABLE IF EXISTS stns.TCABKPT CASCADE; DROP TABLE IF EXISTS stns.TCABKPT CASCADE;
CREATE TABLE stns.TCABKPT ( CREATE TABLE stns.TCABKPT (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL , PRI int NOT NULL ,
TBCHRS varchar(20) NOT NULL TBCHRS varchar(20) NOT NULL
); );
@ -680,39 +694,39 @@ CREATE TABLE stns.TCABKPT (
DROP TABLE IF EXISTS stns.TCABKPT_ISLAND CASCADE; DROP TABLE IF EXISTS stns.TCABKPT_ISLAND CASCADE;
CREATE TABLE stns.TCABKPT_ISLAND ( CREATE TABLE stns.TCABKPT_ISLAND (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create tcabkpt_land table -- Create tcabkpt_land table
DROP TABLE IF EXISTS stns.TCABKPT_LAND CASCADE; DROP TABLE IF EXISTS stns.TCABKPT_LAND CASCADE;
CREATE TABLE stns.TCABKPT_LAND ( CREATE TABLE stns.TCABKPT_LAND (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create tcabkptlz table -- Create tcabkptlz table
DROP TABLE IF EXISTS stns.TCABKPTLZ CASCADE; DROP TABLE IF EXISTS stns.TCABKPTLZ CASCADE;
CREATE TABLE stns.TCABKPTLZ ( CREATE TABLE stns.TCABKPTLZ (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL, PRI int NOT NULL,
TBCHRS varchar(20) NOT NULL TBCHRS varchar(20) NOT NULL
); );
@ -720,26 +734,26 @@ CREATE TABLE stns.TCABKPTLZ (
DROP TABLE IF EXISTS stns.TCABKPT_OVL CASCADE; DROP TABLE IF EXISTS stns.TCABKPT_OVL CASCADE;
CREATE TABLE stns.TCABKPT_OVL ( CREATE TABLE stns.TCABKPT_OVL (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create tcabkpt_water table -- Create tcabkpt_water table
DROP TABLE IF EXISTS stns.TCABKPT_WATER CASCADE; DROP TABLE IF EXISTS stns.TCABKPT_WATER CASCADE;
CREATE TABLE stns.TCABKPT_WATER ( CREATE TABLE stns.TCABKPT_WATER (
PKEY SERIAL PRIMARY KEY, PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create tpc_countries table -- Create tpc_countries table
@ -750,8 +764,8 @@ CREATE TABLE stns.TPC_COUNTRIES (
FIPS int NOT NULL, FIPS int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL LONGITUDE double precision NOT NULL
); );
-- Create tpc_states table -- Create tpc_states table
DROP TABLE IF EXISTS stns.TPC_STATES CASCADE; DROP TABLE IF EXISTS stns.TPC_STATES CASCADE;
@ -762,98 +776,98 @@ CREATE TABLE stns.TPC_STATES (
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL LONGITUDE double precision NOT NULL
); );
-- Create volcano table -- Create volcano table
DROP TABLE IF EXISTS stns.VOLCANO CASCADE; DROP TABLE IF EXISTS stns.VOLCANO CASCADE;
CREATE TABLE stns.VOLCANO CREATE TABLE stns.VOLCANO
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL, ELEVATION int NOT NULL,
LOCATION varchar(20) NOT NULL LOCATION varchar(20) NOT NULL
); );
-- Create volcano_small table -- Create volcano_small table
DROP TABLE IF EXISTS stns.VOLCANO_SMALL CASCADE; DROP TABLE IF EXISTS stns.VOLCANO_SMALL CASCADE;
CREATE TABLE stns.VOLCANO_SMALL CREATE TABLE stns.VOLCANO_SMALL
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL ELEVATION int NOT NULL
); );
-- Create vors table -- Create vors table
DROP TABLE IF EXISTS stns.VORS CASCADE; DROP TABLE IF EXISTS stns.VORS CASCADE;
CREATE TABLE stns.VORS CREATE TABLE stns.VORS
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL LONGITUDE double precision NOT NULL
); );
-- Create wfo table -- Create wfo table
DROP TABLE IF EXISTS stns.WFO CASCADE; DROP TABLE IF EXISTS stns.WFO CASCADE;
CREATE TABLE stns.WFO CREATE TABLE stns.WFO
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL ELEVATION int NOT NULL
); );
-- Create wrqpf table -- Create wrqpf table
DROP TABLE IF EXISTS stns.WRQPF CASCADE; DROP TABLE IF EXISTS stns.WRQPF CASCADE;
CREATE TABLE stns.WRQPF CREATE TABLE stns.WRQPF
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL, ELEVATION int NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create xrainsort table -- Create xrainsort table
DROP TABLE IF EXISTS stns.XRAINSORT CASCADE; DROP TABLE IF EXISTS stns.XRAINSORT CASCADE;
CREATE TABLE stns.XRAINSORT CREATE TABLE stns.XRAINSORT
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(4) NOT NULL, STATION_ID varchar(4) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
ELEV int NOT NULL, ELEVATION int NOT NULL,
PRI int NOT NULL PRI int NOT NULL
); );
-- Create zones table -- Create zones table
DROP TABLE IF EXISTS stns.ZONES CASCADE; DROP TABLE IF EXISTS stns.ZONES CASCADE;
CREATE TABLE stns.ZONES CREATE TABLE stns.ZONES
( PKEY SERIAL PRIMARY KEY, ( PKEY SERIAL PRIMARY KEY,
STID varchar(8) NOT NULL, STATION_ID varchar(8) NOT NULL,
STNUM int NOT NULL, STATION_NUM int NOT NULL,
NAME varchar(32) NOT NULL, NAME varchar(32) NOT NULL,
STATE char(2) NOT NULL, STATE char(2) NOT NULL,
COUNTRY char(2) NOT NULL, COUNTRY char(2) NOT NULL,
LAT double precision NOT NULL, LATITUDE double precision NOT NULL,
LON double precision NOT NULL, LONGITUDE double precision NOT NULL,
WFO char(3) NOT NULL WFO char(3) NOT NULL
); );

View file

@ -43,6 +43,10 @@ for shp in `find ${4}/shapefiles -name "*.shp"` ; do
|| $base == 'Asctropfirs' \ || $base == 'Asctropfirs' \
|| $base == 'Asctweb' \ || $base == 'Asctweb' \
|| $base == 'Ascwrzones' \ || $base == 'Ascwrzones' \
|| $base == 'Awcartcc' \
|| $base == 'Awcccfcan' \
|| $base == 'Awcfaarea' \
|| $base == 'Atlbasin' \
|| $base == 'Bwus_bnd' \ || $base == 'Bwus_bnd' \
|| $base == 'Bwus_label' \ || $base == 'Bwus_label' \
|| $base == 'Bwx1224' \ || $base == 'Bwx1224' \
@ -57,6 +61,7 @@ for shp in `find ${4}/shapefiles -name "*.shp"` ; do
|| $base == 'Firbnds' \ || $base == 'Firbnds' \
|| $base == 'Firebnds' \ || $base == 'Firebnds' \
|| $base == 'FireWxAOR' \ || $base == 'FireWxAOR' \
|| $base == 'FirKzoaAwc' \
|| $base == 'G2t_atl_bnd' \ || $base == 'G2t_atl_bnd' \
|| $base == 'G2t_nwc' \ || $base == 'G2t_nwc' \
|| $base == 'G2t_pac_bnd' \ || $base == 'G2t_pac_bnd' \
@ -74,6 +79,7 @@ for shp in `find ${4}/shapefiles -name "*.shp"` ; do
|| $base == 'Npsabnds' \ || $base == 'Npsabnds' \
|| $base == 'Opcbnds' \ || $base == 'Opcbnds' \
|| $base == 'Opcbnds_nomex' \ || $base == 'Opcbnds_nomex' \
|| $base == 'PacBasin' \
|| $base == 'Pfzbnds' \ || $base == 'Pfzbnds' \
|| $base == 'Rfcbnds' \ || $base == 'Rfcbnds' \
|| $base == 'Sig_high' \ || $base == 'Sig_high' \

View file

@ -1,4 +1,4 @@
COPY stns.BUOYS(PKEY, STNUM, NAME, COUNTRY, LAT, LON) FROM stdin with delimiter as ','; COPY stns.BUOYS(PKEY, STATION_NUM, NAME, COUNTRY, LATITUDE, LONGITUDE) FROM stdin with delimiter as ',';
1,44004,Hotel,US,38.5,-70.7 1,44004,Hotel,US,38.5,-70.7
2,41001,East_Hatteras,US,34.7,-72.6 2,41001,East_Hatteras,US,34.7,-72.6
3,41002,South_Hatteras,US,32.3,-75.2 3,41002,South_Hatteras,US,32.3,-75.2

View file

@ -1,4 +1,4 @@
COPY stns.countynam(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, WFO) FROM stdin with delimiter as ','; COPY stns.countynam(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, WFO) FROM stdin with delimiter as ',';
1,Saipan,69110,Saipan,GU,US,15.19,145.76,GUM 1,Saipan,69110,Saipan,GU,US,15.19,145.76,GUM
2,Northern,69085,Northern_Islands,GU,US,18.11,145.76,GUM 2,Northern,69085,Northern_Islands,GU,US,18.11,145.76,GUM
3,Tinian,69120,Tinian,GU,US,15.01,145.63,GUM 3,Tinian,69120,Tinian,GU,US,15.01,145.63,GUM

View file

@ -1,4 +1,4 @@
COPY stns.CPCSTNS(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.CPCSTNS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
1,ABI,72266,ABILENE,TX,US,32.5,-99.7,0,0 1,ABI,72266,ABILENE,TX,US,32.5,-99.7,0,0
2,ABQ,72365,ALBUQUERQUE_INTL,NM,US,35.05,-106.62,1620,0 2,ABQ,72365,ALBUQUERQUE_INTL,NM,US,35.05,-106.62,1620,0
3,ADK,70454,ADAK_NAS/MITCHELL,AK,US,51.88,-176.65,4,0 3,ADK,70454,ADAK_NAS/MITCHELL,AK,US,51.88,-176.65,4,0

View file

@ -1,4 +1,4 @@
COPY stns.DLWX(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.DLWX(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
1,EYW,722010,KEY_WEST_INTL_ARPT_(ASOS),FL,US,24.55,-81.75,6,99 1,EYW,722010,KEY_WEST_INTL_ARPT_(ASOS),FL,US,24.55,-81.75,6,99
2,MIA,722020,MIAMI_INTL_AIRPORT_(ASOS),FL,US,25.82,-80.28,4,99 2,MIA,722020,MIAMI_INTL_AIRPORT_(ASOS),FL,US,25.82,-80.28,4,99
3,MCO,722050,ORLANDO_JETPORT___(ASOS),FL,US,28.43,-81.32,32,99 3,MCO,722050,ORLANDO_JETPORT___(ASOS),FL,US,28.43,-81.32,32,99

View file

@ -1,4 +1,4 @@
COPY stns.FFGZON(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, WFO) FROM stdin with delimiter as ','; COPY stns.FFGZON(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, WFO) FROM stdin with delimiter as ',';
1,ALZ001,10010,Lauderdale,AL,US,34.89,-87.78, BMX 1,ALZ001,10010,Lauderdale,AL,US,34.89,-87.78, BMX
2,ALZ002,10020,Colbert,AL,US,34.65,-87.83, BMX 2,ALZ002,10020,Colbert,AL,US,34.65,-87.83, BMX
3,ALZ003,10030,Franklin,AL,US,34.43,-87.84, BMX 3,ALZ003,10030,Franklin,AL,US,34.43,-87.84, BMX

View file

@ -1,4 +1,4 @@
COPY stns.FIREZONES(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, WFO) FROM stdin with delimiter as ','; COPY stns.FIREZONES(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, WFO) FROM stdin with delimiter as ',';
1,AKZ191,21910,Western_Aleutians,AK,US,51.51,179.05,AFC 1,AKZ191,21910,Western_Aleutians,AK,US,51.51,179.05,AFC
2,GUZ004,540040,Saipan,GU,US,15.19,145.76,GUM 2,GUZ004,540040,Saipan,GU,US,15.19,145.76,GUM
3,GUZ003,540030,Tinian,GU,US,15.01,145.63,GUM 3,GUZ003,540030,Tinian,GU,US,15.01,145.63,GUM

View file

@ -12,6 +12,7 @@
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadAirepWaypnts.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadAirepWaypnts.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadBuoys.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadBuoys.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadClimReg.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadClimReg.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadClimodata.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCities.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCities.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCntyclst.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCntyclst.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCoastal.sql >> ${5} 2>&1 ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadCoastal.sql >> ${5} 2>&1

View file

@ -1,4 +1,4 @@
COPY stns.SNWORLD(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.SNWORLD(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
1,ENJA,1001,JAN MAYEN ISLAN, ,NO,70.93,-8.67,9,1 1,ENJA,1001,JAN MAYEN ISLAN, ,NO,70.93,-8.67,9,1
2,ENBJ,1028,BJORNOYA ISLAND, ,NO,74.52,19.02,14,1 2,ENBJ,1028,BJORNOYA ISLAND, ,NO,74.52,19.02,14,1
3,ENBO,1152,BODO VI, ,NO,67.27,14.37,13,1 3,ENBO,1152,BODO VI, ,NO,67.27,14.37,13,1

View file

@ -1,4 +1,4 @@
COPY stns.SPCWATCH (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV) FROM stdin with delimiter as ','; COPY stns.SPCWATCH (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION) FROM stdin with delimiter as ',';
1,EPM,504,EASTPORT,ME,US,44.92,-67.02,0 1,EPM,504,EASTPORT,ME,US,44.92,-67.02,0
2,HUL,501,HOULTON,ME,US,46.12,-67.8,0 2,HUL,501,HOULTON,ME,US,46.12,-67.8,0
3,CAR,500,CARIBOU,ME,US,46.87,-68.02,0 3,CAR,500,CARIBOU,ME,US,46.87,-68.02,0

View file

@ -1,60 +1,60 @@
COPY stns.STATE (STATEID , STATENAME) FROM stdin with delimiter as ','; COPY stns.STATE (STATEID , STATENAME) FROM stdin with delimiter as ',';
AL,ALABAMA AL,ALABAMA
AK,ALASKA AK,ALASKA
AZ,ARIZONA AZ,ARIZONA
AR,ARKANSAS AR,ARKANSAS
CA,CALIFORNIA CA,CALIFORNIA
CO,COLORADO CO,COLORADO
CT,CONNECTICUT CT,CONNECTICUT
DE,DELAWARE DE,DELAWARE
DC,DISTRICT OF COLUMBIA DC,DISTRICT OF COLUMBIA
FL,FLORIDA FL,FLORIDA
GA,GEORGIA GA,GEORGIA
HI,HAWAII HI,HAWAII
ID,IDAHO ID,IDAHO
IL,ILLINOIS IL,ILLINOIS
IN,INDIANA IN,INDIANA
IA,IOWA IA,IOWA
KS,KANSAS KS,KANSAS
KY,KENTUCKY KY,KENTUCKY
LA,LOUISIANA LA,LOUISIANA
ME,MAINE ME,MAINE
MD,MARYLAND MD,MARYLAND
MA,MASSACHUSETTS MA,MASSACHUSETTS
MI,MICHIGAN MI,MICHIGAN
MN,MINNESOTA MN,MINNESOTA
MS,MISSISSIPPI MS,MISSISSIPPI
MO,MISSOURI MO,MISSOURI
MT,MONTANA MT,MONTANA
NE,NEBRASKA NE,NEBRASKA
NV,NEVADA NV,NEVADA
NH,NEW HAMPSHIRE NH,NEW HAMPSHIRE
NJ,NEW JERSEY NJ,NEW JERSEY
NM,NEW MEXICO NM,NEW MEXICO
NY,NEW YORK NY,NEW YORK
NC,NORTH CAROLINA NC,NORTH CAROLINA
ND,NORTH DAKOTA ND,NORTH DAKOTA
OH,OHIO OH,OHIO
OK,OKLAHOMA OK,OKLAHOMA
OR,OREGON OR,OREGON
PA,PENNSYLVANIA PA,PENNSYLVANIA
RI,RHODE ISLAND RI,RHODE ISLAND
SC,SOUTH CAROLINA SC,SOUTH CAROLINA
SD,SOUTH DAKOTA SD,SOUTH DAKOTA
TN,TENNESSEE TN,TENNESSEE
TX,TEXAS TX,TEXAS
UT,UTAH UT,UTAH
VT,VERMONT VT,VERMONT
VA,VIRGINIA VA,VIRGINIA
WA,WASHINGTON WA,WASHINGTON
WV,WEST VIRGINIA WV,WEST VIRGINIA
WI,WISCONSIN WI,WISCONSIN
WY,WYOMING WY,WYOMING
LH,LAKE HURON LH,LAKE HURON
LO,LAKE ONTARIO LO,LAKE ONTARIO
LM,LAKE MICHIGAN LM,LAKE MICHIGAN
LE,LAKE ERIE LE,LAKE ERIE
LS,LAKE SUPERIOR LS,LAKE SUPERIOR
CW,COASTAL WATERS CW,COASTAL WATERS
PR,PUERTO RICO PR,PUERTO RICO
\. \.

View file

@ -1,4 +1,4 @@
COPY stns.STNS_II90 (PKEY, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.STNS_II90 (PKEY, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
1,69002, HUNTER_LIGGET/TUSI&,CA,US,36,-121.23,310,0 1,69002, HUNTER_LIGGET/TUSI&,CA,US,36,-121.23,310,0
2,69007, FORT_ORD/FRITZSCHE&,CA,US,36.68,-121.77,41,0 2,69007, FORT_ORD/FRITZSCHE&,CA,US,36.68,-121.77,41,0
3,69008, CAMP_ROBERTS,CA,US,35.75,-120.7,220,0 3,69008, CAMP_ROBERTS,CA,US,35.75,-120.7,220,0

View file

@ -1,4 +1,4 @@
COPY stns.SYSTNS (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV) FROM stdin with delimiter as ','; COPY stns.SYSTNS (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION) FROM stdin with delimiter as ',';
1,BRW,70026,BARROW/POST-ROGERS,AK,US,7130,-15678,4 1,BRW,70026,BARROW/POST-ROGERS,AK,US,7130,-15678,4
2,OME,70200,NOME,AK,US,6450,-16543,7 2,OME,70200,NOME,AK,US,6450,-16543,7
3,MCG,70231,MCGRATH,AK,US,6297,-15562,103 3,MCG,70231,MCGRATH,AK,US,6297,-15562,103

View file

@ -1,4 +1,4 @@
COPY stns.SYWORLD (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV) FROM stdin with delimiter as ','; COPY stns.SYWORLD (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION) FROM stdin with delimiter as ',';
1,ENJA,1001,JAN MAYEN(NOR-NAVY, ,NO,70.93,-8.67,9 1,ENJA,1001,JAN MAYEN(NOR-NAVY, ,NO,70.93,-8.67,9
2,ENSB,1008,SVALBARD/LONGYEAR, ,NO,78.25,15.47,29 2,ENSB,1008,SVALBARD/LONGYEAR, ,NO,78.25,15.47,29
3,ENAN,1010,ANDOYA/ANDENES(AFB, ,NO,69.3,16.15,14 3,ENAN,1010,ANDOYA/ANDENES(AFB, ,NO,69.3,16.15,14

View file

@ -1,4 +1,4 @@
COPY stns.TAFSTN (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI, MISC) FROM stdin with delimiter as ','; COPY stns.TAFSTN (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI, MISC) FROM stdin with delimiter as ',';
1,KDYS,690190,DYESS_AFB/ABILENE_&,TX,US,32.43,-99.85,545,0, 1,KDYS,690190,DYESS_AFB/ABILENE_&,TX,US,32.43,-99.85,545,0,
2,KNUW,690230,WHIDBEY_ISLAND_NAS&,WA,US,48.35,-122.65,14,0, 2,KNUW,690230,WHIDBEY_ISLAND_NAS&,WA,US,48.35,-122.65,14,0,
3,KNYL,699604,YUMA_MCAS_________&,AZ,US,32.65,-114.62,65,0, 3,KNYL,699604,YUMA_MCAS_________&,AZ,US,32.65,-114.62,65,0,

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPT (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI, TBCHRS) FROM stdin with delimiter as ','; COPY stns.TCABKPT (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI, TBCHRS) FROM stdin with delimiter as ',';
1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10, TX061 G150 1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10, TX061 G150
2,"",100112,"",TX,US,26.06,-97.17,12, G130G170 2,"",100112,"",TX,US,26.06,-97.17,12, G130G170
3,PORT_ISA,100120,Port_Isabel,TX,US,26.07,-97.21,19,"" 3,PORT_ISA,100120,Port_Isabel,TX,US,26.07,-97.21,19,""

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPT_ISLAND (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI ) FROM stdin with delimiter as ','; COPY stns.TCABKPT_ISLAND (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI ) FROM stdin with delimiter as ',';
1,ANTIGUA/,500100,Antigua/Barbuda,--,AD,17.35,-61.8,50 1,ANTIGUA/,500100,Antigua/Barbuda,--,AD,17.35,-61.8,50
2,ARUBA\,_B,500200,Aruba\,_Bonaire\,_Curacao,--,AC,12.35,-69,50 2,ARUBA\,_B,500200,Aruba\,_Bonaire\,_Curacao,--,AC,12.35,-69,50
3,BAHAMA_C,500300,Bahamas_(Central),--,BA,24,-75.5,50 3,BAHAMA_C,500300,Bahamas_(Central),--,BA,24,-75.5,50

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPT_LAND (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI) FROM stdin with delimiter as ','; COPY stns.TCABKPT_LAND (PKEY, STATION_ID ,STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI) FROM stdin with delimiter as ',';
1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10 1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10
2,PT_MANSF,100200,Port_Mansfield,TX,US,26.6,-97.29,10 2,PT_MANSF,100200,Port_Mansfield,TX,US,26.6,-97.29,10
3,BAFFN_BY,100300,Baffin_Bay,TX,US,27.29,-97.38,10 3,BAFFN_BY,100300,Baffin_Bay,TX,US,27.29,-97.38,10

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPT_OVL (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI ) FROM stdin with delimiter as ','; COPY stns.TCABKPT_OVL (PKEY, STATION_ID ,STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI ) FROM stdin with delimiter as ',';
1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10 1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10
2,PT_MANSF,100200,Port_Mansfield,TX,US,26.6,-97.29,10 2,PT_MANSF,100200,Port_Mansfield,TX,US,26.6,-97.29,10
3,BAFFN_BY,100300,Baffin_Bay,TX,US,27.29,-97.37,10 3,BAFFN_BY,100300,Baffin_Bay,TX,US,27.29,-97.37,10

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPT_WATER (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI) FROM stdin with delimiter as ','; COPY stns.TCABKPT_WATER (PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI) FROM stdin with delimiter as ',';
1,FLA_BAY,800010,Florida_Bay,FL,US,24.95,-80.9,80 1,FLA_BAY,800010,Florida_Bay,FL,US,24.95,-80.9,80
2,L_MAUREP,808080,Lake_Maurepas,LA,US,30.25,-90.54,80 2,L_MAUREP,808080,Lake_Maurepas,LA,US,30.25,-90.54,80
3,L_OKEECH,800020,Lake_Okeechobee,FL,US,26.95,-80.8,80 3,L_OKEECH,800020,Lake_Okeechobee,FL,US,26.95,-80.8,80

View file

@ -1,4 +1,4 @@
COPY stns.TCABKPTLZ (PKEY, STID ,STNUM, NAME, STATE, COUNTRY, LAT, LON, PRI, TBCHRS) FROM stdin with delimiter as ','; COPY stns.TCABKPTLZ (PKEY, STATION_ID ,STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, PRI, TBCHRS) FROM stdin with delimiter as ',';
1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10,TX256 1,MTH_RIO,100100,Mouth_of_the_Rio_Grande_River,TX,US,25.96,-97.15,10,TX256
2,--,100112,--,TX,US,26.06,-97.17,12,"" 2,--,100112,--,TX,US,26.06,-97.17,12,""
3,PORT_ISA,100120,Port_Isabel,TX,US,26.07,-97.21,19,"" 3,PORT_ISA,100120,Port_Isabel,TX,US,26.07,-97.21,19,""

View file

@ -1,4 +1,4 @@
COPY stns.TPC_COUNTRIES (PKEY, ALPHA ,FIPS, NAME, COUNTRY, LAT, LON) FROM stdin with delimiter as ','; COPY stns.TPC_COUNTRIES (PKEY, ALPHA ,FIPS, NAME, COUNTRY, LATITUDE, LONGITUDE) FROM stdin with delimiter as ',';
1,PR,72,Puerto Rico,PR,18.9,-65 1,PR,72,Puerto Rico,PR,18.9,-65
2,BA,101,Bahamas,BA,24.5,-73.8 2,BA,101,Bahamas,BA,24.5,-73.8
3,BE,102,Bermuda,BE,32,-63.7 3,BE,102,Bermuda,BE,32,-63.7

View file

@ -1,4 +1,4 @@
COPY stns.TPC_STATES (PKEY, ALPHA ,FIPS, NAME, STATE, COUNTRY, LAT, LON) FROM stdin with delimiter as ','; COPY stns.TPC_STATES (PKEY, ALPHA ,FIPS, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE) FROM stdin with delimiter as ',';
1,AL,1,Alabama,AL,US,32.5,-86.5 1,AL,1,Alabama,AL,US,32.5,-86.5
2,AK,2,Alaska,AK,US,63,-150 2,AK,2,Alaska,AK,US,63,-150
3,AZ,4,Arizona,AZ,US,34.5,-111 3,AZ,4,Arizona,AZ,US,34.5,-111

View file

@ -1,4 +1,4 @@
COPY stns.VOLCANO(PKEY, STID, STNUM, NAME, LAT, LON, ELEV, LOCATION) FROM stdin with delimiter as ','; COPY stns.VOLCANO(PKEY, STATION_ID, STATION_NUM, NAME, LATITUDE, LONGITUDE, ELEVATION, LOCATION) FROM stdin with delimiter as ',';
1,1402-08,999999,Acatenango,14.5,-90.88,3976,Guatemala 1,1402-08,999999,Acatenango,14.5,-90.88,3976,Guatemala
2,1201-04,999999,Adams,46.13,-121.29,3742,US-Washington 2,1201-04,999999,Adams,46.13,-121.29,3742,US-Washington
3,0803-17,999999,Adatara,37.62,140.28,1718,Honshu-Japan 3,0803-17,999999,Adatara,37.62,140.28,1718,Honshu-Japan

View file

@ -1,4 +1,4 @@
COPY stns.VOLCANO_SMALL(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV) FROM stdin with delimiter as ','; COPY stns.VOLCANO_SMALL(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION) FROM stdin with delimiter as ',';
1,AVACHINS,999999,AVACHINSKY,--,BY,53.25,158.83,0 1,AVACHINS,999999,AVACHINSKY,--,BY,53.25,158.83,0
2,BEZYMIAN,999999,BEZYMIANNY,--,BY,55.97,160.58,0 2,BEZYMIAN,999999,BEZYMIANNY,--,BY,55.97,160.58,0
3,KARYMSKY,999999,KARYMSKY,--,BY,54.05,159.43,0 3,KARYMSKY,999999,KARYMSKY,--,BY,54.05,159.43,0

View file

@ -1,4 +1,4 @@
COPY stns.VORS(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON) FROM stdin with delimiter as ','; COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE) FROM stdin with delimiter as ',';
1,YSJ,395,ST_JOHN,NB,CN,45.32,-65.88 1,YSJ,395,ST_JOHN,NB,CN,45.32,-65.88
2,HUL,341,HOULTON,ME,US,46.04,-67.83 2,HUL,341,HOULTON,ME,US,46.04,-67.83
3,PQI,367,PRESQUE_ISLE,ME,US,46.77,-68.09 3,PQI,367,PRESQUE_ISLE,ME,US,46.77,-68.09

View file

@ -1,4 +1,4 @@
COPY stns.WFO(PKEY, STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV) FROM stdin with delimiter as ','; COPY stns.WFO(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION) FROM stdin with delimiter as ',';
1,ABQ,50,ALBUQUERQUE,NM,US,35.03,-106.62,0 1,ABQ,50,ALBUQUERQUE,NM,US,35.03,-106.62,0
2,ABR,76,ABERDEEN,SD,US,45.45,-98.41,0 2,ABR,76,ABERDEEN,SD,US,45.45,-98.41,0
3,AFC,112,ANCHORAGE,AK,US,61.15,-149.98,0 3,AFC,112,ANCHORAGE,AK,US,61.15,-149.98,0

View file

@ -1,4 +1,4 @@
COPY stns.WRQPF(STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.WRQPF(STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
0E4,999999,PAYSON,AZ,US,34.14,-111.2,4913,1 0E4,999999,PAYSON,AZ,US,34.14,-111.2,4913,1
4BK,999999,BROOKINGS-2SE,OR,US,42.03,-124.25,46,1 4BK,999999,BROOKINGS-2SE,OR,US,42.03,-124.25,46,1
4HV,999999,HANKSVILLE,UT,US,38.22,-110.43,4308,1 4HV,999999,HANKSVILLE,UT,US,38.22,-110.43,4308,1

View file

@ -1,4 +1,4 @@
COPY stns.XRAINSORT(STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, ELEV, PRI) FROM stdin with delimiter as ','; COPY stns.XRAINSORT(STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, ELEVATION, PRI) FROM stdin with delimiter as ',';
PASY,704140,SHEMYA_AFB,AK,US,52.72,174.12,30,0 PASY,704140,SHEMYA_AFB,AK,US,52.72,174.12,30,0
YYT,718010,SAINT_JOHN'S_ARPT,NF,CN,47.62,-52.73,140,0 YYT,718010,SAINT_JOHN'S_ARPT,NF,CN,47.62,-52.73,140,0
XSW,715870,ST.-JOHN'S-WEST_CDA_CS,NF,CN,47.52,-52.79,114,0 XSW,715870,ST.-JOHN'S-WEST_CDA_CS,NF,CN,47.52,-52.79,114,0

View file

@ -1,4 +1,4 @@
COPY stns.ZONES(STID, STNUM, NAME, STATE, COUNTRY, LAT, LON, WFO) FROM stdin with delimiter as ','; COPY stns.ZONES(STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LONGITUDE, WFO) FROM stdin with delimiter as ',';
AKZ187,21870,Central_Aleutians,AK,US,52.22,-174.23,AFC AKZ187,21870,Central_Aleutians,AK,US,52.22,-174.23,AFC
AKZ213,22130,St_Lawrence_I_and_Bering_St_Cst,AK,US,63.36,-170.27,AFG AKZ213,22130,St_Lawrence_I_and_Bering_St_Cst,AK,US,63.36,-170.27,AFG
AKZ195,21950,Pribilof_Islands,AK,US,57.18,-170.26,AFC AKZ195,21950,Pribilof_Islands,AK,US,57.18,-170.26,AFC

View file

@ -1,11 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.airmet"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.airmet">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,210 +1,192 @@
/** /**
* AirmetLocation * AirmetLocation
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* airmet location table. * airmet location table.
* *
* HISTORY * HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2009 39 L. Lin Initial creation * 05/2009 39 L. Lin Initial creation
* 07/2009 39 L. Lin Migration to TO11 * 07/2009 39 L. Lin Migration to TO11
* 09/2009 39 L. Lin Add latitude/longitude to location table * 09/2009 39 L. Lin Add latitude/longitude to location table
* * 09/2011 Chin Chen changed to improve purge performance and
* This code has been developed by the SIB for use in the AWIPS2 system. * removed xml serialization as well
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.airmet; */
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; package gov.noaa.nws.ncep.common.dataplugin.airmet;
import java.io.Serializable; import java.io.Serializable;
import javax.persistence.Column; import javax.persistence.GeneratedValue;
import javax.persistence.Entity; import javax.persistence.Id;
import javax.persistence.GeneratedValue; import javax.persistence.Column;
import javax.persistence.Id; import javax.persistence.Entity;
import javax.persistence.JoinColumn; import javax.persistence.Table;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import com.raytheon.uf.common.serialization.ISerializableObject;
import javax.xml.bind.annotation.XmlAccessType; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import javax.xml.bind.annotation.XmlAccessorType; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import javax.xml.bind.annotation.XmlElement;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @Entity
@Table(name="airmet_location")
@Entity @DynamicSerialize
@Table(name = "airmet_location") public class AirmetLocation implements Serializable, ISerializableObject {
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize private static final long serialVersionUID = 1L;
public class AirmetLocation implements Serializable, ISerializableObject {
@Id
private static final long serialVersionUID = 1L; @GeneratedValue
private Integer recordId = null;
@Id
@GeneratedValue
private Integer recordId = null; // Collection of locations
@Column(length=480)
// The consigmet record this object belongs to @DynamicSerializeElement
@ManyToOne private String locationLine;
@JoinColumn(name = "parentID", nullable = false)
private AirmetReport parentID; // Each location of a airmet forecast area
@Column(length=48)
// Collection of locations @DynamicSerializeElement
@Column(length = 480) private String location;
@XmlElement
@DynamicSerializeElement // Each latitude of an airmet forecast area
private String locationLine; @Column
@DynamicSerializeElement
// Each location of a airmet forecast area private double latitude;
@Column(length = 48)
@XmlElement // Each longitude of an airmet forecast area
@DynamicSerializeElement @Column
private String location; @DynamicSerializeElement
private double longitude;
// Each latitude of an airmet forecast area
@Column // Index for the order of a complete location set
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private double latitude; private Integer index;
// Each longitude of an airmet forecast area /**
@Column * No-Arg Convstructor.
@XmlElement */
@DynamicSerializeElement public AirmetLocation() {
private double longitude; this.locationLine="";
this.location="";
// Index for the order of a complete location set this.index=IDecoderConstantsN.INTEGER_MISSING;
@Column }
@XmlElement
@DynamicSerializeElement
private Integer index; /**
* @return the serialVersionUID
/** */
* No-Arg Convstructor. public static long getSerialVersionUID() {
*/ return serialVersionUID;
public AirmetLocation() { }
this.locationLine = "";
this.location = ""; /**
this.index = IDecoderConstantsN.INTEGER_MISSING; * @return the parentID
} *
public AirmetReport getParentID() {
/** return parentID;
* @return the serialVersionUID }*/
*/
public static long getSerialVersionUID() { /**
return serialVersionUID; * @param parentID to set
} *
public void setParentID(AirmetReport parentID) {
/** this.parentID = parentID;
* @return the parentID }*/
*/
public AirmetReport getParentID() { /**
return parentID; * @return the index
} */
public Integer getIndex() {
/** return index;
* @param parentID }
* to set
*/ /**
public void setParentID(AirmetReport parentID) { * @param index to set
this.parentID = parentID; */
} public void setIndex(Integer index) {
this.index = index;
/** }
* @return the index
*/ /**
public Integer getIndex() { * @return the locationLine
return index; */
} public String getLocationLine() {
return locationLine;
/** }
* @param index
* to set /**
*/ * @param locationLine to set
public void setIndex(Integer index) { */
this.index = index; public void setLocationLine(String locationLine) {
} this.locationLine = locationLine;
}
/**
* @return the locationLine /**
*/ * @return the location
public String getLocationLine() { */
return locationLine; public String getLocation() {
} return location;
}
/**
* @param locationLine /**
* to set * @param location to set
*/ */
public void setLocationLine(String locationLine) { public void setLocation(String location) {
this.locationLine = locationLine; this.location = location;
} }
/** /**
* @return the location * @return the latitude
*/ */
public String getLocation() { public double getLatitude() {
return location; return latitude;
} }
/** /**
* @param location * @param latitude to set
* to set */
*/ public void setLatitude(double latitude) {
public void setLocation(String location) { this.latitude = latitude;
this.location = location; }
}
/**
/** * @return the longitude
* @return the latitude */
*/ public double getLongitude() {
public double getLatitude() { return longitude;
return latitude; }
}
/**
/** * @param longitude to set
* @param latitude */
* to set public void setLongitude(double longitude) {
*/ this.longitude = longitude;
public void setLatitude(double latitude) { }
this.latitude = latitude;
} /**
* Get the record id.
/** *
* @return the longitude * @return The recordId. If not set returns null.
*/ */
public double getLongitude() { public Integer getRecordId() {
return longitude; return recordId;
} }
/** /**
* @param longitude * Set the record id.
* to set * @param record
*/ */
public void setLongitude(double longitude) { public void setRecordId(Integer recordId) {
this.longitude = longitude; this.recordId = recordId;
} }
/** }
* Get the record id.
*
* @return The recordId. If not set returns null.
*/
public Integer getRecordId() {
return recordId;
}
/**
* Set the record id.
*
* @param record
*/
public void setRecordId(Integer recordId) {
this.recordId = recordId;
}
}

View file

@ -1,341 +1,322 @@
/** /**
* AirmetRecord * AirmetRecord
* *
* This java class performs the mapping to the database table for AIRMET * This java class performs the mapping to the database table for AIRMET
* *
* HISTORY * HISTORY
* *
* Date Author Description * Date Author Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2009 L. Lin Initial creation * 05/2009 L. Lin Initial creation
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2009 39 L. Lin Initial coding * 05/2009 39 L. Lin Initial coding
* 07/2009 39 L. Lin Migration to TO11 * 07/2009 39 L. Lin Migration to TO11
* </pre> * 09/2011 Chin Chen changed to improve purge performance and
* * removed xml serialization as well
* This code has been developed by the SIB for use in the AWIPS2 system. * </pre>
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.airmet; */
import java.util.Calendar; package gov.noaa.nws.ncep.common.dataplugin.airmet;
import java.util.HashSet;
import java.util.Iterator; import java.util.Calendar;
import java.util.Set; import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import javax.persistence.Column; import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.CascadeType;
import javax.persistence.OneToMany; import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.Entity;
import javax.xml.bind.annotation.XmlAccessType; import javax.persistence.FetchType;
import javax.xml.bind.annotation.XmlAccessorType; import javax.persistence.JoinColumn;
import javax.xml.bind.annotation.XmlElement; import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlRootElement; import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Index;
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.dataplugin.annotations.DataURI; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity
@Entity @Table(name = "airmet", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@Table(name = "airmet", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) @DynamicSerialize
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize public class AirmetRecord extends PluginDataObject{
public class AirmetRecord extends PluginDataObject {
/**
/** *
* */
*/ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
// reportType is AIRMET.
// reportType is AIRMET. @Column(length=32)
@Column(length = 32) @DynamicSerializeElement
@XmlElement private String reportType;
@DynamicSerializeElement
private String reportType; // reportName will be SIERRA, TANGO, or ZULU
@Column(length=32)
// reportName will be SIERRA, TANGO, or ZULU @DataURI(position=1)
@Column(length = 32) @DynamicSerializeElement
@DataURI(position = 1) private String reportName;
@XmlElement
@DynamicSerializeElement // WMO header
private String reportName; @Column(length=32)
@DataURI(position=2)
// WMO header @DynamicSerializeElement
@Column(length = 32) private String wmoHeader;
@DataURI(position = 2)
@XmlElement // The issue office where the report from
@DynamicSerializeElement @Column(length=32)
private String wmoHeader; @DynamicSerializeElement
private String issueOffice;
// The issue office where the report from
@Column(length = 32) // Update number as: 1, 2, 3, ...
@XmlElement @Column
@DynamicSerializeElement @DataURI(position=3)
private String issueOffice; @DynamicSerializeElement
private Integer updateNumber;
// Update number as: 1, 2, 3, ...
@Column // Issue time of the report
@DataURI(position = 3) @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private Calendar issueTime;
private Integer updateNumber;
// The designator
// Issue time of the report @Column(length=8)
@Column @DynamicSerializeElement
@XmlElement private String designatorBBB;
@DynamicSerializeElement
private Calendar issueTime; // CorrectionFlag is a flag: 0 for normal, 1 for COR or CC, 2 for AMD, and 3 for TEST
/*
// The designator * CorrectionFlag is a flag:
@Column(length = 8) * 0 for normal, 1 for COR or CC, 2 for AMD, 3 for TEST, and 4 for NIL report
@XmlElement */
@DynamicSerializeElement @Column
private String designatorBBB; @DynamicSerializeElement
private Integer correctionFlag;
// CorrectionFlag is a flag: 0 for normal, 1 for COR or CC, 2 for AMD, and 3
// for TEST // The entire report
/* @Column(length=15000)
* CorrectionFlag is a flag: 0 for normal, 1 for COR or CC, 2 for AMD, 3 for @DynamicSerializeElement
* TEST, and 4 for NIL report private String bullMessage;
*/
@Column
@XmlElement /**
@DynamicSerializeElement * Airmet report
private Integer correctionFlag; */
@DynamicSerializeElement
// The entire report @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Column(length = 15000) @JoinColumn(name = "parentID", nullable = false)
@XmlElement @Index(name = "airmetReport_parentid_idex")
@DynamicSerializeElement private Set<AirmetReport> airmetReport = new HashSet<AirmetReport>();
private String bullMessage;
/** /**
* Airmet report * Default Convstructor
*/ */
@DynamicSerializeElement public AirmetRecord() {
@XmlElement this.issueOffice="";
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) this.wmoHeader="";
@Index(name = "airmet_report_parentid_idex") this.bullMessage="";
private Set<AirmetReport> airmetReport = new HashSet<AirmetReport>(); this.designatorBBB="";
this.updateNumber=0;
/** this.reportType="";
* Default Convstructor this.reportName=null;
*/ this.correctionFlag=0;
public AirmetRecord() { }
this.issueOffice = "";
this.wmoHeader = ""; /**
this.bullMessage = ""; * Convstructs an airmet record from a dataURI
this.designatorBBB = ""; *
this.updateNumber = 0; * @param uri The dataURI
this.reportType = ""; */
this.reportName = null; public AirmetRecord(String uri) {
this.correctionFlag = 0; super(uri);
} }
/**
* Convstructs an airmet record from a dataURI @Override
* public IDecoderGettable getDecoderGettable() {
* @param uri // TODO Auto-generated method stub
* The dataURI return null;
*/ }
public AirmetRecord(String uri) {
super(uri); /**
} * @return the issueOffice
*/
@Override public String getIssueOffice(){
public IDecoderGettable getDecoderGettable() { return issueOffice;
// TODO Auto-generated method stub }
return null;
} /**
* @param issueOffice to set
/** */
* @return the issueOffice public void setIssueOffice(String issueOffice){
*/ this.issueOffice=issueOffice;
public String getIssueOffice() { }
return issueOffice;
} /**
* @return the wmoHeader
/** */
* @param issueOffice public String getWmoHeader(){
* to set return wmoHeader;
*/ }
public void setIssueOffice(String issueOffice) {
this.issueOffice = issueOffice; /**
} * @param wnoHeader to set
*/
/** public void setWmoHeader(String wmoHeader){
* @return the wmoHeader this.wmoHeader=wmoHeader;
*/ }
public String getWmoHeader() {
return wmoHeader; /**
} * @return the issueTime
*/
/** public Calendar getIssueTime(){
* @param wnoHeader return issueTime;
* to set }
*/
public void setWmoHeader(String wmoHeader) { /**
this.wmoHeader = wmoHeader; * @param issueTime to set
} */
public void setIssueTime(Calendar issueTime){
/** this.issueTime=issueTime;
* @return the issueTime }
*/
public Calendar getIssueTime() { /**
return issueTime; * @return the reportType
} */
public String getReportType() {
/** return reportType;
* @param issueTime }
* to set
*/ /**
public void setIssueTime(Calendar issueTime) { * @param reportType to set
this.issueTime = issueTime; */
} public void setReportType(String reportType) {
this.reportType = reportType;
/** }
* @return the reportType
*/ /**
public String getReportType() { * @return the designatorBBB
return reportType; */
} public String getDesignatorBBB() {
return designatorBBB;
/** }
* @param reportType
* to set /**
*/ * @param designatorBBB to set
public void setReportType(String reportType) { */
this.reportType = reportType; public void setDesignatorBBB(String designatorBBB) {
} this.designatorBBB = designatorBBB;
}
/**
* @return the designatorBBB /**
*/ * @return the correctionFlag
public String getDesignatorBBB() { */
return designatorBBB; public Integer getCorrectionFlag() {
} return correctionFlag;
}
/**
* @param designatorBBB /**
* to set * @param correctionFlag to set
*/ */
public void setDesignatorBBB(String designatorBBB) { public void setCorrectionFlag(Integer correctionFlag) {
this.designatorBBB = designatorBBB; this.correctionFlag = correctionFlag;
} }
/** /**
* @return the correctionFlag * @return the updateNumber
*/ */
public Integer getCorrectionFlag() { public Integer getUpdateNumber() {
return correctionFlag; return updateNumber;
} }
/** /**
* @param correctionFlag * @param updateNumber to set
* to set */
*/ public void setUpdateNumber(Integer updateNumber) {
public void setCorrectionFlag(Integer correctionFlag) { this.updateNumber = updateNumber;
this.correctionFlag = correctionFlag; }
}
/**
/** * @return the bullMessage
* @return the updateNumber */
*/ public String getBullMessage() {
public Integer getUpdateNumber() { return bullMessage;
return updateNumber; }
}
/**
/** * @param bullMessage to set
* @param updateNumber */
* to set public void setBullMessage(String bullMessage) {
*/ this.bullMessage = bullMessage;
public void setUpdateNumber(Integer updateNumber) { }
this.updateNumber = updateNumber;
} /**
* @return the reportName
/** */
* @return the bullMessage public String getReportName() {
*/ return reportName;
public String getBullMessage() { }
return bullMessage;
} /**
* @param reportName to set
/** */
* @param bullMessage public void setReportName(String reportName) {
* to set this.reportName = reportName;
*/ }
public void setBullMessage(String bullMessage) {
this.bullMessage = bullMessage; /**
} * @return the set of AIRMET report
*/
/** public Set<AirmetReport> getAirmetReport() {
* @return the reportName return airmetReport;
*/ }
public String getReportName() {
return reportName; /**
} * @param airmet the report to set
*/
/** public void setAirmetReport(Set<AirmetReport> curReport) {
* @param reportName this.airmetReport = curReport;
* to set }
*/
public void setReportName(String reportName) { /**
this.reportName = reportName; * @param add AirmetReport to set
} */
public void addAirmetReport(AirmetReport curReport){
/** airmetReport.add(curReport);
* @return the set of AIRMET report //curReport.setParentID(this);
*/ }
public Set<AirmetReport> getAirmetReport() {
return airmetReport; /**
} * Override existing set method to modify any
* classes that use the dataURI as a foreign key
/** */
* @param airmet @Override
* the report to set public void setIdentifier(Object dataURI)
*/ {
public void setAirmetReport(Set<AirmetReport> curReport) {
this.airmetReport = curReport; this.identifier = dataURI;
} /*
if(this.getAirmetReport() != null && this.getAirmetReport().size() > 0)
/** {
* @param add for (Iterator<AirmetReport> iter = this.getAirmetReport().iterator(); iter.hasNext();) {
* AirmetReport to set AirmetReport cs = iter.next();
*/ cs.setParentID(this);
public void addAirmetReport(AirmetReport curReport) { }
airmetReport.add(curReport); }*/
curReport.setParentID(this);
} }
/** }
* Override existing set method to modify any classes that use the dataURI
* as a foreign key
*/
@Override
public void setIdentifier(Object dataURI) {
this.identifier = dataURI;
if (this.getAirmetReport() != null && this.getAirmetReport().size() > 0) {
for (Iterator<AirmetReport> iter = this.getAirmetReport()
.iterator(); iter.hasNext();) {
AirmetReport cs = iter.next();
cs.setParentID(this);
}
}
}
}

View file

@ -1,350 +1,328 @@
/** /**
* AirmetReport * AirmetReport
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* AIRMET report table. * AIRMET report table.
* *
* HISTORY * HISTORY
* *
* Date Author Description * Date Author Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2009 L. Lin Initial creation * 05/2009 L. Lin Initial creation
* * 09/2011 Chin Chen changed to improve purge performance and
* This code has been developed by the SIB for use in the AWIPS2 system. * removed xml serialization as well
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.airmet; */
import java.io.Serializable; package gov.noaa.nws.ncep.common.dataplugin.airmet;
import java.util.Calendar;
import java.util.HashSet; import java.io.Serializable;
import java.util.Iterator;
import java.util.Set; import java.util.Calendar;
import java.util.HashSet;
import javax.persistence.CascadeType; import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.CascadeType;
import javax.persistence.FetchType; import javax.persistence.Column;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne; import javax.persistence.Entity;
import javax.persistence.OneToMany; import javax.persistence.FetchType;
import javax.persistence.Table; import javax.persistence.JoinColumn;
import javax.xml.bind.annotation.XmlAccessType; import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlAccessorType; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity
@Entity @Table(name="airmet_report")
@Table(name = "airmet_report") @DynamicSerialize
@XmlAccessorType(XmlAccessType.NONE) public class AirmetReport implements Serializable, ISerializableObject {
@DynamicSerialize
public class AirmetReport implements Serializable, ISerializableObject { private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L; @Id
@GeneratedValue
@Id private Integer recordId = null;
@GeneratedValue
private Integer recordId = null; // The AIRMET record this object belongs to
//@ManyToOne
// The AIRMET record this object belongs to //@JoinColumn(name="parentID", nullable=false)
@ManyToOne // private AirmetRecord parentID;
@JoinColumn(name = "parentID", nullable = false)
private AirmetRecord parentID; /*
* hazard type as: Instrument Flight Rules(IR), Mountain Obscuration(MO),
/* * Turbulence(TB), Icing(IC), Sustained SFC Winds(SW),
* hazard type as: Instrument Flight Rules(IR), Mountain Obscuration(MO), * Low Level Wind Shear(LLWS), or CANCEL. If a report is outlook, then
* Turbulence(TB), Icing(IC), Sustained SFC Winds(SW), Low Level Wind * an "OUTLOOK: will be added.
* Shear(LLWS), or CANCEL. If a report is outlook, then an "OUTLOOK: will be */
* added. @Column(length=40)
*/ @DynamicSerializeElement
@Column(length = 40) private String hazardType;
@XmlElement
@DynamicSerializeElement //The report indicator will be AIRMET or OUTLOOK.
private String hazardType; @Column(length=16)
@DynamicSerializeElement
// The report indicator will be AIRMET or OUTLOOK. private String reportIndicator;
@Column(length = 16)
@XmlElement // Sequence ID of an AIRMET report
@DynamicSerializeElement @Column(length=16)
private String reportIndicator; @DynamicSerializeElement
private String sequenceID;
// Sequence ID of an AIRMET report
@Column(length = 16) // Start time of the report
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private String sequenceID; private Calendar startTime;
// Start time of the report // End time of the report
@Column @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private Calendar endTime;
private Calendar startTime;
// Flight level 1
// End time of the report @Column(length=16)
@Column @DynamicSerializeElement
@XmlElement private String flightLevel1;
@DynamicSerializeElement
private Calendar endTime; // Flight level 2
@Column(length=16)
// Flight level 1 @DynamicSerializeElement
@Column(length = 16) private String flightLevel2;
@XmlElement
@DynamicSerializeElement // cancelFlag is a flag indicating a cancellation (0 or 1)
private String flightLevel1; @Column
@DynamicSerializeElement
// Flight level 2 private Integer cancelFlag;
@Column(length = 16)
@XmlElement // The information of a complete report
@DynamicSerializeElement @Column(length=1440)
private String flightLevel2; @DynamicSerializeElement
private String segment;
// cancelFlag is a flag indicating a cancellation (0 or 1)
@Column
@XmlElement /**
@DynamicSerializeElement * Airmet location
private Integer cancelFlag; */
@DynamicSerializeElement
// The information of a complete report @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Column(length = 1440) @JoinColumn(name = "parentID", nullable = false)
@XmlElement @Index(name = "airmetLocation_parentid_idex")
@DynamicSerializeElement private Set<AirmetLocation> airmetLocation = new HashSet<AirmetLocation>();
private String segment;
/** /**
* Airmet location * No-Arg Convstructor
*/ */
@DynamicSerializeElement public AirmetReport() {
@XmlElement this.flightLevel1 = null;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) this.flightLevel2=null;
@Index(name = "airmet_location_parentid_idex") this.segment=null;
private Set<AirmetLocation> airmetLocation = new HashSet<AirmetLocation>(); this.hazardType=null;
this.reportIndicator=null;
/** this.sequenceID=null;
* No-Arg Convstructor this.cancelFlag=0;
*/ }
public AirmetReport() {
this.flightLevel1 = null; /**
this.flightLevel2 = null; * @return the serialVersionUID
this.segment = null; */
this.hazardType = null; public static long getSerialVersionUID() {
this.reportIndicator = null; return serialVersionUID;
this.sequenceID = null; }
this.cancelFlag = 0;
} /**
* @return the sequenceID
/** */
* @return the serialVersionUID public String getSequenceID() {
*/ return sequenceID;
public static long getSerialVersionUID() {
return serialVersionUID; }
}
/**
/** * @return the sequenceID
* @return the sequenceID */
*/ public void setSequenceID(String sequenceID) {
public String getSequenceID() { this.sequenceID = sequenceID;
return sequenceID; }
} /**
* @return the set of airmet location
/** */
* @return the sequenceID public Set<AirmetLocation> getAirmetLocation() {
*/ return airmetLocation;
public void setSequenceID(String sequenceID) { }
this.sequenceID = sequenceID;
} /**
* @param airmet the location to set
/** */
* @return the set of airmet location public void setAirmetLocation(Set<AirmetLocation> curLocation) {
*/ this.airmetLocation = curLocation;
public Set<AirmetLocation> getAirmetLocation() { }
return airmetLocation;
} /**
* @param add airmet location to set
/** */
* @param airmet public void addAirmetLocation(AirmetLocation plocation){
* the location to set airmetLocation.add(plocation);
*/ }
public void setAirmetLocation(Set<AirmetLocation> curLocation) {
this.airmetLocation = curLocation; /**
} * @return the parentID
*
/** //public String getParentID() {
* @param add public AirmetRecord getParentID() {
* airmet location to set
*/ return parentID;
public void addAirmetLocation(AirmetLocation plocation) { }*/
airmetLocation.add(plocation);
} /**
* @param parentID the parentID to set
/** *
* @return the parentID public void setParentID(AirmetRecord parentID) {
*/ //this.parentID = parentID;
// public String getParentID() { if(this.getAirmetLocation() != null && this.getAirmetLocation().size() > 0)
public AirmetRecord getParentID() { {
for (Iterator<AirmetLocation> iter = this.getAirmetLocation().iterator(); iter.hasNext();) {
return parentID; AirmetLocation cond = iter.next();
} cond.setParentID(this);
}
/** }
* @param parentID }*/
* the parentID to set
*/ /**
public void setParentID(AirmetRecord parentID) { * @return the report
this.parentID = parentID; */
if (this.getAirmetLocation() != null public String getSegment() {
&& this.getAirmetLocation().size() > 0) { return segment;
for (Iterator<AirmetLocation> iter = this.getAirmetLocation() }
.iterator(); iter.hasNext();) {
AirmetLocation cond = iter.next(); /**
cond.setParentID(this); * @param segment to set
} */
} public void setSegment(String segment) {
} this.segment = segment;
}
/**
* @return the report /**
*/ * @return the startTime
public String getSegment() { */
return segment; public Calendar getStartTime() {
} return startTime;
}
/**
* @param segment /**
* to set * @param startTime to set
*/ */
public void setSegment(String segment) { public void setStartTime(Calendar startTime) {
this.segment = segment; this.startTime = startTime;
} }
/** /**
* @return the startTime * @return the endTime
*/ */
public Calendar getStartTime() { public Calendar getEndTime() {
return startTime; return endTime;
} }
/** /**
* @param startTime * @param endTIme to set
* to set */
*/ public void setEndTime(Calendar endTime) {
public void setStartTime(Calendar startTime) { this.endTime = endTime;
this.startTime = startTime; }
}
/**
/** * @return the flightLevel1
* @return the endTime */
*/ public String getFlightLevel1() {
public Calendar getEndTime() { return flightLevel1;
return endTime; }
}
/**
/** * @param flightLevel1 to set
* @param endTIme */
* to set public void setFlightLevel1(String flightLevel1) {
*/ this.flightLevel1 = flightLevel1;
public void setEndTime(Calendar endTime) { }
this.endTime = endTime;
} /**
* @return the flightLevel2
/** */
* @return the flightLevel1 public String getFlightLevel2() {
*/ return flightLevel2;
public String getFlightLevel1() { }
return flightLevel1;
} /**
* @param flightLevel2 to set
/** */
* @param flightLevel1 public void setFlightLevel2(String flightLevel2) {
* to set this.flightLevel2 = flightLevel2;
*/ }
public void setFlightLevel1(String flightLevel1) {
this.flightLevel1 = flightLevel1; /**
} * Get the record id.
*
/** * @return The recordId. If not set returns null.
* @return the flightLevel2 */
*/ public Integer getRecordId() {
public String getFlightLevel2() { return recordId;
return flightLevel2; }
}
/**
/** * Set the record id.
* @param flightLevel2 * @param record
* to set */
*/ public void setRecordId(Integer recordId) {
public void setFlightLevel2(String flightLevel2) { this.recordId = recordId;
this.flightLevel2 = flightLevel2; }
}
/**
/** * @return the cancelFlag
* Get the record id. */
* public Integer getCancelFlag() {
* @return The recordId. If not set returns null. return cancelFlag;
*/ }
public Integer getRecordId() {
return recordId; /**
} * @param cancelFlag to set
*/
/** public void setCancelFlag(Integer cancelFlag) {
* Set the record id. this.cancelFlag = cancelFlag;
* }
* @param record
*/ /**
public void setRecordId(Integer recordId) { * @return the hazardType
this.recordId = recordId; */
} public String getHazardType() {
return hazardType;
/** }
* @return the cancelFlag
*/ /**
public Integer getCancelFlag() { * @param hazardType to set
return cancelFlag; */
} public void setHazardType(String hazardType) {
this.hazardType = hazardType;
/** }
* @param cancelFlag
* to set /**
*/ * @return the reportIndicator
public void setCancelFlag(Integer cancelFlag) { */
this.cancelFlag = cancelFlag; public String getReportIndicator() {
} return reportIndicator;
}
/**
* @return the hazardType /**
*/ * @param reportIndicator to set
public String getHazardType() { */
return hazardType; public void setReportIndicator(String reportIndicator) {
} this.reportIndicator = reportIndicator;
}
/**
* @param hazardType }
* to set
*/
public void setHazardType(String hazardType) {
this.hazardType = hazardType;
}
/**
* @return the reportIndicator
*/
public String getReportIndicator() {
return reportIndicator;
}
/**
* @param reportIndicator
* to set
*/
public void setReportIndicator(String reportIndicator) {
this.reportIndicator = reportIndicator;
}
}

View file

@ -1,31 +1,13 @@
/**
* 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 gov.noaa.nws.ncep.common.dataplugin.airmet.dao; package gov.noaa.nws.ncep.common.dataplugin.airmet.dao;
import gov.noaa.nws.ncep.common.dataplugin.airmet.AirmetRecord; import gov.noaa.nws.ncep.common.dataplugin.airmet.AirmetRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import java.util.List; import java.util.List;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
/** /**
* TODO Add Description * TODO Add Description
@ -36,6 +18,8 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 23, 2009 jkorman Initial creation * Sep 23, 2009 jkorman Initial creation
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* </pre> * </pre>
* *
@ -43,7 +27,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* @version 1.0 * @version 1.0
*/ */
public class AirmetDao extends NcepDefaultPluginDao { public class AirmetDao extends PluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
@ -92,4 +76,11 @@ public class AirmetDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

View file

@ -1,4 +1,4 @@
/** /**
* Contains data access object for airmet data. * Contains data access object for airmet data.
*/ */
package gov.noaa.nws.ncep.common.dataplugin.airmet.dao; package gov.noaa.nws.ncep.common.dataplugin.airmet.dao;

View file

@ -1,4 +1,4 @@
/** /**
* Contains table record for decoder plug-ins * Contains table record for decoder plug-ins
*/ */
package gov.noaa.nws.ncep.common.dataplugin.airmet; package gov.noaa.nws.ncep.common.dataplugin.airmet;

View file

@ -1,11 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.atcf"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.atcf">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -12,64 +12,64 @@
* *
* @author fjyen * @author fjyen
* @version 1.0 * @version 1.0
**/ **/
package gov.noaa.nws.ncep.common.dataplugin.atcf.dao; package gov.noaa.nws.ncep.common.dataplugin.atcf.dao;
import java.util.List; import java.util.List;
import gov.noaa.nws.ncep.common.dataplugin.atcf.AtcfRecord; import gov.noaa.nws.ncep.common.dataplugin.atcf.AtcfRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao; import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
public class AtcfDao extends NcepDefaultPluginDao { public class AtcfDao extends NcepDefaultPluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
* @throws PluginException * @throws PluginException
*/ */
public AtcfDao(String pluginName) throws PluginException { public AtcfDao(String pluginName) throws PluginException {
super(pluginName); super(pluginName);
} }
/** /**
* Retrieves a atcf report using the datauri . * Retrieves a atcf report using the datauri .
* *
* @param dataURI * @param dataURI
* The dataURI to match against. * The dataURI to match against.
* @return The report record if it exists. * @return The report record if it exists.
*/ */
public AtcfRecord queryByDataURI(String dataURI) { public AtcfRecord queryByDataURI(String dataURI) {
AtcfRecord report = null; AtcfRecord report = null;
List<?> obs = null; List<?> obs = null;
try { try {
obs = queryBySingleCriteria("dataURI", dataURI); obs = queryBySingleCriteria("dataURI", dataURI);
} catch (DataAccessLayerException e) { } catch (DataAccessLayerException e) {
e.printStackTrace(); e.printStackTrace();
} }
if((obs != null)&&(obs.size() > 0)) { if((obs != null)&&(obs.size() > 0)) {
report = (AtcfRecord) obs.get(0); report = (AtcfRecord) obs.get(0);
} }
return report; return report;
} }
/** /**
* Queries for to determine if a given data uri exists on the ATCF table. * Queries for to determine if a given data uri exists on the ATCF table.
* *
* @param dataUri * @param dataUri
* The DataURI to find. * The DataURI to find.
* @return An array of objects. If not null, there should only be a single * @return An array of objects. If not null, there should only be a single
* element. * element.
*/ */
public Object[] queryDataUriColumn(final String dataUri) { public Object[] queryDataUriColumn(final String dataUri) {
String sql = "select datauri from awips.atcf where datauri='" String sql = "select datauri from awips.atcf where datauri='"
+ dataUri + "';"; + dataUri + "';";
Object[] results = executeSQLQuery(sql); Object[] results = executeSQLQuery(sql);
return results; return results;
} }
} }

View file

@ -1,11 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.aww"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.aww">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -8,6 +8,8 @@
* Date Author Description * Date Author Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 12/2008 L. Lin Initial creation * 12/2008 L. Lin Initial creation
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
@ -20,12 +22,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@ -33,7 +30,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name="aww_fips") @Table(name="aww_fips")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwFips implements Serializable, ISerializableObject { public class AwwFips implements Serializable, ISerializableObject {
@ -44,19 +40,17 @@ public class AwwFips implements Serializable, ISerializableObject {
private Integer recordId = null; private Integer recordId = null;
// The AWW record this object belongs to. // The AWW record this object belongs to.
@ManyToOne //@ManyToOne
@JoinColumn(name="parentID", nullable=false) //@JoinColumn(name="parentID", nullable=false)
private AwwUgc parentID; //private AwwUgc parentID;
// The county FIPS // The county FIPS
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String fips; private String fips;
// The universal geographic code // The universal geographic code
@Column(length=640) @Column(length=640)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String ugc; private String ugc;
@ -94,19 +88,7 @@ public class AwwFips implements Serializable, ISerializableObject {
this.recordId = recordId; this.recordId = recordId;
} }
/**
* @return the parentID
*/
public AwwUgc getParentID() {
return parentID;
}
/**
* @param parentID the parentID to set
*/
public void setParentID(AwwUgc parentID) {
this.parentID = parentID;
}
/** /**
* @return the fips * @return the fips

View file

@ -9,6 +9,8 @@
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 12/2008 L. Lin Initial creation * 12/2008 L. Lin Initial creation
* 04/2009 L. Lin Convert to to10 * 04/2009 L. Lin Convert to to10
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
@ -23,12 +25,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@ -36,7 +33,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name="aww_hvtec") @Table(name="aww_hvtec")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwHVtec implements Serializable, ISerializableObject { public class AwwHVtec implements Serializable, ISerializableObject {
@ -47,55 +43,47 @@ public class AwwHVtec implements Serializable, ISerializableObject {
private Integer recordId = null; private Integer recordId = null;
// The AWW HVTEC record this object belongs to // The AWW HVTEC record this object belongs to
@ManyToOne //@ManyToOne
@JoinColumn(name="parentID", nullable=false) //@JoinColumn(name="parentID", nullable=false)
private AwwVtec parentID; //private AwwVtec parentID;
// NWS location Identifier // NWS location Identifier
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String locationIdentifier; private String locationIdentifier;
// Flood severity such as 0, N, 1, 2, 3, U // Flood severity such as 0, N, 1, 2, 3, U
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String floodSeverity; private String floodSeverity;
// Immediate Cause such as ER, SM, ...etc // Immediate Cause such as ER, SM, ...etc
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String immediateCause; private String immediateCause;
// Flood record such as NO, NR, UU, OO // Flood record such as NO, NR, UU, OO
@Column(length=32) @Column(length=32)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String floodRecord; private String floodRecord;
// HVTEC event start time // HVTEC event start time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar eventStartTime; private Calendar eventStartTime;
// HVTEC event crest time // HVTEC event crest time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar eventCrestTime; private Calendar eventCrestTime;
// HVTEC event end time // HVTEC event end time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar eventEndTime; private Calendar eventEndTime;
// Text information for HVTEC line // Text information for HVTEC line
@Column(length=128) @Column(length=128)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String hvtecLine; private String hvtecLine;
@ -139,19 +127,7 @@ public class AwwHVtec implements Serializable, ISerializableObject {
this.recordId = recordId; this.recordId = recordId;
} }
/**
* @return the parentID
*/
public AwwVtec getParentID() {
return parentID;
}
/**
* @param parentID the parentID to set
*/
public void setParentID(AwwVtec parentID) {
this.parentID = parentID;
}
/** /**
* @return the floodSeverity * @return the floodSeverity

View file

@ -9,6 +9,8 @@
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 12/2008 L. Lin Initial creation * 12/2008 L. Lin Initial creation
* 04/2009 L. Lin Convert to to10 * 04/2009 L. Lin Convert to to10
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
@ -17,18 +19,11 @@ package gov.noaa.nws.ncep.common.dataplugin.aww;
import java.io.Serializable; import java.io.Serializable;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import gov.noaa.nws.ncep.common.dataplugin.aww.AwwRecord;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@ -36,7 +31,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name="aww_latlons") @Table(name="aww_latlons")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwLatlons implements Serializable, ISerializableObject { public class AwwLatlons implements Serializable, ISerializableObject {
@ -46,26 +40,19 @@ public class AwwLatlons implements Serializable, ISerializableObject {
@GeneratedValue @GeneratedValue
private Integer recordId = null; private Integer recordId = null;
// The AWW Latlons record this object belongs to
@ManyToOne
@JoinColumn(name="parentID", nullable=false)
private AwwUgc parentID;
// Latitude // Latitude
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Float lat; private Float lat;
// longitude // longitude
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Float lon; private Float lon;
// Index for the order of a complete "lat/lon" set // Index for the order of a complete "lat/lon" set
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private int index; private int index;
@ -104,19 +91,7 @@ public class AwwLatlons implements Serializable, ISerializableObject {
this.recordId = recordId; this.recordId = recordId;
} }
/**
* @return the parentID
*/
public AwwUgc getParentID() {
return parentID;
}
/**
* @param parentID the parentID to set
*/
public void setParentID(AwwUgc parentID) {
this.parentID = parentID;
}
/** /**
* @return the latitude * @return the latitude

View file

@ -21,6 +21,8 @@
* when the aww record is inserted into relational DB * when the aww record is inserted into relational DB
* The reason mndTime is used is because the combination * The reason mndTime is used is because the combination
* of original 5 elements is not unique in some scenarios. * of original 5 elements is not unique in some scenarios.
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
@ -40,6 +42,7 @@ import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
@ -48,6 +51,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction; import org.hibernate.annotations.OnDeleteAction;
@ -57,8 +61,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name = "aww", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) @Table(name = "aww", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwRecord extends PluginDataObject{ public class AwwRecord extends PluginDataObject{
@ -101,69 +103,60 @@ public class AwwRecord extends PluginDataObject{
*/ */
@Column(length=40) @Column(length=40)
@DataURI(position=1) @DataURI(position=1)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String reportType; private String reportType;
// The issue office where the report from // The issue office where the report from
@Column(length=32) @Column(length=32)
@DataURI(position=2) @DataURI(position=2)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String issueOffice; private String issueOffice;
// The collection of watch numbers in the report // The collection of watch numbers in the report
@Column(length=160) @Column(length=160)
@DataURI(position=5) @DataURI(position=5)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String watchNumber; private String watchNumber;
// WMO header // WMO header
@Column(length=32) @Column(length=32)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String wmoHeader; private String wmoHeader;
// Issue time of the report // Issue time of the report
@Column @Column
@DataURI(position=3) @DataURI(position=3)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar issueTime; private Calendar issueTime;
// The designator // The designator
@Column(length=8) @Column(length=8)
@DataURI(position=4) @DataURI(position=4)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String designatorBBB; private String designatorBBB;
// The designator // The designator
@Column(length=72) @Column(length=72)
@DataURI(position=6) @DataURI(position=6)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String mndTime; private String mndTime;
// Attention WFO // Attention WFO
@Column(length=72) @Column(length=72)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String attentionWFO; private String attentionWFO;
// The entire report // The entire report
@Column(length=40000) @Column(length=40000)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String bullMessage; private String bullMessage;
// AWW UGC Table // AWW UGC Table
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "awwUGC_parentid_idex")
private Set<AwwUgc> awwUGC = new HashSet<AwwUgc>(); private Set<AwwUgc> awwUGC = new HashSet<AwwUgc>();
@ -258,7 +251,7 @@ public class AwwRecord extends PluginDataObject{
*/ */
public void addAwwUGC(AwwUgc pugc){ public void addAwwUGC(AwwUgc pugc){
awwUGC.add(pugc); awwUGC.add(pugc);
pugc.setParentID(this); //pugc.setParentID(this);
} }
/** /**
@ -270,13 +263,7 @@ public class AwwRecord extends PluginDataObject{
this.identifier = dataURI; this.identifier = dataURI;
if(this.getAwwUGC() != null && this.getAwwUGC().size() > 0)
{
for (Iterator<AwwUgc> iter = this.getAwwUGC().iterator(); iter.hasNext();) {
AwwUgc cond = iter.next();
cond.setParentID(this);
}
}
} }

View file

@ -9,6 +9,8 @@
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 12/2008 L. Lin Initial creation * 12/2008 L. Lin Initial creation
* 04/2009 L. Lin Convert to to10 * 04/2009 L. Lin Convert to to10
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
@ -24,7 +26,6 @@ import gov.noaa.nws.ncep.common.dataplugin.aww.AwwLatlons;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.Iterator;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
@ -35,22 +36,15 @@ import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.FetchType;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import org.hibernate.annotations.Index;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name="aww_ugc") @Table(name="aww_ugc")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwUgc implements Serializable, ISerializableObject { public class AwwUgc implements Serializable, ISerializableObject {
@ -61,31 +55,27 @@ public class AwwUgc implements Serializable, ISerializableObject {
private Integer recordId = null; private Integer recordId = null;
// The AWW record this object belongs to // The AWW record this object belongs to
@ManyToOne //@ManyToOne
@JoinColumn(name="parentID", nullable=false) //@JoinColumn(name="parentID", nullable=false)
private AwwRecord parentID; //private AwwRecord parentID;
// The universal geographic code // The universal geographic code
@Column(length=640) @Column(length=640)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String ugc; private String ugc;
// The product purge time // The product purge time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar prodPurgeTime; private Calendar prodPurgeTime;
// A collection of VTEC event tracking numbers under this UGC // A collection of VTEC event tracking numbers under this UGC
@Column(length=40) @Column(length=40)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String eventTrackingNumber; private String eventTrackingNumber;
// Text information for this segment // Text information for this segment
@Column(length=12000) @Column(length=12000)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String segment; private String segment;
@ -93,27 +83,27 @@ public class AwwUgc implements Serializable, ISerializableObject {
* AWW VTEC Table * AWW VTEC Table
*/ */
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "awwVtecLine_parentid_idex")
private Set<AwwVtec> awwVtecLine = new HashSet<AwwVtec>(); private Set<AwwVtec> awwVtecLine = new HashSet<AwwVtec>();
/** /**
* Aww FIPS Table * Aww FIPS Table
*/ */
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "awwFIPS_parentid_idex")
private Set<AwwFips> awwFIPS = new HashSet<AwwFips>(); private Set<AwwFips> awwFIPS = new HashSet<AwwFips>();
/** /**
* Aww LatLon Table * Aww LatLon Table
*/ */
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "awwLatLon_parentid_idex")
private Set<AwwLatlons> awwLatLon = new HashSet<AwwLatlons>(); private Set<AwwLatlons> awwLatLon = new HashSet<AwwLatlons>();
/** /**
@ -152,44 +142,7 @@ public class AwwUgc implements Serializable, ISerializableObject {
return serialVersionUID; return serialVersionUID;
} }
/**
* @return the parentID
*/
public AwwRecord getParentID() {
return parentID;
}
/**
* @param parentID the parentID to set
*/
public void setParentID(AwwRecord parentID) {
this.parentID = parentID;
if(this.getAwwVtecLine() != null && this.getAwwVtecLine().size() > 0)
{
for (Iterator<AwwVtec> iter = this.getAwwVtecLine().iterator(); iter.hasNext();) {
AwwVtec cond = iter.next();
cond.setParentID(this);
}
}
if (this.getAwwFIPS() !=null && this.getAwwFIPS().size() >0 )
{
for (Iterator<AwwFips> iter = this.getAwwFIPS().iterator(); iter.hasNext();) {
AwwFips cond = iter.next();
cond.setParentID(this);
cond.setUgc(ugc);
}
}
if (this.getAwwLatLon() !=null && this.getAwwLatLon().size() >0 )
{
for (Iterator<AwwLatlons> iter = this.getAwwLatLon().iterator(); iter.hasNext();) {
AwwLatlons cond = iter.next();
cond.setParentID(this);
}
}
}
/** /**
* @return the ugc * @return the ugc

View file

@ -9,6 +9,8 @@
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 12/2008 L. Lin Initial creation * 12/2008 L. Lin Initial creation
* 04/2009 L. Lin Convert to to10. * 04/2009 L. Lin Convert to to10.
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
@ -19,7 +21,6 @@ import java.io.Serializable;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.Iterator;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
@ -30,14 +31,9 @@ import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.FetchType;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.Index;
import org.hibernate.annotations.OnDeleteAction;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
@ -45,7 +41,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity @Entity
@Table(name="aww_vtec") @Table(name="aww_vtec")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class AwwVtec implements Serializable, ISerializableObject { public class AwwVtec implements Serializable, ISerializableObject {
@ -56,61 +51,52 @@ public class AwwVtec implements Serializable, ISerializableObject {
private Integer recordId = null; private Integer recordId = null;
// The AWW VTEC record this object belongs to // The AWW VTEC record this object belongs to
@ManyToOne //@ManyToOne
@JoinColumn(name="parentID", nullable=false) //@JoinColumn(name="parentID", nullable=false)
private AwwUgc parentID; //private AwwUgc parentID;
// VTEC office ID // VTEC office ID
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String officeID; private String officeID;
// Action such as NEW, CON, CAN, EXT, .... // Action such as NEW, CON, CAN, EXT, ....
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String action; private String action;
// VTEC event start time // VTEC event start time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar eventStartTime; private Calendar eventStartTime;
// VTEC event end time // VTEC event end time
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar eventEndTime; private Calendar eventEndTime;
// VTEC event tracking number // VTEC event tracking number
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String eventTrackingNumber; private String eventTrackingNumber;
// Significance such as W-warning, A-watch, Y-advisory, S-statement // Significance such as W-warning, A-watch, Y-advisory, S-statement
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String significance; private String significance;
// product class such as O-operational product, T-test product, E-experimental... // product class such as O-operational product, T-test product, E-experimental...
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String productClass; private String productClass;
// phenomena - two character string PP // phenomena - two character string PP
@Column(length=16) @Column(length=16)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String phenomena; private String phenomena;
// Text information for VTEC // Text information for VTEC
@Column(length=128) @Column(length=128)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String vtecLine; private String vtecLine;
@ -118,9 +104,9 @@ public class AwwVtec implements Serializable, ISerializableObject {
* AWW HVTEC Table * AWW HVTEC Table
*/ */
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "awwHVtecLine_parentid_idex")
private Set<AwwHVtec> awwHVtecLine = new HashSet<AwwHVtec>(); private Set<AwwHVtec> awwHVtecLine = new HashSet<AwwHVtec>();
/** /**
@ -163,26 +149,7 @@ public class AwwVtec implements Serializable, ISerializableObject {
this.recordId = recordId; this.recordId = recordId;
} }
/**
* @return the parentID
*/
public AwwUgc getParentID() {
return parentID;
}
/**
* @param parentID the parentID to set
*/
public void setParentID(AwwUgc parentID) {
this.parentID = parentID;
if (this.getAwwHVtecLine() != null && this.getAwwHVtecLine().size() > 0)
{
for (Iterator<AwwHVtec> iter = this.getAwwHVtecLine().iterator(); iter.hasNext();) {
AwwHVtec cond = iter.next();
cond.setParentID(this);
}
}
}
/** /**
* @return the vtecLine * @return the vtecLine

View file

@ -8,20 +8,23 @@
* Date Author Description * Date Author Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2010 L. Lin Initial creation * 05/2010 L. Lin Initial creation
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* This code has been developed by the SIB for use in the AWIPS2 system. * This code has been developed by the SIB for use in the AWIPS2 system.
*/ */
package gov.noaa.nws.ncep.common.dataplugin.aww.dao; package gov.noaa.nws.ncep.common.dataplugin.aww.dao;
import gov.noaa.nws.ncep.common.dataplugin.aww.AwwRecord; import gov.noaa.nws.ncep.common.dataplugin.aww.AwwRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import java.util.List; import java.util.List;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
public class AwwDao extends NcepDefaultPluginDao { public class AwwDao extends PluginDao {
/** /**
* Creates a new AwwDao * Creates a new AwwDao
@ -70,4 +73,11 @@ public class AwwDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

View file

@ -1,11 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.convsigmet"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.convsigmet">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,204 +1,178 @@
/** /**
* ConvsigmetLocation * ConvsigmetLocation
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* convective sigmet location table. * convective sigmet location table.
* *
* HISTORY * HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 03/2009 87/114 L. Lin Initial coding * 03/2009 87/114 L. Lin Initial coding
* 06/2009 87/114 L. Lin Enlarge size of locationLine and location. * 06/2009 87/114 L. Lin Enlarge size of locationLine and location.
* 07/2009 87/114 L. Lin Migration to TO11 * 07/2009 87/114 L. Lin Migration to TO11
* 09/2009 87/114 L. Lin Add latitude/longitude to location table * 09/2009 87/114 L. Lin Add latitude/longitude to location table
* </pre> * 09/2011 Chin Chen changed to improve purge performance and
* * removed xml serialization as well
* This code has been developed by the SIB for use in the AWIPS2 system. * </pre>
*/ *
package gov.noaa.nws.ncep.common.dataplugin.convsigmet; * This code has been developed by the SIB for use in the AWIPS2 system.
*/
import java.io.Serializable; package gov.noaa.nws.ncep.common.dataplugin.convsigmet;
import javax.persistence.GeneratedValue; import java.io.Serializable;
import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.GeneratedValue;
import javax.persistence.Entity; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.Column;
import javax.persistence.ManyToOne; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType; import com.raytheon.uf.common.serialization.ISerializableObject;
import javax.xml.bind.annotation.XmlAccessorType; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import javax.xml.bind.annotation.XmlElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @Entity
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; @Table(name="convsigmet_location")
@DynamicSerialize
@Entity public class ConvSigmetLocation implements Serializable, ISerializableObject {
@Table(name="convsigmet_location")
@XmlAccessorType(XmlAccessType.NONE) private static final long serialVersionUID = 1L;
@DynamicSerialize
public class ConvSigmetLocation implements Serializable, ISerializableObject { @Id
@GeneratedValue
private static final long serialVersionUID = 1L; private Integer recordId = null;
@Id
@GeneratedValue // Collection of locations
private Integer recordId = null; @Column(length=480)
@DynamicSerializeElement
// The consigmet record this object belongs to private String locationLine;
@ManyToOne
@JoinColumn(name="parentID", nullable=false) // Each location of a convective sigmet forecast area
private ConvSigmetSection parentID; @Column(length=48)
@DynamicSerializeElement
// Collection of locations private String location;
@Column(length=480)
@XmlElement // Each latitude of a convective sigmet forecast area
@DynamicSerializeElement @Column
private String locationLine; @DynamicSerializeElement
private double latitude;
// Each location of a convective sigmet forecast area
@Column(length=48) // Each longitude of a convective sigmet forecast area
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private String location; private double longitude;
// Each latitude of a convective sigmet forecast area // Index for the order of a complete location set
@Column @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private Integer index;
private double latitude;
/**
// Each longitude of a convective sigmet forecast area * No-Arg Convstructor.
@Column */
@XmlElement public ConvSigmetLocation() {
@DynamicSerializeElement this.locationLine="";
private double longitude; this.location="";
this.index=IDecoderConstantsN.INTEGER_MISSING;
// Index for the order of a complete location set }
@Column
@XmlElement
@DynamicSerializeElement /**
private Integer index; * @return the serialVersionUID
*/
/** public static long getSerialVersionUID() {
* No-Arg Convstructor. return serialVersionUID;
*/ }
public ConvSigmetLocation() {
this.locationLine="";
this.location=""; /**
this.index=IDecoderConstantsN.INTEGER_MISSING; * @return the index
} */
public Integer getIndex() {
return index;
/** }
* @return the serialVersionUID
*/ /**
public static long getSerialVersionUID() { * @param index to set
return serialVersionUID; */
} public void setIndex(Integer index) {
this.index = index;
/** }
* @return the parentID
*/ /**
public ConvSigmetSection getParentID() { * @return the locationLine
return parentID; */
} public String getLocationLine() {
return locationLine;
/** }
* @param parentID to set
*/ /**
public void setParentID(ConvSigmetSection parentID) { * @param locationLine to set
this.parentID = parentID; */
} public void setLocationLine(String locationLine) {
this.locationLine = locationLine;
/** }
* @return the index
*/ /**
public Integer getIndex() { * @return the location
return index; */
} public String getLocation() {
return location;
/** }
* @param index to set
*/ /**
public void setIndex(Integer index) { * @param location to set
this.index = index; */
} public void setLocation(String location) {
this.location = location;
/** }
* @return the locationLine
*/ /**
public String getLocationLine() { * @return the latitude
return locationLine; */
} public double getLatitude() {
return latitude;
/** }
* @param locationLine to set
*/ /**
public void setLocationLine(String locationLine) { * @param latitude to set
this.locationLine = locationLine; */
} public void setLatitude(double latitude) {
this.latitude = latitude;
/** }
* @return the location
*/ /**
public String getLocation() { * @return the longitude
return location; */
} public double getLongitude() {
return longitude;
/** }
* @param location to set
*/ /**
public void setLocation(String location) { * @param longitude to set
this.location = location; */
} public void setLongitude(double longitude) {
this.longitude = longitude;
/** }
* @return the latitude
*/
public double getLatitude() { /**
return latitude; * Get the record id.
} *
* @return The recordId. If not set returns null.
/** */
* @param latitude to set public Integer getRecordId() {
*/ return recordId;
public void setLatitude(double latitude) { }
this.latitude = latitude;
} /**
* Set the record id.
/** * @param record
* @return the longitude */
*/ public void setRecordId(Integer recordId) {
public double getLongitude() { this.recordId = recordId;
return longitude; }
}
}
/**
* @param longitude to set
*/
public void setLongitude(double longitude) {
this.longitude = longitude;
}
/**
* Get the record id.
*
* @return The recordId. If not set returns null.
*/
public Integer getRecordId() {
return recordId;
}
/**
* Set the record id.
* @param record
*/
public void setRecordId(Integer recordId) {
this.recordId = recordId;
}
}

View file

@ -1,311 +1,287 @@
/** /**
* ConvsigmetRecord * ConvsigmetRecord
* *
* This java class performs the mapping to the database table for CONVSIGMET * This java class performs the mapping to the database table for CONVSIGMET
* *
* HISTORY * HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 03/2009 87/114 L. Lin Initial coding * 03/2009 87/114 L. Lin Initial coding
* 07/2009 87/114 L. Lin Migration to TO11 * 07/2009 87/114 L. Lin Migration to TO11
* </pre> * 09/2011 Chin Chen changed to improve purge performance and
* * removed xml serialization as well
* This code has been developed by the SIB for use in the AWIPS2 system. * </pre>
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.convsigmet; */
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; package gov.noaa.nws.ncep.common.dataplugin.convsigmet;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Set;
import java.util.Set; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import javax.persistence.CascadeType;
import javax.persistence.Column; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.CascadeType;
import javax.persistence.OneToMany; import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.Entity;
import javax.xml.bind.annotation.XmlAccessType; import javax.persistence.FetchType;
import javax.xml.bind.annotation.XmlAccessorType; import javax.persistence.JoinColumn;
import javax.xml.bind.annotation.XmlElement; import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlRootElement; import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Index;
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.dataplugin.annotations.DataURI; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@Entity
@Entity @Table(name = "convsigmet", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@Table(name = "convsigmet", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) @DynamicSerialize
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize public class ConvSigmetRecord extends PluginDataObject{
public class ConvSigmetRecord extends PluginDataObject {
/**
/** *
* */
*/ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
// reportType is "convective sigmet".
// reportType is "convective sigmet". @Column(length=32)
@Column(length = 32) @DataURI(position=1)
@DataURI(position = 1) @DynamicSerializeElement
@XmlElement private String reportType;
@DynamicSerializeElement
private String reportType; // WMO header
@Column(length=32)
// WMO header @DataURI(position=2)
@Column(length = 32) @DynamicSerializeElement
@DataURI(position = 2) private String wmoHeader;
@XmlElement
@DynamicSerializeElement // forecastRegion as: SIGW, SIGC, or SIGE
private String wmoHeader; @Column(length=8)
@DataURI(position=3)
// forecastRegion as: SIGW, SIGC, or SIGE @DynamicSerializeElement
@Column(length = 8) private String forecastRegion;
@DataURI(position = 3)
@XmlElement // The issue office where the report from
@DynamicSerializeElement @Column(length=32)
private String forecastRegion; @DynamicSerializeElement
private String issueOffice;
// The issue office where the report from
@Column(length = 32) // Issue time of the report
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private String issueOffice; private Calendar issueTime;
// Issue time of the report // The designator
@Column @Column(length=8)
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private String designatorBBB;
private Calendar issueTime;
// CorrectionFlag is a flag indicating a cancellation (0 or 1)
// The designator @Column
@Column(length = 8) @DynamicSerializeElement
@XmlElement private Integer correctionFlag;
@DynamicSerializeElement
private String designatorBBB; // The entire report
@Column(length=15000)
// CorrectionFlag is a flag indicating a cancellation (0 or 1) @DynamicSerializeElement
@Column private String bullMessage;
@XmlElement
@DynamicSerializeElement
private Integer correctionFlag; /**
* Convsigmet section
// The entire report */
@Column(length = 15000) @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@DynamicSerializeElement @JoinColumn(name = "parentID", nullable = false)
private String bullMessage; @Index(name = "convSigmetSection_parentid_idex")
private Set<ConvSigmetSection> convSigmetSection = new HashSet<ConvSigmetSection>();
/**
* Convsigmet section
*/ /**
@DynamicSerializeElement * Default Convstructor
@XmlElement */
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) public ConvSigmetRecord() {
@Index(name = "convsigmet_section_parentid_idex") this.issueOffice="";
private Set<ConvSigmetSection> convSigmetSection = new HashSet<ConvSigmetSection>(); this.wmoHeader="";
this.bullMessage="";
/** this.designatorBBB="";
* Default Convstructor this.forecastRegion="";
*/ this.reportType="";
public ConvSigmetRecord() { this.correctionFlag=IDecoderConstantsN.INTEGER_MISSING;
this.issueOffice = ""; }
this.wmoHeader = "";
this.bullMessage = ""; /**
this.designatorBBB = ""; * Convstructs a consigmet record from a dataURI
this.forecastRegion = ""; *
this.reportType = ""; * @param uri The dataURI
this.correctionFlag = IDecoderConstantsN.INTEGER_MISSING; */
} public ConvSigmetRecord(String uri) {
super(uri);
/** }
* Convstructs a consigmet record from a dataURI
*
* @param uri @Override
* The dataURI public IDecoderGettable getDecoderGettable() {
*/ // TODO Auto-generated method stub
public ConvSigmetRecord(String uri) { return null;
super(uri); }
}
/**
@Override * @return the issueOffice
public IDecoderGettable getDecoderGettable() { */
// TODO Auto-generated method stub public String getIssueOffice(){
return null; return issueOffice;
} }
/** /**
* @return the issueOffice * @param issueOffice to set
*/ */
public String getIssueOffice() { public void setIssueOffice(String issueOffice){
return issueOffice; this.issueOffice=issueOffice;
} }
/** /**
* @param issueOffice * @return the wmoHeader
* to set */
*/ public String getWmoHeader(){
public void setIssueOffice(String issueOffice) { return wmoHeader;
this.issueOffice = issueOffice; }
}
/**
/** * @param wnoHeader to set
* @return the wmoHeader */
*/ public void setWmoHeader(String wmoHeader){
public String getWmoHeader() { this.wmoHeader=wmoHeader;
return wmoHeader; }
}
/**
/** * @return the issueTime
* @param wnoHeader */
* to set public Calendar getIssueTime(){
*/ return issueTime;
public void setWmoHeader(String wmoHeader) { }
this.wmoHeader = wmoHeader;
} /**
* @param issueTime to set
/** */
* @return the issueTime public void setIssueTime(Calendar issueTime){
*/ this.issueTime=issueTime;
public Calendar getIssueTime() { }
return issueTime;
} /**
* @return the reportType
/** */
* @param issueTime public String getReportType() {
* to set return reportType;
*/ }
public void setIssueTime(Calendar issueTime) {
this.issueTime = issueTime; /**
} * @param reportType to set
*/
/** public void setReportType(String reportType) {
* @return the reportType this.reportType = reportType;
*/ }
public String getReportType() {
return reportType; /**
} * @return the designatorBBB
*/
/** public String getDesignatorBBB() {
* @param reportType return designatorBBB;
* to set }
*/
public void setReportType(String reportType) { /**
this.reportType = reportType; * @param designatorBBB to set
} */
public void setDesignatorBBB(String designatorBBB) {
/** this.designatorBBB = designatorBBB;
* @return the designatorBBB }
*/
public String getDesignatorBBB() { /**
return designatorBBB; * @return the correctionFlag
} */
public Integer getCorrectionFlag() {
/** return correctionFlag;
* @param designatorBBB }
* to set
*/ /**
public void setDesignatorBBB(String designatorBBB) { * @param correctionFlag to set
this.designatorBBB = designatorBBB; */
} public void setCorrectionFlag(Integer correctionFlag) {
this.correctionFlag = correctionFlag;
/** }
* @return the correctionFlag
*/ /**
public Integer getCorrectionFlag() { * @return the forecastRegion
return correctionFlag; */
} public String getForecastRegion() {
return forecastRegion;
/** }
* @param correctionFlag
* to set /**
*/ * @param forecastRegion to set
public void setCorrectionFlag(Integer correctionFlag) { */
this.correctionFlag = correctionFlag; public void setForecastRegion(String forecastRegion) {
} this.forecastRegion = forecastRegion;
}
/**
* @return the forecastRegion /**
*/ * @return the bullMessage
public String getForecastRegion() { */
return forecastRegion; public String getBullMessage() {
} return bullMessage;
}
/**
* @param forecastRegion /**
* to set * @param bullMessage to set
*/ */
public void setForecastRegion(String forecastRegion) { public void setBullMessage(String bullMessage) {
this.forecastRegion = forecastRegion; this.bullMessage = bullMessage;
} }
/**
* @return the bullMessage /**
*/ * @return the set of convective Sigmet section
public String getBullMessage() { */
return bullMessage; public Set<ConvSigmetSection> getConvSigmetSection() {
} return convSigmetSection;
}
/**
* @param bullMessage /**
* to set * @param convsigmet the section to set
*/ */
public void setBullMessage(String bullMessage) { public void setConvSigmetSection(Set<ConvSigmetSection> convSection) {
this.bullMessage = bullMessage; this.convSigmetSection = convSection;
} }
/** /**
* @return the set of convective Sigmet section * @param add convective Sigmet Section to set
*/ */
public Set<ConvSigmetSection> getConvSigmetSection() { public void addConvSigmetSection(ConvSigmetSection psection){
return convSigmetSection; convSigmetSection.add(psection);
}
}
/**
* @param convsigmet /**
* the section to set * Override existing set method to modify any
*/ * classes that use the dataURI as a foreign key
public void setConvSigmetSection(Set<ConvSigmetSection> convSection) { */
this.convSigmetSection = convSection; @Override
} public void setIdentifier(Object dataURI)
{
/**
* @param add this.identifier = dataURI;
* convective Sigmet Section to set
*/ }
public void addConvSigmetSection(ConvSigmetSection psection) {
convSigmetSection.add(psection); }
psection.setParentID(this);
}
/**
* Override existing set method to modify any classes that use the dataURI
* as a foreign key
*/
@Override
public void setIdentifier(Object dataURI) {
this.identifier = dataURI;
if (this.getConvSigmetSection() != null
&& this.getConvSigmetSection().size() > 0) {
for (Iterator<ConvSigmetSection> iter = this.getConvSigmetSection()
.iterator(); iter.hasNext();) {
ConvSigmetSection cs = iter.next();
cs.setParentID(this);
}
}
}
}

View file

@ -1,397 +1,343 @@
/** /**
* ConvsigmetSection * ConvsigmetSection
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* convective sigmet section table. * convective sigmet section table.
* *
* HISTORY * HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 03/2009 87/114 L. Lin Initial coding * 03/2009 87/114 L. Lin Initial coding
* 07/2009 87/114 L. Lin Migration to TO11 * 07/2009 87/114 L. Lin Migration to TO11
* </pre> * 09/2011 Chin Chen changed to improve purge performance and
* * removed xml serialization as well
* This code has been developed by the SIB for use in the AWIPS2 system. * </pre>
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.convsigmet; */
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; package gov.noaa.nws.ncep.common.dataplugin.convsigmet;
import java.io.Serializable; import java.io.Serializable;
import java.util.Calendar;
import java.util.HashSet; import java.util.Calendar;
import java.util.Iterator; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.GeneratedValue;
import javax.persistence.FetchType; import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Entity;
import javax.persistence.JoinColumn; import javax.persistence.FetchType;
import javax.persistence.ManyToOne; import javax.persistence.JoinColumn;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType; import org.hibernate.annotations.Index;
import javax.xml.bind.annotation.XmlAccessorType; import com.raytheon.uf.common.serialization.ISerializableObject;
import javax.xml.bind.annotation.XmlElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import org.hibernate.annotations.Index; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import com.raytheon.uf.common.serialization.ISerializableObject; @Entity
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; @Table(name="convsigmet_section")
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @DynamicSerialize
public class ConvSigmetSection implements Serializable, ISerializableObject {
@Entity
@Table(name = "convsigmet_section") private static final long serialVersionUID = 1L;
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @Id
public class ConvSigmetSection implements Serializable, ISerializableObject { @GeneratedValue
private Integer recordId = null;
private static final long serialVersionUID = 1L;
@Id // Class type such as: LINE, AREA, ISOL, CS, and OUTLOOK
@GeneratedValue @Column(length=8)
private Integer recordId = null; @DynamicSerializeElement
private String classType;
// The CONVSIGMET record this object belongs to
@ManyToOne // Sequence ID of a convective sigmet report
@JoinColumn(name = "parentID", nullable = false) @Column(length=16)
private ConvSigmetRecord parentID; @DynamicSerializeElement
private String sequenceID;
// Class type such as: LINE, AREA, ISOL, CS, and OUTLOOK
@Column(length = 8) // Start time of the report
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private String classType; private Calendar startTime;
// Sequence ID of a convective sigmet report // End time of the report
@Column(length = 16) @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private Calendar endTime;
private String sequenceID;
/*
// Start time of the report * Intensity is DMSHG (weakening), DSIPTG (ending)
@Column * INTSFYG (strengthening), DVLPG (beginning/growing)
@XmlElement */
@DynamicSerializeElement @Column(length=32)
private Calendar startTime; @DynamicSerializeElement
private String intensity;
// End time of the report
@Column // To where flight level from tops
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private Calendar endTime; private int flightLevel;
/* // TOPS TO or TOPS ABV for flight level
* Intensity is DMSHG (weakening), DSIPTG (ending) INTSFYG (strengthening), @Column(length=16)
* DVLPG (beginning/growing) @DynamicSerializeElement
*/ private String cloudTop;
@Column(length = 32)
@XmlElement // Direction of weather report heads to
@DynamicSerializeElement @Column
private String intensity; @DynamicSerializeElement
private int direction;
// To where flight level from tops
@Column // wind speed in knots
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private int flightLevel; private int speed;
// TOPS TO or TOPS ABV for flight level // Distance is the Distance or Area diameter of the area or line
@Column(length = 16) @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private int distance;
private String cloudTop;
// The information of a complete section
// Direction of weather report heads to @Column(length=720)
@Column @DynamicSerializeElement
@XmlElement private String segment;
@DynamicSerializeElement
private int direction;
/**
// wind speed in knots * Convsigmet location
@Column */
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private int speed; @JoinColumn(name = "parentID", nullable = false)
@Index(name = "convSigmetLocation_parentid_idex")
// Distance is the Distance or Area diameter of the area or line private Set<ConvSigmetLocation> convSigmetLocation = new HashSet<ConvSigmetLocation>();
@Column
@XmlElement
@DynamicSerializeElement /**
private int distance; * No-Arg Convstructor
*/
// The information of a complete section public ConvSigmetSection() {
@Column(length = 720) this.intensity = null;
@XmlElement this.cloudTop=null;
@DynamicSerializeElement this.segment=null;
private String segment; this.classType=null;
this.sequenceID=null;
/**
* Convsigmet location this.direction=IDecoderConstantsN.INTEGER_MISSING;
*/ this.speed=IDecoderConstantsN.INTEGER_MISSING;
@DynamicSerializeElement this.distance=IDecoderConstantsN.INTEGER_MISSING;
@XmlElement this.flightLevel=IDecoderConstantsN.INTEGER_MISSING;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) }
@Index(name = "convsigmet_location_parentid_idex")
private Set<ConvSigmetLocation> convSigmetLocation = new HashSet<ConvSigmetLocation>(); /**
* @return the serialVersionUID
/** */
* No-Arg Convstructor public static long getSerialVersionUID() {
*/ return serialVersionUID;
public ConvSigmetSection() { }
this.intensity = null;
this.cloudTop = null; /**
this.segment = null; * @return the sequenceID
this.classType = null; */
this.sequenceID = null; public String getSequenceID() {
return sequenceID;
this.direction = IDecoderConstantsN.INTEGER_MISSING;
this.speed = IDecoderConstantsN.INTEGER_MISSING; }
this.distance = IDecoderConstantsN.INTEGER_MISSING;
this.flightLevel = IDecoderConstantsN.INTEGER_MISSING; /**
} * @return the sequenceID
*/
/** public void setSequenceID(String sequenceID) {
* @return the serialVersionUID this.sequenceID = sequenceID;
*/ }
public static long getSerialVersionUID() {
return serialVersionUID; /**
} * @return the intensity
*/
/** public String getIntensity() {
* @return the sequenceID return intensity;
*/ }
public String getSequenceID() {
return sequenceID; /**
* @param intensity to set
} */
public void setIntensity(String intensity) {
/** this.intensity = intensity;
* @return the sequenceID }
*/
public void setSequenceID(String sequenceID) { /**
this.sequenceID = sequenceID; * @return the direction
} */
public int getDirection() {
/** return direction;
* @return the intensity }
*/
public String getIntensity() { /**
return intensity; * @param direction to set
} */
public void setDirection(int direction) {
/** this.direction = direction;
* @param intensity }
* to set
*/ /**
public void setIntensity(String intensity) { * @return the speed
this.intensity = intensity; */
} public int getSpeed() {
return speed;
/** }
* @return the direction
*/ /**
public int getDirection() { * @param speed to set
return direction; */
} public void setSpeed(int speed) {
this.speed = speed;
/** }
* @param direction
* to set /**
*/ * @return the distance
public void setDirection(int direction) { */
this.direction = direction; public int getDistance() {
} return distance;
}
/**
* @return the speed /**
*/ * @param distance to set
public int getSpeed() { */
return speed; public void setDistance(int distance) {
} this.distance = distance;
}
/**
* @param speed /**
* to set * @return the set of convective sigmet location
*/ */
public void setSpeed(int speed) { public Set<ConvSigmetLocation> getConvSigmetLocation() {
this.speed = speed; return convSigmetLocation;
} }
/** /**
* @return the distance * @param convsigmet the location to set
*/ */
public int getDistance() { public void setConvSigmetLocation(Set<ConvSigmetLocation> convLocation) {
return distance; this.convSigmetLocation = convLocation;
} }
/** /**
* @param distance * @param add conv Sigmet location to set
* to set */
*/ public void addConvSigmetLocation(ConvSigmetLocation plocation){
public void setDistance(int distance) { convSigmetLocation.add(plocation);
this.distance = distance; }
}
/**
* @return the set of convective sigmet location /**
*/ * @return the classType
public Set<ConvSigmetLocation> getConvSigmetLocation() { */
return convSigmetLocation; public String getClassType() {
} return classType;
}
/**
* @param convsigmet /**
* the location to set * @param classType to set
*/ */
public void setConvSigmetLocation(Set<ConvSigmetLocation> convLocation) { public void setClassType(String classType) {
this.convSigmetLocation = convLocation; this.classType = classType;
} }
/** /**
* @param add * @return the section
* conv Sigmet location to set */
*/ public String getSegment() {
public void addConvSigmetLocation(ConvSigmetLocation plocation) { return segment;
convSigmetLocation.add(plocation); }
}
/**
/** * @param segment to set
* @return the parentID */
*/ public void setSegment(String segment) {
// public String getParentID() { this.segment = segment;
public ConvSigmetRecord getParentID() { }
return parentID; /**
} * @return the startTime
*/
/** public Calendar getStartTime() {
* @param parentID return startTime;
* the parentID to set }
*/
public void setParentID(ConvSigmetRecord parentID) { /**
this.parentID = parentID; * @param startTime to set
if (this.getConvSigmetLocation() != null */
&& this.getConvSigmetLocation().size() > 0) { public void setStartTime(Calendar startTime) {
for (Iterator<ConvSigmetLocation> iter = this this.startTime = startTime;
.getConvSigmetLocation().iterator(); iter.hasNext();) { }
ConvSigmetLocation cond = iter.next();
cond.setParentID(this); /**
} * @return the endTime
} */
} public Calendar getEndTime() {
return endTime;
/** }
* @return the classType
*/ /**
public String getClassType() { * @param endTIme to set
return classType; */
} public void setEndTime(Calendar endTime) {
this.endTime = endTime;
/** }
* @param classType
* to set /**
*/ * @return the cloudTop
public void setClassType(String classType) { */
this.classType = classType; public String getCloudTop() {
} return cloudTop;
}
/**
* @return the section /**
*/ * @param cloudTop to set
public String getSegment() { */
return segment; public void setCloudTop(String cloudTop) {
} this.cloudTop = cloudTop;
}
/**
* @param segment /**
* to set * @return the flightLevel
*/ */
public void setSegment(String segment) { public int getFlightLevel() {
this.segment = segment; return flightLevel;
} }
/** /**
* @return the startTime * @param flightLevel to set
*/ */
public Calendar getStartTime() { public void setFlightLevel(int flightLevel) {
return startTime; this.flightLevel = flightLevel;
} }
/** /**
* @param startTime * Get the record id.
* to set *
*/ * @return The recordId. If not set returns null.
public void setStartTime(Calendar startTime) { */
this.startTime = startTime; public Integer getRecordId() {
} return recordId;
}
/**
* @return the endTime /**
*/ * Set the record id.
public Calendar getEndTime() { * @param record
return endTime; */
} public void setRecordId(Integer recordId) {
this.recordId = recordId;
/** }
* @param endTIme
* to set }
*/
public void setEndTime(Calendar endTime) {
this.endTime = endTime;
}
/**
* @return the cloudTop
*/
public String getCloudTop() {
return cloudTop;
}
/**
* @param cloudTop
* to set
*/
public void setCloudTop(String cloudTop) {
this.cloudTop = cloudTop;
}
/**
* @return the flightLevel
*/
public int getFlightLevel() {
return flightLevel;
}
/**
* @param flightLevel
* to set
*/
public void setFlightLevel(int flightLevel) {
this.flightLevel = flightLevel;
}
/**
* Get the record id.
*
* @return The recordId. If not set returns null.
*/
public Integer getRecordId() {
return recordId;
}
/**
* Set the record id.
*
* @param record
*/
public void setRecordId(Integer recordId) {
this.recordId = recordId;
}
}

View file

@ -1,31 +1,14 @@
/**
* 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 gov.noaa.nws.ncep.common.dataplugin.convsigmet.dao; package gov.noaa.nws.ncep.common.dataplugin.convsigmet.dao;
import gov.noaa.nws.ncep.common.dataplugin.convsigmet.ConvSigmetRecord; import gov.noaa.nws.ncep.common.dataplugin.convsigmet.ConvSigmetRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import java.util.List; import java.util.List;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
/** /**
* TODO Add Description * TODO Add Description
@ -36,6 +19,8 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 23, 2009 jkorman Initial creation * Sep 23, 2009 jkorman Initial creation
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* *
* </pre> * </pre>
* *
@ -43,7 +28,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* @version 1.0 * @version 1.0
*/ */
public class ConvSigmetDao extends NcepDefaultPluginDao { public class ConvSigmetDao extends PluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
@ -92,4 +77,11 @@ public class ConvSigmetDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

View file

@ -1,4 +1,4 @@
/** /**
* Contains table record for decoder plug-ins * Contains table record for decoder plug-ins
*/ */
package gov.noaa.nws.ncep.common.dataplugin.convsigmet; package gov.noaa.nws.ncep.common.dataplugin.convsigmet;

View file

@ -1,10 +1,8 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.ffg"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ffg">
<available file="../../edexOsgi/build.edex" <!-- property name="component.name" value="plugin-ffg" /-->
property="build.dir.location" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
value="../../edexOsgi/build.edex"/> <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
<available file="../../../../../build.edex"
property="build.dir.location" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -13,6 +13,8 @@
* 03/2009 14 T. Lee Migration to TO10 * 03/2009 14 T. Lee Migration to TO10
* 11/2009 14 T. Lee Migration to TO11D6 * 11/2009 14 T. Lee Migration to TO11D6
* 05/2010 14 T. Lee Migration to TO11DR11 * 05/2010 14 T. Lee Migration to TO11DR11
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* @author T.Lee * @author T.Lee
@ -26,21 +28,15 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import gov.noaa.nws.ncep.common.dataplugin.ffg.FfgRecord;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
@Entity @Entity
@Table(name="ffg_precip") @Table(name="ffg_precip")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class FfgPrecip implements Serializable, ISerializableObject { public class FfgPrecip implements Serializable, ISerializableObject {
@ -50,11 +46,6 @@ public class FfgPrecip implements Serializable, ISerializableObject {
@GeneratedValue @GeneratedValue
private Integer recordId = null; private Integer recordId = null;
/** The FFG record this object belongs to **/
@ManyToOne
@JoinColumn(name="parentID", nullable=false)
private FfgRecord parentID;
/** The zone ID **/ /** The zone ID **/
@Column(length=32) @Column(length=32)
@XmlElement @XmlElement
@ -113,17 +104,17 @@ public class FfgPrecip implements Serializable, ISerializableObject {
/** /**
* @return the parentID * @return the parentID
*/ *
public FfgRecord getParentID() { public FfgRecord getParentID() {
return parentID; return parentID;
} }*/
/** /**
* @param parentID the parentID to set * @param parentID the parentID to set
*/ *
public void setParentID(FfgRecord parentID) { public void setParentID(FfgRecord parentID) {
this.parentID = parentID; this.parentID = parentID;
} }*/
/** /**
* @return the zoneID * @return the zoneID

View file

@ -13,6 +13,8 @@
* 12/2008 14 T. Lee Initialized variable * 12/2008 14 T. Lee Initialized variable
* 03/2009 14 T. Lee Migration to TO10 * 03/2009 14 T. Lee Migration to TO10
* 07/2009 14 T. Lee Migration to TO11 * 07/2009 14 T. Lee Migration to TO11
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* @author T.Lee * @author T.Lee
@ -23,23 +25,17 @@ package gov.noaa.nws.ncep.common.dataplugin.ffg;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import javax.xml.bind.annotation.XmlRootElement; import org.hibernate.annotations.Index;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.IDecoderGettable; import com.raytheon.uf.common.dataplugin.IDecoderGettable;
@ -49,67 +45,57 @@ import gov.noaa.nws.ncep.common.dataplugin.ffg.FfgPrecip;
@Entity @Entity
@Table(name = "ffg", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) @Table(name = "ffg", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class FfgRecord extends PluginDataObject { public class FfgRecord extends PluginDataObject {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** Report type */ /** Report type */
@Column(length=32) @Column(length=32)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String reportType; private String reportType;
/** FFG AWIPS identifier */ /** FFG AWIPS identifier */
@Column(length=32) @Column(length=32)
@DataURI(position=1) @DataURI(position=1)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String awipsID; private String awipsID;
/** Bulletin insurance time */ /** Bulletin insurance time */
@Column @Column
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private Calendar issueTime; private Calendar issueTime;
/** Station ID */ /** Station ID */
@Column(length=32) @Column(length=32)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String issueOffice; private String issueOffice;
/** Designator BBB */ /** Designator BBB */
@Column(length=8) @Column(length=8)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String designatorBBB; private String designatorBBB;
/** Bulletin messages */ /** Bulletin messages */
@Column(length=10000) @Column(length=10000)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String bullMessage; private String bullMessage;
/** Mass News Disseminator (MND) */ /** Mass News Disseminator (MND) */
@Column(length=72) @Column(length=72)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String mndTime; private String mndTime;
/** WMO header */ /** WMO header */
@Column(length=32) @Column(length=32)
@XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private String wmoHeader; private String wmoHeader;
/** FFG precipitation */ /** FFG precipitation */
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentID", fetch = FetchType.EAGER) @JoinColumn(name = "parentID", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE) @Index(name = "ffgP_parentid_idex")
private Set<FfgPrecip> ffgP = new HashSet<FfgPrecip>(); private Set<FfgPrecip> ffgP = new HashSet<FfgPrecip>();
/** /**
@ -270,7 +256,7 @@ public class FfgRecord extends PluginDataObject {
*/ */
public void addPrecip(FfgPrecip precip){ public void addPrecip(FfgPrecip precip){
ffgP.add(precip); ffgP.add(precip);
precip.setParentID (this); //precip.setParentID (this);
} }
/** /**
@ -281,11 +267,11 @@ public class FfgRecord extends PluginDataObject {
public void setIdentifier(Object dataURI) { public void setIdentifier(Object dataURI) {
this.identifier = dataURI; this.identifier = dataURI;
if (this.getFfgP() != null && this.getFfgP().size() > 0) { /*if (this.getFfgP() != null && this.getFfgP().size() > 0) {
for (Iterator<FfgPrecip> iter = this.getFfgP().iterator(); iter.hasNext();) { for (Iterator<FfgPrecip> iter = this.getFfgP().iterator(); iter.hasNext();) {
FfgPrecip fp = iter.next(); FfgPrecip fp = iter.next();
fp.setParentID(this); //fp.setParentID(this);
} }
} }*/
} }
} }

View file

@ -10,6 +10,8 @@
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2010 14 T. Lee Migration to TO11DR11 * 05/2010 14 T. Lee Migration to TO11DR11
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* @author T.Lee * @author T.Lee
@ -19,15 +21,14 @@
package gov.noaa.nws.ncep.common.dataplugin.ffg.dao; package gov.noaa.nws.ncep.common.dataplugin.ffg.dao;
import gov.noaa.nws.ncep.common.dataplugin.ffg.FfgRecord; import gov.noaa.nws.ncep.common.dataplugin.ffg.FfgRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import java.util.List; import java.util.List;
import com.raytheon.edex.db.dao.DefaultPluginDao;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
public class FfgDao extends NcepDefaultPluginDao { public class FfgDao extends PluginDao {
/** /**
* FfgDao constructor. * FfgDao constructor.
@ -76,4 +77,11 @@ public class FfgDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

View file

@ -1,4 +1,4 @@
/** /**
* Contains table record for decoder plug-ins * Contains table record for decoder plug-ins
*/ */
package gov.noaa.nws.ncep.common.dataplugin.ffg; package gov.noaa.nws.ncep.common.dataplugin.ffg;

View file

@ -1,11 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.idft"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.idft">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -12,64 +12,64 @@
* *
* @author fjyen * @author fjyen
* @version 1.0 * @version 1.0
**/ **/
package gov.noaa.nws.ncep.common.dataplugin.idft.dao; package gov.noaa.nws.ncep.common.dataplugin.idft.dao;
import java.util.List; import java.util.List;
import gov.noaa.nws.ncep.common.dataplugin.idft.IdftRecord; import gov.noaa.nws.ncep.common.dataplugin.idft.IdftRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao; import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
public class IdftDao extends NcepDefaultPluginDao { public class IdftDao extends NcepDefaultPluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
* @throws PluginException * @throws PluginException
*/ */
public IdftDao(String pluginName) throws PluginException { public IdftDao(String pluginName) throws PluginException {
super(pluginName); super(pluginName);
} }
/** /**
* Retrieves a idft report using the datauri . * Retrieves a idft report using the datauri .
* *
* @param dataURI * @param dataURI
* The dataURI to match against. * The dataURI to match against.
* @return The report record if it exists. * @return The report record if it exists.
*/ */
public IdftRecord queryByDataURI(String dataURI) { public IdftRecord queryByDataURI(String dataURI) {
IdftRecord report = null; IdftRecord report = null;
List<?> obs = null; List<?> obs = null;
try { try {
obs = queryBySingleCriteria("dataURI", dataURI); obs = queryBySingleCriteria("dataURI", dataURI);
} catch (DataAccessLayerException e) { } catch (DataAccessLayerException e) {
e.printStackTrace(); e.printStackTrace();
} }
if((obs != null)&&(obs.size() > 0)) { if((obs != null)&&(obs.size() > 0)) {
report = (IdftRecord) obs.get(0); report = (IdftRecord) obs.get(0);
} }
return report; return report;
} }
/** /**
* Queries for to determine if a given data uri exists on the IDFT table. * Queries for to determine if a given data uri exists on the IDFT table.
* *
* @param dataUri * @param dataUri
* The DataURI to find. * The DataURI to find.
* @return An array of objects. If not null, there should only be a single * @return An array of objects. If not null, there should only be a single
* element. * element.
*/ */
public Object[] queryDataUriColumn(final String dataUri) { public Object[] queryDataUriColumn(final String dataUri) {
String sql = "select datauri from awips.idft where datauri='" String sql = "select datauri from awips.idft where datauri='"
+ dataUri + "';"; + dataUri + "';";
Object[] results = executeSQLQuery(sql); Object[] results = executeSQLQuery(sql);
return results; return results;
} }
} }

View file

@ -1,10 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.intlsigmet"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.intlsigmet">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,205 +1,179 @@
/** /**
* IntlsigmetLocation * IntlsigmetLocation
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* international sigmet location table. * international sigmet location table.
* *
* HISTORY * HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 05/2009 113 L. Lin Initial creation * 05/2009 113 L. Lin Initial creation
* 07/2009 113 L. Lin Migration to TO11 * 07/2009 113 L. Lin Migration to TO11
* 09/2009 113 L. Lin modify lat/lon float to latitude/longitude double * 09/2009 113 L. Lin modify lat/lon float to latitude/longitude double
* * 09/2011 Chin Chen changed to improve purge performance and
* * removed xml serialization as well
* This code has been developed by the SIB for use in the AWIPS2 system. *
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.intlsigmet; */
import java.io.Serializable; package gov.noaa.nws.ncep.common.dataplugin.intlsigmet;
import javax.persistence.GeneratedValue; import java.io.Serializable;
import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.GeneratedValue;
import javax.persistence.Entity; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.Column;
import javax.persistence.ManyToOne; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType; import com.raytheon.uf.common.serialization.ISerializableObject;
import javax.xml.bind.annotation.XmlAccessorType; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import javax.xml.bind.annotation.XmlElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.ISerializableObject; import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @Entity
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; @Table(name="intlsigmet_location")
@DynamicSerialize
@Entity public class IntlSigmetLocation implements Serializable, ISerializableObject {
@Table(name="intlsigmet_location")
@XmlAccessorType(XmlAccessType.NONE) private static final long serialVersionUID = 1L;
@DynamicSerialize
public class IntlSigmetLocation implements Serializable, ISerializableObject { @Id
@GeneratedValue
private static final long serialVersionUID = 1L; private Integer recordId = null;
@Id
@GeneratedValue // Collection of locations
private Integer recordId = null; @Column(length=480)
@DynamicSerializeElement
// The intlsigmet record this object belongs to private String locationLine;
@ManyToOne
@JoinColumn(name="parentID", nullable=false) // Each location of an international sigmet forecast area
private IntlSigmetRecord parentID; @Column(length=48)
@DynamicSerializeElement
// Collection of locations private String locationName;
@Column(length=480)
@XmlElement // Each latitude of an international sigmet forecast area
@DynamicSerializeElement @Column
private String locationLine; @DynamicSerializeElement
private double latitude;
// Each location of an international sigmet forecast area
@Column(length=48) // Each longitude of an international sigmet forecast area
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private String locationName; private double longitude;
// Each latitude of an international sigmet forecast area // Index for the order of a complete location set
@Column @Column
@XmlElement @DynamicSerializeElement
@DynamicSerializeElement private Integer index;
private double latitude;
/**
// Each longitude of an international sigmet forecast area * No-Arg Convstructor.
@Column */
@XmlElement public IntlSigmetLocation() {
@DynamicSerializeElement this.locationLine=null;
private double longitude; this.locationName=null;
this.latitude=IDecoderConstantsN.FLOAT_MISSING;
// Index for the order of a complete location set this.longitude=IDecoderConstantsN.FLOAT_MISSING;
@Column this.index=IDecoderConstantsN.INTEGER_MISSING;
@XmlElement }
@DynamicSerializeElement
private Integer index;
/**
/** * @return the serialVersionUID
* No-Arg Convstructor. */
*/ public static long getSerialVersionUID() {
public IntlSigmetLocation() { return serialVersionUID;
this.locationLine=null; }
this.locationName=null;
this.latitude=IDecoderConstantsN.FLOAT_MISSING;
this.longitude=IDecoderConstantsN.FLOAT_MISSING; /**
this.index=IDecoderConstantsN.INTEGER_MISSING; * @return the index
} */
public Integer getIndex() {
return index;
/** }
* @return the serialVersionUID
*/ /**
public static long getSerialVersionUID() { * @param index to set
return serialVersionUID; */
} public void setIndex(Integer index) {
this.index = index;
/** }
* @return the parentID
*/ /**
public IntlSigmetRecord getParentID() { * @return the locationLine
return parentID; */
} public String getLocationLine() {
return locationLine;
/** }
* @param parentID to set
*/ /**
public void setParentID(IntlSigmetRecord parentID) { * @param locationLine to set
this.parentID = parentID; */
} public void setLocationLine(String locationLine) {
this.locationLine = locationLine;
/** }
* @return the index
*/ /**
public Integer getIndex() { * @return the location
return index; */
} public String getLocationName() {
return locationName;
/** }
* @param index to set
*/ /**
public void setIndex(Integer index) { * @param location to set
this.index = index; */
} public void setLocationName(String location) {
this.locationName = location;
/** }
* @return the locationLine
*/ /**
public String getLocationLine() { * Get the record id.
return locationLine; *
} * @return The recordId. If not set returns null.
*/
/** public Integer getRecordId() {
* @param locationLine to set return recordId;
*/ }
public void setLocationLine(String locationLine) {
this.locationLine = locationLine; /**
} * Set the record id.
* @param record
/** */
* @return the location public void setRecordId(Integer recordId) {
*/ this.recordId = recordId;
public String getLocationName() { }
return locationName;
} /**
* @return the latitude
/** */
* @param location to set public double getLatitude() {
*/ return latitude;
public void setLocationName(String location) { }
this.locationName = location;
} /**
* @param latitude to set
/** */
* Get the record id. public void setLatitude(double latitude) {
* this.latitude = latitude;
* @return The recordId. If not set returns null. }
*/
public Integer getRecordId() { /**
return recordId; * @return the longitude
} */
public double getLongitude() {
/** return longitude;
* Set the record id. }
* @param record
*/ /**
public void setRecordId(Integer recordId) { * @param longitude to set
this.recordId = recordId; */
} public void setLongitude(double longitude) {
this.longitude = longitude;
/** }
* @return the latitude
*/ }
public double getLatitude() {
return latitude;
}
/**
* @param latitude to set
*/
public void setLatitude(double latitude) {
this.latitude = latitude;
}
/**
* @return the longitude
*/
public double getLongitude() {
return longitude;
}
/**
* @param longitude to set
*/
public void setLongitude(double longitude) {
this.longitude = longitude;
}
}

View file

@ -1,31 +1,13 @@
/**
* 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 gov.noaa.nws.ncep.common.dataplugin.intlsigmet.dao; package gov.noaa.nws.ncep.common.dataplugin.intlsigmet.dao;
import java.util.List; import java.util.List;
import gov.noaa.nws.ncep.common.dataplugin.intlsigmet.IntlSigmetRecord; import gov.noaa.nws.ncep.common.dataplugin.intlsigmet.IntlSigmetRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
/** /**
* Set of DAO methods for AIREP Observation data. * Set of DAO methods for AIREP Observation data.
@ -37,6 +19,8 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080103 384 jkorman Initial Coding. * 20080103 384 jkorman Initial Coding.
* 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
@ -59,7 +43,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* @version 1.0 * @version 1.0
*/ */
public class IntlSigmetDao extends NcepDefaultPluginDao { public class IntlSigmetDao extends PluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
@ -108,4 +92,11 @@ public class IntlSigmetDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

View file

@ -1,4 +1,4 @@
/** /**
* Contains table record for decoder plug-ins * Contains table record for decoder plug-ins
*/ */
package gov.noaa.nws.ncep.common.dataplugin.intlsigmet; package gov.noaa.nws.ncep.common.dataplugin.intlsigmet;

View file

@ -1,10 +1,8 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.mcidas"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.mcidas">
<available file="../../edexOsgi/build.edex" <!-- property name="component.name" value="plugin-mcidas" /-->
property="build.dir.location" <available file="../build.edex" property="build.dir.location" value="../build.edex"/>
value="../../edexOsgi/build.edex"/> <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<available file="../../../../../build.edex"
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" /> <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -199,6 +199,11 @@ INSERT INTO awips.mcidas_area_names VALUES (324,'VAAC|SouthWestAtlantic');
INSERT INTO awips.mcidas_area_names VALUES (325,'VAAC|SouthEastPacific'); INSERT INTO awips.mcidas_area_names VALUES (325,'VAAC|SouthEastPacific');
INSERT INTO awips.mcidas_area_names VALUES (326,'VAAC|Mexico-CentralAmerica'); INSERT INTO awips.mcidas_area_names VALUES (326,'VAAC|Mexico-CentralAmerica');
INSERT INTO awips.mcidas_area_names VALUES (327,'VAAC|SouthEastPacific'); INSERT INTO awips.mcidas_area_names VALUES (327,'VAAC|SouthEastPacific');
INSERT INTO awips.mcidas_area_names VALUES (328,'VAAC|CentralPacific');
INSERT INTO awips.mcidas_area_names VALUES (329,'VAAC|CentralPacific');
INSERT INTO awips.mcidas_area_names VALUES (330,'VAAC|CentralPacific');
INSERT INTO awips.mcidas_area_names VALUES (331,'VAAC|CentralPacific');
INSERT INTO awips.mcidas_area_names VALUES (332,'VAAC|CentralPacific');
INSERT INTO awips.mcidas_area_names VALUES (1805,'WashDC'); INSERT INTO awips.mcidas_area_names VALUES (1805,'WashDC');
INSERT INTO awips.mcidas_area_names VALUES (1810,'NAtlantic'); INSERT INTO awips.mcidas_area_names VALUES (1810,'NAtlantic');
INSERT INTO awips.mcidas_area_names VALUES (1815,'US'); INSERT INTO awips.mcidas_area_names VALUES (1815,'US');
@ -295,7 +300,7 @@ INSERT INTO awips.mcidas_area_names VALUES (8065,'World-10km');
INSERT INTO awips.mcidas_area_names VALUES (8066,'World'); INSERT INTO awips.mcidas_area_names VALUES (8066,'World');
INSERT INTO awips.mcidas_area_names VALUES (8067,'World-T'); INSERT INTO awips.mcidas_area_names VALUES (8067,'World-T');
INSERT INTO awips.mcidas_area_names VALUES (8069,'World'); INSERT INTO awips.mcidas_area_names VALUES (8069,'World');
INSERT INTO awips.mcidas_area_names VALUES (8070,'World'); INSERT INTO awips.mcidas_area_names VALUES (8070,'NHem');
INSERT INTO awips.mcidas_area_names VALUES (8072,'NPS-65E'); INSERT INTO awips.mcidas_area_names VALUES (8072,'NPS-65E');
INSERT INTO awips.mcidas_area_names VALUES (8073,'NPS-45W'); INSERT INTO awips.mcidas_area_names VALUES (8073,'NPS-45W');
INSERT INTO awips.mcidas_area_names VALUES (8074,'NPS-155W'); INSERT INTO awips.mcidas_area_names VALUES (8074,'NPS-155W');

View file

@ -129,3 +129,9 @@ INSERT INTO awips.mcidas_image_type VALUES (167, 'VIS', '1', '85');
INSERT INTO awips.mcidas_image_type VALUES (168, 'IR', '2', '85'); INSERT INTO awips.mcidas_image_type VALUES (168, 'IR', '2', '85');
INSERT INTO awips.mcidas_image_type VALUES (169, 'WV', '8', '85'); INSERT INTO awips.mcidas_image_type VALUES (169, 'WV', '8', '85');
INSERT INTO awips.mcidas_image_type VALUES (170, 'IR2', '16', '85'); INSERT INTO awips.mcidas_image_type VALUES (170, 'IR2', '16', '85');
INSERT INTO awips.mcidas_image_type VALUES (171, 'VIS', '1', '184');
INSERT INTO awips.mcidas_image_type VALUES (172, 'IR2', '2', '184');
INSERT INTO awips.mcidas_image_type VALUES (173, 'WV', '4', '184');
INSERT INTO awips.mcidas_image_type VALUES (174, 'IR', '8', '184');
INSERT INTO awips.mcidas_image_type VALUES (175, 'IR3', '128', '184');
INSERT INTO awips.mcidas_image_type VALUES (176, 'IR4', '16', '184');

View file

@ -7,6 +7,7 @@ INSERT INTO awips.mcidas_satellite_names VALUES (31,'GOES6');
INSERT INTO awips.mcidas_satellite_names VALUES (32,'GOES7'); INSERT INTO awips.mcidas_satellite_names VALUES (32,'GOES7');
INSERT INTO awips.mcidas_satellite_names VALUES (33,'GOES7'); INSERT INTO awips.mcidas_satellite_names VALUES (33,'GOES7');
INSERT INTO awips.mcidas_satellite_names VALUES (35,'FYC'); INSERT INTO awips.mcidas_satellite_names VALUES (35,'FYC');
INSERT INTO awips.mcidas_satellite_names VALUES (36,'FYC');
INSERT INTO awips.mcidas_satellite_names VALUES (51,'METEOSAT8'); INSERT INTO awips.mcidas_satellite_names VALUES (51,'METEOSAT8');
INSERT INTO awips.mcidas_satellite_names VALUES (52,'METEOSAT9'); INSERT INTO awips.mcidas_satellite_names VALUES (52,'METEOSAT9');
INSERT INTO awips.mcidas_satellite_names VALUES (53,'METEOSAT10'); INSERT INTO awips.mcidas_satellite_names VALUES (53,'METEOSAT10');
@ -25,3 +26,4 @@ INSERT INTO awips.mcidas_satellite_names VALUES (83,'GMS');
INSERT INTO awips.mcidas_satellite_names VALUES (84,'MTS'); INSERT INTO awips.mcidas_satellite_names VALUES (84,'MTS');
INSERT INTO awips.mcidas_satellite_names VALUES (85,'MTSAT2'); INSERT INTO awips.mcidas_satellite_names VALUES (85,'MTSAT2');
INSERT INTO awips.mcidas_satellite_names VALUES (180,'GOES13'); INSERT INTO awips.mcidas_satellite_names VALUES (180,'GOES13');
INSERT INTO awips.mcidas_satellite_names VALUES (184,'GOES15');

View file

@ -223,7 +223,7 @@ public class McidasAreaProjection extends MapProjection {
static final ParameterDescriptorGroup PARAMETERS = new DefaultParameterDescriptorGroup( static final ParameterDescriptorGroup PARAMETERS = new DefaultParameterDescriptorGroup(
"MCIDAS_AREA_NAV", "MCIDAS_AREA_NAV",
new ParameterDescriptor[] { SEMI_MAJOR, SEMI_MINOR, NAV_BLOCK_BASE64 } new ParameterDescriptor[] { SEMI_MAJOR, SEMI_MINOR, CENTRAL_MERIDIAN, NAV_BLOCK_BASE64 }
); );
/** /**

View file

@ -11,9 +11,9 @@
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 10/2009 144 T. Lee Created * 10/2009 144 T. Lee Created
* 12/2009 144 T. Lee Migrated to TO11D6 * 12/2009 144 T. Lee Migrated to TO11D6
* 01/2010 201 M. Li Split into dataplugin project * 01/2010 201 M. Li Split into dataplugin project
* 05/2010 144 L. Lin Migration to TO11DR11. * 05/2010 144 L. Lin Migration to TO11DR11.
* *
* </pre> * </pre>
*/ */
@ -43,9 +43,9 @@ import org.hibernate.annotations.Type;
import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.crs.ProjectedCRS; import org.opengis.referencing.crs.ProjectedCRS;
import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
import com.raytheon.uf.common.geospatial.ISpatialObject; import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.serialization.adapters.GeometryAdapter; import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
import com.raytheon.uf.common.serialization.adapters.GeometryAdapter;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Geometry;
@ -56,18 +56,16 @@ import com.vividsolutions.jts.geom.Polygon;
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
@XmlAccessorType(XmlAccessType.NONE) @XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class McidasMapCoverage extends PersistableDataObject implements public class McidasMapCoverage extends PersistableDataObject implements ISpatialObject {
ISpatialObject {
private static final long serialVersionUID = 1; private static final long serialVersionUID = 1;
@Id @Id
private int pid; private int pid;
/** /**
* The projection of the map coverage 1 = Mercator, 3 = Lambert Conformal or * The projection of the map coverage 1 = Mercator, 3 = Lambert Conformal or TANC
* TANC 5 = Polar Stereographic 7585 = native satellite navigation e.g. * 5 = Polar Stereographic
* GVAR, ... * 7585 = native satellite navigation e.g. GVAR, ...
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -85,7 +83,7 @@ public class McidasMapCoverage extends PersistableDataObject implements
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Integer ny; private Integer ny;
/** The pixel resolution of the image */ /** The pixel resolution of the image */
@Column @Column
@XmlAttribute @XmlAttribute
@ -105,11 +103,10 @@ public class McidasMapCoverage extends PersistableDataObject implements
private Float clon; private Float clon;
/** /**
* The standard latitude 1. For the Lambert Conformal projection this is the * The standard latitude 1. For the Lambert Conformal projection this is the latitude
* latitude of the proection cone intersects the earth. For the Polar * of the proection cone intersects the earth. For the Polar Stereographic this is the
* Stereographic this is the latitude at which projection plan intersects * latitude at which projection plan intersects the earth. For Mercator this is the
* the earth. For Mercator this is the latitude at which the Mercator * latitude at which the Mercator projection cylinder intersects the earth.
* projection cylinder intersects the earth.
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -117,14 +114,14 @@ public class McidasMapCoverage extends PersistableDataObject implements
private Float stdlat1; private Float stdlat1;
/** /**
* The standard latitude 2 is the second latitude of a secant cone which * The standard latitude 2 is the second latitude of a secant cone which intersects the
* intersects the earth for the Lambert Conformal projection. * earth for the Lambert Conformal projection.
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Float stdlat2; private Float stdlat2;
/** The latitude of the lower-left corner */ /** The latitude of the lower-left corner */
@Column @Column
@XmlAttribute @XmlAttribute
@ -148,31 +145,31 @@ public class McidasMapCoverage extends PersistableDataObject implements
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Float urlon; private Float urlon;
/** image element coordinate of area line 0, element 0 */ /** image element coordinate of area line 0, element 0 */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int upperLeftElement; private int upperLeftElement;
/** image line coordinate of area line 0, element 0 */ /** image line coordinate of area line 0, element 0 */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int upperLeftLine; private int upperLeftLine;
/** element resolution */ /** element resolution */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int elementRes; private int elementRes;
/** line resolution */ /** line resolution */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int lineRes; private int lineRes;
@Column(length = 5120) @Column(length = 5120)
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
@ -223,10 +220,9 @@ public class McidasMapCoverage extends PersistableDataObject implements
* @param geometry * @param geometry
* The geometry * The geometry
*/ */
public McidasMapCoverage(Integer projection, Integer nx, Integer ny, public McidasMapCoverage(Integer projection, Integer nx, Integer ny, Float dx,
Float dx, Float dy, Float clon, Float stdlat1, Float stdlat2, Float dy, Float clon, Float stdlat1, Float stdlat2, Float lllat, Float lllon,
Float lllat, Float lllon, Float urlat, Float urlon, Float urlat,Float urlon, CoordinateReferenceSystem crs, Geometry geometry) {
CoordinateReferenceSystem crs, Geometry geometry) {
this.projection = projection; this.projection = projection;
this.nx = nx; this.nx = nx;
this.ny = ny; this.ny = ny;
@ -253,27 +249,19 @@ public class McidasMapCoverage extends PersistableDataObject implements
* Constructs a new SatMapCoverage Object for native satellite navigation * Constructs a new SatMapCoverage Object for native satellite navigation
* *
* @param mapProjection * @param mapProjection
* @param nx * @param nx The number of horizontal scan lines
* The number of horizontal scan lines * @param ny The number vertical scan lines
* @param ny * @param reflon Reference Longitude
* The number vertical scan lines * @param upperLeftElement image element coordinate of area line 0, element 0
* @param reflon * @param upperLeftLine image line coordinate of area line 0, element 0
* Reference Longitude * @param xres Element resolution
* @param upperLeftElement * @param yres Line resolution
* image element coordinate of area line 0, element 0 * @param crs The coordinate reference system
* @param upperLeftLine
* image line coordinate of area line 0, element 0
* @param xres
* Element resolution
* @param yres
* Line resolution
* @param crs
* The coordinate reference system
* @param geometry * @param geometry
*/ */
public McidasMapCoverage(Integer projection, Integer nx, Integer ny, public McidasMapCoverage(Integer projection, Integer nx, Integer ny,
Float reflon, int upperLeftElement, int upperLeftLine, int xres, Float reflon, int upperLeftElement, int upperLeftLine, int xres,
int yres, ProjectedCRS crs, Geometry geometry) { int yres, ProjectedCRS crs, Geometry geometry) {
this.projection = projection; this.projection = projection;
this.nx = nx; this.nx = nx;
this.ny = ny; this.ny = ny;
@ -294,10 +282,10 @@ public class McidasMapCoverage extends PersistableDataObject implements
this.crsWKT = crsObject.toWKT(); this.crsWKT = crsObject.toWKT();
this.location = (Polygon) geometry; this.location = (Polygon) geometry;
pid = this.hashCode(); pid = this.hashCode();
} }
@Override @Override
public int hashCode() { public int hashCode() {
HashCodeBuilder hashBuilder = new HashCodeBuilder(); HashCodeBuilder hashBuilder = new HashCodeBuilder();
hashBuilder.append(projection); hashBuilder.append(projection);
hashBuilder.append(nx); hashBuilder.append(nx);
@ -329,41 +317,39 @@ public class McidasMapCoverage extends PersistableDataObject implements
if (crsObject == null) { if (crsObject == null) {
try { try {
crsObject = CRS.parseWKT(crsWKT); crsObject = CRS.parseWKT(crsWKT);
// ReferencingFactoryFinder.getCRSFactory(null).createFromWKT(crsWKT); // ReferencingFactoryFinder.getCRSFactory(null).createFromWKT(crsWKT);
} catch (Exception e) { } catch (Exception e) {
/* /*
* parseWKT() doesn't recognize PROJCS PARAMETERS whose value is * parseWKT() doesn't recognize PROJCS PARAMETERS whose value is a "String" (it
* a "String" (it assumes all PARAMETER values are doubles.) If * assumes all PARAMETER values are doubles.)
* this crsWKT is a MCIDAS NAV, use McidasSpatialFactory * If this crsWKT is a MCIDAS NAV, use McidasSpatialFactory instead.
* instead. */
*/ //e.printStackTrace();
// e.printStackTrace(); Pattern p = Pattern.compile("PROJCS\\[\"MCIDAS\\sAREA\\s(.*)\"");
Pattern p = Pattern
.compile("PROJCS\\[\"MCIDAS\\sAREA\\s(.*)\"");
Matcher m = p.matcher(crsWKT); Matcher m = p.matcher(crsWKT);
m.find(); m.find();
if (m.groupCount() == 1) { if ( m.groupCount() == 1 ) {
String type = m.group(1); String type = m.group(1);
// System.out.println("FOUND PROJCS:"+m.group(0)+":"+type); //System.out.println("FOUND PROJCS:"+m.group(0)+":"+type);
p = Pattern p = Pattern.compile("\\[\"NAV_BLOCK_BASE64\",\\s\"(.*)\"\\]");
.compile("\\[\"NAV_BLOCK_BASE64\",\\s\"(.*)\"\\]"); m = p.matcher(crsWKT);
m = p.matcher(crsWKT); boolean found = m.find();
boolean found = m.find();
// System.out.println(m.group()); //System.out.println(m.group());
// System.out.println(m.groupCount()+m.group(1)); //System.out.println(m.groupCount()+m.group(1));
if (found) { if ( found ) {
String navBlock = m.group(1); String navBlock = m.group(1);
crsObject = McidasSpatialFactory.getInstance() crsObject = McidasSpatialFactory.getInstance().constructCRS(type, navBlock);
.constructCRS(type, navBlock); }
} else { else {
crsObject = null; crsObject = null;
} }
} else {
crsObject = null;
} }
else {
crsObject = null;
}
} }
} }
return crsObject; return crsObject;
@ -400,7 +386,7 @@ public class McidasMapCoverage extends PersistableDataObject implements
public void setStdlat1(Float stdlat1) { public void setStdlat1(Float stdlat1) {
this.stdlat1 = stdlat1; this.stdlat1 = stdlat1;
} }
public Float getStdlat2() { public Float getStdlat2() {
return stdlat2; return stdlat2;
} }
@ -475,78 +461,73 @@ public class McidasMapCoverage extends PersistableDataObject implements
this.ny = ny; this.ny = ny;
} }
/** /**
* @return the upperLeftElement * @return the upperLeftElement
*/ */
public int getUpperLeftElement() { public int getUpperLeftElement() {
return upperLeftElement; return upperLeftElement;
} }
/** /**
* @param upperLeftElement * @param upperLeftElement the upperLeftElement to set
* the upperLeftElement to set */
*/ public void setUpperLeftElement(int upperLeftElement) {
public void setUpperLeftElement(int upperLeftElement) { this.upperLeftElement = upperLeftElement;
this.upperLeftElement = upperLeftElement; }
}
/** /**
* @return the upperLeftLine * @return the upperLeftLine
*/ */
public int getUpperLeftLine() { public int getUpperLeftLine() {
return upperLeftLine; return upperLeftLine;
} }
/** /**
* @param upperLeftLine * @param upperLeftLine the upperLeftLine to set
* the upperLeftLine to set */
*/ public void setUpperLeftLine(int upperLeftLine) {
public void setUpperLeftLine(int upperLeftLine) { this.upperLeftLine = upperLeftLine;
this.upperLeftLine = upperLeftLine; }
}
/** /**
* @return the elementRes * @return the elementRes
*/ */
public int getElementRes() { public int getElementRes() {
return elementRes; return elementRes;
} }
/** /**
* @param elementRes * @param elementRes the elementRes to set
* the elementRes to set */
*/ public void setElementRes(int elementRes) {
public void setElementRes(int elementRes) { this.elementRes = elementRes;
this.elementRes = elementRes; }
}
/** /**
* @return the lineRes * @return the lineRes
*/ */
public int getLineRes() { public int getLineRes() {
return lineRes; return lineRes;
} }
/** /**
* @param lineRes * @param lineRes the lineRes to set
* the lineRes to set */
*/ public void setLineRes(int lineRes) {
public void setLineRes(int lineRes) { this.lineRes = lineRes;
this.lineRes = lineRes; }
}
public String getCrsWKT() { public String getCrsWKT() {
return crsWKT; return crsWKT;
} }
public void setCrsWKT(String crsWKT) { public void setCrsWKT(String crsWKT) {
// TODO new 2.6 version of geotools adds \r\n to long String parameters //TODO new 2.6 version of geotools adds \r\n to long String parameters in WKT format
// in WKT format // this temp hack removes the extraneous characters, but we may want to investigate
// this temp hack removes the extraneous characters, but we may want to // using a specific formatter to keep this consistent and in our control
// investigate
// using a specific formatter to keep this consistent and in our control
this.crsWKT = crsWKT.replaceAll("\r\n", ""); this.crsWKT = crsWKT.replaceAll("\r\n", "");
// this.crsWKT = crsWKT; //this.crsWKT = crsWKT;
} }
public Polygon getLocation() { public Polygon getLocation() {

View file

@ -19,53 +19,53 @@
* @version 1 * @version 1
*/ */
package gov.noaa.nws.ncep.common.dataplugin.mcidas; package gov.noaa.nws.ncep.common.dataplugin.mcidas;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.annotations.Cache; import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheConcurrencyStrategy;
import com.raytheon.uf.common.dataplugin.IDecoderGettable; import com.raytheon.uf.common.dataplugin.IDecoderGettable;
import com.raytheon.uf.common.dataplugin.annotations.DataURI; import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.IPersistable; import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject; import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
import com.raytheon.uf.common.geospatial.ISpatialEnabled; import com.raytheon.uf.common.geospatial.ISpatialEnabled;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import gov.noaa.nws.ncep.common.dataplugin.mcidas.McidasMapCoverage; import gov.noaa.nws.ncep.common.dataplugin.mcidas.McidasMapCoverage;
@Entity @Entity
@Table(name = "mcidas", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) }) @Table(name = "mcidas", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
@XmlRootElement @XmlRootElement
@XmlAccessorType(XmlAccessType.NONE) @XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize @DynamicSerialize
public class McidasRecord extends PersistablePluginDataObject implements public class McidasRecord extends PersistablePluginDataObject implements
IPersistable, ISpatialEnabled { IPersistable, ISpatialEnabled {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** The satellite name */ /** The satellite name */
@Column(length = 32) @Column(length = 32)
@DataURI(position = 1) @DataURI(position = 1)
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private String satelliteName; private String satelliteName;
/** The area name */ /** The area name */
@Column(length = 64) @Column(length = 64)
@ -95,29 +95,29 @@ public class McidasRecord extends PersistablePluginDataObject implements
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Calendar creationTime; private Calendar creationTime;
/** /**
* The image time * The image time
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Calendar imageTime; private Calendar imageTime;
/** /**
* Size of logical records in bytes for product. * Size of logical records in bytes for product.
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Integer sizeRecords; private Integer sizeRecords;
/** Satellite projection */ /** Satellite projection */
@Column(length=16) @Column(length=16)
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private String projection; private String projection;
/** The report type */ /** The report type */
@Column(length=16) @Column(length=16)
@XmlAttribute @XmlAttribute
@ -157,53 +157,53 @@ public class McidasRecord extends PersistablePluginDataObject implements
* File name ingested to the end point. * File name ingested to the end point.
*/ */
private String inputFileName; private String inputFileName;
@ManyToOne @ManyToOne
@PrimaryKeyJoinColumn @PrimaryKeyJoinColumn
@XmlElement @XmlElement
@DynamicSerializeElement @DynamicSerializeElement
private McidasMapCoverage coverage; private McidasMapCoverage coverage;
/** Area file header block */ /** Area file header block */
@Transient @Transient
private byte[] headerBlock; private byte[] headerBlock;
@Override @Override
public McidasMapCoverage getSpatialObject() { public McidasMapCoverage getSpatialObject() {
return coverage; return coverage;
} }
public McidasMapCoverage getCoverage() { public McidasMapCoverage getCoverage() {
return coverage; return coverage;
} }
public void setCoverage(McidasMapCoverage coverage) { public void setCoverage(McidasMapCoverage coverage) {
this.coverage = coverage; this.coverage = coverage;
} }
/** /**
* No-arg constructor. * No-arg constructor.
*/ */
public McidasRecord() { public McidasRecord() {
satelliteName = null; satelliteName = null;
imageType = null; imageType = null;
resolution = null; resolution = null;
projection = null; projection = null;
imageTime = null; imageTime = null;
areaName = null; areaName = null;
} }
/** /**
* Constructs a McIDAS satellite record from a dataURI * Constructs a McIDAS satellite record from a dataURI
* *
* @param uri * @param uri
* The dataURI * The dataURI
*/ */
public McidasRecord(String uri) { public McidasRecord(String uri) {
super(uri); super(uri);
} }
/** /**
* Get the time to use for persisting this data. * Get the time to use for persisting this data.
* *
@ -218,48 +218,48 @@ public class McidasRecord extends PersistablePluginDataObject implements
return c.getTime(); return c.getTime();
} }
/** /**
* Set the time to be used for the persistence time for this object. * Set the time to be used for the persistence time for this object.
* *
* @param persistTime * @param persistTime
* The persistence time to be used. * The persistence time to be used.
*/ */
public void setPersistenceTime(Calendar persistTime) { public void setPersistenceTime(Calendar persistTime) {
setInsertTime(persistTime); setInsertTime(persistTime);
} }
public Integer getSizeRecords() { public Integer getSizeRecords() {
return sizeRecords; return sizeRecords;
} }
public void setSizeRecords(Integer sizeRecords) { public void setSizeRecords(Integer sizeRecords) {
this.sizeRecords = sizeRecords; this.sizeRecords = sizeRecords;
} }
/** /**
* Get the IDecoderGettable reference for this record. * Get the IDecoderGettable reference for this record.
* *
* @return The IDecoderGettable reference for this record. Null for this * @return The IDecoderGettable reference for this record. Null for this
* class. * class.
*/ */
@Override @Override
public IDecoderGettable getDecoderGettable() { public IDecoderGettable getDecoderGettable() {
return null; return null;
} }
public String getReportType() { public String getReportType() {
return reportType; return reportType;
} }
public void setReportType(String reportType) { public void setReportType(String reportType) {
this.reportType = reportType; this.reportType = reportType;
} }
public String getSatelliteName() { public String getSatelliteName() {
return satelliteName; return satelliteName;
} }
public Calendar getCreationTime() { public Calendar getCreationTime() {
return creationTime; return creationTime;
} }
@ -284,17 +284,17 @@ public class McidasRecord extends PersistablePluginDataObject implements
this.projection = projection; this.projection = projection;
} }
public void setSatelliteName(String satelliteName) { public void setSatelliteName(String satelliteName) {
this.satelliteName = satelliteName; this.satelliteName = satelliteName;
} }
public String getImageType() { public String getImageType() {
return imageType; return imageType;
} }
public void setImageType(String imageType) { public void setImageType(String imageType) {
this.imageType = imageType; this.imageType = imageType;
} }
public Integer getResolution() { public Integer getResolution() {
return resolution; return resolution;
@ -372,5 +372,5 @@ public class McidasRecord extends PersistablePluginDataObject implements
public void setPersistenceTime(Date persistTime) { public void setPersistenceTime(Date persistTime) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
} }

View file

@ -411,6 +411,7 @@ public class McidasSpatialFactory {
*/ */
pvg.parameter("semi_major").setValue(1.0); pvg.parameter("semi_major").setValue(1.0);
pvg.parameter("semi_minor").setValue(1.0); pvg.parameter("semi_minor").setValue(1.0);
pvg.parameter("central_meridian").setValue(0.0);
//pvg.parameter("scale_factor").setValue(1.0); //pvg.parameter("scale_factor").setValue(1.0);
pvg.parameter("NAV_BLOCK_BASE64").setValue(encoded); pvg.parameter("NAV_BLOCK_BASE64").setValue(encoded);

View file

@ -1,10 +1,10 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ncccfp"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ncccfp">
<available file="../../edexOsgi/build.edex" <!--
property="build.dir.location" <property name="component.name" value="plugin-ncccfp" />
value="../../edexOsgi/build.edex"/> -->
<available file="../../../../../build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex"/>
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" /> <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,3 +1,4 @@
package gov.noaa.nws.ncep.common.dataplugin.ncccfp; package gov.noaa.nws.ncep.common.dataplugin.ncccfp;
import javax.persistence.Column; import javax.persistence.Column;
@ -10,8 +11,8 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.hibernate.annotations.Type; import org.hibernate.annotations.Type;
import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CoordinateReferenceSystem;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.geospatial.ISpatialObject; import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.serialization.adapters.GeometryAdapter; import com.raytheon.uf.common.serialization.adapters.GeometryAdapter;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@ -43,18 +44,18 @@ public class NcccfpLocation implements ISpatialObject {
private static final long serialVersionUID = 8890315829188793187L; private static final long serialVersionUID = 8890315829188793187L;
@DataURI(position = 0) @DataURI(position=0)
@Column(name = "location", columnDefinition = "geometry") @Column(name = "location", columnDefinition = "geometry")
@Type(type = "com.raytheon.edex.db.objects.hibernate.GeometryType") @Type(type = "com.raytheon.edex.db.objects.hibernate.GeometryType")
@XmlJavaTypeAdapter(value = GeometryAdapter.class) @XmlJavaTypeAdapter(value = GeometryAdapter.class)
@DynamicSerializeElement @DynamicSerializeElement
private Geometry geometry; private Geometry geometry;
@Column(length = 600) @Column(length=600)
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @XmlElement
private String locationAll; private String locationAll;
@Column @Column
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @XmlElement
@ -64,7 +65,7 @@ public class NcccfpLocation implements ISpatialObject {
@DynamicSerializeElement @DynamicSerializeElement
@XmlElement @XmlElement
private double boxLong; private double boxLong;
@Override @Override
public CoordinateReferenceSystem getCrs() { public CoordinateReferenceSystem getCrs() {
return null; return null;
@ -104,12 +105,12 @@ public class NcccfpLocation implements ISpatialObject {
public void setGeometry(Geometry geometry) { public void setGeometry(Geometry geometry) {
this.geometry = geometry; this.geometry = geometry;
} }
public void setLocationAll(String locationAll) { public void setLocationAll (String locationAll) {
this.locationAll = locationAll; this.locationAll = locationAll;
} }
public String getLocationAll() { public String getLocationAll () {
return locationAll; return locationAll;
} }
} }

View file

@ -12,64 +12,64 @@
* *
* @author fjyen * @author fjyen
* @version 1.0 * @version 1.0
**/ **/
package gov.noaa.nws.ncep.common.dataplugin.ncccfp.dao; package gov.noaa.nws.ncep.common.dataplugin.ncccfp.dao;
import java.util.List; import java.util.List;
import gov.noaa.nws.ncep.common.dataplugin.ncccfp.NcccfpRecord; import gov.noaa.nws.ncep.common.dataplugin.ncccfp.NcccfpRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao; import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
public class NcccfpDao extends NcepDefaultPluginDao { public class NcccfpDao extends NcepDefaultPluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
* @throws PluginException * @throws PluginException
*/ */
public NcccfpDao(String pluginName) throws PluginException { public NcccfpDao(String pluginName) throws PluginException {
super(pluginName); super(pluginName);
} }
/** /**
* Retrieves a NCCCFP report using the datauri . * Retrieves a NCCCFP report using the datauri .
* *
* @param dataURI * @param dataURI
* The dataURI to match against. * The dataURI to match against.
* @return The report record if it exists. * @return The report record if it exists.
*/ */
public NcccfpRecord queryByDataURI(String dataURI) { public NcccfpRecord queryByDataURI(String dataURI) {
NcccfpRecord report = null; NcccfpRecord report = null;
List<?> obs = null; List<?> obs = null;
try { try {
obs = queryBySingleCriteria("dataURI", dataURI); obs = queryBySingleCriteria("dataURI", dataURI);
} catch (DataAccessLayerException e) { } catch (DataAccessLayerException e) {
e.printStackTrace(); e.printStackTrace();
} }
if((obs != null)&&(obs.size() > 0)) { if((obs != null)&&(obs.size() > 0)) {
report = (NcccfpRecord) obs.get(0); report = (NcccfpRecord) obs.get(0);
} }
return report; return report;
} }
/** /**
* Queries for to determine if a given data uri exists on the NCCCFP table. * Queries for to determine if a given data uri exists on the NCCCFP table.
* *
* @param dataUri * @param dataUri
* The DataURI to find. * The DataURI to find.
* @return An array of objects. If not null, there should only be a single * @return An array of objects. If not null, there should only be a single
* element. * element.
*/ */
public Object[] queryDataUriColumn(final String dataUri) { public Object[] queryDataUriColumn(final String dataUri) {
String sql = "select datauri from awips.ncccfp where datauri='" String sql = "select datauri from awips.ncccfp where datauri='"
+ dataUri + "';"; + dataUri + "';";
Object[] results = executeSQLQuery(sql); Object[] results = executeSQLQuery(sql);
return results; return results;
} }
} }

View file

@ -22,9 +22,11 @@ Require-Bundle: javax.measure,
gov.noaa.nws.ncep.common;bundle-version="1.0.0", gov.noaa.nws.ncep.common;bundle-version="1.0.0",
gov.noaa.nws.ncep.edex.common;bundle-version="1.0.0" gov.noaa.nws.ncep.edex.common;bundle-version="1.0.0"
Import-Package: com.raytheon.uf.common.dataplugin.level, Import-Package: com.raytheon.uf.common.dataplugin.level,
com.raytheon.uf.common.derivparam.tree,
com.raytheon.uf.common.geospatial com.raytheon.uf.common.geospatial
Export-Package: gov.noaa.nws.ncep.common.dataplugin.ncgrib, Export-Package: gov.noaa.nws.ncep.common.dataplugin.ncgrib,
gov.noaa.nws.ncep.common.dataplugin.ncgrib.exception, gov.noaa.nws.ncep.common.dataplugin.ncgrib.exception,
gov.noaa.nws.ncep.common.dataplugin.ncgrib.ncdatatree,
gov.noaa.nws.ncep.common.dataplugin.ncgrib.request, gov.noaa.nws.ncep.common.dataplugin.ncgrib.request,
gov.noaa.nws.ncep.common.dataplugin.ncgrib.spatial.projections, gov.noaa.nws.ncep.common.dataplugin.ncgrib.spatial.projections,
gov.noaa.nws.ncep.common.dataplugin.ncgrib.subgrid, gov.noaa.nws.ncep.common.dataplugin.ncgrib.subgrid,

View file

@ -1,10 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ncgrib"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ncgrib">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex"/>
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex"
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" /> <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,19 +1,19 @@
/** /**
* This software was developed and / or modified by Raytheon Company, * This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government. * pursuant to Contract DG133W-05-CQ-1067 with the US Government.
* *
* U.S. EXPORT CONTROLLED TECHNICAL DATA * U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose * This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination * export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires * to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization. * an export license or other authorization.
* *
* Contractor Name: Raytheon Company * Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340 * Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8 * Mail Stop B8
* Omaha, NE 68106 * Omaha, NE 68106
* 402.291.0100 * 402.291.0100
* *
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/

View file

@ -61,6 +61,8 @@ import gov.noaa.nws.ncep.common.dataplugin.ncgrib.util.NcgridModel;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 4/7/09 1994 bphillip Initial Creation * 4/7/09 1994 bphillip Initial Creation
* 1/31/11 M. Li Add eventName for dynamic model name * 1/31/11 M. Li Add eventName for dynamic model name
* 9/08/11 X. Guo Check file size to create hash code
* 11/17/11 X. Guo Fixed hash generator problem
* *
* </pre> * </pre>
* *
@ -316,8 +318,12 @@ public class NcgribModel extends PersistableDataObject {
public int hashCode(String afileName) { public int hashCode(String afileName) {
HashCodeBuilder builder = new HashCodeBuilder(); HashCodeBuilder builder = new HashCodeBuilder();
String[] tokens = afileName.split("\\."); // String[] tokens = afileName.split("\\.");
builder.append(modelName + "_" + tokens[0] + "_"+ tokens[1] + "_" + tokens[3]); String tmp = afileName;
if ( tmp.contains(".")) {
tmp = tmp.replace(".", "_");
}
builder.append(modelName + "_" + tmp);
builder.append(eventName); builder.append(eventName);
builder.append(parameterName); builder.append(parameterName);
builder.append(parameterAbbreviation); builder.append(parameterAbbreviation);

View file

@ -37,6 +37,8 @@ import com.raytheon.uf.common.dataplugin.persist.IPersistable;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 4/24/09 1994 bphillip Initial Creation * 4/24/09 1994 bphillip Initial Creation
* 1/12/12 xguo Create new HDF5 file name
* yyyy-MM-dd-HH-fhrs-ensNumber.h5
* *
* </pre> * </pre>
* *
@ -46,7 +48,7 @@ import com.raytheon.uf.common.dataplugin.persist.IPersistable;
public class NcgribPathProvider extends DefaultPathProvider { public class NcgribPathProvider extends DefaultPathProvider {
private static final SimpleDateFormat gribHdf5FileNameFormat = new SimpleDateFormat( private static final SimpleDateFormat gribHdf5FileNameFormat = new SimpleDateFormat(
"yyyy-MM-dd-HHmm"); "yyyy-MM-dd-HH");
static { static {
gribHdf5FileNameFormat.setTimeZone(TimeZone.getTimeZone("GMT")); gribHdf5FileNameFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
} }
@ -102,11 +104,18 @@ public class NcgribPathProvider extends DefaultPathProvider {
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
Date refTime = pdo.getDataTime().getRefTime(); Date refTime = pdo.getDataTime().getRefTime();
int fhrs = pdo.getDataTime().getFcstTime()/3600;
String refTimeString = null; String refTimeString = null;
synchronized (gribHdf5FileNameFormat) { synchronized (gribHdf5FileNameFormat) {
refTimeString = gribHdf5FileNameFormat.format(refTime); refTimeString = gribHdf5FileNameFormat.format(refTime);
} }
int pbNum = 0;
if ( pdo.getModelInfo().getPerturbationNumber() != null){
pbNum = pdo.getModelInfo().getPerturbationNumber();
}
sb.append(refTimeString); sb.append(refTimeString);
sb.append(String.format("-%d", fhrs));
sb.append(String.format("-%d", pbNum));
sb.append(".h5"); sb.append(".h5");
return sb.toString(); return sb.toString();
} }

View file

@ -86,36 +86,36 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@DynamicSerializeElement @DynamicSerializeElement
private int masterTableVersion; private int masterTableVersion;
/** /**
* Version number of GRIB local tables used to augment Master Tables (See * Version number of GRIB local tables used to augment Master Tables (See
* Table 1.1) 0 - local tables not used, only table entries and templates * Table 1.1) 0 - local tables not used, only table entries and templates
* the current master table are valid. (Currently 1) * the current master table are valid. (Currently 1)
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int localTableVersion; private int localTableVersion;
/** /** Significance of reference time (See Table 1.2)
* Significance of reference time (See Table 1.2) 0 for analysis, 1 for * 0 for analysis, 1 for forecast, 2 for verifying time,
* forecast, 2 for verifying time, and 3 for observation time * and 3 for observation time
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int refTimeSignificance; private int refTimeSignificance;
/** /** Processed data type in this GRIB message (See Table 1.4)
* Processed data type in this GRIB message (See Table 1.4) 0 for analysis, * 0 for analysis, 1 for forecast, 2 for both, ....
* 1 for forecast, 2 for both, .... or PDT in table 4.3 This refers to PDT# * or PDT in table 4.3
* in GEMPAK output * This refers to PDT# in GEMPAK output
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int processedDataType; private int processedDataType;
/** Denotes if local section is present (currently false) */ /** Denotes if local section is present (currently false)*/
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
@ -160,7 +160,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@DynamicSerializeElement @DynamicSerializeElement
private float[] hybridCoordList; private float[] hybridCoordList;
/** The model information in ncgrib_models child table */ /** The model information in ncgrib_models child table*/
@ManyToOne(cascade = { CascadeType.REFRESH }, fetch = FetchType.EAGER) @ManyToOne(cascade = { CascadeType.REFRESH }, fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn @PrimaryKeyJoinColumn
@Fetch(FetchMode.SELECT) @Fetch(FetchMode.SELECT)
@ -171,12 +171,13 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private boolean isVector = false; private boolean isVector = false;
/** /** The short model name (i.e.NAM80) This should be interpreted from
* The short model name (i.e.NAM80) This should be interpreted from the * the generating process number and grid id : 96 for gfs,
* generating process number and grid id : 96 for gfs, 114 for NAEFS, 84 for * 114 for NAEFS, 84 for meso NAM 12KM, 86 for RUC, 81 for GFS analysis,
* meso NAM 12KM, 86 for RUC, 81 for GFS analysis, 82 for analysis GDAS, * 82 for analysis GDAS, etc...
* etc... information form ON388 - table A Generating Process or Model from * information form ON388 - table A
* originating center 7 which is NCEP * Generating Process or Model from originating center 7
* which is NCEP
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -190,34 +191,32 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@DataURI(position = 3) @DataURI(position = 3)
private int gridVersion = 0; private int gridVersion = 0;
/** /** The name of ingested file
* The name of ingested file
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
@DataURI(position = 4) @DataURI(position = 4)
private String fileName; private String fileName;
/** /** The name of event such as Hurricane or
* The name of event such as Hurricane or Volcano * Volcano
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private String eventName; private String eventName;
/** /** Type of Generating Process
* Type of Generating Process
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
@DataURI(position = 7) @DataURI(position = 7)
private int processType; private int processType;
/** /** Resolution and componet flags
* Resolution and componet flags (See Table 3.3) * (See Table 3.3)
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -225,9 +224,10 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private Integer resCompFlags; private Integer resCompFlags;
/** /**
* Indicate the discipline of the processed data contained within a GRIB * Indicate the discipline of the processed
* message - 0 for Meteorological products in table 0.0 This refers to DIS# * data contained within a GRIB message -
* in GEMPAK output * 0 for Meteorological products in table 0.0
* This refers to DIS# in GEMPAK output
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -235,8 +235,8 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private int discipline; private int discipline;
/** /**
* Parameter category by product discipline 0 for temperature in table 4.1 * Parameter category by product discipline
* by discipline 0 * 0 for temperature in table 4.1 by discipline 0
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -244,27 +244,29 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private int category; private int category;
/** /**
* Parameter number by product discipline and parameter category 9 for * Parameter number by product discipline and parameter category
* temperature anomaly in table 4.2-0-0 for discipline 0 and category 0 This * 9 for temperature anomaly in table 4.2-0-0 for discipline 0
* refers to ID# in GEMPAK output * and category 0
* This refers to ID# in GEMPAK output
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int parameterId; private int parameterId;
/** /** pdt - Product definition template number.
* pdt - Product definition template number.
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int pdt; private int pdt;
/** /**
* Fixed surface types or vertical coordinate ID 1 2 for cloud base level * Fixed surface types or vertical coordinate ID 1
* and 100 for isobaric surface in table 4.5 or VCRDGRID1.TBL for NCEP This * 2 for cloud base level and 100 for isobaric surface
* refers to VCD# in GEMPAK output The location in pds[9] * in table 4.5 or VCRDGRID1.TBL for NCEP
* This refers to VCD# in GEMPAK output
* The location in pds[9]
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -272,9 +274,11 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private int vcrdId1; private int vcrdId1;
/** /**
* Fixed surface types or vertical coordinate ID 2 2 for cloud base level * Fixed surface types or vertical coordinate ID 2
* and 100 for isobaric surface in table 4.5 or VCRDGRID1.TBL for NCEP This * 2 for cloud base level and 100 for isobaric surface
* refers to VCD# in GEMPAK output The location in pds[12] * in table 4.5 or VCRDGRID1.TBL for NCEP
* This refers to VCD# in GEMPAK output
* The location in pds[12]
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@ -282,23 +286,27 @@ public class NcgribRecord extends PersistablePluginDataObject implements
private int vcrdId2; private int vcrdId2;
/** /**
* Scaled value of first fixed surface in GRIB2- TEMPLATE 4.1 This refers to * Scaled value of first fixed surface in GRIB2- TEMPLATE 4.1
* LEVEL1 in GEMPAK output * This refers to LEVEL1 in GEMPAK output
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int glevel1; private int glevel1;
private float decodedLevel1;
/** /**
* Scaled value of second fixed surface in GRIB2- TEMPLATE 4.1 This refers * Scaled value of second fixed surface in GRIB2- TEMPLATE 4.1
* to LEVEL2 in GEMPAK output * This refers to LEVEL2 in GEMPAK output
*/ */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int glevel2; private int glevel2;
private float decodedLevel2;
/** /**
* The gempak vertical coordinate grid name * The gempak vertical coordinate grid name
*/ */
@ -307,7 +315,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@DynamicSerializeElement @DynamicSerializeElement
@DataURI(position = 6) @DataURI(position = 6)
private String vcord; private String vcord;
/** /**
* The gempak abbreviation grid name * The gempak abbreviation grid name
*/ */
@ -316,7 +324,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@DynamicSerializeElement @DynamicSerializeElement
@DataURI(position = 5) @DataURI(position = 5)
private String parm; private String parm;
/** /**
* The gempak scale for decoding the grid field * The gempak scale for decoding the grid field
*/ */
@ -324,7 +332,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private String scale; private String scale;
/** /**
* The forecast interval * The forecast interval
*/ */
@ -332,7 +340,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int interval; private int interval;
/** /**
* Creates an empty NcgribRecord * Creates an empty NcgribRecord
*/ */
@ -399,7 +407,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
this.pdt = recordToCopy.pdt; this.pdt = recordToCopy.pdt;
this.vcrdId1 = recordToCopy.vcrdId1; this.vcrdId1 = recordToCopy.vcrdId1;
this.vcrdId2 = recordToCopy.vcrdId2; this.vcrdId2 = recordToCopy.vcrdId2;
this.vcord = vcord; this.vcord = recordToCopy.vcord;
this.glevel1 = recordToCopy.glevel1; this.glevel1 = recordToCopy.glevel1;
this.glevel2 = recordToCopy.glevel2; this.glevel2 = recordToCopy.glevel2;
this.parm = recordToCopy.parm; this.parm = recordToCopy.parm;
@ -438,10 +446,10 @@ public class NcgribRecord extends PersistablePluginDataObject implements
} }
/** /**
* public void setSpatialObject(NcgridCoverage location) { public void setSpatialObject(NcgridCoverage location) {
* modelInfo.setLocation(location); } modelInfo.setLocation(location);
*/ }*/
/** /**
* Gets the model information * Gets the model information
* *
@ -645,7 +653,7 @@ public class NcgribRecord extends PersistablePluginDataObject implements
this.gridVersion = gridVersion; this.gridVersion = gridVersion;
} }
public Integer getResCompFlags() { public Integer getResCompFlags() {
return resCompFlags; return resCompFlags;
} }
@ -654,131 +662,159 @@ public class NcgribRecord extends PersistablePluginDataObject implements
} }
public String getModelName() { public String getModelName() {
return modelName; return modelName;
} }
public void setModelName(String modelName) { public void setModelName(String modelName) {
this.modelName = modelName; this.modelName = modelName;
} }
public int getDiscipline() { public int getDiscipline() {
return discipline; return discipline;
} }
public void setDiscipline(int discipline) { public void setDiscipline(int discipline) {
this.discipline = discipline; this.discipline = discipline;
} }
public int getCategory() { public int getCategory() {
return category; return category;
} }
public void setCategory(int category) { public void setCategory(int category) {
this.category = category; this.category = category;
} }
public int getParameterId() { public int getParameterId() {
return parameterId; return parameterId;
} }
public void setParameterId(int parameterId) { public void setParameterId(int parameterId) {
this.parameterId = parameterId; this.parameterId = parameterId;
} }
public int getPdt() { public int getPdt() {
return pdt; return pdt;
} }
public void setPdt(int pdt) { public void setPdt(int pdt) {
this.pdt = pdt; this.pdt = pdt;
} }
public String getFileName() { public String getFileName() {
return fileName; return fileName;
} }
public void setFileName(String fileName) { public void setFileName(String fileName) {
this.fileName = fileName; this.fileName = fileName;
} }
public String getEventName() {
return eventName;
}
public String getEventName() { public void setEventName(String eventName) {
return eventName; this.eventName = eventName;
} }
public void setEventName(String eventName) { public int getProcessType() {
this.eventName = eventName; return processType;
} }
public int getProcessType() { public void setProcessType(int processType) {
return processType; this.processType = processType;
} }
public int getVcrdId1() {
return vcrdId1;
}
public void setProcessType(int processType) { public void setVcrdId1(int vcrdId1) {
this.processType = processType; this.vcrdId1 = vcrdId1;
} }
public int getVcrdId1() { public int getVcrdId2() {
return vcrdId1; return vcrdId2;
} }
public void setVcrdId1(int vcrdId1) { public void setVcrdId2(int vcrdId2) {
this.vcrdId1 = vcrdId1; this.vcrdId2 = vcrdId2;
} }
public int getVcrdId2() { public int getGlevel1() {
return vcrdId2; return glevel1;
} }
public void setVcrdId2(int vcrdId2) { public void setGlevel1(int glevel1) {
this.vcrdId2 = vcrdId2; this.glevel1 = glevel1;
} }
public int getGlevel1() { public int getGlevel2() {
return glevel1; return glevel2;
} }
public void setGlevel1(int glevel1) { public void setGlevel2(int glevel2) {
this.glevel1 = glevel1; this.glevel2 = glevel2;
} }
public int getGlevel2() { public String getVcord() {
return glevel2; return vcord;
} }
public void setGlevel2(int glevel2) { public void setVcord(String vcord) {
this.glevel2 = glevel2; this.vcord = vcord;
} }
public String getVcord() { public String getParm() {
return vcord; return parm;
} }
public void setVcord(String vcord) { public void setParm(String parm) {
this.vcord = vcord; this.parm = parm;
} }
public String getParm() { public String getScale() {
return parm; return scale;
} }
public void setParm(String parm) { public void setScale(String scale) {
this.parm = parm; this.scale = scale;
} }
public String getScale() { public int getInterval() {
return scale; return interval;
} }
public void setScale(String scale) { public void setInterval(int interval) {
this.scale = scale; this.interval = interval;
} }
public int getInterval() { /**
return interval; * @return the decodedLevel1
} */
public float getDecodedLevel1() {
return decodedLevel1;
}
public void setInterval(int interval) { /**
this.interval = interval; * @param decodedLevel1 the decodedLevel1 to set
} */
public void setDecodedLevel1(float decodedLevel1) {
this.decodedLevel1 = decodedLevel1;
}
/**
* @return the decodedLevel2
*/
public float getDecodedLevel2() {
return decodedLevel2;
}
/**
* @param decodedLevel2 the decodedLevel2 to set
*/
public void setDecodedLevel2(float decodedLevel2) {
this.decodedLevel2 = decodedLevel2;
}
} }

View file

@ -1,19 +1,19 @@
/** /**
* This software was developed and / or modified by Raytheon Company, * This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government. * pursuant to Contract DG133W-05-CQ-1067 with the US Government.
* *
* U.S. EXPORT CONTROLLED TECHNICAL DATA * U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose * This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination * export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires * to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization. * an export license or other authorization.
* *
* Contractor Name: Raytheon Company * Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340 * Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8 * Mail Stop B8
* Omaha, NE 68106 * Omaha, NE 68106
* 402.291.0100 * 402.291.0100
* *
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/

View file

@ -60,6 +60,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 4/7/09 1994 bphillip Initial Creation * 4/7/09 1994 bphillip Initial Creation
* 9/08/11 X. Guo Skip correct Lon value after add new column
* *
* </pre> * </pre>
* *
@ -154,10 +155,16 @@ public class LatLonNcgridCoverage extends NcgridCoverage {
@Override @Override
public void initialize() throws GribException { public void initialize() throws GribException {
double maxLon;
double minLat = MapUtil.correctLat(la1); double minLat = MapUtil.correctLat(la1);
double maxLat = MapUtil.correctLat(la2); double maxLat = MapUtil.correctLat(la2);
double minLon = MapUtil.correctLon(lo1); double minLon = MapUtil.correctLon(lo1);
double maxLon = MapUtil.correctLon(lo2); if ( lo2 >= 360.0) {
maxLon = lo2;
}
else {
maxLon = MapUtil.correctLon(lo2);
}
if (maxLon < minLon) { if (maxLon < minLon) {
maxLon += 360.0; maxLon += 360.0;
} }

View file

@ -20,9 +20,6 @@
package gov.noaa.nws.ncep.common.dataplugin.ncgrib.spatial.projections; package gov.noaa.nws.ncep.common.dataplugin.ncgrib.spatial.projections;
import gov.noaa.nws.ncep.common.dataplugin.ncgrib.exception.GribException;
import gov.noaa.nws.ncep.common.dataplugin.ncgrib.subgrid.SubNcgrid;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -41,6 +38,8 @@ import org.hibernate.annotations.Type;
import org.opengis.referencing.FactoryException; import org.opengis.referencing.FactoryException;
import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CoordinateReferenceSystem;
import gov.noaa.nws.ncep.common.dataplugin.ncgrib.exception.GribException;
import gov.noaa.nws.ncep.common.dataplugin.ncgrib.subgrid.SubNcgrid;
import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject; import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
import com.raytheon.uf.common.geospatial.ISpatialObject; import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.geospatial.MapUtil; import com.raytheon.uf.common.geospatial.MapUtil;
@ -167,12 +166,10 @@ public abstract class NcgridCoverage extends PersistableDataObject implements
*/ */
public abstract NcgridCoverage trim(SubNcgrid subGrid); public abstract NcgridCoverage trim(SubNcgrid subGrid);
@Override
public Polygon getGeometry() { public Polygon getGeometry() {
return geometry; return geometry;
} }
@Override
public CoordinateReferenceSystem getCrs() { public CoordinateReferenceSystem getCrs() {
if (crs == null) { if (crs == null) {
try { try {

View file

@ -45,6 +45,7 @@ import com.raytheon.uf.common.serialization.SerializationUtil;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 3/12/10 4758 bphillip Initial creation * 3/12/10 4758 bphillip Initial creation
* 10/13/10 276 llin Modified for NC GRIB. * 10/13/10 276 llin Modified for NC GRIB.
* 11/02/11 xguo Updated gridid
* </pre> * </pre>
* *
* @author njensen * @author njensen
@ -173,7 +174,7 @@ public class NcgribModelLookup {
modelsByName.put(model.getName(), model); modelsByName.put(model.getName(), model);
Integer center = model.getCenter(); Integer center = model.getCenter();
Integer subCenter = Integer.parseInt(model.getSubCenter()); Integer subCenter = Integer.parseInt(model.getSubCenter());
String grid = String.valueOf(model.getGrid()); String grid = model.getGrid();
for (int process : model.getProcess()) { for (int process : model.getProcess()) {
models.put(toHash(center, subCenter, grid, process), model); models.put(toHash(center, subCenter, grid, process), model);
} }

View file

@ -1,19 +1,19 @@
/** /**
* This software was developed and / or modified by Raytheon Company, * This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government. * pursuant to Contract DG133W-05-CQ-1067 with the US Government.
* *
* U.S. EXPORT CONTROLLED TECHNICAL DATA * U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose * This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination * export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires * to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization. * an export license or other authorization.
* *
* Contractor Name: Raytheon Company * Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340 * Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8 * Mail Stop B8
* Omaha, NE 68106 * Omaha, NE 68106
* 402.291.0100 * 402.291.0100
* *
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
@ -45,7 +45,7 @@ public class NcgridModel implements ISerializableObject {
/** The NCEP grid associated with this model */ /** The NCEP grid associated with this model */
@XmlElement @XmlElement
private Integer grid; private String grid;
@XmlElement @XmlElement
private String subcenter; private String subcenter;
@ -80,11 +80,11 @@ public class NcgridModel implements ISerializableObject {
this.name = name; this.name = name;
} }
public Integer getGrid() { public String getGrid() {
return grid; return grid;
} }
public void setGrid(Integer grid) { public void setGrid(String grid) {
this.grid = grid; this.grid = grid;
} }

View file

@ -1,10 +1,8 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.edex.plugin.ncscat"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.ncscat">
<available file="../../edexOsgi/build.edex"
property="build.dir.location" <available file="../build.edex" property="build.dir.location" value="../build.edex"/>
value="../../edexOsgi/build.edex"/> <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<available file="../../../../../build.edex"
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" /> <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,4 +1,4 @@
/** /**
* Contains data access object for airmet data. * Contains data access object for airmet data.
*/ */
package gov.noaa.nws.ncep.common.dataplugin.ncscat.dao; package gov.noaa.nws.ncep.common.dataplugin.ncscat.dao;

View file

@ -1,10 +1,7 @@
<project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet"> <project basedir="." default="deploy" name="gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet">
<available file="../../edexOsgi/build.edex" <available file="../build.edex" property="build.dir.location" value="../build.edex" />
property="build.dir.location" <available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
value="../../edexOsgi/build.edex"/>
<available file="../../../../../build.edex" <import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
property="build.dir.location"
value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project> </project>

View file

@ -1,185 +1,161 @@
/** /**
* NonConvsigmetLocation * NonConvsigmetLocation
* *
* This java class defines the getters and setters for the * This java class defines the getters and setters for the
* convective sigmet location table. * convective sigmet location table.
* *
* HISTORY * HISTORY
* *
* Date Author Description * Date Author Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 06/2009 Uma Josyula Initial creation * 06/2009 Uma Josyula Initial creation
* * 09/2011 Chin Chen changed to improve purge performance and
* This code has been developed by the SIB for use in the AWIPS2 system. * removed xml serialization as well
*/ *
* This code has been developed by the SIB for use in the AWIPS2 system.
package gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet; */
import java.io.Serializable; package gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet;
import javax.persistence.GeneratedValue; import java.io.Serializable;
import javax.persistence.Id;
import javax.persistence.Column; import javax.persistence.GeneratedValue;
import javax.persistence.Entity; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.Column;
import javax.persistence.ManyToOne; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType; import com.raytheon.uf.common.serialization.ISerializableObject;
import javax.xml.bind.annotation.XmlAccessorType; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import javax.xml.bind.annotation.XmlElement; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
@Entity
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN; @Table(name="nonconvsigmet_location")
@DynamicSerialize
@Entity public class NonConvSigmetLocation implements Serializable, ISerializableObject {
@Table(name="nonconvsigmet_location")
@XmlAccessorType(XmlAccessType.NONE) private static final long serialVersionUID = 1L;
@DynamicSerialize @Id
public class NonConvSigmetLocation implements Serializable, ISerializableObject { @GeneratedValue
private Integer recordId = null;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Integer recordId = null; // Collection of locations
@Column(length=120)
// The nonconvsigmet record this object belongs to @DynamicSerializeElement
@ManyToOne private String locationLine;
@JoinColumn(name="parentID", nullable=false)
private NonConvSigmetRecord parentID; // Each location of a nonconvective sigmet forecast area
@Column(length=40)
// Collection of locations @DynamicSerializeElement
@Column(length=120) private String location;
@XmlElement
@DynamicSerializeElement // Each latitude of a nonconvective sigmet forecast area
private String locationLine; @Column
@DynamicSerializeElement
// Each location of a nonconvective sigmet forecast area private double latitude;
@Column(length=40)
@XmlElement // Each longitude of a nonconvective sigmet forecast area
@DynamicSerializeElement @Column
private String location; @DynamicSerializeElement
private double longitude;
// Each latitude of a nonconvective sigmet forecast area
@Column // Index for the order of a complete location set
@XmlElement @Column
@DynamicSerializeElement @DynamicSerializeElement
private double latitude; private Integer index;
// Each longitude of a nonconvective sigmet forecast area /**
@Column * No-Arg Convstructor.
@XmlElement */
@DynamicSerializeElement public NonConvSigmetLocation() {
private double longitude; this.locationLine="";
this.location="";
// Index for the order of a complete location set this.index=IDecoderConstantsN.INTEGER_MISSING;
@Column }
@XmlElement
@DynamicSerializeElement /**
private Integer index; * @return the recordId. If not set returns null.
*/
/** public Integer getRecordId() {
* No-Arg Convstructor. return recordId;
*/ }
public NonConvSigmetLocation() {
this.locationLine=""; /**
this.location=""; * @param recordId to set
this.index=IDecoderConstantsN.INTEGER_MISSING; */
} public void setRecordId(Integer recordId) {
this.recordId = recordId;
/** }
* @return the recordId. If not set returns null.
*/
public Integer getRecordId() {
return recordId; /**
} * @return the locationLine
*/
/** public String getLocationLine() {
* @param recordId to set return locationLine;
*/ }
public void setRecordId(Integer recordId) {
this.recordId = recordId; /**
} * @param locationLine to set
*/
/** public void setLocationLine(String locationLine) {
* @return the parentID this.locationLine = locationLine;
*/ }
public NonConvSigmetRecord getParentID() {
return parentID; /**
} * @return the location
*/
/** public String getLocation() {
* @param parentID to set return location;
*/ }
public void setParentID(NonConvSigmetRecord parentID) {
this.parentID = parentID; /**
} * @param location to set
*/
/** public void setLocation(String location) {
* @return the locationLine this.location = location;
*/ }
public String getLocationLine() {
return locationLine; /**
} * @return the index
*/
/** public Integer getIndex() {
* @param locationLine to set return index;
*/ }
public void setLocationLine(String locationLine) {
this.locationLine = locationLine; /**
} * @param index to set
*/
/** public void setIndex(Integer index) {
* @return the location this.index = index;
*/ }
public String getLocation() {
return location; public double getLatitude() {
} return latitude;
}
/**
* @param location to set public void setLatitude(double latitude) {
*/ this.latitude = latitude;
public void setLocation(String location) { }
this.location = location;
} public double getLongitude() {
return longitude;
/** }
* @return the index
*/ public void setLongitude(double longitude) {
public Integer getIndex() { this.longitude = longitude;
return index; }
}
/**
/** * @return the serialVersionUID
* @param index to set */
*/ public static long getSerialVersionUID() {
public void setIndex(Integer index) { return serialVersionUID;
this.index = index; }
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
/**
* @return the serialVersionUID
*/
public static long getSerialVersionUID() {
return serialVersionUID;
}
} }

View file

@ -1,31 +1,14 @@
/**
* 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 gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet.dao; package gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet.dao;
import gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet.NonConvSigmetRecord; import gov.noaa.nws.ncep.common.dataplugin.nonconvsigmet.NonConvSigmetRecord;
import gov.noaa.nws.ncep.edex.common.dao.NcepDefaultPluginDao;
import java.util.List; import java.util.List;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.database.plugin.PluginDao;
/** /**
* TODO Add Description * TODO Add Description
@ -36,14 +19,15 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 23, 2009 jkorman Initial creation * Sep 23, 2009 jkorman Initial creation
* * 09/2011 Chin Chen changed to improve purge performance and
* removed xml serialization as well
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
* @version 1.0 * @version 1.0
*/ */
public class NonConvSigmetDao extends NcepDefaultPluginDao { public class NonConvSigmetDao extends PluginDao {
/** /**
* Creates a new ReccoDao * Creates a new ReccoDao
@ -92,4 +76,11 @@ public class NonConvSigmetDao extends NcepDefaultPluginDao {
return results; return results;
} }
@Override
protected IDataStore populateDataStore(IDataStore dataStore,
IPersistable obj) throws Exception {
// TODO Auto-generated method stub
return null;
}
} }

Some files were not shown because too many files have changed in this diff Show more