diff --git a/cave/build/static/common/cave/etc/colormaps/solar/Blue.cmap b/cave/build/static/common/cave/etc/colormaps/solar/Blue.cmap deleted file mode 100644 index 031fd3c574..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/Blue.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/Gray.cmap b/cave/build/static/common/cave/etc/colormaps/solar/Gray.cmap deleted file mode 100644 index f8b759c86f..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/Gray.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/Green.cmap b/cave/build/static/common/cave/etc/colormaps/solar/Green.cmap deleted file mode 100644 index 7bcdadcb95..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/Green.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/Orange.cmap b/cave/build/static/common/cave/etc/colormaps/solar/Orange.cmap deleted file mode 100644 index 996a09e378..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/Orange.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_131.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_131.cmap deleted file mode 100644 index aa8f673b09..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_131.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1600.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1600.cmap deleted file mode 100644 index a9afc963d8..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1600.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1700.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1700.cmap deleted file mode 100644 index 9beac7cc9e..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_1700.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_171.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_171.cmap deleted file mode 100644 index 04e3285e8f..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_171.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_193.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_193.cmap deleted file mode 100644 index 15b198380a..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_193.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_211.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_211.cmap deleted file mode 100644 index 3ad4f95928..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_211.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_304.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_304.cmap deleted file mode 100644 index a082d39753..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_304.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_335.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_335.cmap deleted file mode 100644 index d7dcba2e3b..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_335.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_4500.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_4500.cmap deleted file mode 100644 index 2b98bca045..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_4500.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_94.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_94.cmap deleted file mode 100644 index f51a815e60..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_AIA_94.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SDO_Thematic.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SDO_Thematic.cmap deleted file mode 100644 index eda4e65399..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SDO_Thematic.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_171.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_171.cmap deleted file mode 100644 index 6545547496..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_171.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_195.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_195.cmap deleted file mode 100644 index 75eef587f7..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_195.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_284.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_284.cmap deleted file mode 100644 index 2645be0878..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_284.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_304.cmap b/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_304.cmap deleted file mode 100644 index 8ab0dc8cbe..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/SOHO_EIT_304.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/build/static/common/cave/etc/colormaps/solar/Yellow.cmap b/cave/build/static/common/cave/etc/colormaps/solar/Yellow.cmap deleted file mode 100644 index c333a25cde..0000000000 --- a/cave/build/static/common/cave/etc/colormaps/solar/Yellow.cmap +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/AlertVisConfigDlg.java b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/AlertVisConfigDlg.java index ac06a633f0..bccf1e2ef9 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/AlertVisConfigDlg.java +++ b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/AlertVisConfigDlg.java @@ -93,7 +93,10 @@ import com.raytheon.uf.viz.alertviz.ui.dialogs.ConfigurationFileDlg.Function; * setting group to perform the updating. * 20 Dec 2012 13746 Xiaochuan Add setNewConfig in omitMenuItem.addSelectionListener * to send notify for the changing. - * + * 07 Feb 2013 15292 Xiaochuan Confirmation message is not necessary when source + * item update; + * 07 Feb 2013 15490 Xiaochuan Past this object to LayoutControlsComp. + * * * * @author lvenable @@ -376,14 +379,7 @@ public class AlertVisConfigDlg extends Dialog implements getLayoutToolTipText()); mttLayout = new MonitorToolTip(layoutGroup, true); - - // layoutGroup.addMouseTrackListener(new MouseTrackAdapter() { - // public void mouseHover(MouseEvent e) { - // mttLayout.open(); - // } - // }); - - layoutControls = new LayoutControlsComp(layoutGroup, configData, this); + layoutControls = new LayoutControlsComp(layoutGroup, configData, this, this); } /** @@ -684,7 +680,7 @@ public class AlertVisConfigDlg extends Dialog implements @Override public void widgetSelected(SelectionEvent ev) { try { - saveWithConfirmDlg(); + save(); } catch (Exception e) { Container .logInternal( @@ -1293,7 +1289,6 @@ public class AlertVisConfigDlg extends Dialog implements } if (selectedItem != null) { -// sourcesList.select(sourcesList.indexOf(selectedItem)); sourcesList.select(index); } else { sourcesList.select(0); diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/LayoutControlsComp.java b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/LayoutControlsComp.java index 79a46e1c8e..3220612ff3 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/LayoutControlsComp.java +++ b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/LayoutControlsComp.java @@ -73,6 +73,9 @@ import com.raytheon.uf.viz.alertviz.config.TrayConfiguration; * 03 Feb 2011 4617 cjeanbap Add getSelectedLayoutTrayMode(); * 24 Mar 2011 5853 cjeanbap Add createLayoutControls() to reloadConfig(). * 02 May 2011 9067 cjeanbap Remove createLayoutControls() from reloadConfig(). + * 07 Feb 2013 15490 Xiaochuan Add configDialog to handle the updated setting + * on Category layers. + * * * * @author lvenable @@ -201,6 +204,8 @@ public class LayoutControlsComp extends Composite implements MouseListener { private MenuItem menuItem; private INeedsSaveListener needsSaveListener; + + private AlertVisConfigDlg configDialog; /** * Constructor. @@ -211,12 +216,13 @@ public class LayoutControlsComp extends Composite implements MouseListener { * Configuration data. */ public LayoutControlsComp(Composite parentComp, Configuration configData, - INeedsSaveListener needsSaveListener) { + INeedsSaveListener needsSaveListener, AlertVisConfigDlg configDialog) { super(parentComp, SWT.NONE); this.parentComp = parentComp; this.configData = configData; this.needsSaveListener = needsSaveListener; + this.configDialog = configDialog; init(configData); } @@ -387,7 +393,7 @@ public class LayoutControlsComp extends Composite implements MouseListener { selectedModeRecs = layoutRecs.getRectangles(selectedMode); canvas.redraw(); updateCellNumbers(); - // configData.getGlobalConfiguration().setMode(selectedMode); + configDialog.setNewConfig(); needsSaveListener.saveNeeded(true); } }); @@ -411,9 +417,6 @@ public class LayoutControlsComp extends Composite implements MouseListener { public void widgetSelected(SelectionEvent event) { int index = categoryList.getSelectionIndex(); - // Category cat = categoryMap.get(getListIndexToKey()); - // cat.setTextBox(0); - categoryMap.get(getListIndexToKey()).setTextBox(0); categoryList.setItem(index, diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/MonitorControls.java b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/MonitorControls.java index 275bfd5913..593747b5fc 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/MonitorControls.java +++ b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/MonitorControls.java @@ -24,6 +24,8 @@ import java.io.File; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; @@ -42,6 +44,10 @@ import com.raytheon.uf.viz.alertviz.config.MonitorMetadata; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 19 Jan 2011 cjeanbap Initial creation. + * 07 Feb 2013 15292 Xiaochuan Add modifyImageFile method, addModifyListener() + * on imageText to response user deletion the name + * of image file. + * * * * @author cjeanbap @@ -92,15 +98,16 @@ public class MonitorControls { monitorImageLabel.setLayoutData(gd); gd = new GridData(150, SWT.DEFAULT); - imageText = new Text(monitorComp, SWT.BORDER | SWT.SINGLE - | SWT.READ_ONLY); + imageText = new Text(monitorComp, SWT.BORDER | SWT.SINGLE); + imageText.setLayoutData(gd); imageText.setText(""); imageText.setEnabled(true); imageText.setToolTipText("Image file not available..."); - imageText.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - } + imageText.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + modifyImageFile(); + } }); gd = new GridData(28, SWT.DEFAULT); @@ -122,6 +129,24 @@ public class MonitorControls { omitMonitor = false; } + /** + * Delete image file name from Text field. + */ + private void modifyImageFile() + { + String newFile = imageText.getText(); + + if( newFile.equals(" ") || newFile.isEmpty()) { + + if (monitorMetadata != null) { + String oldValue = monitorMetadata.getImageFile(); + imageChanged = (oldValue != null); + monitorMetadata.setImageFile(null); + needsSaveListener.saveNeeded(true); + } + } + } + /** * Select the image file. */ diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TabControlDlg.java b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TabControlDlg.java index b7279c91b0..9508f55570 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TabControlDlg.java +++ b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TabControlDlg.java @@ -56,6 +56,9 @@ import org.eclipse.swt.widgets.TabFolder; * Apr 2, 2009 lvenable TTR fixes. * Dec 1, 2010 5632 cjeanbap Added sort based on category. * Mar 2, 2011 5632 cjeanbap Added sort based on category. + * 06 Feb 2013 14501 Xiaochuan Using getCategoriesFromConfig() to + * set categoryList[] in clearOptionCbo. + * * * * @author lvenable @@ -267,8 +270,7 @@ public class TabControlDlg extends Dialog { String category = clearOptionCbo.getItem(position); logs.get(index).displayCategoryMessages(category); if (index == 0) { - logs.get(index).populateClearOptionsCombo(); - clearOptionCbo.select(position); + clearOptionCbo.select(position); } logs.get(index).setClearOptionCboSelectedIndex(position); } @@ -357,8 +359,9 @@ public class TabControlDlg extends Dialog { Set keySet = log.getCatKeySet(); - for (String key : keySet) { - clearOptionCbo.add(key); + String[] categoryList = log.getCategoriesFromConfig(); + for (int i = 0; i < categoryList.length; i++) { + clearOptionCbo.add(categoryList[i]); } clearOptionCbo.select(0); diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TextMsgLog.java b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TextMsgLog.java index 404d75598d..2e058b5331 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TextMsgLog.java +++ b/cave/com.raytheon.uf.viz.alertviz.ui/src/com/raytheon/uf/viz/alertviz/ui/dialogs/TextMsgLog.java @@ -55,6 +55,9 @@ import com.raytheon.uf.viz.alertviz.Container; * and a new Category to sortable list. * 02 Feb 2011 6500 cjeanbap Added additional space. * 01 Mar 2011 5632 cjeanbap Added Category Sort functionality. + * 06 Feb 2013 14501 Xiaochuan Added getCategoriesFromConfig; object + * clearOptionCbo can't be changed when + * the logs coming and Clear actived. * * * @author lvenable @@ -157,10 +160,6 @@ public class TextMsgLog { Set keySet = catNames.keySet(); - for (String key : keySet) { - clearOptionCbo.add(key); - } - clearOptionCbo.select(0); } } @@ -288,7 +287,6 @@ public class TextMsgLog { getCategoriesFromMessages(); populateLogList(); - populateClearOptionsCombo(); } /** @@ -439,6 +437,11 @@ public class TextMsgLog { return tabIndex; } + public String[] getCategoriesFromConfig() + { + return categories; + } + public void displayCategoryMessages(String category) { logList.removeAll(); @@ -457,10 +460,8 @@ public class TextMsgLog { public void updateClearOptionsCombo(String category) { if (clearOptionCbo != null && !clearOptionCbo.isDisposed()) { if (!catNames.containsKey(category)) { - clearOptionCbo.add(category); - catNames.put(category, null); - clearOptionCbo.redraw(); - } + catNames.put(category, null); + } } } diff --git a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/ColorMapLoader.java b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/ColorMapLoader.java index a8cf4acafd..7c20191ad6 100644 --- a/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/ColorMapLoader.java +++ b/cave/com.raytheon.uf.viz.core/src/com/raytheon/uf/viz/core/drawables/ColorMapLoader.java @@ -53,7 +53,7 @@ import com.raytheon.uf.viz.core.exception.VizException; * Aug 20, 2007 njensen Added listColorMaps(). * Aug 20, 2008 dglazesk JiBX to JaXB * Aug 20, 2008 dglazesk Updated for new ColorMap interface - * + * Feb 25, 2013 DR15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author chammack @@ -141,7 +141,7 @@ public class ColorMapLoader { for (LocalizationLevel level : LocalizationLevel.values()) { if (level.name().equals(split[0])) { LocalizationContext context = new LocalizationContext( - LocalizationType.CAVE_STATIC, level, + LocalizationType.COMMON_STATIC, level, split[1]); f = PathManagerFactory.getPathManager() .getLocalizationFile( @@ -176,7 +176,7 @@ public class ColorMapLoader { Set searchContexts = new HashSet(); searchContexts.addAll(Arrays.asList(pm - .getLocalSearchHierarchy(LocalizationType.CAVE_STATIC))); + .getLocalSearchHierarchy(LocalizationType.COMMON_STATIC))); // Use of LocalizationLevels.values() in this case should be okay since // we are requesting all possible context names for the level, doesn't @@ -187,7 +187,7 @@ public class ColorMapLoader { String[] available = pm.getContextList(level); for (String s : available) { LocalizationContext ctx = pm.getContext( - LocalizationType.CAVE_STATIC, level); + LocalizationType.COMMON_STATIC, level); ctx.setContextName(s); searchContexts.add(ctx); } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/AbstractStormTrackResource.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/AbstractStormTrackResource.java index cee7e9acbc..327988f0ee 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/AbstractStormTrackResource.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/AbstractStormTrackResource.java @@ -40,6 +40,7 @@ import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.ResourceProperties; import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability; import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.capabilities.OutlineCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.raytheon.viz.awipstools.common.stormtrack.StormTrackState.DisplayType; @@ -64,6 +65,7 @@ import com.raytheon.viz.ui.input.EditableManager; * retrieve the requested line style so * that it can be stored in the * StormTrackState. + * 15Mar2013 15693 mgamazaychikov Added magnification to display state. * * * @@ -215,6 +217,9 @@ public abstract class AbstractStormTrackResource extends .getOutlineWidth(); displayState.lineStyle = getCapability(OutlineCapability.class) .getLineStyle(); + // set the magnification for the display state + displayState.magnification = getCapability(MagnificationCapability.class) + .getMagnification().floatValue(); PaintProperties newProps = new StormTrackProperties(paintProps, displayState); diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackDisplay.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackDisplay.java index 01db4413b7..095360fa47 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackDisplay.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackDisplay.java @@ -48,17 +48,14 @@ import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment; import com.raytheon.uf.viz.core.drawables.IRenderable; import com.raytheon.uf.viz.core.drawables.IWireframeShape; import com.raytheon.uf.viz.core.drawables.PaintProperties; -import com.raytheon.uf.viz.core.drawables.ResourcePair; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.map.IMapDescriptor; import com.raytheon.uf.viz.core.map.MapDescriptor; -import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.viz.awipstools.ToolsDataManager; import com.raytheon.viz.awipstools.common.StormTrackData; import com.raytheon.viz.awipstools.common.stormtrack.StormTrackState.DisplayType; import com.raytheon.viz.awipstools.common.stormtrack.StormTrackState.Mode; import com.raytheon.viz.awipstools.common.stormtrack.StormTrackState.StormCoord; -import com.raytheon.viz.awipstools.ui.layer.DistanceSpeedLayer; import com.raytheon.viz.core.rsc.jts.JTSCompiler; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; @@ -98,8 +95,7 @@ import com.vividsolutions.jts.geom.LineString; * when the track was created. * 10-27-2010 #6964 bkowal The LineStyle is now passed as a parameter to * the IGraphicsTarget drawWireframeShape method. - * 05Mar2013 15693 mgamazaychikov Made sure that magnification capability works - * for DispanceSpeedLayer + * 15Mar2013 15693 mgamazaychikov Made sure that magnification capability works. * * * @@ -553,6 +549,8 @@ public class StormTrackDisplay implements IRenderable { * paintProps.getZoomLevel(); StormTrackState state = paintProps.getState(); + // get the magnification from the state + float magnification = state.magnification; String text = String.format(dragTextFormat, state.displayType.dragWhat, state.thingToDragTo); @@ -573,7 +571,7 @@ public class StormTrackDisplay implements IRenderable { toUse = new Coordinate(last.x - (last.x - secondLast.x) / 2, last.y - (last.y - secondLast.y) / 2); } - paintTextAtPoint(target, text, toUse, geomColor, circleSize * 3, 15.0); + paintTextAtPoint(target, text, toUse, geomColor, circleSize * 3, 15.0, magnification); if (mouseDownGeom != null) { // draw text using mouse geom @@ -590,7 +588,7 @@ public class StormTrackDisplay implements IRenderable { last.y - (last.y - secondLast.y) / 2); } paintTextAtPoint(target, text, toUse, state.color, circleSize * 3, - 15.0); + 15.0, magnification); } } @@ -607,10 +605,10 @@ public class StormTrackDisplay implements IRenderable { * @throws VizException */ private void paintTextAtPoint(IGraphicsTarget target, String text, - Coordinate point, RGB color, double radiusFromPoint, double angle) + Coordinate point, RGB color, double radiusFromPoint, double angle, float magnification) throws VizException { paintTextAtPoint(target, text, point, color, radiusFromPoint, angle, - HorizontalAlignment.LEFT, VerticalAlignment.BOTTOM); + HorizontalAlignment.LEFT, VerticalAlignment.BOTTOM, magnification); } /** @@ -631,7 +629,7 @@ public class StormTrackDisplay implements IRenderable { */ private void paintTextAtPoint(IGraphicsTarget target, String text, Coordinate point, RGB color, double radiusFromPoint, double angle, - HorizontalAlignment hAlignment, VerticalAlignment vAlignment) + HorizontalAlignment hAlignment, VerticalAlignment vAlignment, float magnification) throws VizException { // get screen location of point double[] p1 = descriptor @@ -640,27 +638,10 @@ public class StormTrackDisplay implements IRenderable { // get screen location of where to draw text using point double[] labelLoc = target.getPointOnCircle(p1[0], p1[1], 0.0, radiusFromPoint, angle); - - Double magnification = 1.0; - for (ResourcePair rp : descriptor.getResourceList()) { - if (rp != null) { - /* - * 15693 - make sure magnification capability works for - * DistanceSpeedLayer - */ - if (rp.getResource() instanceof DistanceSpeedLayer) { - magnification = rp.getResource() - .getCapability(MagnificationCapability.class) - .getMagnification(); - break; - } - - } - } - DrawableString str = new DrawableString(text, color); str.horizontalAlignment = hAlignment; str.verticallAlignment = vAlignment; + // set the string magnification str.magnification = magnification; str.setCoordinates(labelLoc[0], labelLoc[1]); @@ -1248,6 +1229,8 @@ public class StormTrackDisplay implements IRenderable { private void paintLabels(IGraphicsTarget target, StormTrackProperties paintProps) throws VizException { StormTrackState state = paintProps.getState(); + // get the magnification from the state + float magnification = state.magnification; // find a nice looking radius double radius = Math.max(currentTickLen, editableCircleSize * 2 * paintProps.getZoomLevel()); @@ -1310,11 +1293,11 @@ public class StormTrackDisplay implements IRenderable { String text = String.format(speedFormat, speedInKts, angle); paintTextAtPoint(target, text, state.dragMePoint.getCoordinate(), - state.color, radius, screenAngle + 180, hMid, vMid); + state.color, radius, screenAngle + 180, hMid, vMid, magnification); paintTextAtPoint(target, text, state.futurePoints[state.futurePoints.length - 1].coord, - state.color, radius, -90 + screenAngle, hEnd, vEnd); + state.color, radius, -90 + screenAngle, hEnd, vEnd, magnification); break; } @@ -1324,12 +1307,12 @@ public class StormTrackDisplay implements IRenderable { String time = this.timeFormat.format(new Date( state.timePoints[0].time.getMatchValid())); paintTextAtPoint(target, time, state.timePoints[0].coord, - state.color, radius, 180 + screenAngle, hMid, vMid); + state.color, radius, 180 + screenAngle, hMid, vMid, magnification); time = this.timeFormat.format(new Date(state.futurePoints[0].time .getMatchValid())); paintTextAtPoint(target, time, state.futurePoints[0].coord, - state.color, radius, 180 + screenAngle, hMid, vMid); + state.color, radius, 180 + screenAngle, hMid, vMid, magnification); // End time: Calendar currentTime = Calendar.getInstance(); @@ -1341,7 +1324,7 @@ public class StormTrackDisplay implements IRenderable { .getTimeInMillis() + delta)); paintTextAtPoint(target, time, state.futurePoints[state.futurePoints.length - 1].coord, - state.color, radius, -90 + screenAngle, hEnd, vEnd); + state.color, radius, -90 + screenAngle, hEnd, vEnd, magnification); break; } } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackState.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackState.java index 725a9f5e1e..6791e4e801 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackState.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/common/stormtrack/StormTrackState.java @@ -45,6 +45,7 @@ import com.vividsolutions.jts.geom.Point; * indexes. * 10-27-2010 #6964 bkowal Added a public class member for the LineStyle. * 11/29/2012 15571 Qinglu Lin Added compuateCurrentStormCenter(); + * 15Mar2013 15693 mgamazaychikov Added magnification. * * * @@ -191,6 +192,9 @@ public class StormTrackState { /** Set if you the duration needs to be calculated from the end time */ public Calendar endTime = null; + /** set magnification to default value */ + public float magnification = 1.0f; + /** Compute the coordinate of the storm center at the time defined by dataTime via interpolation. */ public boolean compuateCurrentStormCenter(Coordinate coord, DataTime dateTime) { if (futurePoints == null) return false; diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceBearingToolLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceBearingToolLayer.java index e693cf3eda..7aa043f905 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceBearingToolLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceBearingToolLayer.java @@ -76,7 +76,7 @@ import com.vividsolutions.jts.geom.LineSegment; * in the super class. * 06-09-10 #5620 bkowal The tool will load in an editable state by * default now. - * 05Mar2013 15693 mgamazaychikov Added magnification capability. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -106,9 +106,7 @@ public class DistanceBearingToolLayer extends LoadProperties loadProperties) { super(resourceData, loadProperties, true); getCapabilities().addCapability(new OutlineCapability()); - /* - * 15693 - add magnification capability - */ + // add magnification capability getCapabilities().addCapability(new MagnificationCapability()); deleteElementAction = new AbstractRightClickAction() { public void run() { @@ -136,9 +134,7 @@ public class DistanceBearingToolLayer extends super.initInternal(target); setObjects(ToolsDataManager.getInstance().getDistanceBearings()); gc = new GeodeticCalculator(descriptor.getCRS()); - /* - * 15693 - initialize font for magnification capability - */ + // initialize font for magnification capability labelFont = target.initializeFont( target.getDefaultFont().getFontName(), 12.0f, new Style[] { Style.BOLD }); @@ -173,9 +169,7 @@ public class DistanceBearingToolLayer extends } } String label = computeRangeAndAzimuth(line); - /* - * 15693 - set font for magnification capability - */ + // set font for magnification capability labelFont.setMagnification(getCapability(MagnificationCapability.class) .getMagnification().floatValue()); double[] center = descriptor.worldToPixel(new double[] { line.p0.x, diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceSpeedLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceSpeedLayer.java index 39e231c209..b29f3154aa 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceSpeedLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/DistanceSpeedLayer.java @@ -51,7 +51,7 @@ import com.raytheon.viz.ui.VizWorkbenchManager; * 02/15/2011 7975 bkowal The Distance Speed Tools will * operate independently of each other; * the dialogs will have unique titles. - * 05Mar2013 15693 mgamazaychikov Added magnification capability. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -74,9 +74,7 @@ public class DistanceSpeedLayer extends AbstractStormTrackResource { AwipsToolsResourceData resourceData, LoadProperties loadProperties, MapDescriptor descriptor) { super(resourceData, loadProperties, descriptor); - /* - * 15693 - add magnification capability - */ + // add magnification capability getCapabilities().addCapability(new MagnificationCapability()); this.determineDialogTitle(); reopenDialog(); diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/EstimatedActualVelocityLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/EstimatedActualVelocityLayer.java index 8f102e442e..3803316b5f 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/EstimatedActualVelocityLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/EstimatedActualVelocityLayer.java @@ -41,6 +41,7 @@ import com.raytheon.uf.viz.core.rsc.AbstractResourceData; import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.ResourceList; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.raytheon.viz.awipstools.capabilities.EAVCapability; import com.raytheon.viz.awipstools.common.EstimatedActualVelocity; @@ -60,6 +61,7 @@ import com.vividsolutions.jts.geom.LineString; * 01/12/2010 mnash Initial building of application * 01/26/2010 4127 mpduff Implemented parsing of eavConfigTable.txt * 10/08/2010 5953 bgonzale refactored EAV code out of layer class. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -78,11 +80,13 @@ public class EstimatedActualVelocityLayer extends VRShearLayer { * @param props * @param descriptor */ - public EstimatedActualVelocityLayer( - AwipsToolsResourceData data, LoadProperties props, - MapDescriptor descriptor) { - super(data, props, descriptor); - } + public EstimatedActualVelocityLayer( + AwipsToolsResourceData data, LoadProperties props, + MapDescriptor descriptor) { + super(data, props, descriptor); + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); + } @Override public String getName() { diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/FeatureFollowingZoomLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/FeatureFollowingZoomLayer.java index 8b4c6d36f2..c966285409 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/FeatureFollowingZoomLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/FeatureFollowingZoomLayer.java @@ -32,6 +32,7 @@ import com.raytheon.uf.viz.core.rsc.AbstractResourceData; import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.ResourceProperties; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.raytheon.viz.awipstools.ToolsDataManager; import com.raytheon.viz.awipstools.common.StormTrackData; @@ -48,6 +49,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Jul 19, 2010 #5952 bkowal This tool will no longer update the extents by itself, * instead it will let the target know about the updated * extents. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -65,7 +67,8 @@ public class FeatureFollowingZoomLayer extends AwipsToolsResourceData resourceData, LoadProperties loadProperties, MapDescriptor descriptor) { super(resourceData, loadProperties); - + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); } @Override diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/HomeToolLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/HomeToolLayer.java index 1a13362883..b17d566ec9 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/HomeToolLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/HomeToolLayer.java @@ -69,7 +69,7 @@ import com.vividsolutions.jts.geom.Coordinate; * 20Dec2007 #645 ebabin Updated to fix sampling. * 15Jan2007 ebabin Update for lat/lon put home cursor bug. * 10-21-09 #1049 bsteffen Refactor to common MovableTool model - * 05Mar2013 15693 mgamazaychikov Added magnification capability. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @author ebabin @@ -92,30 +92,28 @@ public class HomeToolLayer extends AbstractMovableToolLayer private GeodeticCalculator gc; - public HomeToolLayer(AwipsToolsResourceData resourceData, - LoadProperties loadProperties) { - super(resourceData, loadProperties, false); - /* - * 15693 - add magnification capability - */ - getCapabilities().addCapability(new MagnificationCapability()); - selectLocationAction = new AbstractRightClickAction() { - @Override - public void run() { - save(null, lastMouseLoc); - resetHome(); - } - }; - selectLocationAction.setText("Select Location"); - moveElementAction = new AbstractRightClickAction() { - @Override - public void run() { - makeSelectedLive(); - } - }; - moveElementAction.setText("Move Entire Element"); - this.rightClickMovesToCoord = true; - } + public HomeToolLayer(AwipsToolsResourceData resourceData, + LoadProperties loadProperties) { + super(resourceData, loadProperties, false); + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); + selectLocationAction = new AbstractRightClickAction() { + @Override + public void run() { + save(null, lastMouseLoc); + resetHome(); + } + }; + selectLocationAction.setText("Select Location"); + moveElementAction = new AbstractRightClickAction() { + @Override + public void run() { + makeSelectedLive(); + } + }; + moveElementAction.setText("Move Entire Element"); + this.rightClickMovesToCoord = true; + } @Override protected void disposeInternal() { @@ -125,9 +123,7 @@ public class HomeToolLayer extends AbstractMovableToolLayer @Override protected void initInternal(IGraphicsTarget target) throws VizException { - /* - * 15693 - initialize font for magnification capability - */ + // initialize font for magnification capability labelFont = target.initializeFont( target.getDefaultFont().getFontName(), 12.0f, new Style[] { Style.BOLD }); @@ -148,9 +144,7 @@ public class HomeToolLayer extends AbstractMovableToolLayer protected void paint(IGraphicsTarget target, PaintProperties paintProps, Coordinate home, SelectionStatus status) throws VizException { RGB color = getCapability(ColorableCapability.class).getColor(); - /* - * 15693 - set font for magnification capability - */ + // set font for magnification capability labelFont.setMagnification(getCapability(MagnificationCapability.class) .getMagnification().floatValue()); if (status == SelectionStatus.SELECTED) { diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/RangeRingsLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/RangeRingsLayer.java index 57483a435e..55a0a785e8 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/RangeRingsLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/RangeRingsLayer.java @@ -42,13 +42,16 @@ import com.raytheon.uf.viz.core.IGraphicsTarget.LineStyle; import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle; import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment; import com.raytheon.uf.viz.core.VizApp; +import com.raytheon.uf.viz.core.drawables.IFont; import com.raytheon.uf.viz.core.drawables.IWireframeShape; import com.raytheon.uf.viz.core.drawables.PaintProperties; +import com.raytheon.uf.viz.core.drawables.IFont.Style; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.rsc.IResourceDataChanged; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability; import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.capabilities.OutlineCapability; import com.raytheon.uf.viz.core.rsc.tools.AbstractMovableToolLayer; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; @@ -71,6 +74,7 @@ import com.vividsolutions.jts.geom.Point; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 10-21-09 #717 bsteffen Refactor to common MovableTool model + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -83,6 +87,8 @@ public class RangeRingsLayer extends AbstractMovableToolLayer private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(RangeRingsLayer.class); + private IFont labelFont; + protected static final UnitConverter NM_TO_METERS = NonSI.NAUTICAL_MILE .getConverterTo(SI.METER); @@ -109,6 +115,8 @@ public class RangeRingsLayer extends AbstractMovableToolLayer LoadProperties loadProperties) throws VizException { super(resourceData, loadProperties); getCapabilities().addCapability(new OutlineCapability()); + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); moveElementAction = new AbstractRightClickAction() { public void run() { makeSelectedLive(); @@ -127,12 +135,16 @@ public class RangeRingsLayer extends AbstractMovableToolLayer } @Override - protected void initInternal(IGraphicsTarget target) throws VizException { - super.initInternal(target); - resourceData.addChangeListener(this); - resetRings(); - displayDialog(); - } + protected void initInternal(IGraphicsTarget target) throws VizException { + super.initInternal(target); + resourceData.addChangeListener(this); + resetRings(); + displayDialog(); + // initialize font for magnification capability + labelFont = target.initializeFont( + target.getDefaultFont().getFontName(), 12.0f, + new Style[] { Style.BOLD }); + } private void resetRings() { setObjects(dataManager.getRangeRings()); @@ -169,6 +181,9 @@ public class RangeRingsLayer extends AbstractMovableToolLayer protected void paint(IGraphicsTarget target, PaintProperties paintProps, RangeRing ring, SelectionStatus status) throws VizException { + // set font for magnification capability + labelFont.setMagnification(getCapability(MagnificationCapability.class) + .getMagnification().floatValue()); if (ring.isVisible()) { RGB color = getCapability(ColorableCapability.class).getColor(); float lineWidth = this.getCapability(OutlineCapability.class) @@ -198,7 +213,7 @@ public class RangeRingsLayer extends AbstractMovableToolLayer .worldToPixel(new double[] { coords[LABEL_INDEX].x, coords[LABEL_INDEX].y }); - target.drawString(null, radius + " nm", labelLoc[0], + target.drawString(labelFont, radius + " nm", labelLoc[0], labelLoc[1], 0.0, TextStyle.NORMAL, color, HorizontalAlignment.CENTER, VerticalAlignment.TOP, null); @@ -215,7 +230,7 @@ public class RangeRingsLayer extends AbstractMovableToolLayer if (label.contains("C")) { double labelLoc[] = target.getPointOnCircle(centerPixel[0], centerPixel[1], 0.0, radius, 0); - target.drawString(null, ring.getId(), labelLoc[0], labelLoc[1], + target.drawString(labelFont, ring.getId(), labelLoc[0], labelLoc[1], 0.0, TextStyle.NORMAL, color, HorizontalAlignment.LEFT, null); } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/ShearLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/ShearLayer.java index 284cfbb034..288c6da612 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/ShearLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/ShearLayer.java @@ -46,6 +46,7 @@ import com.raytheon.uf.viz.core.rsc.IInputHandler; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability; import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.raytheon.uf.viz.points.PointsDataManager; import com.raytheon.viz.ui.input.EditableManager; @@ -64,7 +65,7 @@ import com.vividsolutions.jts.operation.buffer.BufferOp; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -267,6 +268,9 @@ public class ShearLayer extends ds.font = null; ds.textStyle = IGraphicsTarget.TextStyle.NORMAL; ds.horizontalAlignment = HorizontalAlignment.LEFT; + // set the magnification + ds.magnification = this.getCapability(MagnificationCapability.class) + .getMagnification().floatValue(); target.drawStrings(ds); } @@ -416,6 +420,9 @@ public class ShearLayer extends ds.font = null; ds.textStyle = IGraphicsTarget.TextStyle.NORMAL; ds.horizontalAlignment = HorizontalAlignment.LEFT; + // set the magnification + ds.magnification = this.getCapability(MagnificationCapability.class) + .getMagnification().floatValue(); target.drawStrings(ds); } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/TimeOfArrivalLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/TimeOfArrivalLayer.java index 759f0ae5b6..4e98e5378a 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/TimeOfArrivalLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/TimeOfArrivalLayer.java @@ -58,6 +58,7 @@ import com.raytheon.uf.viz.core.map.IMapDescriptor; import com.raytheon.uf.viz.core.map.MapDescriptor; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.ProgressiveDisclosureProperties; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.raytheon.viz.awipstools.common.stormtrack.AbstractStormTrackResource; import com.raytheon.viz.awipstools.common.stormtrack.StormTrackDisplay; @@ -96,6 +97,7 @@ import com.vividsolutions.jts.geom.GeometryFactory; * Oct 19 2010 #6753 bkowal Added logic to change the text alignment from * left-to-right if there is not enough room * for the text to the left of the point. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @author mschenke @@ -248,6 +250,8 @@ public class TimeOfArrivalLayer extends AbstractStormTrackResource { AwipsToolsResourceData resourceData, LoadProperties loadProperties, MapDescriptor descriptor) { super(resourceData, loadProperties, descriptor); + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); this.pdProps = new ProgressiveDisclosureProperties(); this.pdProps.setMaxDisplayWidth(TimeOfArrivalLayer.PD_MAX_WIDTH); @@ -399,6 +403,8 @@ public class TimeOfArrivalLayer extends AbstractStormTrackResource { ds.textStyle = IGraphicsTarget.TextStyle.NORMAL; ds.horizontalAlignment = alignment; ds.font = null; + ds.magnification = getCapability(MagnificationCapability.class) + .getMagnification().floatValue(); target.drawStrings(ds); } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/VRShearLayer.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/VRShearLayer.java index 282ca92895..e2afd548a4 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/VRShearLayer.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/layer/VRShearLayer.java @@ -37,6 +37,7 @@ import com.raytheon.uf.viz.core.map.MapDescriptor; import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.ResourceList; +import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; import com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; @@ -57,6 +58,7 @@ import com.vividsolutions.jts.geom.LineString; * on if the tool orientation indicates clockwise rotation or * counter-clockwise rotation. The order of the points will also * no longer impact the sign that is displayed. + * 15Mar2013 15693 mgamazaychikov Added magnification capability. * * * @@ -77,6 +79,8 @@ public class VRShearLayer extends ShearLayer { public VRShearLayer(AwipsToolsResourceData data, LoadProperties props, MapDescriptor descriptor) { super(data, props, descriptor); + // add magnification capability + getCapabilities().addCapability(new MagnificationCapability()); } /* diff --git a/cave/com.raytheon.viz.gfe/plugin.xml b/cave/com.raytheon.viz.gfe/plugin.xml index 171e37d05f..fdf1a6c25c 100644 --- a/cave/com.raytheon.viz.gfe/plugin.xml +++ b/cave/com.raytheon.viz.gfe/plugin.xml @@ -1875,7 +1875,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.config.ConfigAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Config Files" value="gfe/userPython/gfeConfig"> @@ -1907,7 +1907,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.procedures.ProceduresAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Procedures" value="gfe/userPython/procedures"> @@ -1915,7 +1915,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.smarttool.SmartToolAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Smart Tools" value="gfe/userPython/smartTools"> @@ -1923,7 +1923,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.textproduct.TextProductAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Text Products" recursive="false" value="gfe/userPython/textProducts"> @@ -1940,7 +1940,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.textproduct.TextUtilityAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Text Utilities" recursive="false" value="gfe/userPython/textUtilities/regular"> @@ -1949,7 +1949,7 @@ application="GFE" extensionFilter=".py" localizationAdapter="com.raytheon.viz.gfe.smarttool.UtilityAdapter" - localizationType="CAVE_STATIC" + localizationType="COMMON_STATIC" name="Utilities" value="gfe/userPython/utilities"> @@ -1962,7 +1962,7 @@ diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/GfeClient.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/GfeClient.java index f5a631fd56..bbaabb251f 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/GfeClient.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/GfeClient.java @@ -52,6 +52,7 @@ import com.raytheon.viz.ui.personalities.awips.AbstractCAVEComponent; * Jun 25, 2010 mschenke Initial creation * Aug 20, 2012 #1081 dgilling Don't pass -server and -site args * to python script. + * Mar 10, 2013 #15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -96,7 +97,7 @@ public class GfeClient extends AbstractCAVEComponent { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext baseContext = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); String pyVizDir = pathMgr.getFile(baseContext, "pyViz").getPath(); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/PythonPreferenceStore.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/PythonPreferenceStore.java index 5015cb67da..e8a335303c 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/PythonPreferenceStore.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/PythonPreferenceStore.java @@ -55,6 +55,8 @@ import com.raytheon.uf.common.status.UFStatus.Priority; * ------------ ---------- ----------- -------------------------- * Dec 11, 2009 njensen Initial creation * Jun 22, 2011 9897 ryu allow new GFE config and send notification + * Mar 06 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @@ -88,7 +90,7 @@ public class PythonPreferenceStore implements IPreferenceStore, public void loadConfiguration(String configName) { IPathManager pathMgr = PathManagerFactory.getPathManager(); String utilityDir = pathMgr.getFile( - pathMgr.getContext(LocalizationType.CAVE_STATIC, + pathMgr.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), com.raytheon.uf.common.util.FileUtil.join("gfe", "utility")) .getPath(); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/WEGroupManager.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/WEGroupManager.java index 867f7c4780..3046424a32 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/WEGroupManager.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/internal/WEGroupManager.java @@ -63,7 +63,8 @@ import com.raytheon.viz.gfe.core.IWEGroupManager; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jun 5, 2008 chammack Initial creation - * + * Mar 06,2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @author chammack @@ -96,7 +97,7 @@ public class WEGroupManager implements IWEGroupManager, IPathManager pathManager = PathManagerFactory.getPathManager(); weGroupDir = pathManager.getLocalizationFile(pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), WEGROUP_DIR); weGroupDir.addFileUpdatedObserver(this); @@ -133,7 +134,7 @@ public class WEGroupManager implements IWEGroupManager, IPathManager pathManager = PathManagerFactory.getPathManager(); LocalizationContext[] contexts = pathManager - .getLocalSearchHierarchy(LocalizationType.CAVE_STATIC); + .getLocalSearchHierarchy(LocalizationType.COMMON_STATIC); LocalizationFile[] files = pathManager.listFiles(contexts, WEGROUP_DIR, new String[] { ".xml" }, false, true); @@ -362,7 +363,7 @@ public class WEGroupManager implements IWEGroupManager, IPathManager pm = PathManagerFactory.getPathManager(); - LocalizationContext lc = pm.getContext(LocalizationType.CAVE_STATIC, + LocalizationContext lc = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationFile file = pm.getLocalizationFile(lc, diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/script/AbstractScriptCatalog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/script/AbstractScriptCatalog.java index 578f9792e5..4c15f91c56 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/script/AbstractScriptCatalog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/script/AbstractScriptCatalog.java @@ -37,7 +37,13 @@ import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.common.util.FileUtil; /** - * @author wldougher + * SOFTWARE HISTORY + * Date Ticket# Engineer Description + * ------------ ---------- ----------- -------------------------- + * wldougher Initial creation + * Mar 06 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files + * @author wldougher * */ public abstract class AbstractScriptCatalog { @@ -72,11 +78,11 @@ public abstract class AbstractScriptCatalog { this.pathManager = pathManager; LocalizationContext userCtx = pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationContext siteCtx = pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); LocalizationContext baseCtx = pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); String pathPrefix = getScriptTypePathPrefix(); procDir = pathManager.getLocalizationFile(userCtx, pathPrefix); siteDir = pathManager.getLocalizationFile(siteCtx, pathPrefix); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/GFEConfigDialog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/GFEConfigDialog.java index 885b065b5e..d8cd05f5b9 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/GFEConfigDialog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/GFEConfigDialog.java @@ -83,8 +83,8 @@ import com.raytheon.viz.ui.dialogs.CaveJFACEDialog; * Date Ticket// Engineer Description * ------------ ---------- ----------- -------------------------- * Apr 30, 2009 randerso Initial creation - * Oct 30, 2012 1298 rferrel Code cleanup for non-blocking dialog. - * + * Oct 30, 2012 1298 rferrel Code cleanup for non-blocking dialog. + * Mar 10, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author randerso @@ -380,7 +380,7 @@ public class GFEConfigDialog extends CaveJFACEDialog { private void saveLastConfig() { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext context = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationFile lf = pathMgr.getLocalizationFile(context, LAST_CONFIG); File file = lf.getFile(); @@ -414,7 +414,7 @@ public class GFEConfigDialog extends CaveJFACEDialog { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext context = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationFile lf = pathMgr.getLocalizationFile(context, LAST_CONFIG); File file = lf.getFile(); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java index e9e9614d0f..0d645e0267 100755 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/formatterlauncher/ZoneCombinerComp.java @@ -99,7 +99,7 @@ import com.raytheon.viz.gfe.ui.zoneselector.ZoneSelector; * Changes for non-blocking SaveDeleteComboDlg. * Changes for non-blocking ShuffleZoneGroupsDialog. * Changes for non-blocking ZoneColorEditorDlg. - * + * 07 Mar 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author lvenable @@ -264,7 +264,7 @@ public class ZoneCombinerComp extends Composite implements IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext baseCtx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); comboDir = pathMgr.getLocalizationFile(baseCtx, CombinationsFileUtil.COMBO_DIR_PATH); comboDir.addFileUpdatedObserver(this); @@ -932,12 +932,12 @@ public class ZoneCombinerComp extends Composite implements "saved", name + ".py"); IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext userContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationFile userFile = pm.getLocalizationFile(userContext, searchName); if (AccessMgr.verifyDelete(userFile.getName(), - LocalizationType.CAVE_STATIC, false)) { + LocalizationType.COMMON_STATIC, false)) { if (userFile.isAvailableOnServer()) { userFile.delete(); } else if (userFile.exists()) { @@ -978,7 +978,7 @@ public class ZoneCombinerComp extends Composite implements IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext localization = pm.getContext( - LocalizationType.CAVE_STATIC, level); + LocalizationType.COMMON_STATIC, level); File localFile = pm.getFile(localization, FileUtil.join(CombinationsFileUtil.COMBO_DIR_PATH, local)); return localFile; diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureController.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureController.java index 9b48fff6f2..88db289345 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureController.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureController.java @@ -46,6 +46,7 @@ import com.raytheon.viz.gfe.core.DataManager; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Nov 5, 2008 njensen Initial creation + * Mar 7, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author njensen @@ -66,7 +67,7 @@ public class ProcedureController extends BaseGfePyController { super(filePath, anIncludePath, classLoader, dataManager, "Procedure"); LocalizationContext baseCtx = PathManagerFactory.getPathManager() - .getContext(LocalizationType.CAVE_STATIC, + .getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); proceduresDir = GfePyIncludeUtil.getProceduresLF(baseCtx); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureFactory.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureFactory.java index 34d4ad86a8..669b5c31d3 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureFactory.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/procedures/ProcedureFactory.java @@ -39,6 +39,8 @@ import com.raytheon.viz.gfe.core.DataManager; * ------------ ---------- ----------- -------------------------- * Nov 5, 2008 njensen Initial creation * Feb 25, 2010 4108 ryu Add user/site directories to include path + * Mar 06, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @@ -51,7 +53,7 @@ public class ProcedureFactory { private static ProcedureController buildInstance(DataManager dataMgr, boolean ui) throws JepException { LocalizationContext baseCtx = PathManagerFactory.getPathManager() - .getContext(LocalizationType.CAVE_STATIC, + .getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); String baseUtil = GfePyIncludeUtil.getUtilitiesLF(baseCtx).getFile() diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/SmartToolEdit.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/SmartToolEdit.java index 1064fca3c3..9262c6b247 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/SmartToolEdit.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/SmartToolEdit.java @@ -53,7 +53,8 @@ import com.raytheon.viz.gfe.PythonUtil; * ------------ ---------- ----------- -------------------------- * Mar 20, 2008 njensen Initial creation * Sep 25, 2008 1562 askripsky Moved methods out to - * + * Mar 06, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @author njensen @@ -74,7 +75,7 @@ public class SmartToolEdit { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext tx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); File templateFile = PathManagerFactory.getPathManager().getFile(tx, SmartToolConstants.TEMPLATES_DIR); @@ -93,7 +94,7 @@ public class SmartToolEdit { template = Velocity.getTemplate("smartTool.vm"); LocalizationContext cx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); localizationFile = PathManagerFactory.getPathManager() .getLocalizationFile( cx, @@ -137,7 +138,7 @@ public class SmartToolEdit { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext tx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); File templateFile = pathMgr.getFile(tx, SmartToolConstants.TEMPLATES_DIR); @@ -155,7 +156,7 @@ public class SmartToolEdit { template = Velocity.getTemplate("utility.vm"); LocalizationContext cx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); localizationFile = PathManagerFactory.getPathManager() .getLocalizationFile( cx, diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/TextFileUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/TextFileUtil.java index 62815667f9..8c8774bf17 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/TextFileUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/TextFileUtil.java @@ -46,6 +46,7 @@ import com.raytheon.viz.gfe.GFEOperationFailedException; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Apr 28, 2009 njensen Initial creation + * Mar 07 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -66,7 +67,7 @@ public class TextFileUtil { file = PATH_MGR.getStaticLocalizationFile(name); if (file == null) { LocalizationContext ctx = PATH_MGR.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); file = PATH_MGR.getLocalizationFile(ctx, name); } } @@ -81,7 +82,7 @@ public class TextFileUtil { if (name != null) { LocalizationContext ctx = PATH_MGR.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); file = PATH_MGR.getLocalizationFile(ctx, name); } return file; diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/Tool.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/Tool.java index f5f1fbd529..50bacb0e9f 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/Tool.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/Tool.java @@ -422,8 +422,8 @@ public class Tool { if (grids.length == 0) { String message = "Smart Tool " + toolName + ": No Grids To Edit for " + inputParm.expressionName(); - throw new SmartToolException(message); - // AFPS.UserAlertMsg_send_mh(self.__msgHand, message, "A", "GFE") + statusHandler.handle(Priority.EVENTA, message); + return; } // Make sure parm is mutable diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolController.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolController.java index 4c81b4319a..aa55d9639a 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolController.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolController.java @@ -69,6 +69,7 @@ import com.raytheon.viz.gfe.core.wxvalue.WxValue; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Oct 20, 2008 njensen Initial creation + * Mar 07 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author njensen @@ -102,7 +103,7 @@ public class SmartToolController extends BaseGfePyController { super(filePath, anIncludePath, classLoader, dataManager, "Tool"); LocalizationContext baseCtx = PathManagerFactory.getPathManager() - .getContext(LocalizationType.CAVE_STATIC, + .getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); smartToolDir = GfePyIncludeUtil.getSmartToolsLF(baseCtx); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolFactory.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolFactory.java index 9214cfbdb5..6a31da338c 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolFactory.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/smarttool/script/SmartToolFactory.java @@ -35,11 +35,12 @@ import com.raytheon.viz.gfe.core.DataManager; * *
  * SOFTWARE HISTORY
- * Date			Ticket#		Engineer	Description
- * ------------	----------	-----------	--------------------------
- * Mar 21, 2008				njensen	Initial creation
- * Jul 9, 2009    2454      ryu     Put user and site's python scripts on path for import
- * 
+ * Date			Ticket#		Engineer	 Description
+ * ------------	----------	-----------	 --------------------------
+ * Mar 21, 2008				njensen	     Initial creation
+ * Jul 9, 2009  2454        ryu          Put user and site's python scripts on path for import
+ * Mar 06,2013  15717       jzeng        Change CAVE_STATIC to COMMON_STATIC 
+ *                                       for GFE localization files 
  * 
* * @author njensen @@ -50,7 +51,7 @@ public class SmartToolFactory { private static String getScriptPath() { LocalizationContext baseCtx = PathManagerFactory.getPathManager() - .getContext(LocalizationType.CAVE_STATIC, + .getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); String scriptPath = GfePyIncludeUtil.getUtilitiesLF(baseCtx).getFile() .getPath(); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java index d359ff50a8..bfd9288283 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileGenerator.java @@ -28,6 +28,7 @@ * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- *6/12/2008 mnash Initial creation + *03/07/2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -101,7 +102,7 @@ public class CombinationsFileGenerator { ifpc.makeRequest(req); IPathManager pm = PathManagerFactory.getPathManager(); - LocalizationContext ctx = pm.getContext(LocalizationType.CAVE_STATIC, + LocalizationContext ctx = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); pm.getFile(ctx, FileUtil.join("gfe", "combinations", filename)); } diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java index cb47b506c8..99216e0d8a 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java @@ -61,6 +61,7 @@ import com.raytheon.viz.gfe.textformatter.CombinationsFileUtil.ComboData.Entry; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jul 25, 2008 mnash Initial creation + * Mar 07, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author mnash @@ -139,7 +140,7 @@ public class CombinationsFileUtil { String s = FileUtil.mangle(id) + ".xml"; IPathManager pm = PathManagerFactory.getPathManager(); LocalizationFile lf = pm.getLocalizationFile(pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), FileUtil + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), FileUtil .join(SAVED_COMBO_DIR, s)); return lf; } @@ -205,7 +206,7 @@ public class CombinationsFileUtil { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext baseContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); // Strip any path components from comboName File comboFile = new File(comboName); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextFmtParserUtil.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextFmtParserUtil.java index 5ca964a2fe..cb67e9521a 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextFmtParserUtil.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextFmtParserUtil.java @@ -41,6 +41,7 @@ import com.raytheon.uf.common.python.PythonScript; * ------------ ---------- ----------- -------------------------- * 09 Dec 2008 lvenable Initial creation * 10 Nov 2010 njensen Cache python + * 07 Mar 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author lvenable @@ -72,7 +73,7 @@ public class TextFmtParserUtil { if (python == null) { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext baseContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); File baseFile = pm.getFile(baseContext, "gfe" + File.separator + "userPython" + File.separator + "utilities" + File.separator + "ProductParser.py"); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextProductManager.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextProductManager.java index 7a39b63590..2b7fc834dd 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextProductManager.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/TextProductManager.java @@ -59,6 +59,7 @@ import com.raytheon.viz.gfe.core.DataManager; * ------------ ---------- ----------- -------------------------- * May 1, 2009 njensen Initial creation * Jan 15, 2010 3395 ryu Fix "issued by" functionality + * Mar 07, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -100,11 +101,11 @@ public class TextProductManager { private void init() throws VizException, JepException { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext configContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.CONFIGURED); + LocalizationType.COMMON_STATIC, LocalizationLevel.CONFIGURED); LocalizationContext siteContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); LocalizationContext userContext = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); lfConfigDir = pm.getLocalizationFile(configContext, GfePyIncludeUtil.TEXT_PRODUCTS); diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalog.java index 5e49fe6f2c..c485bef886 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalog.java @@ -35,6 +35,14 @@ import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.viz.gfe.core.script.AbstractScriptCatalog; /** + * SOFTWARE HISTORY + * Date Ticket# Engineer Description + * ------------ ---------- ----------- -------------------------- + * wldougher Initial creation + * Mar 06 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files + * + * * @author wldougher * */ @@ -78,7 +86,7 @@ public class TextProductCatalog extends AbstractScriptCatalog { getScriptTypePathPrefix() + File.separator + "configured", getExtensions(), false, true); LocalizationFile[] userProducts = pathManager.listFiles(pathManager - .getContext(LocalizationType.CAVE_STATIC, + .getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER), getScriptTypePathPrefix(), getExtensions(), false, true); @@ -131,7 +139,7 @@ public class TextProductCatalog extends AbstractScriptCatalog { path = getScriptTypePathPrefix() + File.separator + scriptName; result = pathManager.getLocalizationFile(pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), path); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), path); if (result != null && !result.exists()) { result = null; } @@ -140,7 +148,7 @@ public class TextProductCatalog extends AbstractScriptCatalog { path = GfePyIncludeUtil.TEXT_PRODUCTS + File.separator + scriptName; result = pathManager .getLocalizationFile(pathManager.getContext( - LocalizationType.CAVE_STATIC, + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), path); } if (result != null && !result.exists()) { @@ -150,7 +158,7 @@ public class TextProductCatalog extends AbstractScriptCatalog { if (result == null) { path = GfePyIncludeUtil.TEXT_PRODUCTS + File.separator + scriptName; result = pathManager.getLocalizationFile( - pathManager.getContext(LocalizationType.CAVE_STATIC, + pathManager.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.CONFIGURED), path); } if (result != null && !result.exists()) { @@ -189,9 +197,9 @@ public class TextProductCatalog extends AbstractScriptCatalog { this.pathManager = pathManager; LocalizationContext userCtx = pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + LocalizationType.COMMON_STATIC, LocalizationLevel.USER); LocalizationContext siteCtx = pathManager.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); String pathPrefix = getScriptTypePathPrefix(); userDir = pathManager.getLocalizationFile(userCtx, pathPrefix); siteConfDir = pathManager.getLocalizationFile(siteCtx, pathPrefix diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalogue.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalogue.java index 9202c7f002..7ee1c7fdb4 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalogue.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductCatalogue.java @@ -39,6 +39,8 @@ import com.raytheon.viz.gfe.core.msgs.ITextProductListChangedListener; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Sep 19, 2008 1562 askripsky Initial creation + * Mar 06 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @@ -98,7 +100,7 @@ public class TextProductCatalogue { // Retrieve the current set of Utilities from the Base LocalizationContext baseContext = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); LocalizationFile[] baseUtilitiesFiles = pathMgr.listFiles(baseContext, TextProductUtils.UTILITIES_PATH, @@ -106,7 +108,7 @@ public class TextProductCatalogue { // Retrieve the current set of Utilities from the Site LocalizationContext siteContext = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); LocalizationFile[] siteUtilitiesFiles = pathMgr.listFiles(siteContext, TextProductUtils.UTILITIES_PATH, @@ -138,7 +140,7 @@ public class TextProductCatalogue { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext siteContext = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); // Gets the the current products LocalizationFile[] productsFiles = pathMgr.listFiles(siteContext, diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductUtils.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductUtils.java index f0d4a332cc..ab76488171 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductUtils.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/TextProductUtils.java @@ -51,11 +51,12 @@ import com.raytheon.viz.gfe.PythonUtil; * Utilities for text products * *
- * SOFTWARE HISTORY
+S * SOFTWARE HISTORY
  * Date			Ticket#		Engineer	Description
  * ------------	----------	-----------	--------------------------
- * Sept 23, 2008			askripsky	Initial creation
- * 
+ * Sep 23,2008			    askripsky	Initial creation
+ * Mar 06,2013  15717       jzeng       Change CAVE_STATIC to COMMON_STATIC 
+ *                                      for GFE localization files 
  * 
* * @author askripsky @@ -186,7 +187,7 @@ public class TextProductUtils { // Get context for the Site LocalizationContext cx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); // Build the path to the new file String path = (type.equals(PRODUCT) ? PRODUCTS_PATH : UTILITIES_PATH) @@ -244,7 +245,7 @@ public class TextProductUtils { // Get path to template file IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext tx = pathMgr.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE); File templateFile = pathMgr.getFile(tx, TEMPLATES_PATH); try { diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/action/TextProductDeleteAction.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/action/TextProductDeleteAction.java index 6ac9b27001..618508f2b4 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/action/TextProductDeleteAction.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textproduct/action/TextProductDeleteAction.java @@ -41,6 +41,7 @@ import com.raytheon.viz.gfe.ui.AccessMgr; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jul 30, 2010 dgilling Initial creation + * Mar 07, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -76,7 +77,7 @@ public class TextProductDeleteAction extends Action { @Override public void run() { if (AccessMgr.verifyDelete(util.scripted(scriptName), - LocalizationType.CAVE_STATIC, false)) { + LocalizationType.COMMON_STATIC, false)) { try { // Delete the script util.delete(scriptName, LocalizationLevel.USER); diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/colorscalemgr/ColorScaleMgrDlg.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/colorscalemgr/ColorScaleMgrDlg.java index 23e8d74b79..98052253fd 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/colorscalemgr/ColorScaleMgrDlg.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/colorscalemgr/ColorScaleMgrDlg.java @@ -69,6 +69,8 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 29 NOV 2007 373 lvenable Initial creation * 23 Feb 2011 5400 lbousaidi fixed issues in color/value bar + * 11 Mar 2013 15065 lbousaidi fixed issue with both color legend + * disappearing after save * * * @author lvenable @@ -807,6 +809,7 @@ public class ColorScaleMgrDlg extends CaveSWTDialog { String source = getSource(); updateColor(source); updateUsedColorValueLabelBar(); + updateUsedColorSetGroupText(); } }); @@ -1468,8 +1471,11 @@ public class ColorScaleMgrDlg extends CaveSWTDialog { // ArrayList updatedColorSet = editColorData // .getColorScaleDataArray(source, durationCbo.getText() + "_" // + dataTypeCbo.getText()); - if (updatedColorSet == null) { - updatedColorSet = new ArrayList(); + + if (updatedColorSet.size()==0) { + updatedColorSet = editColorData + .getColorScaleDataArray(source, 0 + "_" + + dataTypeCbo.getText()); } int numCols = updatedColorSet.size(); @@ -1560,7 +1566,13 @@ public class ColorScaleMgrDlg extends CaveSWTDialog { ArrayList updatedColorSet = editColorData .getUsedColorScaleDataArray(source, selectedDurationInSeconds + "_" + dataTypeCbo.getText()); - + + //use default color + if (updatedColorSet.size() == 0 ) { + updatedColorSet = editColorData + .getUsedColorScaleDataArray(source, 0 + + "_" + dataTypeCbo.getText()); + } int numCols = updatedColorSet.size(); GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false); @@ -1877,7 +1889,10 @@ public class ColorScaleMgrDlg extends CaveSWTDialog { Iterator i = dataTypes.iterator(); while (i.hasNext()) { String dt = i.next(); - dataTypeCbo.add(colorManager.getDescription(dt)); + //add a check in case there is a typo in dataType the it will be null + if (!dt.contains("null")) { + dataTypeCbo.add(colorManager.getDescription(dt)); + } } if (dataTypeCbo.getItemCount() == 0) { @@ -1960,10 +1975,11 @@ public class ColorScaleMgrDlg extends CaveSWTDialog { } else { createColorData(user); } - - changeDuration(); - - setReturnValue(true); + + updateDurationCombo(); + updateColorValueLabelBar(); + + setReturnValue(true); } /** diff --git a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/dialogs/gagetable/GageTableDlg.java b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/dialogs/gagetable/GageTableDlg.java index 019cd22112..f75476612a 100644 --- a/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/dialogs/gagetable/GageTableDlg.java +++ b/cave/com.raytheon.viz.mpe.ui/src/com/raytheon/viz/mpe/ui/dialogs/gagetable/GageTableDlg.java @@ -21,7 +21,6 @@ package com.raytheon.viz.mpe.ui.dialogs.gagetable; import java.awt.BorderLayout; import java.awt.Container; -import java.awt.Cursor; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; @@ -102,6 +101,7 @@ import com.raytheon.viz.mpe.ui.dialogs.gagetable.xml.GageTableSortType; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * May 28, 2009 2476 mpduff Initial creation. + * Mar 08, 2013 15725 snaples Updated to fix resort issues when editing value. * * * @@ -1212,33 +1212,7 @@ public class GageTableDlg extends JFrame { public void tableChanged(TableModelEvent e) { GageTableDataManager dataManager = GageTableDataManager .getInstance(); - getContentPane().setCursor(new Cursor(Cursor.WAIT_CURSOR)); - int width = GageTableConstants.DEFAULT_WIDTH; - if ((e != null) && (e.getType() == TableModelEvent.UPDATE)) { - table = null; - table = new JTable(tableModel); - - JTableHeader header = table.getTableHeader(); - header.addMouseListener(new ColumnHeaderListener()); - // Disable autoCreateColumnsFromModel otherwise all the column - // customizations and adjustments will be lost when the model - // data is sorted - table.setAutoCreateColumnsFromModel(false); - table.setColumnSelectionAllowed(false); - table.setRowSelectionAllowed(true); - table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); - // make the user's edits stored without need for type "return" - // key or click - // on JTable - table.putClientProperty("terminateEditOnFocusLost", - Boolean.TRUE); - - /* Center all table data */ - JLabel renderer = ((JLabel) table - .getDefaultRenderer(Object.class)); - renderer.setHorizontalAlignment(SwingConstants.CENTER); - // Get the changed info int cellRow = table.convertRowIndexToModel(e.getFirstRow()); int cellColumn = e.getColumn(); @@ -1271,7 +1245,6 @@ public class GageTableDlg extends JFrame { // or 'm' or 'M' or "". if (newValue.equals("")) { rowData.setValueEdited(false); - // rowData.setEditValue(-999.0); } else { if (newValue.equalsIgnoreCase("m")) { rowData.setEditValue(-999.0); @@ -1281,7 +1254,6 @@ public class GageTableDlg extends JFrame { } rowData.setValueEdited(true); } - // rowData.setValueEdited(true); int indexOf = rowDataList.indexOf(rowData); rowDataList.set(indexOf, rowData); editMap.put( @@ -1289,36 +1261,8 @@ public class GageTableDlg extends JFrame { rowData); dataChanged = true; } - dataManager.setGageTableRowList(rowDataList); - gageTablePanel.remove(scrollPane); - scrollPane = new JScrollPane(table); - gageTablePanel.add(scrollPane); - - List columnList = dataManager - .getColumnDataList(); - ColumnHeaderToolTips tips = new ColumnHeaderToolTips(); - - for (int i = 0; i < columnList.size(); i++) { - TableColumn col = table.getColumnModel().getColumn(i); - col.setHeaderRenderer(new GageTableHeaderCellRenderer()); - col.setMinWidth(25); - GageTableColumn c = columnList.get(i); - - if (dataManager.getColumnWidthMap().get(c.getName()) == null) { - width = GageTableConstants.DEFAULT_WIDTH; - } else { - width = dataManager.getColumnWidthMap() - .get(c.getName()); - } - col.setPreferredWidth(width); - tips.setToolTip(col, c.getToolTipText()); - } - - header.addMouseMotionListener(tips); - // Update the grid combobox gridCombo.removeAllItems(); - columnData = columnList; populateGridCombo(); } else { @@ -1330,8 +1274,6 @@ public class GageTableDlg extends JFrame { .setHeaderRenderer(new GageTableHeaderCellRenderer()); } } - // sortTable(); - getContentPane().setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } } @@ -1370,7 +1312,12 @@ public class GageTableDlg extends JFrame { dispose(); } - /** + public void setDataChanged(boolean dataChanged) + { + this.dataChanged = dataChanged; + } + + /** * Set the sort order of the columns. * * @param settings diff --git a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/CommonGridAttributes.java b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/CommonGridAttributes.java index e01358492c..e6ca5c85b7 100644 --- a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/CommonGridAttributes.java +++ b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/CommonGridAttributes.java @@ -31,6 +31,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 9, 2011 snaples Initial creation + * Mar 5, 2013 15884 wkwock gridPointLL and gridPointUR should be integer * * * @@ -62,9 +63,9 @@ public class CommonGridAttributes { int[] gridSize = new int[2]; - Coordinate gridPointLL = new Coordinate(); + int[] gridPointLL = new int[2]; - Coordinate gridPointUR = new Coordinate(); + int[] gridPointUR = new int[2]; /** * Time in seconds diff --git a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/GridAttributes.java b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/GridAttributes.java index 559f1a2c34..c444b5127d 100644 --- a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/GridAttributes.java +++ b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/GridAttributes.java @@ -40,6 +40,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 9, 2011 snaples Initial creation + * Mar 5, 2013 15884 wkwock gridPointLL and gridPointUR should be integer * * * @@ -119,9 +120,10 @@ public class GridAttributes { if (rfcid.length() != 0) { commonGridAttributes.siteID = rfcid; } - commonGridAttributes.gridPointLL = new Coordinate(XOR, YOR); - commonGridAttributes.gridPointUR = new Coordinate( - (XOR + hrap_grid.maxi), (YOR + hrap_grid.maxj)); + commonGridAttributes.gridPointLL[0] = XOR; + commonGridAttributes.gridPointLL[1] = YOR; + commonGridAttributes.gridPointUR[0] = XOR + hrap_grid.maxi; + commonGridAttributes.gridPointUR[1] = YOR + hrap_grid.maxj; gridType = apps_defaults.getToken("mpe_dqc_gridtype"); if (gridType.length() != 0) { diff --git a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCGribGrids.java b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCGribGrids.java index 542307f759..e8fce69f67 100644 --- a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCGribGrids.java +++ b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCGribGrids.java @@ -45,6 +45,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 9, 2011 snaples Initial creation + * Mar 5, 2013 15884 wkwock gridPointLL and gridPointUR should be integer * * * @@ -418,15 +419,15 @@ public class WriteDQCGribGrids { /* Lower left corner of the main projected grid */ - x1 = ga.gridPointLL.x; - y1 = ga.gridPointLL.y; + x1 = ga.gridPointLL[0]; + y1 = ga.gridPointLL[1]; lon1 = ga.latLonLL.x; lat1 = ga.latLonLL.y; /* upper right corner of the main projected grid */ - x2 = ga.gridPointUR.x; - y2 = ga.gridPointUR.y; + x2 = ga.gridPointUR[0]; + y2 = ga.gridPointUR[1]; lon2 = ga.latLonUR.x; lat2 = ga.latLonUR.y; /* diff --git a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCNetCDFGrids.java b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCNetCDFGrids.java index 4f97e122c7..056773dabd 100644 --- a/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCNetCDFGrids.java +++ b/cave/com.raytheon.viz.mpe/src/com/raytheon/viz/mpe/util/WriteDQCNetCDFGrids.java @@ -44,6 +44,7 @@ import com.raytheon.viz.mpe.util.DailyQcUtils.Hrap_Grid; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 9, 2011 snaples Initial creation + * Mar 5, 2013 15884 wkwock gridPointLL and gridPointUR should be integer * * * @@ -306,13 +307,13 @@ public class WriteDQCNetCDFGrids { cdf_grid_id.addAttribute(new Attribute("domainExtent", dims)); dims = new ArrayList(); - dims.add(ga.gridPointLL.x); - dims.add(ga.gridPointLL.y); + dims.add(ga.gridPointLL[0]); + dims.add(ga.gridPointLL[1]); cdf_grid_id.addAttribute(new Attribute("gridPointLL", dims)); dims = new ArrayList(); - dims.add(ga.gridPointUR.x); - dims.add(ga.gridPointUR.y); + dims.add(ga.gridPointUR[0]); + dims.add(ga.gridPointUR[1]); cdf_grid_id.addAttribute(new Attribute("gridPointUR", dims)); cdf_grid_id.addAttribute(new Attribute("gridType", ga.gridType)); diff --git a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/interrogators/RadarDMDInterrogator.java b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/interrogators/RadarDMDInterrogator.java index 38ade51a42..464993d819 100644 --- a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/interrogators/RadarDMDInterrogator.java +++ b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/interrogators/RadarDMDInterrogator.java @@ -61,7 +61,8 @@ import com.vividsolutions.jts.geom.Envelope; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Oct 4, 2010 mnash Initial creation + * Oct 04, 2010 mnash Initial creation + * MAR 05, 2013 15313 kshresth Added sampling for DMD * * * @@ -72,6 +73,8 @@ import com.vividsolutions.jts.geom.Envelope; public class RadarDMDInterrogator extends RadarGraphicInterrogator implements IRadarInterrogator { + private Map _dataMap = new HashMap(); + private DmdModifier modifier; public RadarDMDInterrogator() { @@ -90,7 +93,6 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements @Override public Map sample(RadarRecord record, Coordinate latLon, ColorMapParameters params) { - Map dataMap = new HashMap(); if (latLon == null) { return null; } @@ -101,16 +103,16 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements record.getCRS()); mt.transform(input, 0, output, 0, 1); - dataMap.put("crsLocation", output == null ? "-1,-1" : output[0] + _dataMap.put("crsLocation", output == null ? "-1,-1" : output[0] + "," + output[1]); } catch (Exception e) { return null; } - dataMap.put("ICAO", record.getIcao()); - dataMap.put("Mnemonic", record.getMnemonic()); - addParameters(record, latLon, dataMap); - return dataMap; + _dataMap.put("ICAO", record.getIcao()); + _dataMap.put("Mnemonic", record.getMnemonic()); + addParameters(record, latLon, _dataMap); + return _dataMap; } /* @@ -242,43 +244,19 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements baseHeight += "<"; } - String baseHeightValue = GraphicDataUtil - .setupConverter( - currFeature, - DMDAttributeIDs.BASE_HEIGHT - .toString(), - -1, false); - if (!baseHeightValue.isEmpty()) { - baseHeightValue = formatter - .format(new Double( - baseHeightValue)); - } - baseHeight += baseHeightValue - + GraphicDataUtil - .getUnit(DMDAttributeIDs.BASE_HEIGHT); - - if (!baseHeight.isEmpty()) { - rval.append(baseHeight + "Ag "); - } + baseHeight += GraphicDataUtil.setupConverter(currFeature, + DMDAttributeIDs.BASE_HEIGHT.toString(), + 1, true); + rval.append(baseHeight+" "); break; case DEPTH: // Depth String depth = GraphicDataUtil - .setupConverter(currFeature, - DMDAttributeIDs.DEPTH - .toString(), - -1, false); - if (!depth.isEmpty()) { - depth = formatter - .format(new Double(depth)); - } - - depth += GraphicDataUtil - .getUnit(DMDAttributeIDs.DEPTH); - - if (!depth.isEmpty()) { - rval.append(depth + " "); - } + .setupConverter(currFeature, + DMDAttributeIDs.DEPTH + .toString(), + 1,true); + rval.append(depth + " "); break; case RANK: // Rank @@ -290,22 +268,17 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements && !ranks.isEmpty()) { tiltNum = ranks.split(",").length - 1; } - String rank = ranks.split(",")[tiltNum] - + currFeature - .getValue(DMDAttributeIDs.STRENGTH_RANK_TYPE - .toString()); - if (!rank.isEmpty()) { - rval.append("r" + rank + " "); - } + String rank = ranks.split(",")[tiltNum]; + rval.append("r" + rank + " "); break; case MSI: // MSI - String msi = currFeature - .getValue(DMDAttributeIDs.MSI - .toString()); - if (!msi.isEmpty()) { - rval.append(msi + "-msi "); - } + String msi = GraphicDataUtil + .setupConverter( + currFeature, + DMDAttributeIDs.MSI.toString(), + 1, true); + rval.append(msi + " "); break; case RV: // llrotv @@ -314,14 +287,8 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements currFeature, DMDAttributeIDs.BASE_ROTATIONAL_VEL .toString(), - -1, false); - if (llrotv != null && !llrotv.isEmpty()) { - llrotv = formatter.format(Double - .parseDouble(llrotv)) - + GraphicDataUtil - .getUnit(DMDAttributeIDs.BASE_ROTATIONAL_VEL); + 1, true); rval.append(llrotv + " "); - } break; case G2G: // llg2g @@ -330,14 +297,8 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements currFeature, DMDAttributeIDs.BASE_GTG_VEL_DIFF .toString(), - -1, false); - if (llg2g != null && !llg2g.isEmpty()) { - llg2g = formatter.format(Double - .parseDouble(llg2g)) - + GraphicDataUtil - .getUnit(DMDAttributeIDs.BASE_GTG_VEL_DIFF); - rval.append(llg2g + " "); - } + 1, true); + rval.append(llg2g + " "); break; case MRV: // mxrotv @@ -346,14 +307,8 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements currFeature, DMDAttributeIDs.MAX_ROTATIONAL_VEL .toString(), - -1, false); - if (mxrotv != null && !mxrotv.isEmpty()) { - mxrotv = formatter.format(Double - .parseDouble(mxrotv)) - + GraphicDataUtil - .getUnit(DMDAttributeIDs.MAX_ROTATIONAL_VEL); + 1, true); rval.append(mxrotv + " "); - } break; case HMRV: // htmxrv @@ -362,12 +317,8 @@ public class RadarDMDInterrogator extends RadarGraphicInterrogator implements currFeature, DMDAttributeIDs.HEIGHT_MAX_ROTATIONAL_VEL .toString(), - -1, false); - htmxrv += GraphicDataUtil - .getUnit(DMDAttributeIDs.HEIGHT_MAX_ROTATIONAL_VEL); - if (!htmxrv.equals("")) { - rval.append(htmxrv + "Ag "); - } + 1, true); + rval.append(htmxrv + " "); break; case LL_CONV: // Low-Level Convergence diff --git a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/rsc/AbstractRadarResource.java b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/rsc/AbstractRadarResource.java index f6f103df20..990b6cc7df 100644 --- a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/rsc/AbstractRadarResource.java +++ b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/rsc/AbstractRadarResource.java @@ -76,7 +76,8 @@ import com.vividsolutions.jts.geom.Coordinate; * SOFTWARE HISTORY * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Aug 3, 2010 mnash Initial creation + * Aug 03, 2010 mnash Initial creation + * MAR 05, 2013 15313 kshresth Added sampling for DMD * * * @@ -413,11 +414,14 @@ public class AbstractRadarResource extends displayedData.append("@" + dataMap.get("Azimuth")); } - if (labels.contains(InspectLabels.ICAO)) { - displayedData.append(' ').append(dataMap.get("ICAO")); + if (!dataMap.get("Mnemonic").equalsIgnoreCase("DMD")) + { + if (labels.contains(InspectLabels.ICAO)) { + displayedData.append(' ').append(dataMap.get("ICAO")); + } } - if (displayedData.toString().contains("null")) { + if (displayedData.toString().contains("null") || displayedData.toString().isEmpty()) { displayedData.replace(0, displayedData.length(), "NO DATA"); } diff --git a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/GraphicDataUtil.java b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/GraphicDataUtil.java index 8a7564106d..5b3105e85a 100644 --- a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/GraphicDataUtil.java +++ b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/GraphicDataUtil.java @@ -52,7 +52,7 @@ import com.vividsolutions.jts.geom.Envelope; * of 2D_STRENGTH_RANK. * Nov 09 2012 15586 Xiaochuan In dataRowFormat, set MSI maximum * size to 5. - * + * MAR 05, 2013 15313 kshresth Added sampling for DMD * * * @author mnash @@ -291,7 +291,7 @@ public class GraphicDataUtil { } public static Unit getUnit(DMDAttributeIDs id) { - return units.get(id.toString()); + return units.get(id); } } diff --git a/cave/com.raytheon.viz.ui/plugin.xml b/cave/com.raytheon.viz.ui/plugin.xml index 0c7a1498c5..9d52907e56 100644 --- a/cave/com.raytheon.viz.ui/plugin.xml +++ b/cave/com.raytheon.viz.ui/plugin.xml @@ -654,7 +654,7 @@ point="com.raytheon.uf.viz.localization.localizationpath"> diff --git a/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorUtil.java b/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorUtil.java index 670e80c4bb..05a5f02acc 100644 --- a/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorUtil.java +++ b/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorUtil.java @@ -53,6 +53,7 @@ import com.raytheon.uf.viz.core.exception.VizException; * Jul 18, 2007 njensen Initial creation * Aug 20, 2008 dglazesk Updated for the new ColorMap interface * and for the JiBX to JaXB transition + * Mar 07, 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @@ -166,14 +167,14 @@ public class ColorUtil { File path = null; IPathManager pm = PathManagerFactory.getPathManager(); if (aSiteContext) { - path = pm.getFile(pm.getContext(LocalizationType.CAVE_STATIC, + path = pm.getFile(pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), COLORMAPS_DIR + File.separator + filename); checkDir(path.getParentFile()); } else { - path = pm.getFile(pm.getContext(LocalizationType.CAVE_STATIC, + path = pm.getFile(pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER), COLORMAPS_DIR + File.separator + filename); checkDir(path.getParentFile()); @@ -205,13 +206,13 @@ public class ColorUtil { File path = null; IPathManager pm = PathManagerFactory.getPathManager(); if (aSiteContext) { - path = pm.getFile(pm.getContext(LocalizationType.CAVE_STATIC, + path = pm.getFile(pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), COLORMAPS_DIR + File.separator + filename); return path.exists(); } else { - path = pm.getFile(pm.getContext(LocalizationType.CAVE_STATIC, + path = pm.getFile(pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER), COLORMAPS_DIR + File.separator + filename); return path.exists(); @@ -258,10 +259,10 @@ public class ColorUtil { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationContext context = null; if (aSiteContext) { - context = pathMgr.getContext(LocalizationType.CAVE_STATIC, + context = pathMgr.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); } else { - context = pathMgr.getContext(LocalizationType.CAVE_STATIC, + context = pathMgr.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER); } // use / for standard localization of File.separator @@ -293,7 +294,7 @@ public class ColorUtil { } IPathManager pm = PathManagerFactory.getPathManager(); LocalizationFile lfile = pm.getLocalizationFile(pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), COLORMAPS_DIR + File.separator + filename); File file = lfile.getFile(); diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/ModelFamilies.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/ModelFamilies.xml index dad9eee026..dd172ebf0b 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/ModelFamilies.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/ModelFamilies.xml @@ -64,8 +64,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -120,8 +120,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -176,8 +176,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -232,8 +232,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -280,8 +280,8 @@ - - + + @@ -327,8 +327,8 @@ - - + + @@ -374,8 +374,8 @@ - - + + @@ -421,8 +421,8 @@ - - + + @@ -468,8 +468,8 @@ - - + + @@ -515,8 +515,8 @@ - - + + @@ -570,8 +570,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -626,8 +626,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -682,8 +682,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -738,8 +738,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -794,8 +794,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -850,8 +850,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + @@ -906,8 +906,8 @@ - + menuText="RAP" id="rap" useReferenceTime="true"> + diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFamilies.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFamilies.xml index bb291d2438..7a33e15b3c 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFamilies.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFamilies.xml @@ -94,8 +94,8 @@ - + menuText="RAP40" id="rap" useReferenceTime="true"> + diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFourPanelFamilies.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFourPanelFamilies.xml index 0ff4a96526..9ef18556d1 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFourPanelFamilies.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseFourPanelFamilies.xml @@ -66,8 +66,8 @@ - + menuText="RAP" id="rap4panel" useReferenceTime="true"> + diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseStdEnvPackage.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseStdEnvPackage.xml index d6415decc9..1f42037ec5 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseStdEnvPackage.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseStdEnvPackage.xml @@ -31,8 +31,8 @@ - + menuText="RAP40" id="rap40stdenv" useReferenceTime="true"> + diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseSurfaceFamilies.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseSurfaceFamilies.xml index 6952018a44..9a819801e3 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseSurfaceFamilies.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/baseSurfaceFamilies.xml @@ -60,8 +60,8 @@ - + menuText="RAP" id="rapsurface" useReferenceTime="true"> + \ No newline at end of file diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/index.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/index.xml index fa8502eb45..f84d6c1b63 100644 --- a/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/index.xml +++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/volume/index.xml @@ -28,6 +28,7 @@ + diff --git a/deltaScripts/13.3.1/updateGfeLoc.sh b/deltaScripts/13.3.1/updateGfeLoc.sh new file mode 100644 index 0000000000..0a2fd257a1 --- /dev/null +++ b/deltaScripts/13.3.1/updateGfeLoc.sh @@ -0,0 +1,128 @@ +#!/bin/sh +# +# name: updateGFELoc.sh +# desc: Move localization files from cave_static to common_static for GFE ifpServerText +# +# CHANGELOG +# 06-March-2010 - jzeng Initial creation + +# + +usage(){ + echo " Default: " + echo " updateGfeLoc.sh " + echo " update all site and user level GFE;" + echo " Use updateGfeLoc.sh -s|--site to update site level GFE; " + echo " Use updateGfeLoc.sh -u|--user to update user level GFE;" + echo " Use updateGfeLoc.sh -c|--configured to update configured level GFE;" + echo " Use updateGfeLoc.sh -w|--workstation to update workstation level GFE;" + echo " Use updateGfeLoc.sh -a|--all to update all levels of GFE localization files;" + exit +} + +updateGfeLoc(){ + LOC_LEVEL=$@ + LOCALIZATION_DICT=('gfe/userPython/gfeConfig + gfe/userPython/smartTools + gfe/userPython/procedures + gfe/userPython/textProducts + gfe/userPython/textUtilities + gfe/userPython/utilities + gfe/weGroups + gfe/combinations + colormaps + ') + + for loc in $LOCALIZATION_DICT + do + commonDir=/awips2/edex/data/utility/common_static/${LOC_LEVEL}/${loc} + caveDir=/awips2/edex/data/utility/cave_static/${LOC_LEVEL}/${loc} + if [ ! -d $commonDir ] + then + mkdir -p $commonDir + fi + if [ -d ${caveDir} ] + then + cp -r $caveDir/* $commonDir + rm -rf ${caveDir} + fi + done +} + +updateAll(){ + dirPaths=`ls /awips2/edex/data/utility/cave_static` + for dirPath in $dirPaths + do + echo "Updating $dirPath" + levelPaths=`ls /awips2/edex/data/utility/cave_static/${dirPath}` + for level in $levelPaths + do + updateGfeLoc ${dirPath}/${levelPath} + done + done +} + +updateSite(){ + sitePaths=`ls /awips2/edex/data/utility/cave_static/site` + for site in $sitePaths + do + updateGfeLoc site/$site + done +} + +updateUser(){ + userPaths=`ls /awips2/edex/data/utility/cave_static/user` + for user in $userPaths + do + updateGfeLoc user/$user + done +} + +updateConfigured(){ + confPaths=`ls /awips2/edex/data/utility/cave_static/configured` + for conf in $confPaths + do + updateGfeLoc configured/$conf + done +} + +updateWorkstation(){ + wtPaths=`ls /awips2/edex/data/utility/cave_static/workstation` + for wt in $wtPaths + do + updateGfeLoc workstation/$wt + done +} + +if [ $# == 0 ] +then + echo "This script will relocate all site and user level GFE files from cave_static to common_static: " + updateAll +else + for arg in $@ + do + case $arg in + -s|--site) + updateSite + ;; + -u|--user) + updateUser + ;; + -c|--configured) + updateConfigured + ;; + -w|--workstation) + updateWorkstation + ;; + -a|--all) + updateAll + ;; + -h|--help) + echo "Usage:" + usage;; + *) echo "$arg is an invalid application!" + usage;; + esac + done +fi + diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/BV_Change1.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/BV_Change1.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/BV_Change1.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/BV_Change1.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/BV_Change2.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/BV_Change2.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/BV_Change2.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/BV_Change2.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Cloud.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Cloud.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Cloud.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Cloud.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/DEFAULT.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/DEFAULT.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/DEFAULT.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/DEFAULT.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Discrepancy.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Discrepancy.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Discrepancy.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Discrepancy.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Gridded Data.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Gridded Data.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Gridded Data.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Gridded Data.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Hazards.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Hazards.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Hazards.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Hazards.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Hi Range Enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Hi Range Enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Hi Range Enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Hi Range Enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Linear.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Linear.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Linear.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Linear.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Low Range Enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Low Range Enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Low Range Enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Low Range Enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Mid Range Enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Mid Range Enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Mid Range Enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Mid Range Enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/NHC.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/NHC.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/NHC.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/NHC.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Prob Precip.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Prob Precip.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Prob Precip.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Prob Precip.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/QPF.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/QPF.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/QPF.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/QPF.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/SLCWV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/SLCWV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/SLCWV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/SLCWV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKCloud_CATop_CAHeight.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKCloud_CATop_CAHeight.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKCloud_CATop_CAHeight.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKCloud_CATop_CAHeight.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKCIRA_CA_CIIR_CADefault_CJ.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKCIRA_CA_CIIR_CADefault_CJ.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKCIRA_CA_CIIR_CADefault_CJ.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKCIRA_CA_CIIR_CADefault_CJ.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKFog.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKFog.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKFog.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKFog.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKIR_CPWV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKIR_CPWV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKIR_DKIR_CPWV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKIR_DKIR_CPWV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKLifted_CAIndex.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKLifted_CAIndex.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKLifted_CAIndex.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKLifted_CAIndex.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKPrecip_CAWater.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKPrecip_CAWater.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKPrecip_CAWater.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKPrecip_CAWater.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKSkin_CATemp.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKSkin_CATemp.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKSkin_CATemp.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKSkin_CATemp.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKCA_CA_CILow_CALight_CAVis_CJ.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKCA_CA_CILow_CALight_CAVis_CJ.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKCA_CA_CILow_CALight_CAVis_CJ.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKCA_CA_CILow_CALight_CAVis_CJ.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKLinear.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKLinear.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKLinear.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKLinear.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKZA_CA_CIVis_CADefault_CJ.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKZA_CA_CIVis_CADefault_CJ.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKVIS_DKZA_CA_CIVis_CADefault_CJ.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKVIS_DKZA_CA_CIVis_CADefault_CJ.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKGray_CAScale_CAWater_CAVapor.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKGray_CAScale_CAWater_CAVapor.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKGray_CAScale_CAWater_CAVapor.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKGray_CAScale_CAWater_CAVapor.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKNSSL_CAVAS_CA_CIWV_CAAlternate_CJ.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKNSSL_CAVAS_CA_CIWV_CAAlternate_CJ.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKNSSL_CAVAS_CA_CIWV_CAAlternate_CJ.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKNSSL_CAVAS_CA_CIWV_CAAlternate_CJ.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKSLC_CAWV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKSLC_CAWV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Sat_DKWV_DKSLC_CAWV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Sat_DKWV_DKSLC_CAWV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Steps.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Steps.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Steps.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Steps.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/TempHaz.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/TempHaz.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/TempHaz.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/TempHaz.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/WCLHazards.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WCLHazards.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/WCLHazards.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WCLHazards.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/Warm To Cold.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Warm To Cold.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/Warm To Cold.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/Warm To Cold.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/WarmNoseTemp.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WarmNoseTemp.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/WarmNoseTemp.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WarmNoseTemp.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/WaterColor.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WaterColor.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/WaterColor.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WaterColor.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/WetBulbTemp.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WetBulbTemp.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/WetBulbTemp.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/WetBulbTemp.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/YesNo.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/YesNo.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/YesNo.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/YesNo.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/ndfdMaxMinT.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMaxMinT.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/ndfdMaxMinT.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMaxMinT.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/ndfdMaxTall.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMaxTall.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/ndfdMaxTall.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMaxTall.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/ndfdMinTall.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMinTall.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/ndfdMinTall.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdMinTall.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/ndfdPoP12.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdPoP12.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/ndfdPoP12.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdPoP12.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/GFE/ndfdPoP12all.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdPoP12all.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/GFE/ndfdPoP12all.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/GFE/ndfdPoP12all.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/aviation_turbulence_index.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/aviation_turbulence_index.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/aviation_turbulence_index.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/aviation_turbulence_index.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/gridded data.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/gridded data.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/gridded data.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/gridded data.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/hirange enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/hirange enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/hirange enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/hirange enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/icing_severity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/icing_severity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/icing_severity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/icing_severity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/icing_sld.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/icing_sld.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/icing_sld.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/icing_sld.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/lowrange enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/lowrange enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/lowrange enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/lowrange enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/midrange enhanced.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/midrange enhanced.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/midrange enhanced.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/midrange enhanced.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/sat gridded data.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/sat gridded data.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/sat gridded data.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/sat gridded data.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/truncated gridded data.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/truncated gridded data.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/truncated gridded data.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/truncated gridded data.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/truncated warm to cold.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/truncated warm to cold.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/truncated warm to cold.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/truncated warm to cold.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Grid/warm to cold.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/warm to cold.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Grid/warm to cold.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Grid/warm to cold.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/LAMP/CTSTM Best Category.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/CTSTM Best Category.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/LAMP/CTSTM Best Category.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/CTSTM Best Category.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/LAMP/Gridded Data.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/Gridded Data.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/LAMP/Gridded Data.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/Gridded Data.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/LAMP/QPF Best Category.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/QPF Best Category.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/LAMP/QPF Best Category.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/LAMP/QPF Best Category.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/MDL/Fog Monitor Levels.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/MDL/Fog Monitor Levels.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/MDL/Fog Monitor Levels.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/MDL/Fog Monitor Levels.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/MDL/VIL Density.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/MDL/VIL Density.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/MDL/VIL Density.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/MDL/VIL Density.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/NCWF Convective Grid.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/NCWF Convective Grid.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/NCWF Convective Grid.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/NCWF Convective Grid.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Profiler/Wind Modes.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Profiler/Wind Modes.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Profiler/Wind Modes.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Profiler/Wind Modes.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Profiler/Wind Speed.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Profiler/Wind Speed.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Profiler/Wind Speed.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Profiler/Wind Speed.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/8 bit Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 bit Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/8 bit Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 bit Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/8 bit Vel.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 bit Vel.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/8 bit Vel.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 bit Vel.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/8 lvl Vel.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 lvl Vel.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/8 lvl Vel.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8 lvl Vel.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/8-bit STP.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8-bit STP.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/8-bit STP.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8-bit STP.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/8-bit Vel.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8-bit Vel.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/8-bit Vel.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/8-bit Vel.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/CWB Z - Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/CWB Z - Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/CWB Z - Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/CWB Z - Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Clutter Filter Control.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Clutter Filter Control.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Clutter Filter Control.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Clutter Filter Control.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Digital VIL.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Digital VIL.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Digital VIL.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Digital VIL.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Correlation Coeff.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Correlation Coeff.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Correlation Coeff.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Correlation Coeff.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Differential Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Differential Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Differential Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Differential Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Hydrometeor Class.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Hydrometeor Class.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Hydrometeor Class.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Hydrometeor Class.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Precip Accumulation.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Precip Accumulation.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Precip Accumulation.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Precip Accumulation.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Precip Rate.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Precip Rate.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Precip Rate.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Precip Rate.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Spec Differential Phase.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Spec Differential Phase.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/DualPol/Spec Differential Phase.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/DualPol/Spec Differential Phase.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Enhanced Echo Tops.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Enhanced Echo Tops.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Enhanced Echo Tops.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Enhanced Echo Tops.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/3 bit Vel.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/3 bit Vel.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/3 bit Vel.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/3 bit Vel.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/8 bit Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/8 bit Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/8 bit Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/8 bit Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/8 bit Vel.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/8 bit Vel.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/8 bit Vel.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/8 bit Vel.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/Layer Max Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Layer Max Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/Layer Max Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Layer Max Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/Packed (Z - V) - Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Packed (Z - V) - Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/Packed (Z - V) - Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Packed (Z - V) - Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/Packed (Z - V) - Velocity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Packed (Z - V) - Velocity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/Packed (Z - V) - Velocity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Packed (Z - V) - Velocity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/Spectrum Width.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Spectrum Width.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/Spectrum Width.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Spectrum Width.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/GSD/Storm Clear Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Storm Clear Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/GSD/Storm Clear Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/GSD/Storm Clear Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Hi-Res Ref (SGF).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Hi-Res Ref (SGF).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Hi-Res Ref (SGF).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Hi-Res Ref (SGF).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Hi-Res Vel (SGF).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Hi-Res Vel (SGF).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Hi-Res Vel (SGF).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Hi-Res Vel (SGF).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Layer Max Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Layer Max Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Layer Max Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Layer Max Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/MDL/0-3Hr Radar-Based Categorical.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/0-3Hr Radar-Based Categorical.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/MDL/0-3Hr Radar-Based Categorical.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/0-3Hr Radar-Based Categorical.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/MDL/0-3Hr Radar-Based Probabilities.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/0-3Hr Radar-Based Probabilities.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/MDL/0-3Hr Radar-Based Probabilities.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/0-3Hr Radar-Based Probabilities.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/MDL/10 km Radar Coded Message.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/10 km Radar Coded Message.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/MDL/10 km Radar Coded Message.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/MDL/10 km Radar Coded Message.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/1, 3 Hr Precip Accumulation.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/1 similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/1, 3 Hr Precip Accumulation.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/1 diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Composite Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Composite Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Composite Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Composite Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Velocity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Velocity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/16 Level Velocity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/16 Level Velocity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/256 Level Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/256 Level Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/256 Level Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/256 Level Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/256 Level Velocity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/256 Level Velocity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/256 Level Velocity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/256 Level Velocity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/8 Level Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/8 Level Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/8 Level Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/8 Level Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/8 Level Velocity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/8 Level Velocity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/8 Level Velocity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/8 Level Velocity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Combined Shear.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Combined Shear.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Combined Shear.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Combined Shear.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Digital VIL.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Digital VIL.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Digital VIL.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Digital VIL.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Echo Tops.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Echo Tops.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Echo Tops.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Echo Tops.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/SRM Radial Velocity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/SRM Radial Velocity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/SRM Radial Velocity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/SRM Radial Velocity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/SWA - Shear.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/SWA - Shear.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/SWA - Shear.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/SWA - Shear.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Spectrum Width.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Spectrum Width.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Spectrum Width.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Spectrum Width.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Storm Clear Refl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Storm Clear Refl.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Storm Clear Refl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Storm Clear Refl.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Storm Total Precip.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Storm Total Precip.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Storm Total Precip.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Storm Total Precip.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/VAD Wind Profile.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/VAD Wind Profile.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/VAD Wind Profile.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/VAD Wind Profile.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Velocity Azimuth Display.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Velocity Azimuth Display.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Velocity Azimuth Display.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Velocity Azimuth Display.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/OSF/Vertically Integrated Liquid.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Vertically Integrated Liquid.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/OSF/Vertically Integrated Liquid.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/OSF/Vertically Integrated Liquid.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/PUP Severe Wx Prob.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/PUP Severe Wx Prob.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/PUP Severe Wx Prob.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/PUP Severe Wx Prob.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Spectrum Width.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Spectrum Width.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Spectrum Width.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Spectrum Width.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Storm Clear Reflectivity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Storm Clear Reflectivity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Storm Clear Reflectivity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Storm Clear Reflectivity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Radar/Storm Total Precip.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Storm Total Precip.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Radar/Storm Total Precip.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Radar/Storm Total Precip.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Cloud Amount Default.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Cloud Amount Default.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Cloud Amount Default.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Cloud Amount Default.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Cloud Top Height.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Cloud Top Height.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Cloud Top Height.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Cloud Top Height.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/IR/CIRA (IR Default).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/CIRA (IR Default).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/IR/CIRA (IR Default).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/CIRA (IR Default).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/IR/Fog.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/Fog.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/IR/Fog.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/Fog.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/IR/IR WV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/IR WV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/IR/IR WV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/IR/IR WV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Lifted Index/Lifted Index - New CIMSS Table.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Lifted Index/Lifted Index - New CIMSS Table.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Lifted Index/Lifted Index - New CIMSS Table.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Lifted Index/Lifted Index - New CIMSS Table.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Lifted Index/Lifted Index Default.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Lifted Index/Lifted Index Default.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Lifted Index/Lifted Index Default.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Lifted Index/Lifted Index Default.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Low Cloud Base.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Low Cloud Base.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Low Cloud Base.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Low Cloud Base.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Blended Total Precip Water.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Blended Total Precip Water.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Blended Total Precip Water.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Blended Total Precip Water.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Percent of Normal TPW.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Percent of Normal TPW.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Percent of Normal TPW.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Percent of Normal TPW.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water - New CIMSS Table.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water - New CIMSS Table.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water - New CIMSS Table.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water - New CIMSS Table.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water - Polar.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water - Polar.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water - Polar.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water - Polar.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water Default.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water Default.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Precip Water/Precip Water Default.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Precip Water/Precip Water Default.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Rain Rate.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Rain Rate.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Rain Rate.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Rain Rate.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Skin Temp/Skin Temp - New CIMSS Table.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Skin Temp/Skin Temp - New CIMSS Table.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Skin Temp/Skin Temp - New CIMSS Table.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Skin Temp/Skin Temp - New CIMSS Table.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/Skin Temp/Skin Temp Default.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Skin Temp/Skin Temp Default.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/Skin Temp/Skin Temp Default.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/Skin Temp/Skin Temp Default.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/VIS/CA (Low Light Vis).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/CA (Low Light Vis).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/VIS/CA (Low Light Vis).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/CA (Low Light Vis).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/VIS/Linear.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/Linear.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/VIS/Linear.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/Linear.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/VIS/ZA (Vis Default).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/ZA (Vis Default).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/VIS/ZA (Vis Default).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/VIS/ZA (Vis Default).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/WV/Gray Scale Water Vapor.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/Gray Scale Water Vapor.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/WV/Gray Scale Water Vapor.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/Gray Scale Water Vapor.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/WV/NSSL VAS (WV Alternate).cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/NSSL VAS (WV Alternate).cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/WV/NSSL VAS (WV Alternate).cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/NSSL VAS (WV Alternate).cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/WV/RAMSDIS WV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/RAMSDIS WV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/WV/RAMSDIS WV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/RAMSDIS WV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/Sat/WV/SLC WV.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/SLC WV.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/Sat/WV/SLC WV.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/Sat/WV/SLC WV.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/bathymetricTopo.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/bathymetricTopo.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/bathymetricTopo.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/bathymetricTopo.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/clouds.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/clouds.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/clouds.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/clouds.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/diff.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/diff.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/diff.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/diff.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/qpe.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/qpe.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/qpe12.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe12.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/qpe12.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe12.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/qpe6.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe6.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/qpe6.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/qpe6.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/rate.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/rate.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/rate.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/rate.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/ffmp/ratio.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/ratio.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/ffmp/ratio.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/ffmp/ratio.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/fog/fog.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/fog/fog.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/fog/fog.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/fog/fog.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/grid3d.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/grid3d.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/grid3d.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/grid3d.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/icing.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/icing.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/icing.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/icing.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/icing_sld.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/icing_sld.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/icing_sld.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/icing_sld.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/scan/SCANCWAThreatIndex.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/scan/SCANCWAThreatIndex.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/scan/SCANCWAThreatIndex.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/scan/SCANCWAThreatIndex.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/scan/VILDensity.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/scan/VILDensity.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/scan/VILDensity.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/scan/VILDensity.cmap diff --git a/cave/build/static/common/cave/etc/colormaps/topo.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/topo.cmap similarity index 100% rename from cave/build/static/common/cave/etc/colormaps/topo.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/base/colormaps/topo.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/4bit_Z_OB3.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/4bit_Z_OB3.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/4bit_Z_OB3.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/4bit_Z_OB3.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8 bit Refl-JL2.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8 bit Refl-JL2.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8 bit Refl-JL2.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8 bit Refl-JL2.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8bitVjgl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8bitVjgl.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8bitVjgl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8bitVjgl.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8bitZjgl.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8bitZjgl.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/8bitZjgl.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/8bitZjgl.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/CIRA-IR-JLcool.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/CIRA-IR-JLcool.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/CIRA-IR-JLcool.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/CIRA-IR-JLcool.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/CIRA-IR-JLmod.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/CIRA-IR-JLmod.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/CIRA-IR-JLmod.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/CIRA-IR-JLmod.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/Hi-Res Ref (SGF)-ob3.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/Hi-Res Ref (SGF)-ob3.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/Hi-Res Ref (SGF)-ob3.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/Hi-Res Ref (SGF)-ob3.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/WVJL.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/WVJL.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/WVJL.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/WVJL.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/h5vortbrad.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/h5vortbrad.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/h5vortbrad.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/h5vortbrad.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/magtest.cmap b/edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/magtest.cmap similarity index 100% rename from edexOsgi/build.edex/esb/data/utility/cave_static/user/fxa/colormaps/magtest.cmap rename to edexOsgi/build.edex/esb/data/utility/common_static/user/fxa/colormaps/magtest.cmap diff --git a/edexOsgi/build.edex/esb/data/utility/edex_static/base/protectedFiles.txt b/edexOsgi/build.edex/esb/data/utility/edex_static/base/protectedFiles.txt index c98c5486c8..3f16f2cbae 100644 --- a/edexOsgi/build.edex/esb/data/utility/edex_static/base/protectedFiles.txt +++ b/edexOsgi/build.edex/esb/data/utility/edex_static/base/protectedFiles.txt @@ -15,7 +15,7 @@ SITE:common_static/scan/SCANRunSiteConfig.xml BASE:cave_static/derivedParameters/DerivedParameterInterface.py # GFE protected files -BASE:cave_static/gfe/userPython/textproducts/MultipleElementTable.py +BASE:common_static/gfe/userPython/textproducts/MultipleElementTable.py BASE:edex_static/textproducts/templates/product/AFD.py BASE:edex_static/textproducts/templates/product/PFM.py @@ -61,53 +61,53 @@ BASE:edex_static/textproducts/templates/utility/FireWxZones_EA_Site_MultiPil_Def BASE:edex_static/textproducts/templates/utility/MarineZones_EA_Site_MultiPil_Definition.py BASE:edex_static/textproducts/templates/utility/PublicZones_EA_Site_MultiPil_Definition.py -BASE:cave_static/gfe/userPython/textUtilities/regular/VTECMessageType.py -BASE:cave_static/gfe/userPython/textUtilities/regular/CombinedPhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/CommonUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py -BASE:cave_static/gfe/userPython/textUtilities/regular/ConfigVariables.py -BASE:cave_static/gfe/userPython/textUtilities/regular/DiscretePhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/EditAreaUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/FirePhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/Header.py -BASE:cave_static/gfe/userPython/textUtilities/regular/Holidays.py -BASE:cave_static/gfe/userPython/textUtilities/regular/Interfaces.py -BASE:cave_static/gfe/userPython/textUtilities/regular/MarinePhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/ModuleAccessor.py -BASE:cave_static/gfe/userPython/textUtilities/regular/PhraseBuilder.py -BASE:cave_static/gfe/userPython/textUtilities/regular/SAF_Overrides.py -BASE:cave_static/gfe/userPython/textUtilities/regular/FWS_Overrides.py -BASE:cave_static/gfe/userPython/textUtilities/regular/SampleAnalysis.py -BASE:cave_static/gfe/userPython/textUtilities/regular/ScalarPhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/SimpleTableUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/StringUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/TableBuilder.py -BASE:cave_static/gfe/userPython/textUtilities/regular/TextRules.py -BASE:cave_static/gfe/userPython/textUtilities/regular/TextUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/TimeDescriptor.py -BASE:cave_static/gfe/userPython/textUtilities/regular/TimeRangeUtils.py -BASE:cave_static/gfe/userPython/textUtilities/regular/UnitConvertor.py -BASE:cave_static/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py -BASE:cave_static/gfe/userPython/textUtilities/regular/WxPhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/VTECMessageType.py +BASE:common_static/gfe/userPython/textUtilities/regular/CombinedPhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/CommonUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py +BASE:common_static/gfe/userPython/textUtilities/regular/ConfigVariables.py +BASE:common_static/gfe/userPython/textUtilities/regular/DiscretePhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/EditAreaUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/FirePhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/Header.py +BASE:common_static/gfe/userPython/textUtilities/regular/Holidays.py +BASE:common_static/gfe/userPython/textUtilities/regular/Interfaces.py +BASE:common_static/gfe/userPython/textUtilities/regular/MarinePhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/ModuleAccessor.py +BASE:common_static/gfe/userPython/textUtilities/regular/PhraseBuilder.py +BASE:common_static/gfe/userPython/textUtilities/regular/SAF_Overrides.py +BASE:common_static/gfe/userPython/textUtilities/regular/FWS_Overrides.py +BASE:common_static/gfe/userPython/textUtilities/regular/SampleAnalysis.py +BASE:common_static/gfe/userPython/textUtilities/regular/ScalarPhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/SimpleTableUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/StringUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/TableBuilder.py +BASE:common_static/gfe/userPython/textUtilities/regular/TextRules.py +BASE:common_static/gfe/userPython/textUtilities/regular/TextUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/TimeDescriptor.py +BASE:common_static/gfe/userPython/textUtilities/regular/TimeRangeUtils.py +BASE:common_static/gfe/userPython/textUtilities/regular/UnitConvertor.py +BASE:common_static/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py +BASE:common_static/gfe/userPython/textUtilities/regular/WxPhrases.py -BASE:cave_static/gfe/userPython/utilities/ISC_Utility.py -BASE:cave_static/gfe/userPython/utilities/SmartScript.py -BASE:cave_static/gfe/userPython/utilities/HazardUtils.py -BASE:cave_static/gfe/userPython/utilities/WxMethods.py +BASE:common_static/gfe/userPython/utilities/ISC_Utility.py +BASE:common_static/gfe/userPython/utilities/SmartScript.py +BASE:common_static/gfe/userPython/utilities/HazardUtils.py +BASE:common_static/gfe/userPython/utilities/WxMethods.py # procedures -BASE:cave_static/gfe/userPython/procedures/ISC_Discrepancies.py -BASE:cave_static/gfe/userPython/procedures/PlotSPCWatches.py -BASE:cave_static/gfe/userPython/procedures/PlotTPCEvents.py -BASE:cave_static/gfe/userPython/procedures/HazardRecovery.py -BASE:cave_static/gfe/userPython/procedures/SeparateHazards.py -BASE:cave_static/gfe/userPython/procedures/ViewWCL.py +BASE:common_static/gfe/userPython/procedures/ISC_Discrepancies.py +BASE:common_static/gfe/userPython/procedures/PlotSPCWatches.py +BASE:common_static/gfe/userPython/procedures/PlotTPCEvents.py +BASE:common_static/gfe/userPython/procedures/HazardRecovery.py +BASE:common_static/gfe/userPython/procedures/SeparateHazards.py +BASE:common_static/gfe/userPython/procedures/ViewWCL.py # smart tools -BASE:cave_static/gfe/userPython/smartTools/AdjustValue_Down.py -BASE:cave_static/gfe/userPython/smartTools/AdjustValue_Up.py -BASE:cave_static/gfe/userPython/smartTools/Assign_Value.py -BASE:cave_static/gfe/userPython/smartTools/Smooth.py +BASE:common_static/gfe/userPython/smartTools/AdjustValue_Down.py +BASE:common_static/gfe/userPython/smartTools/AdjustValue_Up.py +BASE:common_static/gfe/userPython/smartTools/Assign_Value.py +BASE:common_static/gfe/userPython/smartTools/Smooth.py # smartInits BASE:edex_static/smartInit/AKNAM40.py @@ -159,7 +159,7 @@ BASE:edex_static/smartInit/RTMA.py BASE:edex_static/smartInit/NamDNG5.py #gfeConfig files -BASE:cave_static/gfe/userPython/gfeConfig/gfeConfig.py +BASE:common_static/gfe/userPython/gfeConfig/gfeConfig.py # FFMP Files SITE:common_static/purge/ffmpPurgeRules.xml diff --git a/edexOsgi/com.raytheon.edex.common/src/com/raytheon/edex/utility/ProtectedFiles.java b/edexOsgi/com.raytheon.edex.common/src/com/raytheon/edex/utility/ProtectedFiles.java index 59046214e7..930f9d04d5 100644 --- a/edexOsgi/com.raytheon.edex.common/src/com/raytheon/edex/utility/ProtectedFiles.java +++ b/edexOsgi/com.raytheon.edex.common/src/com/raytheon/edex/utility/ProtectedFiles.java @@ -49,6 +49,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Aug 25, 2010 mschenke Initial creation + * Mar 07, 2013 15717 jzeng minor change for LEVEL_HEADER * * * @@ -74,7 +75,7 @@ public class ProtectedFiles { private static final String LEVEL_HEADER = "# The layout of this file is a line that starts with a # is treated as a\n" + "# comment and any other line is treated as a protected base file in the \n" + "# format: localization_type/subpath/to/file\n" - + "# A simple example would be: %s:cave_static/gfe/userPython/textProducts/AFD.py\n" + + "# A simple example would be: %s:common_static/gfe/userPython/textProducts/AFD.py\n" + "# Any entries in this file will only apply for users localized to the site\n"; private static ProtectedFiles base = new ProtectedFiles(PathManagerFactory diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SaveCombinationsFileHandler.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SaveCombinationsFileHandler.java index e93084ab1a..063df19300 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SaveCombinationsFileHandler.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SaveCombinationsFileHandler.java @@ -47,7 +47,9 @@ import com.raytheon.uf.edex.core.EDEXUtil; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * May 16, 2011 dgilling Initial creation + * May 16,2011 dgilling Initial creation + * Mar 06,2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @@ -73,7 +75,7 @@ public class SaveCombinationsFileHandler implements SaveCombinationsFileRequest request) throws Exception { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext localization = pm.getContextForSite( - LocalizationType.CAVE_STATIC, request.getSiteID()); + LocalizationType.COMMON_STATIC, request.getSiteID()); File localFile = pm.getFile(localization, FileUtil.join(COMBO_FILE_DIR, request.getFileName())); diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/AreaDictionaryMaker.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/AreaDictionaryMaker.java index 125638bc4e..6b41354cf1 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/AreaDictionaryMaker.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/AreaDictionaryMaker.java @@ -48,8 +48,8 @@ import com.raytheon.uf.common.util.FileUtil; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * May 4, 2011 wldougher Moved from MapManager - * + * May 4, 2011 wldougher Moved from MapManager + * Mar 10 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC * * * @author wldougher @@ -99,11 +99,11 @@ public class AreaDictionaryMaker { scriptFile.getParent()); Map argMap = new HashMap(); - LocalizationContext caveStaticConfig = pathMgr.getContext( - LocalizationContext.LocalizationType.CAVE_STATIC, + LocalizationContext commonStaticConfig = pathMgr.getContext( + LocalizationContext.LocalizationType.COMMON_STATIC, LocalizationContext.LocalizationLevel.CONFIGURED); - caveStaticConfig.setContextName(site); - File outputDirFile = pathMgr.getLocalizationFile(caveStaticConfig, + commonStaticConfig.setContextName(site); + File outputDirFile = pathMgr.getLocalizationFile(commonStaticConfig, FileUtil.join("gfe", "userPython", "textUtilities", "regular")) .getFile(); outputDirFile.mkdir(); diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/CombinationsFileMaker.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/CombinationsFileMaker.java index 2e35a544c0..6fd0708189 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/CombinationsFileMaker.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/CombinationsFileMaker.java @@ -48,9 +48,10 @@ import com.raytheon.uf.common.util.FileUtil; * * SOFTWARE HISTORY * - * Date Ticket# Engineer Description - * ------------ ---------- ----------- -------------------------- - * May 4, 2011 wldougher Moved from MapManager + * Date Ticket# Engineer Description + * ------------ ---------- ----------- -------------------------- + * May 4, 2011 wldougher Moved from MapManager + * Mar 6, 2013 15717 jzeng Changed CAVE_STATIC to COMMON_STATIC * * * @@ -101,15 +102,15 @@ public class CombinationsFileMaker { String includePath = GfePyIncludeUtil.getCommonPythonIncludePath(); Map argMap = new HashMap(); - LocalizationContext caveStaticConfig = pathMgr.getContext( - LocalizationContext.LocalizationType.CAVE_STATIC, + LocalizationContext commonStaticConfig = pathMgr.getContext( + LocalizationContext.LocalizationType.COMMON_STATIC, LocalizationContext.LocalizationLevel.CONFIGURED); - caveStaticConfig.setContextName(site); + commonStaticConfig.setContextName(site); String definitionDir = pathMgr - .getLocalizationFile(caveStaticConfig, + .getLocalizationFile(commonStaticConfig, GfePyIncludeUtil.REGULAR).getFile().getPath(); - File outputDirFile = pathMgr.getLocalizationFile(caveStaticConfig, + File outputDirFile = pathMgr.getLocalizationFile(commonStaticConfig, FileUtil.join("gfe", "combinations")).getFile(); outputDirFile.mkdir(); argMap.put("outputDir", outputDirFile.getPath()); diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/Configurator.java b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/Configurator.java index 253143435d..744e1e7c7f 100644 --- a/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/Configurator.java +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/textproducts/Configurator.java @@ -64,6 +64,8 @@ import com.raytheon.uf.edex.database.cluster.ClusterTask; * to create textProducts and textUtilities. * Sep 07,2012 #1150 dgilling Fix isConfigured to check for textProducts * and textUtilities dirs. + * Mar 04,2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @@ -105,13 +107,13 @@ public class Configurator { // destinationDirectory IPathManager pathMgr = PathManagerFactory.getPathManager(); - LocalizationContext caveStaticConfig = pathMgr.getContext( - LocalizationContext.LocalizationType.CAVE_STATIC, + LocalizationContext commonStaticConfig = pathMgr.getContext( + LocalizationContext.LocalizationType.COMMON_STATIC, LocalizationContext.LocalizationLevel.CONFIGURED); - caveStaticConfig.setContextName(siteID); + commonStaticConfig.setContextName(siteID); try { - destinationDirectory = pathMgr.getFile(caveStaticConfig, + destinationDirectory = pathMgr.getFile(commonStaticConfig, FileUtil.join("gfe", "userPython")).getCanonicalPath(); } catch (IOException e) { log.error("Unable to determine the destination directory", e); diff --git a/cave/build/static/common/cave/etc/gfe/combinations/Combinations_ColorMap b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/combinations/Combinations_ColorMap similarity index 100% rename from cave/build/static/common/cave/etc/gfe/combinations/Combinations_ColorMap rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/combinations/Combinations_ColorMap diff --git a/cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/EditTopo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/EditTopo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/EditTopo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/EditTopo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/gfeConfig.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/gfeConfig.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/gfeConfig.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/gfeConfig.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/imageTest1.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/imageTest1.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/gfeConfig/imageTest1.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/gfeConfig/imageTest1.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/Align_Grids.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Align_Grids.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/Align_Grids.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Align_Grids.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerify.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerify.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerify.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerify.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyAutoCalc.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyAutoCalc.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyAutoCalc.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyAutoCalc.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyBiasCorr.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyBiasCorr.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyBiasCorr.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyBiasCorr.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyInfo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyInfo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifyInfo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifyInfo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifySave.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifySave.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifySave.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifySave.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifySumTemps.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifySumTemps.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/BOIVerifySumTemps.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/BOIVerifySumTemps.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/CRMTopoAvg.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CRMTopoAvg.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/CRMTopoAvg.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CRMTopoAvg.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckTTdWind.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckTTdWind.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckTTdWind.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckTTdWind.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckTandTd.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckTandTd.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckTandTd.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckTandTd.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckWindGust.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckWindGust.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/CheckWindGust.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/CheckWindGust.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/Collaborate_PoP_SnowAmt_QPF.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Collaborate_PoP_SnowAmt_QPF.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/Collaborate_PoP_SnowAmt_QPF.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Collaborate_PoP_SnowAmt_QPF.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/DiffFromClimo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/DiffFromClimo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/DiffFromClimo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/DiffFromClimo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/ERQCcheck.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ERQCcheck.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/ERQCcheck.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ERQCcheck.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/Extrapolate.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Extrapolate.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/Extrapolate.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Extrapolate.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/GenerateCyclone.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/GenerateCyclone.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/GenerateCyclone.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/GenerateCyclone.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/HazardRecovery.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/HazardRecovery.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/HazardRecovery.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/HazardRecovery.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/ISC_Discrepancies.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ISC_Discrepancies.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/ISC_Discrepancies.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ISC_Discrepancies.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/MakeHazard.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/MakeHazard.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/MakeHazard.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/MakeHazard.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/MergeHazards.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/MergeHazards.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/MergeHazards.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/MergeHazards.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/NDFD_QPF_Checks.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/NDFD_QPF_Checks.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/NDFD_QPF_Checks.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/NDFD_QPF_Checks.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/NDFDgridCheck.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/NDFDgridCheck.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/NDFDgridCheck.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/NDFDgridCheck.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/PWS_Procedure.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PWS_Procedure.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/PWS_Procedure.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PWS_Procedure.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/PlotSPCWatches.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PlotSPCWatches.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/PlotSPCWatches.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PlotSPCWatches.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/PlotTPCEvents.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PlotTPCEvents.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/PlotTPCEvents.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PlotTPCEvents.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/PopulateFromClimo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PopulateFromClimo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/PopulateFromClimo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/PopulateFromClimo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/Populate_SkyProcedure.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Populate_SkyProcedure.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/Populate_SkyProcedure.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/Populate_SkyProcedure.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/QPF_SnowAmt.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/QPF_SnowAmt.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/QPF_SnowAmt.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/QPF_SnowAmt.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/SeparateHazards.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/SeparateHazards.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/SeparateHazards.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/SeparateHazards.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/SnowAmtQPFPoPWxCheck.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/SnowAmtQPFPoPWxCheck.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/SnowAmtQPFPoPWxCheck.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/SnowAmtQPFPoPWxCheck.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/TCMWindTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/TCMWindTool.py similarity index 97% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/TCMWindTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/TCMWindTool.py index 4672b7593c..504da304cf 100644 --- a/cave/build/static/common/cave/etc/gfe/userPython/procedures/TCMWindTool.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/TCMWindTool.py @@ -31,11 +31,6 @@ # Author: Tom LeFebvre # Contributor: Pablo Santos # ---------------------------------------------------------------------------- -# SOFTWARE HISTORY -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 3/6/2013 15658 ryu Merge in change from AWIPS I DR 21414, which fixed -# makeMaxWindGrid() for when center is outside domain. # The MenuItems list defines the GFE menu item(s) under which the # Procedure is to appear. @@ -1341,16 +1336,52 @@ class Procedure (SmartScript.SmartScript): startTime = interpFcstList[0]["validTime"] endTime = startTime + (123 * 3600) # 123 hours later + fcstIndex = 0 + while fcstIndex < len(interpFcstList)-1: + f1 = interpFcstList[fcstIndex] + f2 = interpFcstList[fcstIndex + 1] + + f1Time = interpFcstList[fcstIndex]['validTime'] + f2Time = interpFcstList[fcstIndex + 1]['validTime'] + + print "Interpolating from:", time.asctime(time.gmtime(f1Time)), \ + "to", time.asctime(time.gmtime(f2Time)) + + lat1, lon1 = f1['centerLocation'] + lat2, lon2 = f2['centerLocation'] + + x1, y1 = self.getGridCell(lat1, lon1) + x2, y2 = self.getGridCell(lat2, lon2) + + if x1 is None or y1 is None or x2 is None or y2 is None: + fcstIndex += 1 + continue + + dx = abs(x2 - x1) + dy = abs(y2 - y1) + + dmax = max(dx, dy) + + newInterval = float(interval) / dmax + + newFcstList = self.interpolateWindFcst(f1, f2, newInterval) + + print "Created", len(newFcstList), "new wind forecasts." + + for f in newFcstList: + mag, dir = self.makeRankine(f, latGrid, lonGrid, pieSlices, radiiFactor) + + maxWindGrid = where(greater(mag, maxWindGrid), mag, maxWindGrid) + + fcstIndex += 1 + + if f2["validTime"] >= endTime: + break start = AbsTime.AbsTime(startTime) end = AbsTime.AbsTime(endTime) timeRange = TimeRange.TimeRange(start, end) - # Used getGrids to calculate the maximum wind grid. - # - # Fetch the max of the wind grids just generated as this is very fast. - maxWindGrid, maxDirGrid = self.getGrids("Fcst", "Wind", "SFC", timeRange, mode="Max") - maxWindGrid = self.smoothGrid(maxWindGrid, 3) self.createGrid("Fcst", "TCMMaxWindComposite", "SCALAR", maxWindGrid, timeRange, @@ -1454,7 +1485,7 @@ class Procedure (SmartScript.SmartScript): # # Use this method to fetch a product from the text database if productID == "preTCM": - textProduct = self.getTextProductFromFile("/tmp/Isaac.txt") + textProduct = self.getTextProductFromFile("/tmp/Irene.txt") decoder = TCMDecoder() decoder.decodeTCMProduct(textProduct, self.dialogEyeDiameter) fcstList = decoder.getFcstList() @@ -1557,6 +1588,14 @@ class Procedure (SmartScript.SmartScript): # get the lat, lon grids latGrid, lonGrid = self.getLatLonGrids() + # interpolate through forecast period to very high resolution and make + # a composite maxWind grid from those wind grids + if maxwindswath is "Yes": + t1 = time.time() + self.makeMaxWindGrid(interpFcstList, interval, latGrid, lonGrid, pieSlices, + radiiFactor) + print time.time() - t1, "seconds to generate Max wind composite." + # make a grid for each interpolate forecast gridCount = 0 for f in interpFcstList: @@ -1582,14 +1621,6 @@ class Procedure (SmartScript.SmartScript): print "TCMWindTool:", productID, "- Generated",gridCount, \ "out of", len(interpFcstList), "grids", time.asctime(time.gmtime(timeRange.startTime().unixTime())) - # interpolate through forecast period to very high resolution and make - # a composite maxWind grid from those wind grids - if maxwindswath is "Yes": - t1 = time.time() - self.makeMaxWindGrid(interpFcstList, interval, latGrid, lonGrid, pieSlices, - radiiFactor) - print time.time() - t1, "seconds to generate Max wind composite." - if msg != "": self.statusBarMsg(msg, "S") diff --git a/cave/build/static/common/cave/etc/gfe/userPython/procedures/ViewWCL.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ViewWCL.py similarity index 97% rename from cave/build/static/common/cave/etc/gfe/userPython/procedures/ViewWCL.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ViewWCL.py index 91e6fed4b7..3c41def638 100644 --- a/cave/build/static/common/cave/etc/gfe/userPython/procedures/ViewWCL.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/procedures/ViewWCL.py @@ -25,6 +25,12 @@ # ViewWCL # # Author: Matt Davis/ARX, Tom LeFebvre - Modified to fetch inventory +# SOFTWARE HISTORY +# +# Date Ticket# Engineer Description +# ------------ ---------- ----------- -------------------------- +# 03/07/13 15717 jzeng change CAVE_STATIC to COMMON_STATIC +# # # ---------------------------------------------------------------------------- @@ -94,10 +100,10 @@ class Procedure (SmartScript.SmartScript): # get the proper localization context from com.raytheon.uf.common.localization import LocalizationContext from com.raytheon.uf.common.localization import LocalizationContext_LocalizationType as LocalizationType - CAVE_STATIC = LocalizationType.valueOf("CAVE_STATIC") + COMMON_STATIC = LocalizationType.valueOf("COMMON_STATIC") from com.raytheon.uf.common.localization import LocalizationContext_LocalizationLevel as LocalizationLevel SITE = LocalizationLevel.valueOf("SITE") - ctx = pathManager.getContext(CAVE_STATIC, SITE) + ctx = pathManager.getContext(COMMON_STATIC, SITE) # use localization to get the full path wclName = os.path.join("gfe", "wcl") diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Adjust.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Adjust.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Adjust.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Adjust.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/AdjustValue_Down.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/AdjustValue_Down.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/AdjustValue_Down.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/AdjustValue_Down.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/AdjustValue_Up.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/AdjustValue_Up.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/AdjustValue_Up.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/AdjustValue_Up.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Assign_Value.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Assign_Value.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Assign_Value.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Assign_Value.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/CarSnowAmt.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CarSnowAmt.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/CarSnowAmt.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CarSnowAmt.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/CheckSkyWithPoP.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CheckSkyWithPoP.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/CheckSkyWithPoP.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CheckSkyWithPoP.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/CopyFromModel.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CopyFromModel.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/CopyFromModel.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/CopyFromModel.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Enhanced_WxTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Enhanced_WxTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Enhanced_WxTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Enhanced_WxTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/EnufCloudForPoP.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/EnufCloudForPoP.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/EnufCloudForPoP.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/EnufCloudForPoP.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/HeatIndexTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/HeatIndexTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/HeatIndexTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/HeatIndexTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/LimitValues.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/LimitValues.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/LimitValues.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/LimitValues.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MakeTmpGrid.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MakeTmpGrid.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MakeTmpGrid.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MakeTmpGrid.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MaxRH_Tool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MaxRH_Tool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MaxRH_Tool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MaxRH_Tool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MaxT_SmartTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MaxT_SmartTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MaxT_SmartTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MaxT_SmartTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MinRH_Tool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MinRH_Tool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MinRH_Tool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MinRH_Tool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MinT_SmartTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MinT_SmartTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MinT_SmartTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MinT_SmartTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/ModelBlend.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/ModelBlend.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/ModelBlend.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/ModelBlend.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/MoveFeatureBySpeed.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MoveFeatureBySpeed.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/MoveFeatureBySpeed.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/MoveFeatureBySpeed.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Populate_SkyTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Populate_SkyTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Populate_SkyTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Populate_SkyTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/QPF_SmartTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/QPF_SmartTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/QPF_SmartTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/QPF_SmartTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/RHTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/RHTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/RHTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/RHTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/RemoveWx.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/RemoveWx.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/RemoveWx.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/RemoveWx.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_Evolution.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_Evolution.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_Evolution.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_Evolution.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Area.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Area.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Area.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Area.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Grid.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Grid.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Grid.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Grid.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Highlights.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Highlights.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Highlights.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Highlights.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Info.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Info.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Show_ISC_Info.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Show_ISC_Info.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/Smooth.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Smooth.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/Smooth.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/Smooth.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/SnowAmt_SmartTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/SnowAmt_SmartTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/SnowAmt_SmartTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/SnowAmt_SmartTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/SnowAmt_fm_SnowRatio_and_QPF.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/SnowAmt_fm_SnowRatio_and_QPF.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/SnowAmt_fm_SnowRatio_and_QPF.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/SnowAmt_fm_SnowRatio_and_QPF.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalQPF.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalQPF.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalQPF.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalQPF.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalQPF_ISC.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalQPF_ISC.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalQPF_ISC.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalQPF_ISC.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalSnow.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalSnow.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalSnow.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalSnow.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalSnow_ISC.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalSnow_ISC.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/StormTotalSnow_ISC.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/StormTotalSnow_ISC.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindChillTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindChillTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindChillTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindChillTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindGustFromAlgorithm.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindGustFromAlgorithm.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindGustFromAlgorithm.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindGustFromAlgorithm.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindGust_Tool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindGust_Tool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/WindGust_Tool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/WindGust_Tool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/getGridsTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getGridsTool.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/getGridsTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getGridsTool.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/getMaxGrid.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getMaxGrid.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/getMaxGrid.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getMaxGrid.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/smartTools/getSumGrids.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getSumGrids.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/smartTools/getSumGrids.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/smartTools/getSumGrids.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/ElementByPeriod.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/ElementByPeriod.py new file mode 100644 index 0000000000..d3f3bb463a --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/ElementByPeriod.py @@ -0,0 +1,86 @@ +## +# 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. +## +######################################################################## +# ElementByPeriod +# +# Type: table +# Edit Areas: solicited from user +# To Run: +# Products-->Generate Products +# Choose Period (default is 3 hours per column) and Edit Area +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT +## +## Weather Element Table for BOU. +## +## Weather Element 12Z/9 15Z/9 18Z/9 21Z/9 +## +## Sky (%) 74 72 70 68 +## Wind (mph) W 20 W 20 W 20 W 15 +## Temp 33 34 35 35 +## Precip (%) 60 60 81 +## +######################################################################## + +Definition = { + + "type": "table", + "displayName": "TEST_Element By Period", # for Product Generation Menu + + # Output file for product results + "outputFile": "./ElementByPeriod.txt", # default output file + + "constantVariable": "EditArea", + "rowVariable": "WeatherElement", + "columnVariable": "TimePeriod", + + "beginningText": "Weather Element Table for %EditArea. \n\n", + "endingText": "", + + "defaultEditAreas": [("area1","Area 1")], + "runTimeEditAreas" : "yes", # if yes, ask user at run time + "defaultRanges": ["Today"], + "runTimeRanges" : "no", # if yes, ask user at run time + + "elementList": [ + ("Sky", "Sky (%)", + "avg", + "singleValue", + "Scalar", 1, None), + ("Wind","Wind (mph)", + "vectorRange", + "avgValue", + "Vector", 5, "ktToMph"), + ("T","Temp", + "avg", + "singleValue", + "Scalar", 1, None), + ("PoP", "Precip (%)", + "avg", + "singleValue", + "Scalar", 1, None), + ], + + "timePeriod": 3, + "runTimePeriod": "yes", # If yes, ask user at run time for period + + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/FirePeriodTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/FirePeriodTable.py new file mode 100644 index 0000000000..6ebc296fde --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/FirePeriodTable.py @@ -0,0 +1,110 @@ +## +# 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. +## +######################################################################## +# FirePeriodTable +# +# Type: table +# Edit Areas: solicited from user +# Weather Elements: You must have these Weather elements defined in +# your server: Sky, LAL, RelHum, MaxT, MinT, FreeWind, +# Haines, TransWind, MixHgt(ft agl) +# To Run: +# Set GFE Time Range +# Products-->Generate Products +# Choose Edit Areas +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT (Scarce Data) + +## Fire Period Table for Feb 29 00 17:00:00 GMT - Mar 01 00 11:00:00 GMT. + +## Edit Area Sky (%) LAL RelHum (%) MaxT MinT FreeWind(mph) Haines TransWind(mph) MixHgt(ft agl) + +## COAdams 36-23 46 26 +## COArapahoe 34-24 46 26 +## COBoulder 31-52 34 18 +## COClearCreek 16-57 26 12 +## CODenver 37-40 43 25 +## CODouglas 24-47 40 21 +## COElbert 31-22 46 25 + + + +######################################################################## +Definition = { + + "type": "table", + "displayName": "TEST_Fire Period Table", # for Product Generation Menu + + # Output file for product results + "outputFile": "./FirePeriodTable.txt", # default output file + + "constantVariable": "TimePeriod", + "rowVariable": "EditArea", + "columnVariable": "WeatherElement", + + "beginningText": "Fire Period Table for %TimePeriod. \n\n", + "endingText": "", + + # Edit Areas + "defaultEditAreas" : [("area1","Area 1"),("area2","Area 2")], + "runTimeEditAreas": "yes", + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + # Time Ranges + "defaultRanges": ["Today"], + "runTimeRanges" : "no", # if yes, ask user at run time + + "elementList": [ + ("Sky", "Sky (%)", + "minMax", + "range2Value", + "Scalar", 1, None), + ("LAL","LAL", + "minMax", + "range2Value", + "Scalar",1,None), + ("MaxT","MaxT", + "avg", + "singleValue", + "Scalar", 1, None), + ("MinT","MinT", + "avg", + "singleValue", + "Scalar", 1, None), + ("FreeWind","FreeWind(mph)", + "vectorRange", + "range2Value", + "Vector", 1, "ktToMph"), + ("Haines","Haines", + "minMax", + "range2Value", + "Scalar",1,None), + ("TransWind","TransWind(mph)", + "vectorRange", + "range2Value", + "Vector", 1, "ktToMph"), + ("MixHgt", "MixHgt(ft agl)", + "minMax", + "range2Value", + "Scalar",10,None), + ], + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/LE_Test_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/LE_Test_Local.py new file mode 100644 index 0000000000..1e21272516 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/LE_Test_Local.py @@ -0,0 +1,842 @@ +## +# 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. +## +# ---------------------------------------------------------------------------- +# This software is in the public domain, furnished "as is", without technical +# support, and with no warranty, express or implied, as to its usefulness for +# any purpose. +# +# Local_Effects_Test_Local +# Local customizations for AreaFcst as Base class to test Local Effects +# +# Author: hansen +# ---------------------------------------------------------------------------- + +import AreaFcst +import string +import TextRules +import types +import copy + +class TextProduct(AreaFcst.TextProduct): + Definition = copy.deepcopy(AreaFcst.TextProduct.Definition) + Definition['displayName'] = "None" + + # REQUIRED CONFIGURATION ITEMS + Definition['displayName'] = "TEST_LocalEffectsTest" + #Definition["outputFile"] = "/awips/GFESuite/products/TEXT/ZFP.txt" + + # Header configuration items + #Definition["productName"] = "ZONE FORECAST PRODUCT" # name of product + #Definition["fullStationID"] = "Kxxx" # full station identifier (4letter) + #Definition["wmoID"] = "FOUS45" # WMO ID + #Definition["pil"] = "ZFPxxx" # product pil + #Definition["areaName"] = "STATENAME" # Name of state, such as "GEORGIA" + #Definition["wfoCity"] = "WfoCity" # Location of WFO - city name + #Definition["wfoState"] = "WfoState" # Location of WFO - state name + + # OPTIONAL CONFIGURATION ITEMS + Definition["defaultEditAreas"] = [ + ("area3", "Area 3"), + # ("area2", "Area 2"), + ] + + Definition["windLE_list"] = 1 + Definition["tempLE_list"] = 1 + Definition["Period_1_version"] = 1 + Definition["tempLE_method"] = 1 + + #Definition["directiveType"] = "C11" + #Definition["directiveType"] = "10-503" # Can be "C11" + #Definition["includeFloodingQuestion"] = 1 # Set to 1 to include flooding question + + #Definition["includeMultipleElementTable"] = 1 # Will include a TempPoPTable + #Definition["cityDictionary"] = "CityDictionary" # For TempPoPTable + + #Definition["areaDictionary"] = "AreaDictionary" # For product headers + #Definition["language"] = "english" + + # Apply to C11 only: + #Definition["includeExtended"] = 1 # To include extended forecast + #Definition["extendedLabel"] = 1 # To include extended label + #Definition["includeEveningPeriod"] = 0 # To turn off evening period + + #Definition["includeMultipleElementTable"] = 1 # Will include a MultipleElementTable + # Uncomment just one elementList below + #Definition["elementList"] = ["Temp", "PoP"] # Default + #Definition["elementList"] = ["Temp", "Humidity", "PoP"] + #Definition["singleValueFormat"] = 1 # Default is 0 + + # Sampling Performance + #Definition["sampleFromServer"] = 1 # If 1, sample directly from server + # Trouble-shooting items + #Definition["passLimit"] = 20 # Limit on passes allowed through + # Narrative Tree + #Definition["trace"] = 1 # Set to 1 to turn on trace through + # Narrative Tree for trouble-shooting + #Definition["debug"] = 1 + + def __init__(self): + AreaFcst.TextProduct.__init__(self) + + # OPTIONAL OVERRIDES + #def DAY(self): + # return 6 + #def NIGHT(self): + # return 18 + + # The thresholds and variables included here were selected because + # they are commonly overridden for your product. + # See the Text Product User Guide for other thresholds and variables + # that may be relevant to your product and for more information + # about the ones included here. + + def phrase_descriptor_dict(self, tree, node): + # Descriptors for phrases + dict = TextRules.TextRules.phrase_descriptor_dict(self, tree, node) + # Uncomment this line for invoking areal or chance pop descriptor + #dict["PoP"] = self.areal_or_chance_pop_descriptor, + return dict + + def pop_lower_threshold(self, tree, node): + # Pop values below this amount will not be reported + return 20 + + def pop_upper_threshold(self, tree, node): + # Pop values above this amount will not be reported + return 70 + + def pop_wx_lower_threshold(self, tree, node): + # Pop-related Wx will not be reported if Pop is below this threshold + return 20 + + def pop_sky_lower_threshold(self, tree, node): + # Sky condition will not be reported if Pop is above this threshold + return 60 + + def pop_snow_lower_threshold(self, tree, node): + # Snow accumulation will not be reported if Pop is below this threshold + return 60 + + def pop_snowLevel_upper_threshold(self, tree, node): + # Snow level will be reported if Pop is above this threshold + return 60 + + def snowLevel_maximum_phrase(self, tree, node): + # This returns the maximum snow level value to be reported and the + # the corresponding snow level phrase. It can be set up by + # edit area as follows: + # editAreaList = [ + # ("area1", 8000, "above 8000 feet"), + # ("area2", 6000, "above 6000 feet"), + # # Don't mention snow level at all in area3: + # ("area3", 0, ""), + # ] + #maxElev = 0 + #phrase = "" + #for area, elev, elevPhrase in editAreaList: + # if self.currentAreaContains(tree, [area]): + # if elev > maxElev: + # maxElev = elev + # phrase = elevPhrase + #return (maxElev, phrase) + return (8000, "above 8000 feet") + + def null_nlValue_dict(self, tree, node): + # Threshold for reporting null values + # Units depend on the element and product + dict = TextRules.TextRules.null_nlValue_dict(self, tree, node) + dict["Wind"] = 5 + return dict + + def first_null_phrase_dict(self, tree, node): + # Phrase to use if values THROUGHOUT the period or + # in the first period are Null (i.e. below threshold OR NoWx) + # E.g. LIGHT WINDS. or LIGHT WINDS BECOMING N 5 MPH. + dict = TextRules.TextRules.first_null_phrase_dict(self, tree, node) + dict["Wind"] = "light winds" + return dict + + def null_phrase_dict(self, tree, node): + # Phrase to use for null values in subPhrases other than the first + # Can be an empty string + # E.g. "NORTH WINDS 20 to 25 KNOTS BECOMING LIGHT" + dict = TextRules.TextRules.null_phrase_dict(self, tree, node) + dict["Wind"] = "light" + dict["Wx"] = "" + return dict + + def increment_nlValue_dict(self, tree, node): + # Increment for rounding values + # Units depend on the product + dict = TextRules.TextRules.increment_nlValue_dict(self, tree, node) + dict["Wind"] = 5 + return dict + + def vector_mag_difference_dict(self, tree, node): + # Replaces WIND_THRESHOLD + # Magnitude difference. If the difference between magnitudes + # for the first and second half of a period is greater than this value, + # the different magnitudes will be noted in the phrase. + # Units can vary depending on the element + dict = TextRules.TextRules.vector_mag_difference_dict(self, tree, node) + dict["Wind"] = 10 + return dict + + def scalar_difference_nlValue_dict(self, tree, node): + # Scalar difference. If the difference between scalar values + # for 2 sub-periods is greater than this value, + # the different values will be noted in the phrase. + return { + "WindGust": 10, # knots or mph depending on product + "Period": 5, # seconds + "PoP": 10, # percentage + } + + def lake_wind_areaNames(self, tree, node): + # Return list of edit area names for which the lake_wind_phrase + # should be generated + # If you want the phrase potentially generated for all zones, use: + # return ["ALL"] + return [] + + def useWindsForGusts_flag(self, tree, node): + # Turn this on if you want to use the maximum Wind + # for reporting Gusts if a WindGust grid is not found + return 0 + + def maximum_range_nlValue_dict(self, tree, node): + # Maximum range to be reported within a vector phrase + # e.g. 5 to 10 mph + # Units depend on the product + dict = TextRules.TextRules.maximum_range_nlValue_dict(self, tree, node) + #dict["MaxT"] = 15 + #dict["MinT"] = 15 + return dict + + def minimum_range_nlValue_dict(self, tree, node): + # This threshold is the "smallest" min/max difference allowed between values reported. + # For example, if threshold is set to 5 for "MaxT", and the min value is 45 + # and the max value is 46, the range will be adjusted to at least a 5 degree + # range e.g. 43-48. These are the values that are then submitted for phrasing + # such as: + # HIGHS IN THE MID 40S + dict = TextRules.TextRules.minimum_range_nlValue_dict(self, tree, node) + #dict["MaxT"] = 5 + #dict["MinT"] = 5 + return dict + + def range_threshold_nlValue_dict(self, tree, node): + # Range for reporting temperature ranges in temp_range_phrase + # e.g HIGHS 80 TO 85 + dict = TextRules.TextRules.range_threshold_nlValue_dict(self, tree, node) + dict["MaxT"] = 5 + dict["MinT"] = 5 + dict["MinRH"] = 5 + dict["MaxRH"] = 5 + dict["WindChill"] = 5 + dict["HeatIndex"] = 5 + return dict + + def temp_trend_nlValue(self, tree, node): + # THRESHOLD FOR REPORTING TEMPERATURE TRENDS + return 20.0 + + def stdDev_dict(self, parmHisto, timeRange, componentName): + # This dictionary defines the low and high limit at which + # outliers will be removed when calculating stdDev stats. + # These tuples represent the (low, high) number of standard + # deviations. Any values falling outside this range will + # not be included in the calculated statistic. + return { + "LAL": (1.0, 1.0), + "MinRH": (1.0, 1.0), + "MaxRH": (1.0, 1.0), + "MinT": (1.0, 1.0), + "MaxT": (1.0, 1.0), + "Haines": (1.0, 1.0), + "PoP" : (1.0, 1.0), + "T" : (1.0, 1.0), + "Wind" : (1.0, 1.0), + } + + def value_connector_dict(self, tree, node): + dict = TextRules.TextRules.value_connector_dict(self, tree, node) + dict["MaxT"] = " to " + dict["MinT"] = " to " + return dict + + def windChillTemp_difference(self, tree, node): + # Difference between wind chill and temperature + # for reporting wind chill + return 5 + + def heatIndexTemp_difference(self, tree, node): + # Difference between heat index and temperature + # for reporting heat index + return 5 + + + def Period_1(self): + exec "value = self.Period_1_version" + `self._Period_1_version` + "()" + return value + + def Period_1_version1(self): + return { + "type": "component", + "methodList": [ + self.consolidateSubPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "analysisList": [ + #("MinT", self.avg), + #("MaxT", self.avg), + ("MaxT", self.stdDevMinMax), + ("T", self.hourlyTemp), + ("T", self.minMax), + ("Sky", self.median, [3]), + ("Sky", self.binnedPercent, [6]), + ("PoP", self._PoP_analysisMethod("Period_1"), [3]), + ("PoP", self.binnedPercent, [3]), + ("SnowAmt", self.accumMinMax), + ("IceAccum", self.accumMinMax), + ("Wind", self.vectorMedianRange, [6]), + ("Wind", self.vectorMinMax, [6]), + ("WindGust", self.maximum, [6]), + ("Wx", self.rankedWx, [3]), + ], + "phraseList":[ +## self.skyPopWx_phrase, +## (self.skyPopWx_phrase, self._wxLocalEffects_list()), +## self.sky_phrase, +## self.wind_summary, +## self.reportTrends, +## self.weather_phrase, +## (self.weather_phrase, self._wxLE_list), + +## (self.weather_phrase,self._wxLocalEffects_list()), +## (self.snow_phrase,self._snowAmtLocalEffects_list()), +## (self.total_snow_phrase,self._totalSnowAmtLocalEffects_list()), + + (self.highs_phrase, self._tempLocalEffects_list()), +## (self.highs_phrase, self._tempLocalEffects_method), + + (self.wind_withGusts_phrase, self._windLocalEffects_list()), + +## self.popMax_phrase, + ], +## "additionalAreas": [ +## # Areas listed by weather element that will be +## # intersected with the current area then +## # sampled and analysed. +## # E.g. used in local effects methods. +## ("MaxT", ["area2", "area1"]), +## ], + "intersectAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("MaxT", ["AboveElev", "BelowElev"]), + ("Wind", ["AboveElev", "BelowElev"]), + ("WindGust", ["AboveElev", "BelowElev"]), + ("SnowAmt", ["AboveElev", "BelowElev"]), + ("Wx", ["AboveElev", "BelowElev"]), + ("PoP", ["AboveElev", "BelowElev"]), + ], + } + + def TotalSnowSampling(self): + return { + "type": "component", + "methodList": [self.noWords], + "analysisList": [ + ("SnowAmt", self.accumMinMax), + ], + "phraseList":[], + "intersectAreas": [ + ("SnowAmt", ["AboveElev", "BelowElev"]), + ], + } + + def _wxLE_list(self, tree, node): + leArea5 = self.LocalEffectArea("BelowElev", "") + leArea6 = self.LocalEffectArea("AboveElev", "along major rivers", intersectFlag=1) + return [self.LocalEffect([leArea5, leArea6],0, "...except ")] + + def _tempLocalEffects_list(self): + exec "value = self._tempLocalEffects_list" + `self._tempLE_list` + "()" + return value + + def _tempLocalEffects_list1(self): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "in the mountains") + return [self.LocalEffect([leArea1, leArea2], 8, "...except ")] + + def _windLocalEffects_list(self): + exec "value = self._windLocalEffects_list" + `self._windLE_list` + "()" + return value + + def _windLocalEffects_list1(self): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "in the mountains") + return [self.LocalEffect([leArea1, leArea2], 10, "...except ")] + + def Period_2_3(self): + # No Lake Wind phrase + return { + "type": "component", + "methodList": [ + self.consolidateSubPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "intersectAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("SnowAmt", ["AboveElev", "BelowElev"]), + ("Wx", ["AboveElev", "BelowElev"]), + ("PoP", ["AboveElev", "BelowElev"]), + ], + "analysisList": [ + #("MinT", self.avg), + #("MaxT", self.avg), + ("MinT", self.stdDevMinMax), + ("MaxT", self.stdDevMinMax), + ("T", self.hourlyTemp), + ("T", self.minMax), + ("Sky", self.median, [6]), + ("PoP", self._PoP_analysisMethod("Period_2_3"), [6]), + ("PoP", self.binnedPercent, [6]), + ("SnowAmt", self.accumMinMax), + ("IceAccum", self.accumMinMax), + ("SnowLevel", self.avg), + ("Wind", self.vectorMedianRange, [6]), + ("Wind", self.vectorMinMax, [6]), + ("WindGust", self.maximum, [6]), + ("Wx", self.rankedWx, [6]), + ("WindChill", self.minMax), + ("HeatIndex", self.minMax), + ], + "phraseList":[ + self.sky_phrase, + self.wind_summary, + self.reportTrends, + (self.weather_phrase,self._wxLocalEffects_list()), + #self.weather_phrase, + self.severeWeather_phrase, + (self.snow_phrase,self._snowAmtLocalEffects_list()), + #self.snow_phrase, + (self.total_snow_phrase,self._totalSnowAmtLocalEffects_list()), + self.snowLevel_phrase, + self.highs_phrase, + self.lows_phrase, + #self.highs_range_phrase, + #self.lows_range_phrase, + self.temp_trends, + self.wind_withGusts_phrase, +# self.lake_wind_phrase, + self.popMax_phrase, + self.windChill_phrase, + self.heatIndex_phrase, + ], + } + + def Period_4_5(self): + # Descriptive snow phrase + return { + "type": "component", + "methodList": [ + self.consolidateSubPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "analysisList": [ + #("MinT", self.avg), + #("MaxT", self.avg), + ("MinT", self.stdDevMinMax), + ("MaxT", self.stdDevMinMax), + ("T", self.hourlyTemp), + ("T", self.minMax), + ("Sky", self.median, [6]), + ("PoP", self._PoP_analysisMethod("Period_4_5"), [6]), + ("PoP", self.binnedPercent, [6]), + ("SnowAmt", self.accumMinMax), + ("IceAccum", self.accumMinMax), + ("SnowLevel", self.avg), + ("Wind", self.vectorMedianRange, [6]), + ("Wind", self.vectorMinMax, [6]), + ("Wx", self.rankedWx, [6]), + ("WindChill", self.minMax), + ("HeatIndex", self.minMax), + ], + "phraseList":[ + self.sky_phrase, + self.wind_summary, + self.reportTrends, + (self.weather_phrase,self._wxLocalEffects_list()), + #self.weather_phrase, + self.severeWeather_phrase, + self.snow_phrase, + self.total_snow_phrase, + self.snowLevel_phrase, + self.highs_phrase, + self.lows_phrase, + #self.highs_range_phrase, + #self.lows_range_phrase, + self.temp_trends, + self.wind_withGusts_phrase, + self.popMax_phrase, + self.windChill_phrase, + self.heatIndex_phrase, + ], + "intersectAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("SnowAmt", ["AboveElev", "BelowElev"]), + ("Wx", ["AboveElev", "BelowElev"]), + ("PoP", ["AboveElev", "BelowElev"]), + ], + } + + def _snowAmtLocalEffects_list(self): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "above timberline") + return [self.LocalEffect([leArea1, leArea2], 2, "...except ")] + + def _totalSnowAmtLocalEffects_list(self): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "above timberline") + return [self.LocalEffect( + [leArea1, leArea2], self._checkTotalSnow, "...except ")] + + def _checkTotalSnow(self, tree, node, localEffect, leArea1Label, leArea2Label): + totalSnow1 = self.getTotalSnow(tree, node, leArea1Label) + totalSnow2 = self.getTotalSnow(tree, node, leArea2Label) + if totalSnow1 is None or totalSnow2 is None: + return 0 + if type(totalSnow1) is types.TupleType: + min,totalSnow1 = totalSnow1 + if type(totalSnow2) is types.TupleType: + min,totalSnow2 = totalSnow2 + if abs(totalSnow1 - totalSnow2) > 3: + return 1 + return 0 + + def _wxLocalEffects_list(self): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "above timberline") + return [self.LocalEffect([leArea1, leArea2], 10, "...except ")] + + def _10_503_issuance_list(self, argDict): + seriesDefAM = [ + ("Period_1", "period1"), +## ("Period_2_3", 12), ("Period_2_3", 12), ("Period_4_5", 12), ("Period_4_5", 12), +## ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), +## ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), + ] + seriesDefPM = [ + ("Period_1", "period1"), + ("Period_2_3", 12), ("Period_2_3", 12), + ("Period_4_5", 12), ("Period_4_5", 12), + ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), + ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), ("Period_6_14", 12), + ("Period_6_14", 12), + ] + + return [ + ("Morning", self.DAY(), self.NIGHT(), self.NIGHT(), + ".TODAY...", "early in the morning", "late in the afternoon", + 1, seriesDefAM), + ("Morning with Pre-1st Period", self.DAY()-2, self.NIGHT(), self.NIGHT(), + ".TODAY...", "early in the morning", "late in the afternoon", + 1, seriesDefAM), + ("Morning Update", "issuanceHour", self.NIGHT(), self.NIGHT(), + ".REST OF TODAY...", "early in the morning", "late in the afternoon", + 1, seriesDefAM), + ("Afternoon Update", "issuanceHour", self.NIGHT(), self.NIGHT(), + ".REST OF TODAY...", "early in the morning","late in the afternoon", + 1, seriesDefAM), + # End times are tomorrow: + ("Afternoon", self.NIGHT(), 24 + self.DAY(), 24 + self.DAY(), + ".TONIGHT...", "late in the night", "early in the evening", + 1, seriesDefPM), + ("Afternoon with Pre-1st Period", self.NIGHT()-2, 24 + self.DAY(), 24 + self.DAY(), + ".TONIGHT...", "late in the night", "early in the evening", + 1, seriesDefPM), + ("Evening Update", "issuanceHour", 24 + self.DAY(), 24 + self.DAY(), + ".REST OF TONIGHT...", "early in the morning","early in the evening", + 1, seriesDefPM), + # For the early morning update, this produces: + # REST OF TONIGHT: + # MONDAY + # MONDAY NIGHT + ("Early Morning Update", "issuanceHour", self.DAY(), self.DAY(), + ".REST OF TONIGHT...", "early in the morning","late in the afternoon", + 0, seriesDefPM), + # Alternative + # For the early morning update, this produces: + # EARLY THIS MORNING: + # TODAY + # TONIGHT + #("Evening Update", "issuanceHour", 24 + self.DAY(), 24 + self.DAY(), + # ".REST OF TONIGHT...", "late in the night", "early in the evening", + # 1, seriesDefPM), + #("Early Morning Update", "issuanceHour", self.DAY(), self.DAY(), + # ".EARLY THIS MORNING...", "early in the morning", "late in the afternoon", + # 1, seriesDefPM), + ] + +## def checkThreshold(self, tree, node, triggerMethod, leArea1, leArea2): +## # Return 1 if the difference between leArea1 and leArea2 stats is +## # greater than the threshold +## # Handles stats that are a min/max or a singleValue +## leArea1Label = self.getLeAreaLabel(tree, node, leArea1) +## leArea2Label = self.getLeAreaLabel(tree, node, leArea2) +## if type(triggerMethod) is types.MethodType: +## flag = triggerMethod(tree, node, node.get("localEffect"), leArea1Label, leArea2Label) +## else: +## first = node.getAncestor("firstElement") +## element = first.name +## dataType = first.dataType +## if dataType == self.WEATHER(): +## mergeMethod = "Average" +## else: +## mergeMethod = "MinMax" +## timeRange = node.getTimeRange() +## area1Stats = tree.stats.get(element, timeRange, leArea1Label, +## mergeMethod=mergeMethod) +## area2Stats = tree.stats.get(element, timeRange, leArea2Label, +## mergeMethod=mergeMethod) +## print "\nLocal effects", element, timeRange +## print leArea1Label, area1Stats +## print leArea2Label, area2Stats +## if area1Stats is None or area2Stats is None: +## return 0 +## flag = self.checkLocalEffectDifference( +## tree, node, dataType, triggerMethod, area1Stats, area2Stats, +## leArea1Label, leArea2Label) +## print "returning", flag +## return flag + + + +################################################### +#### TEST OVERRIDE SECTION + + # EXCEPT VS OTHERWISE WORDING: + + def _windLocalEffects_list2(self): + leArea1 = self.LocalEffectArea("BelowElev", "", "in the valleys") + leArea2 = self.LocalEffectArea("AboveElev", "in the mountains") + return [self.LocalEffect([leArea2, leArea1], 10, "...otherwise ")] + + # USING A METHOD TO SPECIFY LOCAL EFFECT AREAS: + + def _tempLocalEffects_list2(self): + return [self.LocalEffect(self._getTempLeAreas, 8, "...except ")] + + def _getTempLeAreas(self, tree, node): + leArea1 = self.LocalEffectArea("BelowElev", "") + leArea2 = self.LocalEffectArea("AboveElev", "in the mountains") + return [leArea1, leArea2] + + # LOCAL EFFECT AREAS THAT DO NOT INTERSECT THE CURRENT AREA + + def Period_1_version2(self): + return { + "type": "component", + "methodList": [ + self.consolidateSubPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "analysisList": [ + #("MinT", self.avg), + #("MaxT", self.avg), + ("MaxT", self.stdDevMinMax), + ("T", self.hourlyTemp), + ("T", self.minMax), + ("Sky", self.median, [3]), + ("Sky", self.binnedPercent, [6]), + ("PoP", self._PoP_analysisMethod("Period_1"), [3]), + ("PoP", self.binnedPercent, [3]), + ("SnowAmt", self.minMax), + ("IceAmt", self.minMax), + ("Wind", self.vectorMedianRange, [6]), + ("Wind", self.vectorMinMax, [6]), + ("WindGust", self.maximum, [6]), + ("Wx", self.rankedWx, [3]), + ], + "phraseList":[ +## self.skyPopWx_phrase, +## (self.skyPopWx_phrase, self._wxLocalEffects_list()), +## self.sky_phrase, +## self.wind_summary, +## self.reportTrends, +## self.weather_phrase, +## (self.weather_phrase,self._wxLocalEffects_list()), +## self.severeWeather_phrase, +## +## (self.snow_phrase,self._snowAmtLocalEffects_list()), +## (self.total_snow_phrase,self._totalSnowAmtLocalEffects_list()), + +## (self.highs_phrase, self._tempLocalEffects_list()), + (self.highs_phrase, self._tempLocalEffects_method), + +## (self.wind_withGusts_phrase, self._windLocalEffects_list()), + +## self.popMax_phrase, + ], + "additionalAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("MaxT", ["area2", "area1"]), + ], + "intersectAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("MaxT", ["AboveElev", "BelowElev"]), + ("Wind", ["AboveElev", "BelowElev"]), + ("WindGust", ["AboveElev", "BelowElev"]), + ("SnowAmt", ["AboveElev", "BelowElev"]), + ("Wx", ["AboveElev", "BelowElev"]), + ("PoP", ["AboveElev", "BelowElev"]), + ], + } + + def _tempLocalEffects_method(self, tree, node): + exec "value = self._tempLocalEffects_method" + `self._tempLE_method` + "(tree, node)" + return value + + def _tempLocalEffects_method1(self, tree, node): + if self.currentAreaContains(tree, ["area3"]): + leArea1 = self.LocalEffectArea( + "__Current__","",intersectFlag=0) + leArea2 = self.LocalEffectArea("area1", + "in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [ + self.LocalEffect([leArea1,leArea2],5,"...except "), + self.LocalEffect([leArea1,leArea3],5,"...except "), + ] + else: + return [] + + def _tempLocalEffects_method2(self, tree, node): + if self.currentAreaContains(tree, ["area3"]): + leArea1 = self.LocalEffectArea( + "__Current__","in the city",intersectFlag=0) + leArea2 = self.LocalEffectArea("area1", + "in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [self.LocalEffect([leArea1,leArea2, leArea3],5,"...and ")] + #return [ + # self.LocalEffect([leArea1,leArea2],5,"...except "), + # self.LocalEffect([leArea1,leArea3],5,"...except "), + # ] + else: + return [] + + + def Period_1_version3(self): + return { + "type": "component", + "methodList": [ + self.consolidateSubPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "analysisList": [ + ("Sky", self.median, [3]), + ("PoP", self._PoP_analysisMethod("Period_1"), [3]), + ("PoP", self.binnedPercent, [3]), + ("Wx", self.rankedWx, [3]), + ], + "phraseList":[ + (self.sky_phrase, self._skyLocalEffects_list()), + (self.skyPopWx_phrase, self._skyPopWxLocalEffects_list()), + (self.weather_phrase,self._wxLocalEffects_list()), + (self.popMax_phrase, self._popLocalEffects_list()), + ], + "additionalAreas": [ + # Areas listed by weather element that will be + # intersected with the current area then + # sampled and analysed. + # E.g. used in local effects methods. + ("Sky", ["area2", "area1"]), + ("Wx", ["area2", "area1"]), + ("PoP", ["area2", "area1"]), + ], + } + + def _skyLocalEffects_list(self): + leArea1 = self.LocalEffectArea( + "__Current__","in the city",intersectFlag=0) + leArea2 = self.LocalEffectArea( + "area1","in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [ + self.LocalEffect([leArea1, leArea2, leArea3], self.checkSkyDifference,"..."), + ] + + def _wxLocalEffects_list(self): + leArea1 = self.LocalEffectArea( + "__Current__","in the city",intersectFlag=0) + leArea2 = self.LocalEffectArea( + "area1","in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [ + self.LocalEffect([leArea1, leArea2, leArea3], 0, "..."), + ] + + def _popLocalEffects_list(self): + leArea1 = self.LocalEffectArea( + "__Current__","in the city",intersectFlag=0) + leArea2 = self.LocalEffectArea( + "area1","in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [ + self.LocalEffect([leArea1, leArea2, leArea3], 20, "..."), + ] + + def _skyPopWxLocalEffects_list(self): + leArea1 = self.LocalEffectArea( + "__Current__","in the city",intersectFlag=0) + leArea2 = self.LocalEffectArea( + "area1","in the rush valley", intersectFlag=0) + leArea3 = self.LocalEffectArea( + "area2", "in the benches",intersectFlag=0) + return [ + self.LocalEffect([leArea1, leArea2, leArea3], self.checkSkyWxDifference, "..."), + ] diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MarineSnapshotTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MarineSnapshotTable.py new file mode 100644 index 0000000000..aac0606577 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MarineSnapshotTable.py @@ -0,0 +1,83 @@ +## +# 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. +## +####################################################################### +# Table Definition +# +######################################################################## +## EXAMPLE OUTPUT (Scarce Data) + +## MarineSnapshotTable for Feb 29 00 17:00:00 GMT - Mar 01 00 11:00:00 GMT. + +## Edit Area Wind (kt) Waves (ft) Swells (ft) + +## COAdams W 10 +## COArapahoe W 10 +## COBoulder W 5 +## COClearCreek W 5 +## CODenver W 5 +## CODouglas W 5 +## COElbert W 10 + + +MarineSnapshotTable = { + + "type": "table", + "displayName": "TEST_Marine Snapshot Table", # for Product Generation Menu + + # Output file for product results + "outputFile": "./MarineSnapshotTable.txt", # default output file + + "constantVariable": "TimePeriod", + "rowVariable": "EditArea", + "columnVariable": "WeatherElement", + + "beginningText": "MarineSnapshotTable for %TimePeriod. \n\n", + "endingText": "", + + "defaultEditAreas": [("area1", "Area 1"), + ("area2", "Area 2"), + ], + "runTimeEditAreas" : "yes", # if yes, ask user at run time + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + "defaultRanges": [("Today"), + ("Tonight"), + ("Tomorrow"), + ], + # If runTimeRanges is yes, ask user to choose from defaults + # at run time. + "runTimeRanges" : "yes", + + "elementList": [ + ("Wind", "Wind (kt)", + "vectorRange", + "avgValue", + "Vector", 5, None), + ("WaveHeight","Waves (ft)", + "minMax", + "range2Value", + "Scalar", 1, None), + ("Swell","Swells (ft)", + "vectorAvg", + "singleValue", + "Vector", 1, None), + ], + + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridData.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridData.py new file mode 100644 index 0000000000..b02f4847e6 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridData.py @@ -0,0 +1,36 @@ +## +# 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. +## +## +# This is a class meant to act as a placeholder for a Java +# IGridData object in unit testing of HazardUtils.py. +# It has a single field, slice, and a single method, getSlice(), +# which returns whatever was set for the slice in the constructor +# or through direct manipulation of the slice field. +class MockGridData(object): + "Crippled substitute for IGridData java class." + + def __init__(self, slice=None): + "Constructor" + self.slice = slice + + def getGridSlice(self): + "Return the slice field." + return self.slice + \ No newline at end of file diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridInfo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridInfo.py new file mode 100644 index 0000000000..f33205af83 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockGridInfo.py @@ -0,0 +1,25 @@ +## +# 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. +## +class MockGridInfo(object): + def __init__(self): + self.parm = None + + def getParm(self): + return self.parm \ No newline at end of file diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockHazardUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockHazardUtils.py new file mode 100644 index 0000000000..56290f0452 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockHazardUtils.py @@ -0,0 +1,189 @@ +## +# This software was developed and / or modified by Raytheon Company, +# pursuant to Contract DG133W-05-CQ-1067 with the US Government. +# +# U.S. EXPORT CONTROLLED TECHNICAL DATA +# This software product contains export-restricted data whose +# export/transfer/disclosure is restricted by U.S. law. Dissemination +# to non-U.S. persons whether in the United States or abroad requires +# an export license or other authorization. +# +# Contractor Name: Raytheon Company +# Contractor Address: 6825 Pine Street, Suite 340 +# Mail Stop B8 +# Omaha, NE 68106 +# 402.291.0100 +# +# See the AWIPS II Master Rights File ("Master Rights File.pdf") for +# further licensing information. +## +import types +from HazardUtils import HazardUtils +import MockParm + +## +# This class is intended to allow HazardUtils to be tested. +# It does this by overriding SmartScript methods used by HazardUtils with +# methods that return dummy objects. +class MockHazardUtils(HazardUtils): + + def __init__(self, dbss, eaMgr, mdMode=None, toolType="numeric"): + "" + HazardUtils.__init__(self, dbss, eaMgr, mdMode=None, toolType="numeric") + self.discreteKeys = {} + self.grids = {} + self.gridInfo = {} + self.log = None + self.parms = {} + + ## + # Override of SmartScript.getGridInfo() to bypass use of + # the parm manager. This just returns whatever has been set + # for self.gridinfo[element], or throws an exception if + # self.gridinfo[element] does not exist.. + def getGridInfo(self, model, element, level, timeRange, + mostRecentModel=0): + "" + if self.gridInfo.has_key(element): + return self.gridInfo[element] + raise RuntimeError, "getGridInfo: No Weather Element "+exprName + + ## + # Override of SmartScript.getGrids() to bypass use of the + # parm manager. This just returns whatever has been set + # in self.grids for element (since model and level + # are usually "Fcst" and "SFC"). + # Added the ability to return grids based on element and timerange + # for testing of _consecutiveIdenticalGrids(). + def getGrids(self, model, element, level, timeRange, + mode="TimeWtAverage", + noDataError=1, mostRecentModel=0, + cache=1): + start = timeRange.getStart().getTime() + if self.grids.has_key((element, start)): + return self.grids[(element, start)] + return self.grids[element] + + ## + # Override of SmartScript.getParm() to bypass use of the + # parm manager. This just returns whatever has been set + # in self.parms for element (since model and level + # are usually "Fcst" and "SFC"). + def getParm(self, model, element, level, timeRange=None, mostRecent=0): + if element in self.parms: + return self.parms[element] + return None + + ## + # Override of SmartScript.getGridShape() to bypass use of the + # parm manager. + def getGridShape(self): + return (145, 145) + + ## + # Override of SmartScript.createGrid() to bypass use of the + # parm manager. This method writes all its non-default arguments + # to the log and creates a Python MockParm for the element if it + # is not in self.parms. + def createGrid(self, model, element, elementType, numericGrid, timeRange, + descriptiveName=None, timeConstraints=None, + precision=None, minAllowedValue=None, + maxAllowedValue=None, units=None, rateParm=0, + discreteKeys=None, discreteOverlap=None, + discreteAuxDataLength=None, defaultColorTable=None): + if self.log is not None: + self.log.write("createGrid(): ") + self.__dumpParms(model=model, element=element, elementType=elementType, + numericGrid=numericGrid, timeRange=timeRange, + descriptiveName=descriptiveName, timeConstraints=timeConstraints, + precision=precision, minAllowedValue=minAllowedValue, + maxAllowedValue=maxAllowedValue, units=units, rateParm=rateParm, + discreteKeys=discreteKeys, discreteOverlap=discreteOverlap, + discreteAuxDataLength=discreteAuxDataLength, + defaultColorTable=defaultColorTable) + # HazardUtils.addHazard() calls _removeOldGrids(element), and + # isn't smart enough to skip the call if element is a temp hazard + # that it just created. _removeOldGrids() raises an exception if it + # can't obtain the parm, so we need to add it to self.parms. + if not element in self.parms: + self.parms[element] = MockParm.MockParm(element, self.log) + + ## + # Dump names and values of all parameters to the log. + # Arguments whose value is None are not dumped; string argvalues are single-quoted. + # The parms are written as a long string with spaces for separators. + def __dumpParms(self, **kwargs): + if self.log is not None: + sep = "" + for argName in sorted(kwargs.keys()): + argVal = kwargs[argName] + if argVal is not None: + self.log.write(sep) + self.log.write(argName) + self.log.write("=") + if isinstance(argVal,types.StringType): + self.log.write("'") + self.log.write(argVal) + self.log.write("'") + elif isinstance(argVal,types.TupleType): + self.log.write("(") + self.__dumpArgs(*argVal) + self.log.write(")") + elif "shape" in dir(argVal): + # Assume it's a numpy array + typeName = str(type(argVal)) + self.log.write(typeName) + self.log.write(argVal.shape) + else: + self.log.write(str(argVal)) + sep = " " + + ## + # Dump values of sequences + def __dumpArgs(self, *args): + if self.log is not None: + sep = "" + for arg in args: + self.log.write(sep) + if isinstance(arg, types.StringType): + self.log.write("'") + self.log.write(arg) + self.log.write("'") + elif isinstance(arg, types.TupleType): + self.log.write("(") + self.__dumpArgs(*arg) + self.log.write(")") + elif "shape" in dir(arg): + # Assume it's a numpy array + typeName = str(type(arg)) + self.log.write(typeName) + self.log.write(arg.shape) + else: + self.log.write(arg) + sep = ", " + + def getDiscreteKeys(self, element): + if element in self.discreteKeys: + return self.discreteKeys[element] + return None + + # Override for SmartScript.loadedParms. + # Returns a list of 3-tuples, where each tuple[0] is the + # key of an entry in self.parms and tuple[1] and [2] are + # always 'SFC' and 'Fcst' (because this mock object doesn't + # keep track of level or model). + def loadedParms(self): + lenp = len(self.parms) + ans = zip( self.parms.keys(), ['SFC'] * lenp, ['Fcst'] * lenp) + return ans + + def statusBarMsg(self, message, status, category="GFE"): + if message is None: + raise RuntimeError, "no message" + elif status is None: + raise RuntimeError, "no status" + elif not status in ['A', 'R', 'U', 'S']: + raise RuntimeError, "bad status value: " + status + if self.log is not None: + self.log.write("statusBarMsg(message='%s', status='%s', category='%s')\n" + % (message, status, category)) diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockParm.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockParm.py new file mode 100644 index 0000000000..157f4ad0f0 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockParm.py @@ -0,0 +1,82 @@ +## +# This software was developed and / or modified by Raytheon Company, +# pursuant to Contract DG133W-05-CQ-1067 with the US Government. +# +# U.S. EXPORT CONTROLLED TECHNICAL DATA +# This software product contains export-restricted data whose +# export/transfer/disclosure is restricted by U.S. law. Dissemination +# to non-U.S. persons whether in the United States or abroad requires +# an export license or other authorization. +# +# Contractor Name: Raytheon Company +# Contractor Address: 6825 Pine Street, Suite 340 +# Mail Stop B8 +# Omaha, NE 68106 +# 402.291.0100 +# +# See the AWIPS II Master Rights File ("Master Rights File.pdf") for +# further licensing information. +## +import sys +import numpy as np +import MockGridData +import MockSlice +import TimeRange +from com.raytheon.uf.common.time import TimeRange as TR + +## +# A Python stand-in for a Java Parm, for unit testing. +class MockParm(object): + + ## + # Constructor. + # @param id: ID of this Parm, so we can tell if the right one is being used. + # @type id: string + # @param outObj: place to log events + # @type outObj: file-like + def __init__(self, id, outObj=sys.stdout): + self.id = id + self.outObj = outObj + self.gridInventory = [] + self.lockedTRs = [] + + ## + # Stub substitute for the deleteTR() method of Java Parm interface. + # This method writes a string containing timeRange and self.id to + # self.outObj. + # @param timeRange: The time range of grids to delete from this parm. + # @type timeRange: com.raytheon.uf.common.time.TimeRange + def deleteTR(self, timeRange): + if isinstance(timeRange, TimeRange.TimeRange): + raise TypeError, "timeRange is python wrapper object, not proper Java object" + if not timeRange.isValid(): + raise RuntimeError, "Java time range is invalid" + + self.outObj.write("parm(" + self.id + "):deleteTR(" + repr(timeRange) + ")\n") + self.outObj.flush() + + def getGridInventory(self, timeRange): + if isinstance(timeRange, TimeRange.TimeRange): + raise TypeError, "timeRange is python wrapper object, not proper Java object" + if not timeRange.isValid(): + raise RuntimeError, "Java time range is invalid" + + return self.gridInventory + + def startParmEdit(self, dateList): + rtnGrids = [] + for idx in range(len(dateList)): + date = dateList[idx] + tr = TR(date, 1000L) + for lockedTR in self.lockedTRs: + if lockedTR.overlaps(tr): + rte = RuntimeError("com.raytheon.viz.gfe.GFEOperationFailedException: locked timerange: " + str(tr)); + raise rte + self.lockedTRs.append(tr) + slice = MockSlice.MockSlice(tr) + data = MockGridData.MockGridData(slice) + rtnGrids.append(data) + return rtnGrids + + def endParmEdit(self): + self.lockedTRs = [] diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockSlice.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockSlice.py new file mode 100644 index 0000000000..e89af9ee71 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/MockSlice.py @@ -0,0 +1,31 @@ +## +# 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. +## +## +# This is a class meant to act as a placeholder for a Java +# IGridSlice object in unit testing of HazardUtils.py. +# It has a single field, validTime, and a single method, getValidTime(), +# which returns whatever was set for the slice in the constructor +# or through direct manipulation of the slice field. +class MockSlice(object): + def __init__(self, validTime=None): + self.validTime = validTime + + def getValidTime(self): + return self.validTime diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodByElement.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodByElement.py new file mode 100644 index 0000000000..e6c587d9f6 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodByElement.py @@ -0,0 +1,157 @@ +## +# 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. +## +######################################################################## +# PeriodByElement +# +# Type: table +# Edit Areas: solicited from user +# To Run: +# Products-->Generate Products +# Choose Period (default is 3 hours per column), Edit Area(s), +# and Time Range(s) +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT + +## Period By Element Table. +## +## Today +## +## Area 1 for Today +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 06Z/17 79 NE 10 48 +## 09Z/17 0 +## 12Z/17 97 SE 5 58 +## 15Z/17 20 +## +## +## Area 2 for Today +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 06Z/17 92 NE 5 50 +## 09Z/17 22 +## 12Z/17 100 E 5 57 +## 15Z/17 43 +## +## +## +## +## Tonight +## +## Area 1 for Tonight +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 18Z/17 100 SE 10 59 +## 21Z/17 33 +## 00Z/18 100 SE 5 51 +## 03Z/18 27 +## +## +## Area 2 for Tonight +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 18Z/17 99 SE 10 58 +## 21Z/17 43 +## 00Z/18 94 S 5 50 +## 03Z/18 3 +## +## +## +## +## Tomorrow +## +## Area 1 for Tomorrow +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 06Z/18 86 S 5 46 +## 09Z/18 53 +## 12Z/18 53 +## 15Z/18 53 +## +## +## Area 2 for Tomorrow +## +## Time Period Sky (%) Wind (mph) Temp Precip (%) +## +## 06Z/18 68 SW 5 45 +## 09Z/18 29 +## 12Z/18 29 +## 15Z/18 29 +## +######################################################################## +Definition = { + + "type": "table", + "displayName": "TEST_Period By Element Table", # for Product Generation Menu + + # Output file for product results + "outputFile": "./PeriodByElement.txt", # default output file + + "constantVariable": "EditArea", + "rowVariable": "TimePeriod", + "columnVariable": "WeatherElement", + + "beginningText": "Period By Element Table. \n\n", + "endingText": "\n\n", + "editAreaLoopBegText": "%EditArea for %TimeRange \n\n", + "editAreaLoopEndText": "\n\n", + "timeRangeLoopBegText": "%TimeRange \n\n", + "timeRangeLoopEndText": "\n\n", + "outerLoop": "TimeRange", + + # Edit Areas + "defaultEditAreas" : [("area1","Area 1"),("area2","Area 2")], + "runTimeEditAreas": "yes", + + # Time Ranges + "defaultRanges":["Today","Tonight","Tomorrow"], + "runTimeRanges": "yes", + + "elementList": [ + ("Sky", "Sky (%)", + "avg", + "singleValue", + "Scalar", 1, None), + ("Wind","Wind (mph)", + "vectorRange", + "avgValue", + "Vector", 5, "ktToMph"), + ("T","Temp", + "avg", + "singleValue", + "Scalar", 1, None), + ("PoP", "Precip (%)", + "avg", + "singleValue", + "Scalar", 1, None), + ], + + "timePeriod": 3, + "runTimePeriod": "yes", # If yes, ask user at run time for period + "periodLabelFormat" : ("LT", "", "%HZ/%d", ""), + + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodTable.py new file mode 100644 index 0000000000..dc46c5f733 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/PeriodTable.py @@ -0,0 +1,107 @@ +## +# 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. +## +######################################################################## +# PeriodTable +# +# Type: table +# Edit Areas: solicited from user +# To Run: +# Set GFE Time Range +# Products-->Generate Products +# Choose Edit Areas +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT + +## Period Table for Feb 29 00 17:00:00 GMT - Mar 01 00 07:00:00 GMT. + +## Edit Area Sky (%) Wind (mph) Max Temp Min Temp Precip (%) + +## COAdams 10 NW 10 53 38 0 +## COArapahoe 10 NW 10 53 38 0 +## COBoulder 5-30 NW 10 46 34 0 +## CODenver 5-20 NW 10 54 39 0 +## CODouglas 5-20 NW 10 52 36 0 + +######################################################################## +Definition = { + + ## General Set-Up + "type": "table", + "displayName": "TEST_Period Table", # for Product Generation Menu + "outputFile": "./PeriodTable.txt", # default output file + + ## Table Layout + "constantVariable": "TimePeriod", + "rowVariable": "EditArea", + "columnVariable": "WeatherElement", + + "beginningText": "Period Table for %TimePeriod. \n\n", + "endingText": "", + + "defaultEditAreas": [("area1", "Area 1"), + ("area2", "Area 2"), + ], + ## Edit Areas + "runTimeEditAreas" : "yes", # if yes, ask user at run time + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + "defaultRanges": [("Today"), + ("Tonight"), + ("Tomorrow"), + ], + # If runTimeRanges is yes, ask user to choose from defaults + # at run time. + "runTimeRanges" : "yes", + + ## Weather Elements + # Name , Label , Analysis Method , ReportAs Method , + # DataType , Rounding , Conversion + + "elementList": [ + ("Sky", "Sky (%)", + "minMax", + "range2Value", + "Scalar", 5, None), + + ("Wind","Wind (mph)", + "vectorRange", + "avgValue", + "Vector", 5, "ktToMph"), + + ("MaxT","Max Temp", + "avg", + "singleValue", + "Scalar", 1, None), + + ("MinT","Min Temp", + "avg", + "singleValue", + "Scalar", 1, None), + + ("PoP", "Precip (%)", + "avg", + "singleValue", + "Scalar", 5, None), + ], + + + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/QPFTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/QPFTable.py new file mode 100644 index 0000000000..ac64a89cc6 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/QPFTable.py @@ -0,0 +1,81 @@ +## +# 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. +## +######################################################################## +# QPFTable +# +# Type: table +# Edit Areas: solicited from user +# To Run: +# Set GFE Time Range +# Products-->Generate Products +# Choose Edit Areas +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT + +## Experimental QPF Table +## +## Today: +## +## Edit Area QPF +## +## COBoulder 0.31 +## COClearCreek 0.33 +## CODenver 0.29 +## CODouglas 0.28 +## COElbert 0.38 + + + +######################################################################## +Definition = { + + "type": "table", + "displayName": "TEST_QPF Table", # for Product Generation Menu + + # Output file for product results + "outputFile": "./QPFTable.txt", # default output file + + "constantVariable": "TimePeriod", + "rowVariable": "EditArea", + "columnVariable": "WeatherElement", + + "beginningText": "Experimental QPF Table \n\n", + "endingText": "", + "timeRangeLoopBegText": "%TimeRange:\n", + + # Edit Areas + "defaultEditAreas" : [("area1","Area 1"),("area2","Area 2")], + "runTimeEditAreas": "yes", + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + # Time Ranges + "defaultRanges": ["Today"], + "runTimeRanges" : "no", # if yes, ask user at run time + + "elementList": [ + ("QPF", "QPF", + "accumSum", + "singleValue", + "Scalar", .01, None), + ], + + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RDFcst.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RDFcst.py new file mode 100644 index 0000000000..5427cababb --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RDFcst.py @@ -0,0 +1,205 @@ +## +# 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. +## +######################################################################## +# RDFcst +# +######################################################################## +## EXAMPLE OUTPUT: +## +## 24 Hour Tabular Forecast for Boulder for 12 AM MST Mar 21 TO 12 PM MST Mar 21. +## +## Weather Element 12 AM 3 AM 6 AM 9 AM +## +## Temperature 30 28 29 +## Dew Point 25 23 25 +## Wind (mph) NW 4 NW 5 NW 6 +## Sky Cover(%) MOSTLY MOSTLY MOSTLY +## CLOUDY CLOUDY CLOUDY +## Rainfall Amount(in.) 0.00 0.00 0.00 0.00 +## Weather RAIN RAIN +## Snowfall(in.) 0 0 0 0 +## +## This forecast was generated from a gridded database. + + +# Forecast Definition +RDFcst = { + + ## General Set-Up + + "type": "table", + "displayName": "RDFcst", # for Product Generation Menu + + # Output file for product results + "outputFile": "/home/ifp/release/products/TEXT/RDFcst.txt", # default output file + "runTimeOutputFile": "no", # If yes, ask user at run time + + # Language + "language": "english", # default + "runTimeLanguage": "no", # If yes, ask user at run time + + # Line Length for resulting Product + "lineLength": 79, # default + "runTimeLineLength": "no", # If yes, ask user at run time + + # Text to preceed and follow the text product. + # Remember to add spacing lines backslash n. + # The variables: %TimePeriod, %EditArea, and %WeatherElement + # can be included to be filled in with constant variables. + # For phrase and combo, only %EditArea and %TimePeriod + # can be filled in. + "timePeriodMethod": "localTRLabel", ## localRangeLabel + "editAreaLoopBegText": "24 Hour Tabular Forecast for %EditArea for %TimePeriod. \n\n", + "editAreaLoopEndText": "\n", + "endingText": "\nThis forecast was generated from a gridded database.\n\n\n", + + ## Table Layout + # A table is a combination of three variables: + # edit areas, weather elements, and time periods + # One of these variables is held constant, + # one is assigned to rows and the other to columns. + + "constantVariable": "EditArea", ## "TimePeriod", + "rowVariable": "WeatherElement", ## "EditArea", + "columnVariable": "TimePeriod", ## "WeatherElement", + "columnJustification":"Right", + + ## Edit Areas + # If the edit area is the constant variable, specify + # one area and whether to ask user at run time. + # runTimeEditArea can be a list of areas and/or edit area + # groups (groups will be expanded into areas) from which + # the user will be able to choose. + "defaultEditAreas": [ + ("area1", "Area1"), + ("area2", "Area2"), + ("area3", "Area3"), + ("area4", "Area4")], + "runTimeEditAreas": "yes", + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + # Time Ranges + "defaultRanges": ["Today"], + "runTimeRanges" : "no", # if yes, ask user at run time + + ## Weather Elements + # elementList: List of Weather Element tuples: + # Weather Element Name + # Weather Element Label + # If you want the label to appear on multiple lines, + # use vertical bars as separators e.g. Maximum|Temperature + # Analysis method -- Method to produce statistics from the data + # ReportAs Method -- Method to format the analyzed value(s) + # DataType: Scalar or Vector or Weather + # Rounding increment e.g. 5 = round final value to + # nearest multiple of 5 + # Conversion method + # e.g. "mphToKt" converts from mph to knots + # + # If the weather element is the constant variable, only one + # should be given. + + # Name , Label , Analysis Method , ReportAs Method , + # DataType , Rounding , Conversion + + "elementList": [ + ("T","Temperature", + "avg", + "singleValue", + "Scalar", 1, None), + ("Td","Dew Point", + "avg", + "singleValue", + "Scalar", 1, None), + ("RH","Relative Humidity(%)", + "avg", + "singleValue", + "Scalar", 1, None), + ("WindChill","Wind Chill(F)", + "avg", + "singleValue", + "Scalar", 1, None), + ("Wind","Wind (mph)", + "vectorRange", + "avgValue", + "Vector", 1, "ktToMph"), + ("Sky","Sky Cover(%)", + "avg", + "cloudCover", + "Scalar", 5, None), + ("QPF","Rainfall Amount(in.)", + "avg", + "singleValue", + "Scalar", .01, None), + ("Wx","Weather ", + "dominantWx", + "short_weather_phrase", + "Scalar", 1, None), + ("SnowAmt","Snowfall(in.)", + "avg", + "singleValue", + "Scalar", 1, None), + ("PoP", "Precip (%)", + "avg", + "singleValue", + "Scalar", 1, None), + ], + + ## Time Period (If rows or columns vary with TimePeriod + # timePeriod: This is the interval in hours for sampling the data + # e.g. every 3 hours. + # (Can be floating point e.g. 1.5 hour TimePeriods) + "timePeriod": 3, + # timeSpan: This is the amount of data to sample at each + # interval. + # If you want the data analyzed (e.g averaged) over the + # entire period, the timeSpan should be set to "timePeriod". + # If you only want data for the beginning of each timePeriod, + # the timeSpan should be set to number of hours over which + # to analyze the data e.g. 1 hour + "timeSpan": 1, + "runTimePeriod": "no", # If yes, ask user at run time for period + # Method to label periods given a time range + # periodLabel -- GMT time hourZ/day e.g. 15Z/4 + # localTimeLabel -- local time e.g. 6 AM + # localRangeLabel -- local time range e.g. 6AM-9AM + "periodLabelMethod": "localTimeLabel", + + ## User-supplied Methods + # loopMethod: Method to be called for each row. + # Such a method might keep ongoing statistics about table data. + # Arguments: (rowLabel, rowEntries, userDict, argDict) + # Returns: nothing + # "rowEntries" is a list of (colValue, value) tuples + # describing the entries in this row. + # "userDict" is a dictionary set up for user-defined + # callback methods so they can keep ongoing data as + # the table is being produced. + # It is not modified by the TextFormatter code. + "loopMethod": None, + + # endMethod: Method to be called after table is complete. + # Arguments: (table, userDict, argDict) + # Returns: table (could be modified) + # The table can be modified to report summary statistics + # gathered in userDict. + # + "endMethod": None, + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst.py new file mode 100644 index 0000000000..06d9fd1b65 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst.py @@ -0,0 +1,568 @@ +## +# 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. +## +######################################################################## +# RecreationFcst +# +# This product creates a combination of text phrases for consecutive +# time periods for a list of edit areas. +# +# Type: smart +# Local product: +# RecreationFcst_Local.py (type: smart) +# Associated Utility files: +# Combinations +# To customize this product for your site: +# Set up the Combinations file with Edit Areas and labels. +# Set up RecreationFcst_Local to override variables, definitions, thresholds, and methods +# +# Component Product Definitions included as methods in this file: +# RecreationPhrases +# Extended +# Extended Label +## +########################################################################## +# Example Output: +## Recreation Statement + +## Area 1 + +## .TODAY... +## DEW POINTS... IN THE UPPER TEENS. +## MINIMUM HUMIDITY... 18.0 PERCENT. +## WIND CHILL... 35.0 BECOMING 24.0 IN THE NIGHT.. +## WIND... WEST WINDS 25 TO 35 MPH. +## PRECIPITATION... DRY. +## LIGHTENING... 2. + +## .WEDNESDAY... +## DEW POINTS... IN THE MID TEENS. +## MINIMUM HUMIDITY... 20.0 PERCENT. +## WIND CHILL... 36.0 BECOMING 36.0 IN THE NIGHT.. +## WIND... WEST WINDS 25 TO 35 MPH. +## PRECIPITATION... WIDESPREAD RAIN AND SNOW. +## LIGHTENING... 2. + + +## .THURSDAY... +## VERY WINDY. SUNNY. WIDESPREAD SNOW. LOWS IN THE UPPER 30S. HIGHS IN THE MID +## 40S. +## .FRIDAY... +## SUNNY AND DRY. LOWS AROUND 40. HIGHS IN THE LOWER 40S. + +## Area 2 + +## .TODAY... +## DEW POINTS... IN THE UPPER TEENS. +## MINIMUM HUMIDITY... 18.0 PERCENT. +## WIND CHILL... 35.0 BECOMING 24.0 IN THE NIGHT.. +## WIND... WEST WINDS 25 TO 35 MPH. +## PRECIPITATION... DRY. +## LIGHTENING... 2. + +## .WEDNESDAY... +## DEW POINTS... IN THE MID TEENS. +## MINIMUM HUMIDITY... 20.0 PERCENT. +## WIND CHILL... 36.0 BECOMING 36.0 IN THE NIGHT.. +## WIND... WEST WINDS 25 TO 35 MPH. +## PRECIPITATION... WIDESPREAD RAIN AND SNOW. +## LIGHTENING... 2. + + +## .THURSDAY... +## VERY WINDY. SUNNY. WIDESPREAD SNOW. LOWS IN THE UPPER 30S. HIGHS IN THE MID +## 40S. +## .FRIDAY... +## SUNNY AND DRY. LOWS AROUND 40. HIGHS IN THE LOWER 40S. + +import TextRules +import SampleAnalysis +import ForecastNarrative +import time, string, types + + +class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): + VariableList = [ + (("Product Title","title"), "Recreation Statement", "alphaNumeric"), + (("Choose Starting Time Range:", "timeRangeName"), "Tomorrow", "radio", + ["Today", "Tomorrow"]), + (("Number of days:", "numPeriods"), 2, "radio", [2, 3]), + # Comment out the following line if you do not want to include Extended as an option: + (("Extended", "extended"), "With Extended", "radio", ["Without Extended","With Extended"]), + ] + Definition = { + "type": "smart", + "displayName": "None", + # Name of map background for creating Combinations + #"mapNameForCombinations": "Zones_", + + ## Edit Areas + "defaultEditAreas" : [ + ("area1","Area 1"), + ("area2","Area 2"), + ("area3","Area 3"), + ], + + # Product-specific variables: Can be overridden in the Local file + "extendedLabel": 1, + "lineLimit": 45, + "trace":0, + } + + def __init__(self): + TextRules.TextRules.__init__(self) + SampleAnalysis.SampleAnalysis.__init__(self) + + def generateForecast(self, argDict): + # Generate Text Phrases for a list of edit areas + + # Get variables + error = self._getVariables(argDict) + if error is not None: + return error + + # Get the areaList -- derived from defaultEditAreas and + # may be solicited at run-time from user if desired + self._areaList = self.getAreaList(argDict) + if len(self._areaList) == 0: + return "WARNING -- No Edit Areas Specified to Generate Product." + + # Determine time ranges + error = self._determineTimeRanges(argDict) + if error is not None: + return error + + # Sample the data + error = self._sampleData(argDict) + if error is not None: + return error + + # Initialize the output string + fcst = "" + fcst = self._preProcessProduct(fcst, argDict) + + # Generate the product for each edit area in the list + for editArea, areaLabel in self._areaList: + fcst = self._preProcessArea(fcst, editArea, areaLabel, argDict) + fcst = self._makeProduct(fcst, editArea, areaLabel, argDict) + fcst = self._postProcessArea(fcst, editArea, areaLabel, argDict) + + fcst = self._postProcessProduct(fcst, argDict) + return fcst + + def _getVariables(self, argDict): + # Make argDict accessible + self.__argDict = argDict + + # Get Definition variables + self._definition = argDict["forecastDef"] + for key in self._definition.keys(): + exec "self._" + key + "= self._definition[key]" + + # Get VariableList and _issuance_list variables + varDict = argDict["varDict"] + for key in varDict.keys(): + if type(key) is types.TupleType: + label, variable = key + exec "self._" + variable + "= varDict[key]" + + self._language = argDict["language"] + return None + + def _determineTimeRanges(self, argDict): + # Set up the Narrative Definition and initial Time Range + self._timeRange, self._narrativeDef = self._createNarrativeDef(argDict) + self._definition["narrativeDef"] = self._narrativeDef + self._definition["methodList"] = [self.assembleChildWords] + return None + + def _sampleData(self, argDict): + # Sample and analyze the data for the narrative + # This data will be available in argDict["narrativeData"] for text rules + self._narrativeProcessor = ForecastNarrative.ForecastNarrative() + error = self._narrativeProcessor.getNarrativeData( + argDict, self._definition, self._timeRange, self._areaList, None) + if error is not None: + return error + return None + + def _preProcessProduct(self, fcst, argDict): + return fcst + + def _preProcessArea(self, fcst, editArea, areaLabel, argDict): + return fcst + + def _makeProduct(self, fcst, editArea, areaLabel, argDict): + # Generate Narrative Forecast for Edit Area + fcst = fcst + self._narrativeProcessor.generateForecast( + argDict, editArea, areaLabel) + return fcst + + def _postProcessArea(self, fcst, editArea, areaLabel, argDict): + return fcst + + def _postProcessProduct(self, fcst, argDict): + return string.upper(fcst) + + ######################################################################## + # PRODUCT-SPECIFIC METHODS + ######################################################################## + + def _createNarrativeDef(self, argDict): + # Determine the start time for the product and a Narrative Definition + + timeRange = self.getTimeRange(self._timeRangeName, argDict) + + if self._numPeriods == 2: + recPhrases = [24, 24] + else: + recPhrases = [24,24,24] + extendeds = [24, 24] + + # Create the NarrativeDef + narrativeDef = [] + for recPhrase in recPhrases: + narrativeDef.append(("RecreationPhrases",recPhrase)) + if self._extended == "With Extended": + if self._extendedLabel == 1: + narrativeDef.append(("ExtendedLabel",0)) + for extended in extendeds: + narrativeDef.append(("Extended", extended)) + return timeRange, narrativeDef + + def _td_phrase(self): + return { + "setUpMethod": self._td_setUp, + "wordMethod": self._td_words, + "phraseMethods": [self.assembleSubPhrases, + self.postProcessPhrase], + } + def _td_setUp(self, tree, node): + td = self.ElementInfo("Td", "List") + elementInfoList = [td] + self.subPhraseSetUp(tree, node, elementInfoList, self.scalarConnector) + node.set("descriptor", "") + node.set("indentLabel", "DEW POINTS... ") + return self.DONE() + + def _td_words(self, tree, node): + statDict = node.getStatDict() + stats = self.getStats(statDict,"Td") + if stats is None: + return self.setWords(node, "") + words = self.getTempPhrase(tree, node, stats,"Td") + return self.setWords(node, words) + + def _rh_phrase(self): + return { + "setUpMethod": self._rh_setUp, + "wordMethod": self._rh_words, + "phraseMethods": [self.assembleSubPhrases, + self.postProcessPhrase], + } + def _rh_setUp(self, tree, node): + rh = self.ElementInfo("RH", "List") + elementInfoList = [rh] + self.subPhraseSetUp(tree, node, elementInfoList, self.scalarConnector) + node.set("descriptor", "") + node.set("indentLabel", "MINIMUM HUMIDITY... ") + return self.DONE() + + def _rh_words(self, tree, node): + statDict = node.getStatDict() + stats = self.getStats(statDict,"RH") + if stats is None: + return self.setWords(node, "") + min, max = stats + ten = int(min / 10) * 10 + digit = min % 10 + if digit <= 3: + RH1 = ten + if digit > 3 or digit <= 9: + RH1 = ten + 5 + RH2 = RH1 + 10 + words = `RH1` + " TO " + `RH2` + " PERCENT" + return self.setWords(node, words) + + def _windChill_heatIndex_compoundPhrase(self): + return { + "phraseList": [ + self.windChill_phrase, + self.heatIndex_phrase, + ], + "phraseMethods": [ + self.assembleSentences, + self._windChill_heatIndex_finishUp, + ], + } + def _windChill_heatIndex_finishUp(self, tree, node): + words = node.get("words") + if words is None: + return + if words == "": + words = "NOT A FACTOR" + node.set("descriptor", "") + statsWC = tree.stats.get("WindChill", node.getTimeRange(), + node.getAreaLabel(), mergeMethod="Min") + if statsWC is not None and \ + statsWC < self.windChill_threshold(tree, node): + node.set("indentLabel", "WIND CHILL... ") + else: + statsHI = tree.stats.get("HeatIndex", node.getTimeRange(), + node.getAreaLabel(), mergeMethod="Max") + if statsHI is not None and \ + statsHI > self.heatIndex_threshold(tree, node): + node.set("indentLabel", "HEAT INDEX... ") + else: + node.set("indentLabel", "") + words = "" + node.set("compound", 1) + return self.setWords(node, words) + + def _wind_phrase(self): + return { + "setUpMethod": self._wind_setUp, + "wordMethod": self._wind_words, + "phraseMethods": [self.assembleSubPhrases, + self.postProcessPhrase], + } + def _wind_setUp(self, tree, node): + wind = self.ElementInfo("Wind", "List") + elementInfoList = [wind] + self.subPhraseSetUp(tree, node, elementInfoList, self.scalarConnector) + node.set("descriptor", "") + node.set("indentLabel", "WIND... ") + return self.DONE() + + def _wind_words(self, tree, node): + statDict = node.getStatDict() + stats = self.getStats(statDict,"Wind") + if stats is None: + return self.setWords(node, "") + elementInfo = node.getAncestor("firstElement") + if elementInfo is None: + return self.setWords(node, "") + words = self.simple_vector_phrase(tree, node, elementInfo) + if words == "null": + return self.setWords(node, "null") + maxWind, dir = self.getValue(stats, "Max", self.VECTOR()) + chopphrase = "" + if maxWind >= 26.1: + chopphrase = "HEAVY CHOP EXPECTED ON AREA RIVERS AND LAKES" + elif maxWind >= 21.7: + chopphrase = "MODERATE CHOP EXPECTED ON AREA RIVERS AND LAKES" + elif maxWind >= 17.4: + chopphrase = "LIGHT CHOP EXPECTED ON AREA RIVERS AND LAKES" + if chopphrase != "": + words = words + ". " + chopphrase + return self.setWords(node, words) + + def _wx_phrase(self): + return { + "setUpMethod": self._wx_setUp, + "wordMethod": self._wx_words, + "phraseMethods": [self.assembleSubPhrases, + self.postProcessPhrase], + } + def _wx_setUp(self, tree, node): + wx = self.ElementInfo("Wx", "List") + qpf = self.ElementInfo("QPF", "MinMax") + elementInfoList = [wx] + self.subPhraseSetUp(tree, node, elementInfoList, self.scalarConnector) + node.set("descriptor", "") + node.set("indentLabel", "PRECIPITATION... ") + return self.DONE() + + def _wx_words(self, tree, node): + statDict = node.getStatDict() + stats = self.getStats(statDict,"Wx") + if stats is None: + return self.setWords(node, "") + self.weather_words(tree, node) + WXwords = node.get("words") + statsQ = self.getStats(statDict, "QPF") + if statsQ is None: + words = WXwords + else: + QPFrange0 = str(round(statsQ[0],2)) + QPFrange1 = str(round(statsQ[1],2)) + #print QPFrange1 + if ((QPFrange0 == "0.0" and QPFrange1 == "0.0") or (string.find(WXwords, "dry") != -1)): + #print "Found dry weather" + QPFwords = "\n" + words = WXwords + elif (QPFrange0 == "0.0"): + QPFwords = "AMOUNTS UP TO " + QPFrange1 + " OF AN INCH" + words = WXwords + ". " + QPFwords + else: + QPFwords = "AMOUNTS BETWEEN " + QPFrange0 + " AND " + QPFrange1 + " OF AN INCH" + words = WXwords + ". " + QPFwords + return self.setWords(node, words) + + def _ltng_phrase(self): + return { + "setUpMethod": self._ltng_setUp, + "wordMethod": self._ltng_words, + "phraseMethods": [self.assembleSubPhrases, + self.postProcessPhrase], + } + def _ltng_setUp(self, tree, node): + wx = self.ElementInfo("Wx", "List") + elementInfoList = [wx] + self.subPhraseSetUp(tree, node, elementInfoList, self.scalarConnector) + node.set("descriptor", "") + node.set("indentLabel", "LIGHTNING... ") + return self.DONE() + + def _ltng_words(self, tree, node): + statDict = node.getStatDict() + stats = self.getStats(statDict,"Wx") + if stats is None: + return self.setWords(node, "NONE.") + words = "" + for subkey, rank in stats: + wxType = subkey.wxType() + if wxType == "T": + cov = subkey.coverage() + if cov in ["Num", "Wide", "Ocnl", "Brf", "Frq", "Pds", "Inter", "Lkly", "Def"]: + words = "LIKELY" + elif cov in ["Sct", "Chc"] and words not in ["LIKELY"]: + words = "SCATTERED" + elif cov in ["Iso", "SChc"] and words not in ["LIKELY", "SCATTERED"]: + words = "ISOLATED" + elif words not in ["LIKELY", "SCATTERED", "ISOLATED"]: + words = "POSSIBLE" + elif words not in ["LIKELY", "SCATTERED", "ISOLATED", "POSSIBLE"]: + words = "NONE" + #print words + return self.setWords(node, words) + + ######################################################################## + # OVERRIDING THRESHOLDS AND VARIABLES + ######################################################################## + + # SampleAnalysis overrides + def temporalCoverage_percentage(self, parmHisto, timeRange, componentName): + return 15.0 + + def temporalCoverage_dict(self, parmHisto, timeRange, componentName): + return { + "LAL": 0, + "MinRH": 0, + "MaxRH": 0, + "MinT": 10, + "MaxT": 10, + "Haines": 0, + "PoP" : 50, + } + + # TextRules overrides + def pop_wx_lower_threshold(self, tree, node): + # Pop-related Wx will not be reported if Pop is below this threshold + return 20 + + def phrase_descriptor_dict(self, tree, node): + # Descriptors for phrases + dict = TextRules.TextRules.phrase_descriptor_dict(self, tree, node) + dict["DEW POINTS... "] = "DEW POINTS.........." + dict["MINIMUM HUMIDITY... "] = "MINIMUM HUMIDITY...." + dict["WIND CHILL... "] = "WIND CHILL.........." + dict["HEAT INDEX... "] = "HEAT INDEX.........." + dict["WIND... "] = "WIND................" + dict["PRECIPITATION... "] = "PRECIPITATION......." + dict["LIGHTNING... "] = "LIGHTNING..........." + dict["HeatIndex"] = "" + dict["WindChill"] = "" + return dict + + + ######################################################################## + # OVERRIDING METHODS + ######################################################################## + + ######################################################################## + # COMPONENT PRODUCT DEFINITIONS + ######################################################################## + + def RecreationPhrases(self): + return { + "type": "component", + "methodList": [ + self.assembleIndentedPhrases, + ], + "analysisList": [ + ("Td", self.avg), + ("RH", self.minMax), + ("T", self.minMax), + ("WindChill", self.minMax, [12]), + ("HeatIndex", self.minMax, [12]), + ("Wind", self.vectorMinMax), + ("Wx", self.rankedWx), + ("QPF", self.accumMinMax), + ("PoP", self.binnedPercent), + ], + "phraseList":[ + self._td_phrase, + self._rh_phrase, + self._windChill_heatIndex_compoundPhrase, + self._wind_phrase, + self._wx_phrase, + self._ltng_phrase, + ], + } + + def ExtendedLabel(self): + return { + "type": "component", + "methodList": [self.setLabel], + "analysisList": [], + "phraseList":[], + } + def setLabel(self, tree, component): + component.set("words", "\n.EXTENDED...\n") + return self.DONE() + + def Extended(self): + return { + "type": "component", + "methodList": [ + self.orderPhrases, + self.assemblePhrases, + self.wordWrap, + ], + "analysisList": [ + ("MinT", self.avg), + ("MaxT", self.avg), + ("T", self.hourlyTemp), + ("Sky", self.minMax), + ("Wind", self.vectorMinMax), + ("Wx", self.rankedWx), + ("PoP", self.binnedPercent), + ], + "phraseList":[ + self.reportTrends, + self.wind_summary, + self.sky_phrase, + self.weather_phrase, + self.lows_phrase, + self.highs_phrase, + self.temp_trends, + ], + } + diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst_Local.py new file mode 100644 index 0000000000..bab6c4c3af --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/RecreationFcst_Local.py @@ -0,0 +1,39 @@ +## +# 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. +## +# ---------------------------------------------------------------------------- +# This software is in the public domain, furnished "as is", without technical +# support, and with no warranty, express or implied, as to its usefulness for +# any purpose. +# +# RecreationFcst_Local +# Local customizations for RecreationFcst as Base class +# +# Author: +# ---------------------------------------------------------------------------- + +import RecreationFcst +import string, copy + +class TextProduct(RecreationFcst.TextProduct): + Definition = copy.deepcopy(RecreationFcst.TextProduct.Definition) + Definition['displayName'] = "None" + Definition['displayName'] = "TEST_RecreationFcst" + def __init__(self): + RecreationFcst.TextProduct.__init__(self) diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable.py new file mode 100644 index 0000000000..bef58df5b8 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable.py @@ -0,0 +1,310 @@ +## +# 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. +## +#------------------------------------------------------------------------- +# Description: This product creates a Smart Element Table. +# The possible elements are Temperature (MaxT, MinT), Humidity (MinRH, MaxRH), and PoP +#------------------------------------------------------------------------- +# Copying: +# This software is in the public domain, furnished "as is", without technical +# support, and with no warranty, express or implied, as to its usefulness for +# any purpose. +#------------------------------------------------------------------------- +# Standard and Local file names and Locations: +# MultipleElementTableTable, MultipleElementTable_Local, MultipleElementTable_Aux_Local +#------------------------------------------------------------------------- +# User Configurable Variables: +#------------------------------------------------------------------------- +# Weather Elements Needed: +#------------------------------------------------------------------------- +# Edit Areas Needed: +#------------------------------------------------------------------------- +# Associated Utilities Files e.g. Combinations file: +#------------------------------------------------------------------------- +# Component Products: +#------------------------------------------------------------------------- +# Programmers and Support including product team leader's email: +#------------------------------------------------------------------------- +# Development tasks that are identified and in progress: +#------------------------------------------------------------------------- +# Additional Information: +#------------------------------------------------------------------------- + +import TextRules +import SampleAnalysis +import string, time, types + +class TextProduct(TextRules.TextRules, SampleAnalysis.SampleAnalysis): + VariableList = [ + ("Forecast Product" , "Morning", "radio", + ["Morning","Afternoon"]), + ] + Definition = { + "type": "smart", + "displayName": "None", + "outputFile": "/awips/GFESuite/products/TEXT/SmartElementTable.txt", + "defaultEditAreas": [ + ("area1","AREA 1"), + ("area2","AREA 2"), + ("area3","AREA 3"), + ], + # Product-specific variables + "regionList" : [ + ("/33",["AREA 1","AREA 2"]), + ("/19",["AREA 3"]) + ], + # Possible elements are: + # "Temp" -- lists MaxT for daytime, MinT for nighttime + # "PoP" + # "Humidity" -- lists MinRH for daytime, MaxRH for nighttime + "elementList" : ["Temp", "PoP"], + # If set to 1, only one value for each element is listed + "includeTitle": 1, + "introLetters": ".<", + } + + def __init__(self): + TextRules.TextRules.__init__(self) + SampleAnalysis.SampleAnalysis.__init__(self) + + def generateForecast(self, argDict): + # Generate formatted product for a list of edit areas + + # Get variables from varDict and Definition + self._getVariables(argDict) + + # Get the areaList -- derived from defaultEditAreas and + # may be solicited at run-time from the user if desired + self._areaList = self.getAreaList(argDict) + + # Determine time ranges for which the data will be sampled + self._determineTimeRanges(argDict) + + # Sample the data + self._sampleData(argDict) + + # Initialize the output string + fcst = "" + fcst = self._preProcessProduct(fcst, argDict) + + # Generate the product for each edit area in the list + for editArea, areaLabel in self._areaList: + fcst = self._preProcessArea(fcst, editArea, areaLabel, argDict) + fcst = self._makeProduct(fcst, editArea, areaLabel, argDict) + fcst = self._postProcessArea(fcst, editArea, areaLabel, argDict) + + fcst = self._postProcessProduct(fcst, argDict) + return fcst + + def _getVariables(self, argDict): + # Determine whether Morning or Afternoon product type + varDict = argDict["varDict"] + self._productType = varDict["Forecast Product"] + + # Make argDict accessible + self.__argDict = argDict + + # Set up any other product-specific variables from the Definition + self._definition = argDict["forecastDef"] + for key in self._definition.keys(): + exec "self._" + key + "= self._definition[key]" + + self._currentRegion = None + + # The analysisList tells which weather elements and statistics + # are desired for the product. + self._analysisList = self._getAnalysisList() + + def _determineTimeRanges(self, argDict): + # Determine time ranges for product + # Sets up self._timeRangeList + + if self._productType == "Morning": + timeRange = self.getTimeRange("Today", argDict) + numPeriods = 3 + else: + timeRange = self.getTimeRange("Tonight", argDict) + numPeriods = 4 + + self._timeRangeList = self.getPeriods(timeRange, 12, 12, numPeriods) + return + + def _sampleData(self, argDict): + # Sample the data + self._sampler = self.getSampler(argDict, + (self._analysisList, self._timeRangeList, self._areaList)) + return + + def _preProcessProduct(self, fcst, argDict): + # Set up format spacing and title line spacing + + numElements = len(self._elementList) + if numElements > 2: + self._spaceStr = "" + else: + self._spaceStr = " " + if self._includeTitle == 0: + return fcst + + self._titles = self._titleDict() + if numElements > 2: + if self._productType == "Morning": + self._headingLen = 15 + else: + self._headingLen = 19 + else: + if self._productType == "Morning": + self._headingLen = 21 + else: + self._headingLen = 28 + + # Create title line + title = self._introLetters + " " + index = 0 + for element in self._elementList: + title = title + string.center( + self._titles[element], self._headingLen) + if index < len(self._elementList)-1: + title = title + "/" + index += 1 + return fcst + title + "\n" + + def _preProcessArea(self, fcst, editArea, areaLabel, argDict): + # If we are in a new region, add region header + for region, areaList in self._regionList: + if areaLabel in areaList: + break + if region != self._currentRegion: + if self._currentRegion is not None: + # End the Region + fcst = fcst + "\n$$\n\n" + self._currentRegion = region + fcst = fcst + region + + return fcst + "\n" + string.ljust(areaLabel, 10) + + def _makeProduct(self, fcst, editArea, areaLabel, argDict): + # Get the Statistics + statList = self.getStatList(self._sampler, self._analysisList, + self._timeRangeList, editArea) + + numElements = len(self._elementList) + index = 0 + for element in self._elementList: + exec "fcst = fcst + self._get" + element + \ + "Values(statList, argDict)" + if index < numElements-1: + fcst = fcst + " /" + index += 1 + + return fcst + + def _postProcessArea(self, fcst, editArea, areaLabel, argDict): + return fcst + + def _postProcessProduct(self, fcst, argDict): + fcst = fcst + "\n" + return fcst + + ######################################################################## + # PRODUCT-SPECIFIC METHODS + ######################################################################## + + def _getAnalysisList(self): + return [ + ("MinT", self.avg), + ("MaxT", self.avg), + ("MinRH", self.avg), + ("MaxRH", self.avg), + ("PoP", self.stdDevMaxAvg), + ] + + def _titleDict(self): + return { + "Temp": "TEMPERATURE", + "PoP": "PRECIPITATION", + "Humidity":"HUMIDITY", + } + + def _getTempValues(self, statList, argDict): + # Return a string of Temperature values given statList + stats1 = statList[0] + if self._productType == "Morning": + stats2 = statList[1] + stats3 = statList[2] + t1 = self.getScalarVal(stats1["MaxT"]) + t2 = self.getScalarVal(stats2["MinT"]) + t3 = self.getScalarVal(stats3["MaxT"]) + str = " " + t1+ self._spaceStr +t2+ self._spaceStr +t3 + return str + else: + stats2 = statList[1] + stats3 = statList[2] + stats4 = statList[3] + t1 = self.getScalarVal(stats1["MinT"]) + t2 = self.getScalarVal(stats2["MaxT"]) + t3 = self.getScalarVal(stats3["MinT"]) + t4 = self.getScalarVal(stats4["MaxT"]) + str = " " +t1+ self._spaceStr +t2+ self._spaceStr +t3+ \ + self._spaceStr+t4 + return str + + def _getHumidityValues(self, statList, argDict): + # Return a string of Humidity values given statList + stats1 = statList[0] + if self._productType == "Morning": + stats2 = statList[1] + stats3 = statList[2] + t1 = self.getScalarVal(stats1["MinRH"]) + t2 = self.getScalarVal(stats2["MaxRH"]) + t3 = self.getScalarVal(stats3["MinRH"]) + return " " +t1+ self._spaceStr +t2+ self._spaceStr+t3 + else: + stats2 = statList[1] + stats3 = statList[2] + stats4 = statList[3] + t1 = self.getScalarVal(stats1["MaxRH"]) + t2 = self.getScalarVal(stats2["MinRH"]) + t3 = self.getScalarVal(stats3["MaxRH"]) + t4 = self.getScalarVal(stats4["MinRH"]) + return " " +t1+ self._spaceStr +t2+ self._spaceStr +t3+ self._spaceStr +t4 + + def _getPoPValues(self, statList, argDict): + # Return a string of PoP values in the statList + pop = [] + popStr = "" + index = 0 + for stats in statList: + val = self._getPoPValue(stats) + if index < len(statList)-1: + popStr = popStr + val + self._spaceStr + else: + popStr = popStr + val + index += 1 + popStr = popStr + " " + return popStr + + def _getPoPValue(self, stats): + pop = self.getStats(stats,"PoP") + if pop is None: + val = " " + else: + max = self.round(pop, "Nearest", 10) + val = self.getScalarVal(max) + return val diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable_Local.py new file mode 100644 index 0000000000..d5b1f302e1 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SmartElementTable_Local.py @@ -0,0 +1,59 @@ +## +# 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. +## +######################################################################## +# SmartElementTable_Local +# +# Type: smart +# Local product: +# SmartElementTable_Local(type: smart) +# To customize this product for your site: +# Set up SmartElementTable_Local (see template below) +# to override variables, definitions, thresholds, and methods +## +########################################################################## +import SmartElementTable +import string, time, re, os, types, copy + +class TextProduct(SmartElementTable.TextProduct): + Definition = copy.deepcopy(SmartElementTable.TextProduct.Definition) + + Definition["displayName"] = "TEST_SmartElementTable" + #Definition["outputFile"] = "/awips/GFESuite/products/TEXT/SmartElementTable.txt" + #Definition["defaultEditAreas"] = [ + # ("area1","AREA 1"), + # ("area2","AREA 2"), + # ("area3","AREA 3"), + # ] + #Definition["regionList"] = [ + # ("/33",["AREA 1","AREA 2"]), + # ("/19",["AREA 3"]) + # ] + + #Definition["elementList"] = ["Temp", "PoP"] # Default + #Definition["elementList"] = ["Temp", "Humidity"] + #Definition["elementList"] = ["Temp", "Humidity", "PoP"] + #Definition["elementList"] = ["Temp", "PoP", "Humidity"] + #Definition["elementList"] = ["PoP", "Humidity", "Temp"] + #Definition["introLetters"] = ".<" + + def __init__(self): + SmartElementTable.TextProduct.__init__(self) + + diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SurfaceTemp.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SurfaceTemp.py new file mode 100644 index 0000000000..1324daf34b --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/SurfaceTemp.py @@ -0,0 +1,82 @@ +## +# 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. +## +######################################################################## +# SurfaceTemp +# +# Type: table +# Edit Areas: solicited from user +# To Run: +# Products-->Generate Products +# Choose Edit Areas and Period (default is every 3 hours) +# Select OK +# +######################################################################## +## EXAMPLE OUTPUT + +## Experimental Surface Temperature Guidance Product + +## Edit Area 12Z/29 18Z/29 0Z/1 6Z/1 12Z/1 18Z/1 0Z/2 + +## COAdams 39 39 39 39 39 39 39 +## COArapahoe 39 39 39 39 39 39 39 +## COBoulder 28 28 28 28 28 28 28 +## COClearCreek 21 21 21 21 21 21 21 +## CODenver 37 37 37 37 37 37 37 +## CODouglas 34 34 34 34 34 34 34 +## COElbert 39 39 39 39 39 39 39 + + + +######################################################################## +Definition = { + + "type": "table", + "displayName": "TEST_Surface Temperature Table", # for Product Generation Menu + + # Output file for product results + "outputFile": "./SurfaceTemp.txt", # default output file + + "constantVariable": "WeatherElement", + "rowVariable": "EditArea", + "columnVariable": "TimePeriod", + + "beginningText": "Experimental Surface Temperature Guidance Product \n\n", + "endingText": "", + + # Edit Areas + "defaultEditAreas" : [("area1","Area 1"),("area2","Area 2")], + "runTimeEditAreas": "yes", + "areaType" : "Edit Area", # E.g. City, County, Basin, etc. + + # Time Ranges + "defaultRanges":["Today"], + "runTimeRanges": "no", + + "elementList": [ + ("T","Temp", + "avg", + "singleValue", + "Scalar", 1, None), + ], + + + "timePeriod": 3, + "runTimePeriod": "yes", # If yes, ask user at run time for period + } diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestAbsTime.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestAbsTime.py new file mode 100644 index 0000000000..bfb8ff998e --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestAbsTime.py @@ -0,0 +1,29 @@ +## +# 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. +## +from AbsTime import current +from AbsTime import AbsTime +from TimeRange import TimeRange + +def testAbsTimeZero(): + start = AbsTime(0) + end = current() + timeRange = TimeRange(start, end) + javaTR = timeRange.toJavaObj() + return javaTR \ No newline at end of file diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestHazardUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestHazardUtils.py new file mode 100644 index 0000000000..374246e201 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestHazardUtils.py @@ -0,0 +1,39 @@ +## +# This software was developed and / or modified by Raytheon Company, +# pursuant to Contract DG133W-05-CQ-1067 with the US Government. +# +# U.S. EXPORT CONTROLLED TECHNICAL DATA +# This software product contains export-restricted data whose +# export/transfer/disclosure is restricted by U.S. law. Dissemination +# to non-U.S. persons whether in the United States or abroad requires +# an export license or other authorization. +# +# Contractor Name: Raytheon Company +# Contractor Address: 6825 Pine Street, Suite 340 +# Mail Stop B8 +# Omaha, NE 68106 +# 402.291.0100 +# +# See the AWIPS II Master Rights File ("Master Rights File.pdf") for +# further licensing information. +## +import MockHazardUtils +import MockGridData +import MockSlice +import MockParm +from com.raytheon.uf.common.time import TimeRange as TR +import numpy as np +from StringIO import StringIO + +jtr = None +msl = None +mgi = None +hazardUtils = None + +def printvars(): + print "jtr = ", jtr + print "msl = ", msl + print "mgi = ", mgi + print "hazardUtils = ", hazardUtils + if hazardUtils is not None: + print "hazardUtils.gridInfo = ", hazardUtils.gridInfo diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestSmartScript.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestSmartScript.py new file mode 100644 index 0000000000..a047c4c67a --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/tests/TestSmartScript.py @@ -0,0 +1,56 @@ +## +# 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. +## +## +# This is a helper script for use by TestSmartScript.java. +# It is meant to be run from within Jepp. +# It creates a DataManager and uses it to create a SmartScript. +import numpy as np +import SmartScript + + +# Create a numpy array of floats for the scalar test +scalarGrid = np.array(range(16), dtype=np.float32).reshape((4,4)) + +# Create a "discrete grid" tuple for the discrete test +idxA = np.array(range(4), dtype='int8') * np.ones((4,4), dtype='int8') +idxKL = ["", "one", "two", "three"] +discreteGrid = (idxA, idxKL) + +from com.raytheon.uf.common.dataplugin.gfe.grid import Grid2DByte +from com.raytheon.viz.gfe.ui.runtimeui import TestSmartScript + +numpyByteArray = np.ones((3,3), dtype=np.byte) +dimx = 3 +dimy = 3 + +def testGetGridShape(): + valueExpected = (145, 145) + valueObtained = smartScript.getGridShape() + if not valueExpected==valueObtained: + print "valueObtained =", valueObtained + return (valueExpected==valueObtained) + +def testGetGridInfo(model, element, level, timeRange, mostRecentModel=0): + rtnInfo = smartScript.getGridInfo(model, element, level, timeRange, mostRecentModel) + if rtnInfo is not None: + gridTime = rtnInfo[0].gridTime() + if gridTime is None: + raise RuntimeError, "gridTime is None" + return True \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable_Aux_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable_Aux_Local.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable_Aux_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable_Aux_Local.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable_Local.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textProducts/MultipleElementTable_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textProducts/MultipleElementTable_Local.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/Analysis.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/Analysis.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/Analysis.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/Analysis.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/ForecastNarrative.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/ForecastNarrative.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/ForecastNarrative.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/ForecastNarrative.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/ForecastTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/ForecastTable.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/ForecastTable.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/ForecastTable.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/FormatterRunner.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/FormatterRunner.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/FormatterRunner.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/FormatterRunner.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/HazardsTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/HazardsTable.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/HazardsTable.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/HazardsTable.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/TextFormatter.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/TextFormatter.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/TextFormatter.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/TextFormatter.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/offsetTime.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/offsetTime.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/headline/offsetTime.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/headline/offsetTime.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CallToActions.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CallToActions.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CallToActions.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CallToActions.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CityDictionary.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CityDictionary.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CityDictionary.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CityDictionary.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CombinedPhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CombinedPhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CombinedPhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CombinedPhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CommonUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CommonUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/CommonUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/CommonUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ConfigVariables.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ConfigVariables.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ConfigVariables.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ConfigVariables.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ConfigurableIssuance.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/DiscretePhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/DiscretePhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/DiscretePhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/DiscretePhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/EditAreaUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/EditAreaUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/EditAreaUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/EditAreaUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/FWS_Overrides.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/FWS_Overrides.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/FWS_Overrides.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/FWS_Overrides.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/FirePhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/FirePhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/FirePhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/FirePhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Header.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Header.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Header.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Header.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Holidays.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Holidays.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Holidays.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Holidays.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Interfaces.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Interfaces.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Interfaces.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Interfaces.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/MarinePhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/MarinePhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/MarinePhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/MarinePhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ModuleAccessor.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ModuleAccessor.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ModuleAccessor.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ModuleAccessor.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Patch_Overrides.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Patch_Overrides.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Patch_Overrides.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Patch_Overrides.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/PeriodByArea.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/PeriodByArea.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/PeriodByArea.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/PeriodByArea.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/PhraseBuilder.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/PhraseBuilder.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/PhraseBuilder.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/PhraseBuilder.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Phrase_Test_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Phrase_Test_Local.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Phrase_Test_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Phrase_Test_Local.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SAF_Overrides.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SAF_Overrides.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SAF_Overrides.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SAF_Overrides.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SampleAnalysis.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SampleAnalysis.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SampleAnalysis.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SampleAnalysis.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ScalarPhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ScalarPhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/ScalarPhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/ScalarPhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SimpleTableUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SimpleTableUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SimpleTableUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SimpleTableUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SiteCFG.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SiteCFG.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SiteCFG.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SiteCFG.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SiteInfo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SiteInfo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SiteInfo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SiteInfo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/StringUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/StringUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/StringUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/StringUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SurfAreaDictionary.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SurfAreaDictionary.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/SurfAreaDictionary.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/SurfAreaDictionary.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TableBuilder.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TableBuilder.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TableBuilder.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TableBuilder.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TextRules.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TextRules.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TextRules.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TextRules.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TextUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TextUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TextUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TextUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TimeDescriptor.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TimeDescriptor.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TimeDescriptor.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TimeDescriptor.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TimeRangeUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TimeRangeUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/TimeRangeUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/TimeRangeUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Translator.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Translator.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Translator.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Translator.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Utility.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Utility.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/Utility.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/Utility.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VTECMessageType.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VTECMessageType.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VTECMessageType.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VTECMessageType.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VarDictGroker.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VarDictGroker.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VarDictGroker.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VarDictGroker.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/VectorRelatedPhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WeatherSubKey.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WeatherSubKey.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WeatherSubKey.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WeatherSubKey.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WxDefinition.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WxDefinition.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WxDefinition.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WxDefinition.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WxPhrases.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WxPhrases.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/textUtilities/regular/WxPhrases.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/textUtilities/regular/WxPhrases.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/AppDialog.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/AppDialog.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/AppDialog.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/AppDialog.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/BOIVerifyConfig.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/BOIVerifyConfig.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/BOIVerifyConfig.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/BOIVerifyConfig.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/BOIVerifyUtility.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/BOIVerifyUtility.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/BOIVerifyUtility.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/BOIVerifyUtility.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/CombinationsInterface.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/CombinationsInterface.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/Exceptions.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/Exceptions.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/Exceptions.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/Exceptions.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/GridInfo.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/GridInfo.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/GridInfo.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/GridInfo.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/HazardUtils.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/HazardUtils.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/HazardUtils.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/HazardUtils.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ISC_Utility.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ISC_Utility.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ISC_Utility.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ISC_Utility.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ISC_Utility_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ISC_Utility_Local.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ISC_Utility_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ISC_Utility_Local.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/IToolInterface.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/IToolInterface.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/IToolInterface.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/IToolInterface.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/MakeHazardConfig.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/MakeHazardConfig.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/MakeHazardConfig.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/MakeHazardConfig.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/MessageBox.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/MessageBox.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/MessageBox.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/MessageBox.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ProcedureInterface.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProcedureInterface.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ProcedureInterface.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProcedureInterface.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ProcessVariableList.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProcessVariableList.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ProcessVariableList.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProcessVariableList.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ProductParser.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProductParser.py similarity index 97% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ProductParser.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProductParser.py index d15deaa24a..0cea29c727 100644 --- a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ProductParser.py +++ b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ProductParser.py @@ -2,19 +2,19 @@ ## # This software was developed and / or modified by Raytheon Company, # pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# +# # U.S. EXPORT CONTROLLED TECHNICAL DATA # This software product contains export-restricted data whose # export/transfer/disclosure is restricted by U.S. law. Dissemination # to non-U.S. persons whether in the United States or abroad requires # an export license or other authorization. -# +# # Contractor Name: Raytheon Company # Contractor Address: 6825 Pine Street, Suite 340 # Mail Stop B8 # Omaha, NE 68106 # 402.291.0100 -# +# # See the AWIPS II Master Rights File ("Master Rights File.pdf") for # further licensing information. ## @@ -119,7 +119,7 @@ nnn = r'(?:[A-Z]{2}[ZC])?\d{3}' purge = r'(?P\d{6})-' ugc = r'\n(?P' + r'[A-Z]{2}[Z|C](?:(?:\d{3})|(?:ALL))' + r'(?:[->]\n?' + nnn + \ r')*-\n?' + purge + el + r')' -cityh = r'(?<=-\n(?!.*-\n))(?P(?:.*\n))' +cityh = r'-\n(?P(?:\s*\n)*(?:INCLUDING THE (?:CITIES|CITY) OF...)?)' body = r'(?P(?:^.*\n)*?)' #body = r'.*' @@ -192,20 +192,20 @@ class ProductParser: #l = headline_re.finditer(str) l = single_head_re.finditer(str) for m in l: - if m is not None: + if m is not None: #print 'phl m = ', m newstart = start + m.start() m = headline_re.match(m.group(0)) if m is not None: hdlns.append(self.dumpMatch(m, newstart)) - + #print 'hdlns = ', hdlns rval['headInfo'] = hdlns def dumpMatch(self, m, offset=0, rval=None): if rval is None: rval = {} - + #print 'dumpmatch m = ', m.groupdict() for k in m.groupdict().keys(): if m.start(k) != -1 and m.start(k) != m.end(k): @@ -234,7 +234,7 @@ class ProductParser: segs = [] l = ugch_re.finditer(self._str) - + for m in l: if m is not None: m1 = cityh_re.search(self._str, m.end()) @@ -250,7 +250,7 @@ class ProductParser: else: continue m4 = head_re.search(self._str, m.end(), m3.end()) - + d = self.dumpMatch(m) d = self.dumpMatch(m2, rval=d) d = self.dumpMatch(m3, rval=d) @@ -266,7 +266,7 @@ class ProductParser: else: d['city'] = (self.tkc(m2.start()), self.tkc(m2.start())) - + if m4 is not None: #print 'm4 = ', m4.group() d = self.dumpMatch(m4, rval=d) @@ -284,7 +284,7 @@ class ProductParser: rval['frames'] = frames return rval - + def parseFromJava(self, text): self._str = text self._ci = None @@ -295,13 +295,13 @@ class ProductParser: lc.append(count) count += l self._totals = lc - + #print 'text START ----------------------' #print text #print 'text END ------------------------' - + result = self.parse() - + #print 'result = ', result - + return JUtil.pyDictToJavaMap(result) diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/SmartScript.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartScript.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/SmartScript.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartToolInterface.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/SmartToolInterface.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/SmartToolInterface.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/SmartToolInterface.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/StartupDialog.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/StartupDialog.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/StartupDialog.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/StartupDialog.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/TkDefaults.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/TkDefaults.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/TkDefaults.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/TkDefaults.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/WxMethods.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/WxMethods.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/WxMethods.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/WxMethods.py diff --git a/cave/build/static/common/cave/etc/gfe/userPython/utilities/ZoneCombinerConfig.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ZoneCombinerConfig.py similarity index 100% rename from cave/build/static/common/cave/etc/gfe/userPython/utilities/ZoneCombinerConfig.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/userPython/utilities/ZoneCombinerConfig.py diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/EditTopo.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/EditTopo.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/EditTopo.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/EditTopo.xml diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/FireWx.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/FireWx.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/FireWx.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/FireWx.xml diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/Hazards.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Hazards.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/Hazards.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Hazards.xml diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/Marine.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Marine.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/Marine.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Marine.xml diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/Public.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Public.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/Public.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Public.xml diff --git a/cave/build/static/common/cave/etc/gfe/weGroups/Temps.xml b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Temps.xml similarity index 100% rename from cave/build/static/common/cave/etc/gfe/weGroups/Temps.xml rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/base/gfe/weGroups/Temps.xml diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/CompletePopulate.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/CompletePopulate.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/CompletePopulate.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/CompletePopulate.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ExProc1.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ExProc1.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ExProc1.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ExProc1.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ExProc2.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ExProc2.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ExProc2.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ExProc2.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/Interpolate_Procedure.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/Interpolate_Procedure.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/Interpolate_Procedure.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/Interpolate_Procedure.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ProcedureCmds.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ProcedureCmds.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/procedures/ProcedureCmds.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/procedures/ProcedureCmds.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS1.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS1.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS1.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS1.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS2.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS2.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS2.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS2.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS4.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS4.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS4.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS4.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS5.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS5.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS5.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS5.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS6.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS6.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS6.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS6.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS7.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS7.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS7.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS7.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS8.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS8.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExSS8.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExSS8.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool1.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool1.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool1.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool1.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool2.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool2.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool2.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool2.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool3.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool3.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExTool3.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExTool3.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExUtil1.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExUtil1.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/ExUtil1.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/ExUtil1.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/HrsOfSunTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/HrsOfSunTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/HrsOfSunTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/HrsOfSunTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/InvBurnOffTempTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/InvBurnOffTempTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/InvBurnOffTempTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/InvBurnOffTempTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MaxRHTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MaxRHTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MaxRHTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MaxRHTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MinRHTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MinRHTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MinRHTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MinRHTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MixHgt_Init.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MixHgt_Init.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/MixHgt_Init.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/MixHgt_Init.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/Period2Tool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/Period2Tool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/Period2Tool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/Period2Tool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/PeriodTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/PeriodTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/PeriodTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/PeriodTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/RHtrendTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/RHtrendTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/RHtrendTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/RHtrendTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/Swell2Tool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/Swell2Tool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/Swell2Tool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/Swell2Tool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/SwellTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/SwellTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/SwellTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/SwellTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/TtrendTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/TtrendTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/TtrendTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/TtrendTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WaveHeightTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WaveHeightTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WaveHeightTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WaveHeightTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WetflagTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WetflagTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WetflagTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WetflagTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WindGustTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WindGustTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WindGustTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WindGustTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WindWaveHgtTool.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WindWaveHgtTool.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/smartTools/WindWaveHgtTool.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/smartTools/WindWaveHgtTool.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/MultipleElementTable_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/MultipleElementTable_Local.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/MultipleElementTable_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/MultipleElementTable_Local.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/RDFcst.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/RDFcst.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/RDFcst.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/RDFcst.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable_Local.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/SmartElementTable_Local.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/tp008_Local.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/tp008_Local.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/textProducts/tp008_Local.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/textProducts/tp008_Local.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/utilities/Common.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/utilities/Common.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/utilities/Common.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/utilities/Common.py diff --git a/edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/utilities/MyDialog.py b/edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/utilities/MyDialog.py similarity index 100% rename from edexOsgi/com.raytheon.edex.plugin.gfe/utility/cave_static/user/GFETEST/gfe/userPython/utilities/MyDialog.py rename to edexOsgi/com.raytheon.edex.plugin.gfe/utility/common_static/user/GFETEST/gfe/userPython/utilities/MyDialog.py diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/python/GfePyIncludeUtil.java b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/python/GfePyIncludeUtil.java index 697a3f3566..0ffe4a7d84 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/python/GfePyIncludeUtil.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/python/GfePyIncludeUtil.java @@ -40,6 +40,8 @@ import com.raytheon.uf.common.util.FileUtil; * ------------ ---------- ----------- -------------------------- * Oct 9, 2008 njensen Initial creation * Sep 18, 2012 #1091 randerso added base directory to getGfeConfigIncludePath + * Mar 06 2013 15717 jzeng Change CAVE_STATIC to COMMON_STATIC + * for GFE localization files * * * @author njensen @@ -208,14 +210,14 @@ public class GfePyIncludeUtil { public static String getProceduresIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), PROCEDURES); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), PROCEDURES); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), PROCEDURES); return PyUtil.buildJepIncludePath(userDir, siteDir, baseDir); } else { @@ -229,15 +231,15 @@ public class GfePyIncludeUtil { public static String getTextUtilitiesIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), REGULAR); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), REGULAR); String configDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.CONFIGURED), + LocalizationType.COMMON_STATIC, LocalizationLevel.CONFIGURED), REGULAR); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), REGULAR); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), REGULAR); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), REGULAR); return PyUtil.buildJepIncludePath(userDir, siteDir, configDir, baseDir); @@ -252,17 +254,17 @@ public class GfePyIncludeUtil { public static String getTextProductsIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), TEXT_PRODUCTS); String configDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.CONFIGURED), + LocalizationType.COMMON_STATIC, LocalizationLevel.CONFIGURED), TEXT_PRODUCTS); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), TEXT_PRODUCTS); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), TEXT_PRODUCTS); return PyUtil.buildJepIncludePath(userDir, siteDir, configDir, baseDir); @@ -277,14 +279,14 @@ public class GfePyIncludeUtil { public static String getSmartToolsIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), SMART_TOOLS); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), SMART_TOOLS); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), SMART_TOOLS); return PyUtil.buildJepIncludePath(userDir, siteDir, baseDir); } else { @@ -298,14 +300,14 @@ public class GfePyIncludeUtil { public static String getUtilitiesIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), UTILITIES); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), UTILITIES); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), UTILITIES); return PyUtil.buildJepIncludePath(userDir, siteDir, baseDir); } else { @@ -327,12 +329,12 @@ public class GfePyIncludeUtil { public static String getConfigIncludePath(boolean includeUser) { String baseDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), CONFIG); + LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), CONFIG); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), CONFIG); + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), CONFIG); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), CONFIG); return PyUtil.buildJepIncludePath(userDir, siteDir, baseDir); } else { @@ -356,7 +358,7 @@ public class GfePyIncludeUtil { } public static String getTextProductsTemplatesIncludePath() { - return getPath(PATH_MANAGER.getContext(LocalizationType.CAVE_STATIC, + return getPath(PATH_MANAGER.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE), TEXT_PRODUCTS); } @@ -366,14 +368,14 @@ public class GfePyIncludeUtil { public static String getCombinationsIncludePath(boolean includeUser) { String configDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.CONFIGURED), + LocalizationType.COMMON_STATIC, LocalizationLevel.CONFIGURED), COMBINATIONS); String siteDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.SITE), + LocalizationType.COMMON_STATIC, LocalizationLevel.SITE), COMBINATIONS); if (includeUser) { String userDir = getPath(PATH_MANAGER.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER), + LocalizationType.COMMON_STATIC, LocalizationLevel.USER), COMBINATIONS); return PyUtil.buildJepIncludePath(userDir, siteDir, configDir); } else { diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/common_static/base/roles/userRoles.xml b/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/common_static/base/roles/userRoles.xml index 61c231cbea..94076a7aa4 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/common_static/base/roles/userRoles.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/common_static/base/roles/userRoles.xml @@ -5,7 +5,7 @@ - + @@ -93,7 +93,7 @@ com.raytheon.localization.site/common_static/purge - com.raytheon.localization.site/cave_static/colormaps + com.raytheon.localization.site/common_static/colormaps com.raytheon.localization.site/cave_static/ffmp com.raytheon.localization.site/cave_static/fog com.raytheon.localization.site/common_static/fog diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/edex_static/base/roles/userRoles.xml b/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/edex_static/base/roles/userRoles.xml index c4a9488fad..b2ed46352f 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/edex_static/base/roles/userRoles.xml +++ b/edexOsgi/com.raytheon.uf.edex.plugin.nwsauth/utility/edex_static/base/roles/userRoles.xml @@ -10,7 +10,7 @@ - + diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.qc/src/com/raytheon/uf/edex/plugin/qc/QCScanner.java b/edexOsgi/com.raytheon.uf.edex.plugin.qc/src/com/raytheon/uf/edex/plugin/qc/QCScanner.java index a9e8cb558f..c71b17ac57 100644 --- a/edexOsgi/com.raytheon.uf.edex.plugin.qc/src/com/raytheon/uf/edex/plugin/qc/QCScanner.java +++ b/edexOsgi/com.raytheon.uf.edex.plugin.qc/src/com/raytheon/uf/edex/plugin/qc/QCScanner.java @@ -160,10 +160,13 @@ public class QCScanner { String[] idVariablesNames = nc .findGlobalAttribute("idVariables") .getStringValue().split(","); + String[] timeVariableNames = nc + .findGlobalAttribute("timeVariables") + .getStringValue().split(","); Variable[] idVariables = new Variable[idVariablesNames.length]; for (int i = 0; i < idVariables.length; ++i) idVariables[i] = nc.findVariable(idVariablesNames[i]); - Variable vObsTime = nc.findVariable("observationTime"); + Variable vObsTime = nc.findVariable(timeVariableNames[0]); double vObsTimeFillValue = vObsTime.findAttribute("_FillValue").getNumericValue().doubleValue(); Double vObsTimeMissingValue = null; Attribute a = vObsTime.findAttribute("missing_value"); diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.qc/utility/edex_static/base/python/qcScanner.py b/edexOsgi/com.raytheon.uf.edex.plugin.qc/utility/edex_static/base/python/qcScanner.py deleted file mode 100644 index ac12287c7e..0000000000 --- a/edexOsgi/com.raytheon.uf.edex.plugin.qc/utility/edex_static/base/python/qcScanner.py +++ /dev/null @@ -1,183 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -import glob -import os -import os.path -import sys -import time - -import pupynere as netcdf - -from java.lang import Integer -from java.util import ArrayList -from java.util import Date -from com.raytheon.uf.edex.database.query import DatabaseQuery -from com.raytheon.uf.common.dataplugin.qc import QCRecord -from com.raytheon.uf.common.pointdata.spatial import SurfaceObsLocation -from com.raytheon.uf.common.time import DataTime -from com.raytheon.uf.edex.database.plugin import PluginFactory - -import logging, UFStatusHandler - -_logger = logging.getLogger("QCScanner") -_logger.addHandler(UFStatusHandler.UFStatusHandler("com.raytheon.uf.edex.plugin.qc", "QCScanner", level=logging.INFO)) -_logger.setLevel(logging.INFO) - - -# TODO: use jep.jarray - -class NcSet(object): - def __init__(self, path, qcType): - self.path = path - self.lastModTime = None - self.qcType = qcType - max_index = qcDao.getMaxRecordIndex(os.path.basename(path)) - if max_index >= 0: - self.lastRecordCount = max_index + 1 - else: - self.lastRecordCount = None - - def incrementalScan(self, max_records = None): - try: - last_mod_time = os.stat(self.path).st_mtime - except Exception, e: - _logger.error("%s: %s", self.path, e) - return - if last_mod_time == self.lastModTime: - return - self.lastModTime = last_mod_time - try: - f = netcdf.NetCDFFile(self.path, 'r') - except Exception, e: - _logger.error("%s: %s", self.path, e, exc_info=True) - return - - # TODO: find last record ~ - # select ncSet, max(ncIndex) from qc group by ncNet; - - try : - n_records = f.variables['prevRecord'].shape[0] - if self.lastRecordCount is None or n_records > self.lastRecordCount: - i = self.lastRecordCount is not None and self.lastRecordCount or 0 - if max_records is not None: - record_limit = min(i + max_records, n_records) - else: - record_limit = n_records - fn = os.path.basename(self.path) - idVariables = [] - for idVar in f.__getattribute__('idVariables').split(','): - idVariables.append(f.variables[str(idVar)]) - timeVariables = f.__getattribute__('timeVariables').split(',') - vObsTime = f.variables[str(timeVariables[0])] - vObsTimeFillValue = vObsTime.__getattribute__("_FillValue") - try : - vObsTimeMissingValue = vObsTime.__getattribute__("missing_value") - except AttributeError: - vObsTimeMissingValue = vObsTimeFillValue - vLat = f.variables['latitude'] - vLon = f.variables['longitude'] - vElev = f.variables['elevation'] - results = [] - _logger.debug("adding %d records from %s", record_limit - i, self.path) - while i < record_limit: - rec = QCRecord() - rec.setPluginName("qc") - if not vObsTime[i] == vObsTimeFillValue and not vObsTime[i] == vObsTimeMissingValue: - rec.setDataTime(DataTime(Date(int(vObsTime[i] * 1000)))) - loc = SurfaceObsLocation() - loc.assignLocation(float(vLat[i]), float(vLon[i])) - loc.setElevation(Integer(int(vElev[i]))) - stationId = [] - for idVar in idVariables: - stationId.append(''.join(idVar[i]).strip().strip('\0')) - loc.setStationId(''.join(stationId)) - rec.setLocation(loc) - - rec.setNcSet(fn) - rec.setNcIndex(i) - rec.setQcType(self.qcType) - - rec.constructDataURI() - results.append(rec) - - i += 1 - - self.lastRecordCount = record_limit - return results - finally: - f.close() - -class QCScanner(object): - def __init__(self, dir, qcType): - self.directory = dir - self.qcType = qcType - self.ncSets = { } - - def incrementalScan(self, max_records = None): - currentNcSets = self.findNcSetsNow() - newSets = [ ] - delSets = [ ] - for ncSet in currentNcSets: - if not self.ncSets.get(ncSet): - newSets.append(ncSet) - for ncSet in self.ncSets.keys(): - if ncSet not in currentNcSets: - delSets.append(ncSet) - if len(delSets): - for ncSet in delSets: - del self.ncSets[ncSet] - if len(newSets): - for ncSet in newSets: - self.ncSets[ncSet] = NcSet(os.path.join(self.directory, ncSet), self.qcType) - ncSets = self.ncSets.keys() - ncSets.sort() - - results = None - for ncSet in ncSets: - partial = self.ncSets[ncSet].incrementalScan(max_records) - if partial is not None: - if max_records is not None: - max_records -= len(partial) - if results is None: - results = ArrayList(len(partial)) - for rec in partial: - results.add(rec) - - if results is None: - results = ArrayList() - return results - - def findNcSetsNow(self): - paths = glob.glob(self.directory + '/[0-9]*_[0-9]*') - return [ os.path.basename(x) for x in paths ] - -scanner = None -qcDao = None - -def init(directory, qcType): - global scanner, qcDao - scanner = QCScanner(directory, qcType) - qcDao = PluginFactory.getInstance().getPluginDao("qc"); - -def scan(max_records = None): - sys.stdout.flush() - if scanner is not None: - return scanner.incrementalScan(max_records) diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpservertext/ifpServerText.py b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpservertext/ifpServerText.py index 75c9ce4c2d..e7c29b591f 100644 --- a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpservertext/ifpServerText.py +++ b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/ifpservertext/ifpServerText.py @@ -23,7 +23,7 @@ import sys, os, pwd, string, getopt, logging import numpy from dynamicserialize.dstypes.com.raytheon.uf.common.auth.resp import SuccessfulExecution -from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GetSingletonDbIdsRequest +from dynamicserialize.dstypes.com.raytheon.uf.common.site.requests import GetSingletonDbIdsRequest from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GetSiteTimeZoneInfoRequest from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GridLocRequest from dynamicserialize.dstypes.com.raytheon.uf.common.localization import LocalizationContext @@ -50,6 +50,10 @@ from ufpy import ThriftClient # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # 12/17/10 dgilling Initial Creation. +# 03/06/13 15717 jzeng change CAVE_STATIC to COMMON_STATIC +# Change CAVE_STATIC to COMMON_STATIC +# for GFE localization files +# Change the package of requests # # # @@ -106,19 +110,19 @@ class ifpServerText: "ISCUtility": ".py" } - LOCALIZATION_DICT = {"Config": ("CAVE_STATIC", "gfe/userPython/gfeConfig"), + LOCALIZATION_DICT = {"Config": ("COMMON_STATIC", "gfe/userPython/gfeConfig"), "EditArea": ("COMMON_STATIC", "gfe/editAreas"), "EditAreaGroup": ("COMMON_STATIC", "gfe/editAreaGroups"), "SampleSet": ("COMMON_STATIC", "gfe/sampleSets"), - "ColorTable": ("CAVE_STATIC", "colormaps/GFE"), - "WeatherElementGroup": ("CAVE_STATIC", "gfe/weGroups"), + "ColorTable": ("COMMON_STATIC", "colormaps/GFE"), + "WeatherElementGroup": ("COMMON_STATIC", "gfe/weGroups"), "SelectTR": ("COMMON_STATIC", "gfe/text/selecttr"), - "Tool": ("CAVE_STATIC", "gfe/userPython/smartTools"), - "Procedure": ("CAVE_STATIC", "gfe/userPython/procedures"), - "TextProduct": ("CAVE_STATIC", "gfe/userPython/textProducts"), - "TextUtility": ("CAVE_STATIC", "gfe/userPython/textUtilities/regular"), - "Utility": ("CAVE_STATIC", "gfe/userPython/utilities"), - "Combinations": ("CAVE_STATIC", "gfe/combinations"), + "Tool": ("COMMON_STATIC", "gfe/userPython/smartTools"), + "Procedure": ("COMMON_STATIC", "gfe/userPython/procedures"), + "TextProduct": ("COMMON_STATIC", "gfe/userPython/textProducts"), + "TextUtility": ("COMMON_STATIC", "gfe/userPython/textUtilities/regular"), + "Utility": ("COMMON_STATIC", "gfe/userPython/utilities"), + "Combinations": ("COMMON_STATIC", "gfe/combinations"), "ISCUtility": ("COMMON_STATIC", "isc/utilities") } diff --git a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/movegfedata/moveGFEData.py b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/movegfedata/moveGFEData.py index debfc99652..d3b203a307 100644 --- a/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/movegfedata/moveGFEData.py +++ b/edexOsgi/com.raytheon.uf.tools.gfesuite/cli/src/movegfedata/moveGFEData.py @@ -49,7 +49,7 @@ from ufpy import UsageArgumentParser # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- # 12/17/10 dgilling Initial Creation. -# +# 03/08/13 15717 jzeng Change CAVE_STATIC to COMMON_STATIC # # @@ -65,20 +65,20 @@ CopyOnly = False Action = " move " BUFFER_SIZE = 512 * 1024 -LOCALIZATION_DICT = {"GFECONFIG": ("CAVE_STATIC", "gfe/userPython/gfeConfig"), +LOCALIZATION_DICT = {"GFECONFIG": ("COMMON_STATIC", "gfe/userPython/gfeConfig"), "EditArea": ("COMMON_STATIC", "gfe/editAreas"), "EditAreaGroup": ("COMMON_STATIC", "gfe/editAreaGroups"), "SampleSet": ("COMMON_STATIC", "gfe/sampleSets"), - "ColorTable": ("CAVE_STATIC", "colormaps/GFE"), + "ColorTable": ("COMMON_STATIC", "colormaps/GFE"), "BUNDLE": ("COMMON_STATIC", "gfe/weGroups"), "SELECTTR": ("COMMON_STATIC", "gfe/text/selecttr"), - "Tool": ("CAVE_STATIC", "gfe/userPython/smartTools"), - "Procedure": ("CAVE_STATIC", "gfe/userPython/procedures"), - "TextProduct": ("CAVE_STATIC", "gfe/userPython/textProducts"), - "TextUtility": ("CAVE_STATIC", "gfe/userPython/textUtilities/regular"), - "Utility": ("CAVE_STATIC", "gfe/userPython/utilities"), - "COMBODATA": ("CAVE_STATIC", "gfe/comboData"), - "COMBINATIONS": ("CAVE_STATIC", "gfe/combinations")} + "Tool": ("COMMON_STATIC", "gfe/userPython/smartTools"), + "Procedure": ("COMMON_STATIC", "gfe/userPython/procedures"), + "TextProduct": ("COMMON_STATIC", "gfe/userPython/textProducts"), + "TextUtility": ("COMMON_STATIC", "gfe/userPython/textUtilities/regular"), + "Utility": ("COMMON_STATIC", "gfe/userPython/utilities"), + "COMBODATA": ("COMMON_STATIC", "gfe/comboData"), + "COMBINATIONS": ("COMMON_STATIC", "gfe/combinations")} LOCALIZATION_LEVELS = ["BASE", "CONFIGURED", "SITE", "USER"] diff --git a/rpms/build/i386/build.sh b/rpms/build/i386/build.sh index e25d5dbc9f..cc02bd8903 100644 --- a/rpms/build/i386/build.sh +++ b/rpms/build/i386/build.sh @@ -341,6 +341,16 @@ if [ "${1}" = "-viz" ]; then exit 0 fi +if [ "${1}" = "-custom" ]; then + buildRPM "awips2-pypies" + if [ $? -ne 0 ]; then + exit 1 + fi + + exit 0 +fi + + if [ "${1}" = "-edex" ]; then buildRPM "awips2" buildRPM "awips2-cli"