Merge branch 'omaha_15.1.1' into omaha_16.1.1
Former-commit-id: cf70a7888a39667c54b344274c76d5106927fa30
This commit is contained in:
commit
f7af8ee606
3955 changed files with 2511167 additions and 358 deletions
|
@ -143,12 +143,13 @@ public class Awips1ProdDistInfoBuilder {
|
||||||
// Because the radar ingest system uses zero as the value that stands for the
|
// Because the radar ingest system uses zero as the value that stands for the
|
||||||
// null tilt, any bin including 0.0 must have 0.0 as the primary tilt.
|
// null tilt, any bin including 0.0 must have 0.0 as the primary tilt.
|
||||||
// ... not sure if this applies to us
|
// ... not sure if this applies to us
|
||||||
|
// 02/27/2015 DR17099 zwang For TLAS, the first elev 0.8 should match to 0.5
|
||||||
|
|
||||||
// Sequence of (group-rep1, min1, max1, group-rep2, min2, max2, ...)
|
// Sequence of (group-rep1, min1, max1, group-rep2, min2, max2, ...)
|
||||||
protected static int[] angleGroups = {
|
protected static int[] angleGroups = {
|
||||||
0, 0, 3,
|
0, 0, 3,
|
||||||
5, 4, 7,
|
5, 4, 8,
|
||||||
9, 8, 11,
|
9, 9, 11,
|
||||||
15, 12, 16,
|
15, 12, 16,
|
||||||
18, 17, 20,
|
18, 17, 20,
|
||||||
24, 21, 26,
|
24, 21, 26,
|
||||||
|
|
|
@ -20,10 +20,12 @@
|
||||||
-->
|
-->
|
||||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<!-- Direct port of tdlSurfaceMenus.txt -->
|
<!-- Direct port of tdlSurfaceMenus.txt -->
|
||||||
|
<!-- DR 9363: Commented out IFPS part of menu. Has no functionality
|
||||||
<contribute xsi:type="titleItem" titleText="------ IFPS ------"
|
<contribute xsi:type="titleItem" titleText="------ IFPS ------"
|
||||||
id="IFPSLine" />
|
id="IFPSLine" />
|
||||||
<contribute xsi:type="placeholder" menuText="IFPS 3hr" id="IFPS3Hr" />
|
<contribute xsi:type="placeholder" menuText="IFPS 3hr" id="IFPS3Hr" />
|
||||||
<contribute xsi:type="placeholder" menuText="IFPS 12hr" id="IFPS12Hr" />
|
<contribute xsi:type="placeholder" menuText="IFPS 12hr" id="IFPS12Hr" />
|
||||||
|
-->
|
||||||
<contribute xsi:type="titleItem" titleText="------ GFSLAMP ------"
|
<contribute xsi:type="titleItem" titleText="------ GFSLAMP ------"
|
||||||
id="GFSLAMPLine" />
|
id="GFSLAMPLine" />
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
|
@ -110,7 +112,7 @@
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Cond Snow" id="GFSMOSCondSnowPlot">
|
menuText="Cond Snow" id="GFSMOSCondSnowPlot">
|
||||||
<substitute key="model" value="GFS"/>
|
<substitute key="model" value="GFS"/>
|
||||||
<substitute key="plotModel" value="bufrmos/precipSnow.svg"/>
|
<substitute key="plotModel" value="bufrmos/precipSnow.svg"/>
|
||||||
<substitute key="title" value="GFS Cond Snow"/>
|
<substitute key="title" value="GFS Cond Snow"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
|
@ -192,98 +194,101 @@
|
||||||
<substitute key="title" value="GFS Extended QPF 12Hr" />
|
<substitute key="title" value="GFS Extended QPF 12Hr" />
|
||||||
</contribute>
|
</contribute>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="subMenu" menuText="Eta" id="EtaMOSMenu">
|
<!-- DR 9363: Renamed menu text, titles, ids from Eta/ETA to NAM
|
||||||
|
in ETA submenu
|
||||||
|
-->
|
||||||
|
<contribute xsi:type="subMenu" menuText="NAM" id="NAMMOSMenu">
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Station Plot" id="EtaMOSStationPlot" >
|
menuText="Station Plot" id="NAMMOSStationPlot" >
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/stdDesign.svg"/>
|
<substitute key="plotModel" value="bufrmos/stdDesign.svg"/>
|
||||||
<substitute key="title" value="ETA Station Plot"/>
|
<substitute key="title" value="NAM Station Plot"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="MaxT/MinT" id="EtaMOSMaxTMinTPlot" >
|
menuText="MaxT/MinT" id="NAMMOSMaxTMinTPlot" >
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/maxmin.svg"/>
|
<substitute key="plotModel" value="bufrmos/maxmin.svg"/>
|
||||||
<substitute key="title" value="ETA MaxT/MinT"/>
|
<substitute key="title" value="NAM MaxT/MinT"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Ceil/Vis" id="EtaMOSCeilVisPlot">
|
menuText="Ceil/Vis" id="NAMMOSCeilVisPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/CIGV.svg"/>
|
<substitute key="plotModel" value="bufrmos/CIGV.svg"/>
|
||||||
<substitute key="title" value="ETA Ceil/Vis"/>
|
<substitute key="title" value="NAM Ceil/Vis"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="subMenu" menuText="Probabilities" id="EtaMOSProbMenu">
|
<contribute xsi:type="subMenu" menuText="Probabilities" id="NAMMOSProbMenu">
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="POP 12Hr" id="EtaMOSPop12HrPlot">
|
menuText="POP 12Hr" id="NAMMOSPop12HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/pqpf12hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/pqpf12hr.svg"/>
|
||||||
<substitute key="title" value="ETA POP 12Hr"/>
|
<substitute key="title" value="NAM POP 12Hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="POP 6Hr" id="EtaMOSPop6HrPlot">
|
menuText="POP 6Hr" id="NAMMOSPop6HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/pqpf6hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/pqpf6hr.svg"/>
|
||||||
<substitute key="title" value="ETA POP 6Hr"/>
|
<substitute key="title" value="NAM POP 6Hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Tstorm 12Hr" id="EtaMOSTs12HrPlot">
|
menuText="Tstorm 12Hr" id="NAMMOSTs12HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/tstorm12hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/tstorm12hr.svg"/>
|
||||||
<substitute key="title" value="ETA Tstorm 12hr"/>
|
<substitute key="title" value="NAM Tstorm 12hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Tstorm 6Hr" id="EtaMOSTs6HrPlot">
|
menuText="Tstorm 6Hr" id="NAMMOSTs6HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/tstorm6hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/tstorm6hr.svg"/>
|
||||||
<substitute key="title" value="ETA Tstorm 6hr"/>
|
<substitute key="title" value="NAM Tstorm 6hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Svr Tstorm 12Hr" id="EtaMOSSts12HrPlot">
|
menuText="Svr Tstorm 12Hr" id="NAMMOSSts12HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/severe12hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/severe12hr.svg"/>
|
||||||
<substitute key="title" value="ETA Svr Tstorm 12hr"/>
|
<substitute key="title" value="NAM Svr Tstorm 12hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Svr Tstorm 6Hr" id="EtaMOSSts6HrPlot">
|
menuText="Svr Tstorm 6Hr" id="NAMMOSSts6HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/severe6hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/severe6hr.svg"/>
|
||||||
<substitute key="title" value="ETA Svr Tstorm 6hr"/>
|
<substitute key="title" value="NAM Svr Tstorm 6hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Cond Rain" id="EtaMOSCondRainPlot">
|
menuText="Cond Rain" id="NAMMOSCondRainPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/precipRain.svg"/>
|
<substitute key="plotModel" value="bufrmos/precipRain.svg"/>
|
||||||
<substitute key="title" value="ETA Cond Rain"/>
|
<substitute key="title" value="NAM Cond Rain"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Cond Freezing Precip" id="EtaMOSCondFPPlot">
|
menuText="Cond Freezing Precip" id="NAMMOSCondFPPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/freezing.svg"/>
|
<substitute key="plotModel" value="bufrmos/freezing.svg"/>
|
||||||
<substitute key="title" value="ETA Cond Freezing"/>
|
<substitute key="title" value="NAM Cond Freezing"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="Cond Snow" id="EtaMOSCondSnowPlot">
|
menuText="Cond Snow" id="NAMMOSCondSnowPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/precipSnow.svg"/>
|
<substitute key="plotModel" value="bufrmos/precipSnow.svg"/>
|
||||||
<substitute key="title" value="ETA Cond Snow"/>
|
<substitute key="title" value="NAM Cond Snow"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="QPF 12Hr" id="EtaMOSQPF12HrPlot">
|
menuText="QPF 12Hr" id="NAMMOSQPF12HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/qpf12hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/qpf12hr.svg"/>
|
||||||
<substitute key="title" value="ETA QPF 12Hr"/>
|
<substitute key="title" value="NAM QPF 12Hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="QPF 6Hr" id="EtaMOSQPF6HrPlot">
|
menuText="QPF 6Hr" id="NAMMOSQPF6HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/qpf6hr.svg"/>
|
<substitute key="plotModel" value="bufrmos/qpf6hr.svg"/>
|
||||||
<substitute key="title" value="ETA QPF 6Hr"/>
|
<substitute key="title" value="NAM QPF 6Hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
<contribute xsi:type="bundleItem" file="bundles/BufrMosPlot.xml"
|
||||||
menuText="SnowFall 24hr" id="EtaMOSSnowFall24HrPlot">
|
menuText="SnowFall 24hr" id="NAMMOSSnowFall24HrPlot">
|
||||||
<substitute key="model" value="ETA"/>
|
<substitute key="model" value="ETA"/>
|
||||||
<substitute key="plotModel" value="bufrmos/snowfall24.svg"/>
|
<substitute key="plotModel" value="bufrmos/snowfall24.svg"/>
|
||||||
<substitute key="title" value="ETA SnowFall 24hr"/>
|
<substitute key="title" value="NAM SnowFall 24hr"/>
|
||||||
</contribute>
|
</contribute>
|
||||||
</contribute>
|
</contribute>
|
||||||
</menuTemplate>
|
</menuTemplate>
|
||||||
|
|
|
@ -101,6 +101,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* Oct 09, 2012 #1229 rferrel Changes for non-blocking MetarDisplayDialog.
|
* Oct 09, 2012 #1229 rferrel Changes for non-blocking MetarDisplayDialog.
|
||||||
* Oct 09, 2012 #1229 rferrel Changes for non-blocking CigVisTrendDlg.
|
* Oct 09, 2012 #1229 rferrel Changes for non-blocking CigVisTrendDlg.
|
||||||
* Oct 15, 2012 #1229 rferrel Changes for non-blocking HelpUsageDlg.
|
* Oct 15, 2012 #1229 rferrel Changes for non-blocking HelpUsageDlg.
|
||||||
|
* Mar 04, 2015 #15639 zhao Added 'heightHint' to 'Idents' list so GUI won't become too large
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -615,6 +616,7 @@ public class ClimateDataMenuDlg extends CaveSWTDialog {
|
||||||
|
|
||||||
gd = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
|
gd = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
|
||||||
gd.widthHint = 60;
|
gd.widthHint = 60;
|
||||||
|
gd.heightHint = 250;
|
||||||
identList = new List(identComp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
|
identList = new List(identComp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
|
||||||
identList.setLayoutData(gd);
|
identList.setLayoutData(gd);
|
||||||
identList.setFont(textFont);
|
identList.setFont(textFont);
|
||||||
|
|
|
@ -1039,7 +1039,10 @@ class ISC_Utility(SmartScript.SmartScript):
|
||||||
#
|
#
|
||||||
def _convertTimeRange(self, trName):
|
def _convertTimeRange(self, trName):
|
||||||
if trName == "All Grids":
|
if trName == "All Grids":
|
||||||
timeRange = TimeRange.allTimes()
|
curTime = time.gmtime()
|
||||||
|
startHour = curTime[3]
|
||||||
|
timeRange = self.createTimeRange(startHour, 204)
|
||||||
|
#timeRange = TimeRange.allTimes()
|
||||||
# timeRange = AFPS.TimeRange(AFPS.AbsTime(0),
|
# timeRange = AFPS.TimeRange(AFPS.AbsTime(0),
|
||||||
# AFPS.AbsTime_maxFutureTime())
|
# AFPS.AbsTime_maxFutureTime())
|
||||||
elif trName == "Selected Time":
|
elif trName == "Selected Time":
|
||||||
|
|
|
@ -110,6 +110,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* 13 Mar 2013 1790 rferrel Changes for non-blocking dialog.
|
* 13 Mar 2013 1790 rferrel Changes for non-blocking dialog.
|
||||||
* Changes for non-blocking TabularDisplayDlg.
|
* Changes for non-blocking TabularDisplayDlg.
|
||||||
* Bug fix for non-blocking dialogs.
|
* Bug fix for non-blocking dialogs.
|
||||||
|
* 09 Mar 2015 13998 lbousaidi Changes to fix the precipitation data display.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author lvenable
|
* @author lvenable
|
||||||
|
@ -167,6 +168,10 @@ public class PointDataControlDlg extends CaveSWTDialog {
|
||||||
|
|
||||||
/** Value type for Flood Depart values. */
|
/** Value type for Flood Depart values. */
|
||||||
private final int TYPE_DEPART = 1;
|
private final int TYPE_DEPART = 1;
|
||||||
|
|
||||||
|
/** Type sources to always include. */
|
||||||
|
private static final String[] RAIN_TYPE_SOURCES = { "RG", "RP", "RM",
|
||||||
|
"RR", "RZ", "R2" };
|
||||||
|
|
||||||
/** Physical element selections. */
|
/** Physical element selections. */
|
||||||
private final String[] TIMESTEP_DATA_ELEMENT_STRING_ARRAY = {
|
private final String[] TIMESTEP_DATA_ELEMENT_STRING_ARRAY = {
|
||||||
|
@ -2324,6 +2329,7 @@ public class PointDataControlDlg extends CaveSWTDialog {
|
||||||
*/
|
*/
|
||||||
private void handlePeSelection() {
|
private void handlePeSelection() {
|
||||||
PDCOptionData pcOptions = PDCOptionData.getInstance();
|
PDCOptionData pcOptions = PDCOptionData.getInstance();
|
||||||
|
List<String> tsList = new ArrayList<String>();
|
||||||
if (adHocRdo.getSelection()) {
|
if (adHocRdo.getSelection()) {
|
||||||
pcOptions.setPcAndpp(0);
|
pcOptions.setPcAndpp(0);
|
||||||
pcOptions.setPrimary(0);
|
pcOptions.setPrimary(0);
|
||||||
|
@ -2353,6 +2359,11 @@ public class PointDataControlDlg extends CaveSWTDialog {
|
||||||
&& (pcOptions.getElementType() == HydroConstants.AdHocDataElementType.RAIN_AD_HOC_TYPE
|
&& (pcOptions.getElementType() == HydroConstants.AdHocDataElementType.RAIN_AD_HOC_TYPE
|
||||||
.getAdHocDataElementType())) {
|
.getAdHocDataElementType())) {
|
||||||
pcOptions.setPcAndpp(1);
|
pcOptions.setPcAndpp(1);
|
||||||
|
for (String ts : RAIN_TYPE_SOURCES) {
|
||||||
|
tsList.add(ts);
|
||||||
|
}
|
||||||
|
pcOptions.setTypeSourceChosenList(tsList);
|
||||||
|
pcOptions.setTypeSourceChosenCount(tsList.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ import com.raytheon.viz.hydrocommon.util.DurationUtils;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 15, 2010 4564 mpduff Initial creation
|
* Apr 15, 2010 4564 mpduff Initial creation
|
||||||
*
|
* Mar 09, 2015 13998 lbousaidi Initialize minuteList
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -679,6 +679,9 @@ public class GetTotalPrecip {
|
||||||
|
|
||||||
numMinutes = (int) ((endingTime.getTime() - startingTime.getTime()) / PDCConstants.MILLIS_PER_MINUTE);
|
numMinutes = (int) ((endingTime.getTime() - startingTime.getTime()) / PDCConstants.MILLIS_PER_MINUTE);
|
||||||
ArrayList<Integer> minuteList = new ArrayList<Integer>(numMinutes);
|
ArrayList<Integer> minuteList = new ArrayList<Integer>(numMinutes);
|
||||||
|
for (int i = 0 ; i < numMinutes; i++){
|
||||||
|
minuteList.add(0);
|
||||||
|
}
|
||||||
|
|
||||||
precipTotal = computeRawPpTotal(ppDataList, startingTime, endingTime,
|
precipTotal = computeRawPpTotal(ppDataList, startingTime, endingTime,
|
||||||
noAccumFlag, endingTimeMatch, minuteList);
|
noAccumFlag, endingTimeMatch, minuteList);
|
||||||
|
|
|
@ -129,6 +129,7 @@ import com.vividsolutions.jts.index.strtree.STRtree;
|
||||||
* Feb 05, 2013 1578 rferrel Changes for non-blocking singleton TimeSeriesDlg.
|
* Feb 05, 2013 1578 rferrel Changes for non-blocking singleton TimeSeriesDlg.
|
||||||
* Feb 18, 2014 2596 mpduff Check for null coordinates.
|
* Feb 18, 2014 2596 mpduff Check for null coordinates.
|
||||||
* Feb 02, 2015 4075 ccody Added getSelectedGage for HS issue #3961
|
* Feb 02, 2015 4075 ccody Added getSelectedGage for HS issue #3961
|
||||||
|
* Mar 09, 2015 13998 lbousaidi changed the dur display when it is null to match A1.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -637,6 +638,9 @@ public class MultiPointResource extends
|
||||||
shefDurCode = "I";
|
shefDurCode = "I";
|
||||||
} else {
|
} else {
|
||||||
shefDurCode = PDCUtils.convertDur((int) gage.getDur());
|
shefDurCode = PDCUtils.convertDur((int) gage.getDur());
|
||||||
|
if (shefDurCode ==null) {
|
||||||
|
shefDurCode = "?";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String pe = gage.getPe() + shefDurCode + gage.getTs()
|
String pe = gage.getPe() + shefDurCode + gage.getTs()
|
||||||
+ gage.getExtremum();
|
+ gage.getExtremum();
|
||||||
|
|
|
@ -19,9 +19,11 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.viz.hydrobase.dialogs;
|
package com.raytheon.viz.hydrobase.dialogs;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
|
@ -46,6 +48,7 @@ import org.eclipse.swt.widgets.MessageBox;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.swt.widgets.Text;
|
import org.eclipse.swt.widgets.Text;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.ohd.AppsDefaults;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.viz.hydrobase.listeners.ICountyStateListener;
|
import com.raytheon.viz.hydrobase.listeners.ICountyStateListener;
|
||||||
import com.raytheon.viz.hydrobase.listeners.IStationListener;
|
import com.raytheon.viz.hydrobase.listeners.IStationListener;
|
||||||
|
@ -83,6 +86,9 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* Changes for non-blocking CoopAgencyOfficeDlg.
|
* Changes for non-blocking CoopAgencyOfficeDlg.
|
||||||
* Changes for non-blocking CopyNewLocationDlg.
|
* Changes for non-blocking CopyNewLocationDlg.
|
||||||
* Changes for non-blocking CountyStateDlg.
|
* Changes for non-blocking CountyStateDlg.
|
||||||
|
* 08 Jan 2015 15695, 15488 djingtao fix the save/update text field with apostrophe, repleace the single
|
||||||
|
* apostrophe to two single apostrophe before save/update to database.
|
||||||
|
* 02 Feb 2015 13372 djingtao change the GMT time to local time for "revise" field
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -1800,7 +1806,40 @@ public class AddModifyLocationDlg extends CaveSWTDialog implements
|
||||||
* If station is "Inactive", store an 'I' in the loc.type field.
|
* If station is "Inactive", store an 'I' in the loc.type field.
|
||||||
*/
|
*/
|
||||||
dataToSave.setType((inactiveChk.getSelection()) ? "I" : "");
|
dataToSave.setType((inactiveChk.getSelection()) ? "I" : "");
|
||||||
|
|
||||||
|
/* Check if text fields in dataToSave include single apostrophe, if it do, replace to
|
||||||
|
two single apostrophe */
|
||||||
|
|
||||||
|
AppsDefaults ad = AppsDefaults.getInstance();
|
||||||
|
boolean debug = ad.getBoolean(HydroConstants.DEBUG_HYDRO_DB_TOKEN, false);
|
||||||
|
|
||||||
|
Class<?> c = dataToSave.getClass();
|
||||||
|
|
||||||
|
Field fields[] = c.getDeclaredFields();
|
||||||
|
|
||||||
|
for (Field f : fields)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (f.getType().isAssignableFrom(String.class))
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
System.out.println("The field name is " + f.getName());
|
||||||
|
|
||||||
|
f.setAccessible(true);
|
||||||
|
String value = (String) f.get(dataToSave).toString();
|
||||||
|
|
||||||
|
if (value.contains("'"))
|
||||||
|
{
|
||||||
|
value = value.replace("'", "''");
|
||||||
|
f.set(dataToSave, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save to DB via DataManager
|
// Save to DB via DataManager
|
||||||
try {
|
try {
|
||||||
HydroDBDataManager.getInstance().putData(dataToSave);
|
HydroDBDataManager.getInstance().putData(dataToSave);
|
||||||
|
@ -1905,9 +1944,14 @@ public class AddModifyLocationDlg extends CaveSWTDialog implements
|
||||||
// If the Revision Checkbox is checked, set the Revision Date to the
|
// If the Revision Checkbox is checked, set the Revision Date to the
|
||||||
// current date
|
// current date
|
||||||
// Else load the date from the database
|
// Else load the date from the database
|
||||||
|
|
||||||
|
Calendar now = Calendar.getInstance(Locale.getDefault());
|
||||||
|
String revise_str = new SimpleDateFormat("MM/dd/yyyy").format(now.getTime());
|
||||||
|
|
||||||
if (reviseChk.getSelection()) {
|
if (reviseChk.getSelection()) {
|
||||||
reviseTF.setText(locDate.format(Calendar.getInstance(
|
// reviseTF.setText(locDate.format(Calendar.getInstance(
|
||||||
TimeZone.getTimeZone("GMT")).getTime()));
|
// TimeZone.getTimeZone("GMT")).getTime()));
|
||||||
|
reviseTF.setText(revise_str);
|
||||||
} else if (locData != null) {
|
} else if (locData != null) {
|
||||||
reviseTF.setText((locData.getReviseDate() != null) ? locDate
|
reviseTF.setText((locData.getReviseDate() != null) ? locDate
|
||||||
.format(locData.getReviseDate()) : "");
|
.format(locData.getReviseDate()) : "");
|
||||||
|
|
|
@ -23,6 +23,7 @@ import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
|
@ -77,6 +78,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* Apr 16,2012 14797 wkwock Change lat/lon from hour minute sec to decimal.
|
* Apr 16,2012 14797 wkwock Change lat/lon from hour minute sec to decimal.
|
||||||
* Jun 11,2013 2088 rferrel Make dialog non-blocking.
|
* Jun 11,2013 2088 rferrel Make dialog non-blocking.
|
||||||
* Changes for non-blocking FcstPointGroupDlg.
|
* Changes for non-blocking FcstPointGroupDlg.
|
||||||
|
* Feb.02, 2015 #13372 djingtao Change from GMT time to local time for "Revise" field
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -1531,11 +1533,16 @@ public class RiverGageDlg extends CaveSWTDialog implements
|
||||||
*/
|
*/
|
||||||
private void updateRevisionDate() {
|
private void updateRevisionDate() {
|
||||||
// If the Revision Checkbox is checked, set the Revision Date to the
|
// If the Revision Checkbox is checked, set the Revision Date to the
|
||||||
// current date
|
// current date in local time
|
||||||
// Else load the date from the database
|
// Else load the date from the database
|
||||||
Date now = Calendar.getInstance(TimeZone.getTimeZone("GMT")).getTime();
|
//Date now = Calendar.getInstance(TimeZone.getTimeZone("GMT")).getTime();
|
||||||
if (reviseChk.getSelection()) {
|
|
||||||
dateTF.setText(dateFormat.format(now));
|
Calendar now = Calendar.getInstance(Locale.getDefault());
|
||||||
|
String revise_str = new SimpleDateFormat("MM/dd/yyyy").format(now.getTime());
|
||||||
|
|
||||||
|
if (reviseChk.getSelection()) {
|
||||||
|
//dateTF.setText(dateFormat.format(now));
|
||||||
|
dateTF.setText(revise_str);
|
||||||
} else if (riverGageData != null) {
|
} else if (riverGageData != null) {
|
||||||
dateTF.setText((riverGageData.getReviseDate() != null) ? dateFormat
|
dateTF.setText((riverGageData.getReviseDate() != null) ? dateFormat
|
||||||
.format(riverGageData.getReviseDate()) : "");
|
.format(riverGageData.getReviseDate()) : "");
|
||||||
|
|
|
@ -22,6 +22,7 @@ package com.raytheon.viz.hydrocommon.colorscalemgr;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.eclipse.jface.dialogs.MessageDialog;
|
import org.eclipse.jface.dialogs.MessageDialog;
|
||||||
|
@ -54,7 +55,10 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.viz.core.RGBColors;
|
import com.raytheon.uf.viz.core.RGBColors;
|
||||||
|
import com.raytheon.uf.viz.core.catalog.DirectDbQuery;
|
||||||
|
import com.raytheon.uf.viz.core.catalog.DirectDbQuery.QueryLanguage;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
import com.raytheon.viz.hydrocommon.HydroConstants;
|
||||||
import com.raytheon.viz.hydrocommon.data.ColorValueData;
|
import com.raytheon.viz.hydrocommon.data.ColorValueData;
|
||||||
import com.raytheon.viz.hydrocommon.datamanager.HydroDBDataManager;
|
import com.raytheon.viz.hydrocommon.datamanager.HydroDBDataManager;
|
||||||
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||||
|
@ -74,6 +78,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* 01 Jul 2013 2088 rferrel Changes for non-blocking dialogs.
|
* 01 Jul 2013 2088 rferrel Changes for non-blocking dialogs.
|
||||||
* 06 Sep 2013 #2342 lvenable Fixed color memory leaks and a null point exception.
|
* 06 Sep 2013 #2342 lvenable Fixed color memory leaks and a null point exception.
|
||||||
* 04 Sep 2014 14448 cgobs Make MPE redisplay after save of color settings in ColorScaleMgr
|
* 04 Sep 2014 14448 cgobs Make MPE redisplay after save of color settings in ColorScaleMgr
|
||||||
|
* 26 Feb 2015 16848 cgobs Fix merging of color sets by deleting existing set before saving new set.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author lvenable
|
* @author lvenable
|
||||||
|
@ -1955,6 +1960,66 @@ public class ColorScaleMgrDlg extends CaveSWTDialog {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void deleteDataFromDb(String applicationName, String colorUseName, String userId, String durationString) {
|
||||||
|
HydroDBDataManager manager = HydroDBDataManager.getInstance();
|
||||||
|
|
||||||
|
String whereClause = " WHERE application_name = '" + applicationName + "' AND " +
|
||||||
|
"color_use_name = '" + colorUseName + "' AND " +
|
||||||
|
"userId = '" + userId + "' AND " +
|
||||||
|
"duration = '" + durationString + "' AND " +
|
||||||
|
"threshold_unit = 'E' ";
|
||||||
|
String statement = "delete from colorValue " + whereClause;
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DirectDbQuery.executeStatement(statement,HydroConstants.IHFS, QueryLanguage.SQL);
|
||||||
|
}
|
||||||
|
|
||||||
|
catch (VizException e) {
|
||||||
|
statusHandler.handle(Priority.ERROR,
|
||||||
|
"Error deleting Color Value Data: ", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 0. Collect data to delete (user, dataType, duration
|
||||||
|
|
||||||
|
java.util.List<ColorScaleData> data = editColorData
|
||||||
|
.getUsedColorScaleDataArray(userId, durationString + "_" + colorUseName);
|
||||||
|
|
||||||
|
ColorValueData cvd = new ColorValueData();
|
||||||
|
cvd.setApplicationName(applicationName);
|
||||||
|
cvd.setColorUseName(colorUseName);
|
||||||
|
cvd.setUserId(userId);
|
||||||
|
cvd.setDuration(durationString);
|
||||||
|
|
||||||
|
System.out.println("Attempting to delete data from cvd = " + getStringFromColorValueData(cvd) );
|
||||||
|
|
||||||
|
// 1. Delete each record from database
|
||||||
|
for (ColorScaleData csd : data) {
|
||||||
|
cvd.setThresholdValue(csd.getDoubleVal().toString());
|
||||||
|
try {
|
||||||
|
manager.deleteRecord(cvd);
|
||||||
|
} catch (VizException e) {
|
||||||
|
statusHandler.handle(Priority.ERROR,
|
||||||
|
"Error deleting Color Value Data: ", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String getStringFromColorValueData(ColorValueData cvd)
|
||||||
|
{
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("appName: " + cvd.getApplicationName() +
|
||||||
|
" colorUseName: " + cvd.getColorUseName() +
|
||||||
|
" userId: " + cvd.getUserId() +
|
||||||
|
" duration: " + cvd.getDuration());
|
||||||
|
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* save the data to the database
|
* save the data to the database
|
||||||
*
|
*
|
||||||
|
@ -1966,6 +2031,69 @@ public class ColorScaleMgrDlg extends CaveSWTDialog {
|
||||||
|
|
||||||
HydroDBDataManager manager = HydroDBDataManager.getInstance();
|
HydroDBDataManager manager = HydroDBDataManager.getInstance();
|
||||||
|
|
||||||
|
String userId = user;
|
||||||
|
String applicationName = colorManager.getApplicationName();
|
||||||
|
String colorUseName = colorManager.getDataTypeName(saveDataTypeCbo
|
||||||
|
.getText());
|
||||||
|
String duration = selectedDurationInSeconds.toString();
|
||||||
|
|
||||||
|
deleteDataFromDb(applicationName, colorUseName, userId, duration);
|
||||||
|
|
||||||
|
ColorValueData cvd = new ColorValueData();
|
||||||
|
for (ColorValueLabels cvls : colorValLblArray) {
|
||||||
|
String threshold = cvls.getValueText();
|
||||||
|
String colorName = cvls.getColorName();
|
||||||
|
String thresholdUnit = "E";
|
||||||
|
if (ColorScaleData.MISSING.equals(threshold)) {
|
||||||
|
threshold = "-9999";
|
||||||
|
} else if (ColorScaleData.LESS_THAN_MIN.equals(threshold)) {
|
||||||
|
threshold = "-8888";
|
||||||
|
}
|
||||||
|
|
||||||
|
cvd.setApplicationName(applicationName);
|
||||||
|
cvd.setUserId(userId);
|
||||||
|
cvd.setColorName(colorName);
|
||||||
|
cvd.setColorUseName(colorUseName);
|
||||||
|
cvd.setDuration(duration);
|
||||||
|
cvd.setThresholdUnit(thresholdUnit);
|
||||||
|
cvd.setThresholdValue(threshold);
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
manager.putData(cvd);
|
||||||
|
} catch (VizException e1) {
|
||||||
|
statusHandler.handle(Priority.ERROR,
|
||||||
|
"Error saving Color Value Data: ", e1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (sourceCbo.getText().equals(DEFAULT)) {
|
||||||
|
createDefaultData();
|
||||||
|
} else {
|
||||||
|
createColorData(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateDurationCombo();
|
||||||
|
updateColorValueLabelBar();
|
||||||
|
|
||||||
|
if (this.saveCallback != null) {
|
||||||
|
this.saveCallback.execute();
|
||||||
|
}
|
||||||
|
setReturnValue(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* save the data to the database
|
||||||
|
*
|
||||||
|
* @param user
|
||||||
|
* user to save current data as
|
||||||
|
*/
|
||||||
|
private void saveDataOrig(String user) {
|
||||||
|
setSelectedDuration(durationCbo.getText());
|
||||||
|
|
||||||
|
HydroDBDataManager manager = HydroDBDataManager.getInstance();
|
||||||
|
|
||||||
String userId = user;
|
String userId = user;
|
||||||
String applicationName = colorManager.getApplicationName();
|
String applicationName = colorManager.getApplicationName();
|
||||||
String colorUseName = colorManager.getDataTypeName(saveDataTypeCbo
|
String colorUseName = colorManager.getDataTypeName(saveDataTypeCbo
|
||||||
|
@ -1998,7 +2126,13 @@ public class ColorScaleMgrDlg extends CaveSWTDialog {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//delete all old records
|
||||||
|
|
||||||
for (ColorValueLabels cvls : usedColorValLblArray) {
|
for (ColorValueLabels cvls : usedColorValLblArray) {
|
||||||
|
|
||||||
|
System.out.printf(" value = %s, colorName = %s\n", cvls.getValueText(), cvls.getColorName() );
|
||||||
|
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
for (int i = 0; (i < colorValLblArray.size()) && !found; ++i) {
|
for (int i = 0; (i < colorValLblArray.size()) && !found; ++i) {
|
||||||
String val = colorValLblArray.get(i).getValueText();
|
String val = colorValLblArray.get(i).getValueText();
|
||||||
|
@ -2006,6 +2140,9 @@ public class ColorScaleMgrDlg extends CaveSWTDialog {
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.printf("found = %b\n", found);
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
cvd.setApplicationName(applicationName);
|
cvd.setApplicationName(applicationName);
|
||||||
cvd.setUserId(userId);
|
cvd.setUserId(userId);
|
||||||
|
|
|
@ -48,6 +48,8 @@ import org.eclipse.swt.graphics.RGB;
|
||||||
* 29 NOV 2007 373 lvenable Initial creation
|
* 29 NOV 2007 373 lvenable Initial creation
|
||||||
* 18 APR 2013 1790 rferrel Cleanup method interfaces;
|
* 18 APR 2013 1790 rferrel Cleanup method interfaces;
|
||||||
* part of non-blocking dialogs.
|
* part of non-blocking dialogs.
|
||||||
|
* 26 Feb 2015 16777 cgobs Fix code so that undo in color manager works
|
||||||
|
* for missing and lessThanMin color-value pairs
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -104,7 +106,11 @@ public class ColorScaleSets {
|
||||||
public void updateMissingColor(RGB rgb) {
|
public void updateMissingColor(RGB rgb) {
|
||||||
for (int i = 0; i < updatedColorSet.size(); ++i) {
|
for (int i = 0; i < updatedColorSet.size(); ++i) {
|
||||||
if (updatedColorSet.get(i).value.compareTo(ColorScaleData.MISSING) == 0) {
|
if (updatedColorSet.get(i).value.compareTo(ColorScaleData.MISSING) == 0) {
|
||||||
updatedColorSet.get(i).setColor(rgb);
|
// updatedColorSet.get(i).setColor(rgb);
|
||||||
|
|
||||||
|
ColorScaleData newData = new ColorScaleData();
|
||||||
|
newData.missingScaleData(rgb);
|
||||||
|
updatedColorSet.set(i, newData);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,7 +126,12 @@ public class ColorScaleSets {
|
||||||
for (int i = 0; i < updatedColorSet.size(); ++i) {
|
for (int i = 0; i < updatedColorSet.size(); ++i) {
|
||||||
if (updatedColorSet.get(i).value
|
if (updatedColorSet.get(i).value
|
||||||
.compareTo(ColorScaleData.LESS_THAN_MIN) == 0) {
|
.compareTo(ColorScaleData.LESS_THAN_MIN) == 0) {
|
||||||
updatedColorSet.get(i).setColor(rgb);
|
//updatedColorSet.get(i).setColor(rgb);
|
||||||
|
|
||||||
|
ColorScaleData newData = new ColorScaleData();
|
||||||
|
newData.lessThanMinScaleData(rgb);
|
||||||
|
updatedColorSet.set(i, newData);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,8 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||||
* Sep 10, 2008 lvenable Initial creation
|
* Sep 10, 2008 lvenable Initial creation
|
||||||
* Feb 13, 2013 15794 wkwock Make Sequence number goes up to 99
|
* Feb 13, 2013 15794 wkwock Make Sequence number goes up to 99
|
||||||
* Jul 10, 2013 2088 rferrel Make dialog non-blocking.
|
* Jul 10, 2013 2088 rferrel Make dialog non-blocking.
|
||||||
*
|
* Feb 03, 2015 16883 djingtao Contact "New" button causes record to be written to the db
|
||||||
|
* Feb 03, 2015 14147 djingtao "Sequence" number in Contact
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author lvenable
|
* @author lvenable
|
||||||
|
@ -391,7 +392,8 @@ public class ContactsDlg extends CaveSWTDialog {
|
||||||
newBtn.addSelectionListener(new SelectionAdapter() {
|
newBtn.addSelectionListener(new SelectionAdapter() {
|
||||||
public void widgetSelected(SelectionEvent event) {
|
public void widgetSelected(SelectionEvent event) {
|
||||||
newContactFlag = true;
|
newContactFlag = true;
|
||||||
updateInsertContactData();
|
|
||||||
|
// updateInsertContactData();
|
||||||
clearInformationFields();
|
clearInformationFields();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -419,7 +421,18 @@ public class ContactsDlg extends CaveSWTDialog {
|
||||||
* Clear the informations fields.
|
* Clear the informations fields.
|
||||||
*/
|
*/
|
||||||
private void clearInformationFields() {
|
private void clearInformationFields() {
|
||||||
seqNumSpnr.setSelection(5);
|
// get how many contacts in the Contacts List
|
||||||
|
int contactNum = 0;
|
||||||
|
try {
|
||||||
|
contactNum = ContactsDataManager.getInstance().getContactData(locationId).size();
|
||||||
|
} catch (VizException e) {
|
||||||
|
statusHandler.handle(Priority.ERROR,
|
||||||
|
"Unable to determine if contact exits: ", e);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//seqNumSpnr.setSelection(1);
|
||||||
|
seqNumSpnr.setSelection(contactNum + 1);
|
||||||
contactNameTF.setText("");
|
contactNameTF.setText("");
|
||||||
phoneTF.setText("");
|
phoneTF.setText("");
|
||||||
emailTF.setText("");
|
emailTF.setText("");
|
||||||
|
@ -455,18 +468,13 @@ public class ContactsDlg extends CaveSWTDialog {
|
||||||
* Check if the contact already exists.
|
* Check if the contact already exists.
|
||||||
*/
|
*/
|
||||||
if (contactExits == true) {
|
if (contactExits == true) {
|
||||||
MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION
|
MessageBox mb = new MessageBox(shell, SWT.ICON_ERROR
|
||||||
| SWT.OK | SWT.CANCEL);
|
| SWT.OK);
|
||||||
mb.setText("Insert");
|
mb.setText("Error");
|
||||||
mb.setMessage("The contact you want to insert already exists.\n"
|
mb.setMessage("The contact you want to insert already exists.");
|
||||||
+ "Do you wish to update the existing data?");
|
mb.open();
|
||||||
int result = mb.open();
|
state = false;
|
||||||
|
|
||||||
if (result == SWT.CANCEL) {
|
|
||||||
state = false;
|
|
||||||
} else {
|
|
||||||
state = updateContact();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
state = insertNewContact();
|
state = insertNewContact();
|
||||||
}
|
}
|
||||||
|
@ -511,7 +519,7 @@ public class ContactsDlg extends CaveSWTDialog {
|
||||||
* @return true when update successful
|
* @return true when update successful
|
||||||
*/
|
*/
|
||||||
private boolean updateContact() {
|
private boolean updateContact() {
|
||||||
try {
|
try {
|
||||||
ContactsData data = new ContactsData();
|
ContactsData data = new ContactsData();
|
||||||
data.setLid(locationId);
|
data.setLid(locationId);
|
||||||
data.setContact(contactNameTF.getText().trim());
|
data.setContact(contactNameTF.getText().trim());
|
||||||
|
|
|
@ -30,7 +30,8 @@ package com.raytheon.viz.hydrocommon.cresthistory;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 11, 2008 1628 dhladky initial
|
* Dec 11, 2008 1628 dhladky initial
|
||||||
* Nov 04, 2010 5518 lbousaid added all/above/bellow flag to
|
* Nov 04, 2010 5518 lbousaid added all/above/bellow flag to
|
||||||
* getRiverCrestData
|
* getRiverCrestData
|
||||||
|
* Jan 09, 2015 16698 JingtaoD Crest History failed validation dialog pops up when OK button clicked
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -207,14 +208,17 @@ public class CrestHistoryDataManager {
|
||||||
try {
|
try {
|
||||||
DirectDbQuery.executeStatement(insertCrest, HydroConstants.IHFS,
|
DirectDbQuery.executeStatement(insertCrest, HydroConstants.IHFS,
|
||||||
QueryLanguage.SQL);
|
QueryLanguage.SQL);
|
||||||
} catch (VizException e) {
|
} catch (VizException e) {
|
||||||
/* If this update fails then try an insert */
|
|
||||||
if (e.getMessage().contains("crest_pk")) {
|
e.printStackTrace();
|
||||||
|
|
||||||
|
//exception with duplicate key value is throwed in the 2nd cause
|
||||||
|
|
||||||
|
if (e.getCause().getCause().getMessage().contains("crest_pk")) {
|
||||||
executeUpdate = true;
|
executeUpdate = true;
|
||||||
} else {
|
} else {
|
||||||
errMsg = "Error inserting data into database.";
|
errMsg = "Error inserting data into database.";
|
||||||
}
|
}
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (executeUpdate) {
|
if (executeUpdate) {
|
||||||
|
|
|
@ -56,6 +56,7 @@ import com.raytheon.viz.mpe.core.MPEProcessGrib;
|
||||||
import com.raytheon.viz.mpe.ui.Activator;
|
import com.raytheon.viz.mpe.ui.Activator;
|
||||||
import com.raytheon.viz.mpe.ui.DisplayFieldData;
|
import com.raytheon.viz.mpe.ui.DisplayFieldData;
|
||||||
import com.raytheon.viz.mpe.ui.MPEDisplayManager;
|
import com.raytheon.viz.mpe.ui.MPEDisplayManager;
|
||||||
|
import com.raytheon.viz.mpe.ui.dialogs.polygon.PolygonEditManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -72,6 +73,7 @@ import com.raytheon.viz.mpe.ui.MPEDisplayManager;
|
||||||
*
|
*
|
||||||
* Apr29, 2014 16308 lbousaidi transmit RFC Bias when an hour
|
* Apr29, 2014 16308 lbousaidi transmit RFC Bias when an hour
|
||||||
* MPE is saved via the GUI.
|
* MPE is saved via the GUI.
|
||||||
|
* Mar 10, 2015 14554 snaples Added check to remove Best Estimate polygons after saving.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author mschenke
|
* @author mschenke
|
||||||
|
@ -285,6 +287,10 @@ public class SaveBestEstimate {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
File qpePolyFile = PolygonEditManager.getHourlyEditFile(bestEstField, editDate);
|
||||||
|
if(qpePolyFile.exists()){
|
||||||
|
qpePolyFile.delete();
|
||||||
}
|
}
|
||||||
MPEDisplayManager.getCurrent().setSavedData(true);
|
MPEDisplayManager.getCurrent().setSavedData(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,7 @@ import com.raytheon.viz.mpe.util.WriteQPFGrids;
|
||||||
* Sep 19, 2011 10955 rferrel Use RunProcess
|
* Sep 19, 2011 10955 rferrel Use RunProcess
|
||||||
* Nov 06, 2012 15481 wkwock Fix save 6 hours precipitation files
|
* Nov 06, 2012 15481 wkwock Fix save 6 hours precipitation files
|
||||||
* May 02, 2013 15956 wkwock Fix incorrect contents in precip_LLL_grid_yyyymmdd.nc file
|
* May 02, 2013 15956 wkwock Fix incorrect contents in precip_LLL_grid_yyyymmdd.nc file
|
||||||
|
* Mar 10, 2015 14575 snaples Added status check to make sure that we close everything before exiting.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -497,9 +498,9 @@ public class SaveLevel2Data {
|
||||||
// logMessage("\nSTATUS: 2) type value in type/source in level2 file is ##%s##\n",type);
|
// logMessage("\nSTATUS: 2) type value in type/source in level2 file is ##%s##\n",type);
|
||||||
save_isom = dqc.isom;
|
save_isom = dqc.isom;
|
||||||
|
|
||||||
MPEDisplayManager mpd = MPEDisplayManager.getCurrent();
|
// MPEDisplayManager mpd = MPEDisplayManager.getCurrent();
|
||||||
|
|
||||||
if ((mpd.isQpf() == true || mpd.isMaxmin() == true || mpd.isZflag() == true)
|
if ((DailyQcUtils.qpf_flag == true || DailyQcUtils.maxmin_flag == true || DailyQcUtils.z_flag == true)
|
||||||
&& dqc.pcpn_day == 0
|
&& dqc.pcpn_day == 0
|
||||||
&& (dqc.curHr18_00 == 1
|
&& (dqc.curHr18_00 == 1
|
||||||
|| dqc.curHr00_06 == 1 || dqc.curHr06_12 == 1)) {
|
|| dqc.curHr00_06 == 1 || dqc.curHr06_12 == 1)) {
|
||||||
|
@ -514,7 +515,7 @@ public class SaveLevel2Data {
|
||||||
* 06-12z
|
* 06-12z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (mpd.isQpf() == true) {
|
if (DailyQcUtils.qpf_flag == true) {
|
||||||
if (dqc.curHr18_00 == 1) {
|
if (dqc.curHr18_00 == 1) {
|
||||||
dqc.pdata[dqc.pcpn_day].used[1] = 0;
|
dqc.pdata[dqc.pcpn_day].used[1] = 0;
|
||||||
dqc.pdata[dqc.pcpn_day].used[2] = 0;
|
dqc.pdata[dqc.pcpn_day].used[2] = 0;
|
||||||
|
@ -530,7 +531,7 @@ public class SaveLevel2Data {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (mpd.isZflag() == true) {
|
else if (DailyQcUtils.z_flag == true) {
|
||||||
if (dqc.curHr18_00 == 1) {
|
if (dqc.curHr18_00 == 1) {
|
||||||
dqc.zdata[dqc.pcpn_day].used[1] = 0;
|
dqc.zdata[dqc.pcpn_day].used[1] = 0;
|
||||||
dqc.zdata[dqc.pcpn_day].used[2] = 0;
|
dqc.zdata[dqc.pcpn_day].used[2] = 0;
|
||||||
|
@ -547,7 +548,7 @@ public class SaveLevel2Data {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (mpd.isMaxmin() == true) {
|
else if (DailyQcUtils.maxmin_flag == true) {
|
||||||
if (dqc.curHr18_00 == 1) {
|
if (dqc.curHr18_00 == 1) {
|
||||||
dqc.tdata[dqc.pcpn_day].used[1] = 0;
|
dqc.tdata[dqc.pcpn_day].used[1] = 0;
|
||||||
dqc.tdata[dqc.pcpn_day].used[2] = 0;
|
dqc.tdata[dqc.pcpn_day].used[2] = 0;
|
||||||
|
@ -2422,11 +2423,12 @@ public class SaveLevel2Data {
|
||||||
|
|
||||||
int pcpn_day = dqc.pcpn_day;
|
int pcpn_day = dqc.pcpn_day;
|
||||||
|
|
||||||
if (MPEDisplayManager.getCurrent().isQpf() == true
|
if (DailyQcUtils.qpf_flag == true
|
||||||
|| MPEDisplayManager.getCurrent().isZflag() == true
|
|| DailyQcUtils.z_flag == true
|
||||||
|| MPEDisplayManager.getCurrent().isMaxmin() == true) {
|
|| DailyQcUtils.maxmin_flag == true)
|
||||||
|
{
|
||||||
|
|
||||||
if (MPEDisplayManager.getCurrent().isQpf() == true) {
|
if (DailyQcUtils.qpf_flag == true) {
|
||||||
QcPrecipOptionsDialog.dataSet.clear();
|
QcPrecipOptionsDialog.dataSet.clear();
|
||||||
QcPrecipOptionsDialog.dataSet
|
QcPrecipOptionsDialog.dataSet
|
||||||
.addAll(QcPrecipOptionsDialog.dataType);
|
.addAll(QcPrecipOptionsDialog.dataType);
|
||||||
|
@ -2439,13 +2441,13 @@ public class SaveLevel2Data {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (MPEDisplayManager.getCurrent().isZflag() == true) {
|
else if (DailyQcUtils.z_flag == true) {
|
||||||
QcFreezeOptionsDialog.dataSet.clear();
|
QcFreezeOptionsDialog.dataSet.clear();
|
||||||
QcFreezeOptionsDialog.dataSet
|
QcFreezeOptionsDialog.dataSet
|
||||||
.addAll(QcPrecipOptionsDialog.dataType);
|
.addAll(QcPrecipOptionsDialog.dataType);
|
||||||
|
|
||||||
time_pos = 100 + pcp_flag;
|
time_pos = 100 + pcp_flag;
|
||||||
} else if (MPEDisplayManager.getCurrent().isMaxmin() == true) {
|
} else if (DailyQcUtils.maxmin_flag == true) {
|
||||||
QcTempOptionsDialog.dataSet.clear();
|
QcTempOptionsDialog.dataSet.clear();
|
||||||
QcTempOptionsDialog.dataSet
|
QcTempOptionsDialog.dataSet
|
||||||
.addAll(QcPrecipOptionsDialog.dataType);
|
.addAll(QcPrecipOptionsDialog.dataType);
|
||||||
|
@ -2496,7 +2498,7 @@ public class SaveLevel2Data {
|
||||||
k = 5;
|
k = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MPEDisplayManager.getCurrent().isQpf() == true
|
if (DailyQcUtils.qpf_flag == true
|
||||||
&& QcPrecipOptionsDialog.isOpen == true) {
|
&& QcPrecipOptionsDialog.isOpen == true) {
|
||||||
QcPrecipOptionsDialog.selectDataSetVal(k);
|
QcPrecipOptionsDialog.selectDataSetVal(k);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,8 @@ import org.eclipse.core.commands.ExecutionException;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.ohd.AppsDefaults;
|
||||||
|
import com.raytheon.viz.mpe.ui.MPEDisplayManager;
|
||||||
import com.raytheon.viz.mpe.ui.dialogs.postanalysis.SummedHourlyMpeDlg;
|
import com.raytheon.viz.mpe.ui.dialogs.postanalysis.SummedHourlyMpeDlg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,7 +39,7 @@ import com.raytheon.viz.mpe.ui.dialogs.postanalysis.SummedHourlyMpeDlg;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jun 12, 2011 lvenable Initial creation
|
* Jun 12, 2011 lvenable Initial creation
|
||||||
*
|
* Feb 26, 2015 9554 cgobs Enable button based on mpe_post_analysis token and MPE 1-hr vs DQC mode
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author lvenable
|
* @author lvenable
|
||||||
|
@ -60,4 +62,25 @@ public class SummedHourlyMpeAction extends AbstractHandler {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled()
|
||||||
|
{
|
||||||
|
|
||||||
|
System.out.println("In SummedHourlyMpeAction.isEnabled()");
|
||||||
|
|
||||||
|
AppsDefaults appsDefaults = AppsDefaults.getInstance();
|
||||||
|
boolean isPostAnalysisOnByToken = appsDefaults.getBoolean("mpe_post_analysis", false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
MPEDisplayManager mgr = MPEDisplayManager.getCurrent();
|
||||||
|
boolean isDailyQCOn = (mgr.isQpf() || mgr.isZflag() || mgr.isMaxmin());
|
||||||
|
|
||||||
|
boolean isPostAnalysisAvailable = isDailyQCOn && isPostAnalysisOnByToken;
|
||||||
|
|
||||||
|
return isPostAnalysisAvailable;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,7 @@ import com.raytheon.viz.ui.perspectives.VizPerspectiveListener;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jul, 7 2009 snaples Initial creation
|
* Jul, 7 2009 snaples Initial creation
|
||||||
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
||||||
|
* Mar 10, 2015 14575 snaples Added addtional status flag.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -277,6 +278,7 @@ public class QcFreezeOptionsDialog extends AbstractMPEDialog {
|
||||||
|
|
||||||
shell.open();
|
shell.open();
|
||||||
displayMgr.setZflag(true);
|
displayMgr.setZflag(true);
|
||||||
|
DailyQcUtils.z_flag = true;
|
||||||
isOpen = true;
|
isOpen = true;
|
||||||
isfinished = false;
|
isfinished = false;
|
||||||
ddq = DrawDQCStations.getInstance();
|
ddq = DrawDQCStations.getInstance();
|
||||||
|
@ -285,12 +287,14 @@ public class QcFreezeOptionsDialog extends AbstractMPEDialog {
|
||||||
while (!shell.isDisposed()) {
|
while (!shell.isDisposed()) {
|
||||||
if (dqc_good == 0) {
|
if (dqc_good == 0) {
|
||||||
displayMgr.setZflag(false);
|
displayMgr.setZflag(false);
|
||||||
|
DailyQcUtils.z_flag = false;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
if (isOpen == false) {
|
if (isOpen == false) {
|
||||||
displayMgr.setZflag(false);
|
displayMgr.setZflag(false);
|
||||||
|
DailyQcUtils.z_flag = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
|
@ -300,6 +304,7 @@ public class QcFreezeOptionsDialog extends AbstractMPEDialog {
|
||||||
}
|
}
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
displayMgr.setZflag(false);
|
displayMgr.setZflag(false);
|
||||||
|
DailyQcUtils.z_flag = false;
|
||||||
isfinished = true;
|
isfinished = true;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
font.dispose();
|
font.dispose();
|
||||||
|
|
|
@ -65,6 +65,7 @@ import com.raytheon.viz.mpe.util.DailyQcUtils;
|
||||||
* Mar 7, 2013 15657 lbousaidi fixed DQC slider and added listener to the Keys
|
* Mar 7, 2013 15657 lbousaidi fixed DQC slider and added listener to the Keys
|
||||||
* when pressed.
|
* when pressed.
|
||||||
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
||||||
|
* Mar 10, 2015 14575 snaples Added additional status flag.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author snaples
|
* @author snaples
|
||||||
|
@ -277,6 +278,7 @@ public class QcPrecipOptionsDialog extends AbstractMPEDialog {
|
||||||
|
|
||||||
shell.open();
|
shell.open();
|
||||||
displayMgr.setQpf(true);
|
displayMgr.setQpf(true);
|
||||||
|
DailyQcUtils.qpf_flag = true;
|
||||||
isOpen = true;
|
isOpen = true;
|
||||||
isfinished = false;
|
isfinished = false;
|
||||||
ddq = DrawDQCStations.getInstance();
|
ddq = DrawDQCStations.getInstance();
|
||||||
|
@ -285,12 +287,14 @@ public class QcPrecipOptionsDialog extends AbstractMPEDialog {
|
||||||
while (!shell.isDisposed()) {
|
while (!shell.isDisposed()) {
|
||||||
if (dqc_good == 0) {
|
if (dqc_good == 0) {
|
||||||
displayMgr.setQpf(false);
|
displayMgr.setQpf(false);
|
||||||
|
DailyQcUtils.qpf_flag = false;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
if (isOpen == false) {
|
if (isOpen == false) {
|
||||||
displayMgr.setQpf(false);
|
displayMgr.setQpf(false);
|
||||||
|
DailyQcUtils.qpf_flag = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
|
@ -300,6 +304,7 @@ public class QcPrecipOptionsDialog extends AbstractMPEDialog {
|
||||||
}
|
}
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
displayMgr.setQpf(false);
|
displayMgr.setQpf(false);
|
||||||
|
DailyQcUtils.qpf_flag = false;
|
||||||
isfinished = true;
|
isfinished = true;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
font.dispose();
|
font.dispose();
|
||||||
|
|
|
@ -62,6 +62,7 @@ import com.raytheon.viz.mpe.util.DailyQcUtils;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Nov 12, 2008 snaples Initial creation
|
* Nov 12, 2008 snaples Initial creation
|
||||||
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leak.
|
||||||
|
* Mar 10, 2015 14575 snaples Added status flag.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -264,6 +265,7 @@ public class QcTempOptionsDialog extends AbstractMPEDialog {
|
||||||
|
|
||||||
shell.open();
|
shell.open();
|
||||||
displayMgr.setMaxmin(true);
|
displayMgr.setMaxmin(true);
|
||||||
|
DailyQcUtils.maxmin_flag = true;
|
||||||
isOpen = true;
|
isOpen = true;
|
||||||
isfinished = false;
|
isfinished = false;
|
||||||
ddq = DrawDQCStations.getInstance();
|
ddq = DrawDQCStations.getInstance();
|
||||||
|
@ -272,12 +274,14 @@ public class QcTempOptionsDialog extends AbstractMPEDialog {
|
||||||
while (!shell.isDisposed()) {
|
while (!shell.isDisposed()) {
|
||||||
if (dqc_good == 0) {
|
if (dqc_good == 0) {
|
||||||
displayMgr.setMaxmin(false);
|
displayMgr.setMaxmin(false);
|
||||||
|
DailyQcUtils.maxmin_flag = false;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
if (isOpen == false) {
|
if (isOpen == false) {
|
||||||
displayMgr.setMaxmin(false);
|
displayMgr.setMaxmin(false);
|
||||||
|
DailyQcUtils.maxmin_flag = false;
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
shell.dispose();
|
shell.dispose();
|
||||||
}
|
}
|
||||||
|
@ -287,6 +291,7 @@ public class QcTempOptionsDialog extends AbstractMPEDialog {
|
||||||
}
|
}
|
||||||
ddq.destroy();
|
ddq.destroy();
|
||||||
displayMgr.setMaxmin(false);
|
displayMgr.setMaxmin(false);
|
||||||
|
DailyQcUtils.maxmin_flag = false;
|
||||||
isfinished = true;
|
isfinished = true;
|
||||||
isOpen = false;
|
isOpen = false;
|
||||||
font.dispose();
|
font.dispose();
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jan 7, 2015 16954 cgobs Fix for cv_use issue - using getFieldName() in certain parts.
|
* Jan 7, 2015 16954 cgobs Fix for cv_use issue - using getFieldName() in certain parts.
|
||||||
|
* Mar 10, 2015 14554 snaples Made getHourlyEditFile public to be accessed from Save Best Estimate.
|
||||||
* </pre>
|
* </pre>
|
||||||
**/
|
**/
|
||||||
package com.raytheon.viz.mpe.ui.dialogs.polygon;
|
package com.raytheon.viz.mpe.ui.dialogs.polygon;
|
||||||
|
@ -295,7 +296,7 @@ public class PolygonEditManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static File getHourlyEditFile(DisplayFieldData fieldData, Date date) {
|
public static File getHourlyEditFile(DisplayFieldData fieldData, Date date) {
|
||||||
String fieldname = fieldData.getFieldName();
|
String fieldname = fieldData.getFieldName();
|
||||||
String polygonDir = MPEDisplayManager.getPolygonEditDir();
|
String polygonDir = MPEDisplayManager.getPolygonEditDir();
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leaks and Scanner resource leak.
|
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leaks and Scanner resource leak.
|
||||||
* Nov 24, 2014 16911 xwei The day of Hydrologic Date is set to the next day
|
* Nov 24, 2014 16911 xwei The day of Hydrologic Date is set to the next day
|
||||||
* if hour is greater than 18Z.
|
* if hour is greater than 18Z.
|
||||||
|
* Mar 10, 2015 14575 snaples Added additional status flags.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -493,6 +494,12 @@ public class DailyQcUtils {
|
||||||
public static int grids_flag = -1;
|
public static int grids_flag = -1;
|
||||||
|
|
||||||
public static int map_flag = -1;
|
public static int map_flag = -1;
|
||||||
|
|
||||||
|
public static boolean qpf_flag = false;
|
||||||
|
|
||||||
|
public static boolean maxmin_flag = false;
|
||||||
|
|
||||||
|
public static boolean z_flag = false;
|
||||||
|
|
||||||
static int curHrMinSec = -1;
|
static int curHrMinSec = -1;
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" style="stroke: rgb(255,255,255);">
|
||||||
<text id="presentWxText" plotMode="recursive_translation" class="weather" plotLookupTable="wx_symbol_trans.txt" plotParam="presWeather" style="text-anchor: end" x="-10" y="0">0</text>
|
<text id="presentWxText" plotMode="recursive_translation" class="weather" plotLookupTable="wx_symbol_trans.txt" plotParam="presWeather" style="text-anchor: end" x="-10" y="0">0</text>
|
||||||
<text id="stdSkyCover" plotMode="recursive_translation" class="weather" plotParam="stdSkyCover" plotLookupTable="bufrmos/mos_clouds_gfs_s2s.txt" style="text-anchor: middle" x="0" y="0">M</text>
|
<text id="stdSkyCover" plotMode="recursive_translation" class="weather" plotParam="stdSkyCover" plotLookupTable="bufrmos/mos_clouds_gfs_s2s.txt" style="text-anchor: middle" x="0" y="0">M</text>
|
||||||
|
|
||||||
<g id="windVaneText" plotMode="barb" plotParam="stdWindSpeed,stdWindDir" plotUnit="kts" x="0" y="0" transform="rotate(0,0,0)">
|
<g id="windVaneText" plotMode="barb" plotParam="stdWindSpeed,windDir" plotUnit="kts" x="0" y="0" transform="rotate(0,0,0)">
|
||||||
<text id="windVaneText" class="arrow" x="0" y="0">0</text>
|
<text id="windVaneText" class="arrow" x="0" y="0">0</text>
|
||||||
<text id="windArrowText" class="barb" x="0" y="0">arrow</text>
|
<text id="windArrowText" class="barb" x="0" y="0">arrow</text>
|
||||||
</g>
|
</g>
|
||||||
|
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
@ -27,7 +27,8 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8",
|
||||||
com.raytheon.viz.alerts,
|
com.raytheon.viz.alerts,
|
||||||
com.raytheon.uf.viz.core.rsc;bundle-version="1.14",
|
com.raytheon.uf.viz.core.rsc;bundle-version="1.14",
|
||||||
javax.measure
|
javax.measure
|
||||||
Import-Package: com.raytheon.viz.core.rsc,
|
Import-Package: com.raytheon.viz.awipstools,
|
||||||
|
com.raytheon.viz.core.rsc,
|
||||||
com.raytheon.viz.core.rsc.hdf5
|
com.raytheon.viz.core.rsc.hdf5
|
||||||
Export-Package: com.raytheon.viz.satellite,
|
Export-Package: com.raytheon.viz.satellite,
|
||||||
com.raytheon.viz.satellite.rsc
|
com.raytheon.viz.satellite.rsc
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This portion of the software was developed to support GOES-R and JPSS.
|
||||||
|
Developer: Jordan Gerth / Jordan.Gerth @ noaa.gov
|
||||||
|
Organization: Cooperative Institute for Meteorological Satellite Studies
|
||||||
|
Address: 1225 W. Dayton St., Madison, WI 53706
|
||||||
|
-->
|
||||||
|
<customLegends>
|
||||||
|
<map>
|
||||||
|
<entry><key>GOES-13(N) Imager Visible</key><value>GOES-13 Visible Imagery</value></entry>
|
||||||
|
<entry><key>GOES-14(O) Imager Visible</key><value>GOES-14 Visible Imagery</value></entry>
|
||||||
|
<entry><key>GOES-15(P) Imager Visible</key><value>GOES-15 Visible Imagery</value></entry>
|
||||||
|
<entry><key>Imager Visible</key><value>Visible Imagery</value></entry>
|
||||||
|
</map>
|
||||||
|
</customLegends>
|
|
@ -32,91 +32,92 @@ import java.util.HashMap;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 02/26/09 jsanchez Initial Creation.
|
* 02/26/09 jsanchez Initial Creation.
|
||||||
* 03/16/09 800 jsanchez Updated legend.
|
* 03/16/09 800 jsanchez Updated legend.
|
||||||
* 12/16/14 15196 kshrestha Converted Millimeters to Inches for Total Precip Water
|
* 12/16/14 15196 kshrestha Converted Millimeters to Inches for Total Precip Water
|
||||||
|
* 03/02/15 DCS 14960 jgerth Support custom legends to override the default constants
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
public class SatelliteConstants {
|
public class SatelliteConstants {
|
||||||
|
|
||||||
private static final String GRID_CLOUD_AMOUNT_LEGEND = "GOES Sounder DPI Cloud Amount (%)";
|
private static final String GRID_CLOUD_AMOUNT_LEGEND = "GOES Sounder DPI Cloud Amount (%)";
|
||||||
|
|
||||||
private static final String GRID_CLOUD_TOP_PRESSURE_OR_HEIGHT_LEGEND = "GOES Sounder DPI Cloud Top Height (ft/100 MSL)";
|
private static final String GRID_CLOUD_TOP_PRESSURE_OR_HEIGHT_LEGEND = "GOES Sounder DPI Cloud Top Height (ft/100 MSL)";
|
||||||
|
|
||||||
private static final String IMAGER_11U_IR_LEGEND = "IR Satellite ( C )";
|
private static final String IMAGER_11U_IR_LEGEND = "IR Satellite ( C )";
|
||||||
|
|
||||||
private static final String IMAGER_12U_IR_LEGEND = "IR 12u Satellite";
|
private static final String IMAGER_12U_IR_LEGEND = "IR 12u Satellite";
|
||||||
|
|
||||||
private static final String IMAGER_13U_IR_LEGEND = "IR 13u Satellite";
|
private static final String IMAGER_13U_IR_LEGEND = "IR 13u Satellite";
|
||||||
|
|
||||||
private static final String IMAGER_3P9U_IR_LEGEND = "IR 3.9u Satellite ( C )";
|
private static final String IMAGER_3P9U_IR_LEGEND = "IR 3.9u Satellite ( C )";
|
||||||
|
|
||||||
private static final String IMAGER_6P7_6P5U_IR_WV_LEGEND = "Water Vapor Satellite";
|
private static final String IMAGER_6P7_6P5U_IR_WV_LEGEND = "Water Vapor Satellite";
|
||||||
|
|
||||||
private static final String IMAGER_VISIBLE_LEGEND = "Visible Satellite";
|
private static final String IMAGER_VISIBLE_LEGEND = "Visible Satellite";
|
||||||
|
|
||||||
private static final String RAIN_FALL_RATE_LEGEND = "Rainfall Rate (mm/hr)";
|
private static final String RAIN_FALL_RATE_LEGEND = "Rainfall Rate (mm/hr)";
|
||||||
|
|
||||||
private static final String SOUNDER_11U_IMAGER_LEGEND = "GOES Sndr IR Satellite ( C )";
|
private static final String SOUNDER_11U_IMAGER_LEGEND = "GOES Sndr IR Satellite ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_14U_IMAGERY_LEGEND = "GOES Sndr IR 14.1u Satellite ( C )";
|
private static final String SOUNDER_14U_IMAGERY_LEGEND = "GOES Sndr IR 14.1u Satellite ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_4U_IMAGERY_LEGEND = "GOES Sndr IR 4.0u Satellite ( C )";
|
private static final String SOUNDER_4U_IMAGERY_LEGEND = "GOES Sndr IR 4.0u Satellite ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_4P5U_IMAGERY_LEGEND = "GOES Sndr IR 4.5u Satellite ( C )";
|
private static final String SOUNDER_4P5U_IMAGERY_LEGEND = "GOES Sndr IR 4.5u Satellite ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_6P5U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 6.5u Satellite (Counts)";
|
private static final String SOUNDER_6P5U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 6.5u Satellite (Counts)";
|
||||||
|
|
||||||
private static final String SOUNDER_7U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 7.0u Satellite (Counts)";
|
private static final String SOUNDER_7U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 7.0u Satellite (Counts)";
|
||||||
|
|
||||||
private static final String SOUNDER_7P4U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 7.4u Satellite (Counts)";
|
private static final String SOUNDER_7P4U_IMAGERY_LEGEND = "GOES Sndr Water Vapor 7.4u Satellite (Counts)";
|
||||||
|
|
||||||
private static final String SOUNDER_BASED_DERIVED_LI_LEGEND = "GOES Sounder DPI Lifted Index ( C )";
|
private static final String SOUNDER_BASED_DERIVED_LI_LEGEND = "GOES Sounder DPI Lifted Index ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_BASED_DERIVED_PW_LEGEND = "Total Precip Water (in)";
|
private static final String SOUNDER_BASED_DERIVED_PW_LEGEND = "Total Precip Water (in)";
|
||||||
|
|
||||||
private static final String SOUNDER_BASED_DERIVED_SFC_SKIN_LEGEND = "GOES Sounder DPI Skin Temperature ( C )";
|
private static final String SOUNDER_BASED_DERIVED_SFC_SKIN_LEGEND = "GOES Sounder DPI Skin Temperature ( C )";
|
||||||
|
|
||||||
private static final String SOUNDER_VIS_IMAGERY_LEGEND = "GOES Sndr Visible Satellite (Counts)";
|
private static final String SOUNDER_VIS_IMAGERY_LEGEND = "GOES Sndr Visible Satellite (Counts)";
|
||||||
|
|
||||||
private static final String IMAGER_11U_39U_IR_LEGEND = "11u-3.9u Satellite (counts)";
|
private static final String IMAGER_11U_39U_IR_LEGEND = "11u-3.9u Satellite (counts)";
|
||||||
|
|
||||||
private static final String IMAGER_11U_13U_IR_LEGEND = "11u-13u Satellite (counts)";
|
private static final String IMAGER_11U_13U_IR_LEGEND = "11u-13u Satellite (counts)";
|
||||||
|
|
||||||
private static final String IMAGER_11U_12U_IR_LEGEND = "11u-12u Satellite (counts)";
|
private static final String IMAGER_11U_12U_IR_LEGEND = "11u-12u Satellite (counts)";
|
||||||
|
|
||||||
private static final String IR_IN_WV__LEGEND = "IR in WV Satellite (C)";
|
private static final String IR_IN_WV__LEGEND = "IR in WV Satellite (C)";
|
||||||
|
|
||||||
private static final String POES_IR_LEGEND = "POES IR Satellite (C)";
|
private static final String POES_IR_LEGEND = "POES IR Satellite (C)";
|
||||||
|
|
||||||
private static final String POES_VIS_LEGEND = "POES Visible Satellite";
|
private static final String POES_VIS_LEGEND = "POES Visible Satellite";
|
||||||
|
|
||||||
private static final String POES_3P7U_IR_LEGEND = "POES IR 3.7u Satellite (C)";
|
private static final String POES_3P7U_IR_LEGEND = "POES IR 3.7u Satellite (C)";
|
||||||
|
|
||||||
private static final String POES_11U_37U_IR_LEGEND = "POES 11u-3.7u Satellite (counts)";
|
private static final String POES_11U_37U_IR_LEGEND = "POES 11u-3.7u Satellite (counts)";
|
||||||
|
|
||||||
private static final String PERCENT_OF_NORMAL_LEGEND = "Percent of Normal TPW (%)";
|
private static final String PERCENT_OF_NORMAL_LEGEND = "Percent of Normal TPW (%)";
|
||||||
|
|
||||||
public static final String DMSP = "DMSP";
|
public static final String DMSP = "DMSP";
|
||||||
|
|
||||||
public static final String POES = "POES-NPOESS";
|
public static final String POES = "POES-NPOESS";
|
||||||
|
|
||||||
public static final String MISC = "Miscellaneous";
|
public static final String MISC = "Miscellaneous";
|
||||||
|
|
||||||
public static final String COMP = "Composite";
|
public static final String COMP = "Composite";
|
||||||
|
|
||||||
public static final String PRECIP = "Sounder Based Derived Precipitable Water (PW)";
|
public static final String PRECIP = "Sounder Based Derived Precipitable Water (PW)";
|
||||||
|
|
||||||
public static final String RAIN = "Rain fall rate";
|
public static final String RAIN = "Rain fall rate";
|
||||||
|
|
||||||
private static final HashMap<String, String> LEGEND_MAP = new HashMap<String, String>();
|
private static final HashMap<String, String> LEGEND_MAP = new HashMap<String, String>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
LEGEND_MAP.put("Gridded Cloud Amount",GRID_CLOUD_AMOUNT_LEGEND);
|
LEGEND_MAP.put("Gridded Cloud Amount",GRID_CLOUD_AMOUNT_LEGEND);
|
||||||
LEGEND_MAP.put("Gridded Cloud Top Pressure or Height",GRID_CLOUD_TOP_PRESSURE_OR_HEIGHT_LEGEND);
|
LEGEND_MAP.put("Gridded Cloud Top Pressure or Height",GRID_CLOUD_TOP_PRESSURE_OR_HEIGHT_LEGEND);
|
||||||
LEGEND_MAP.put("Imager 11 micron IR",IMAGER_11U_IR_LEGEND);
|
LEGEND_MAP.put("Imager 11 micron IR",IMAGER_11U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("Imager 12 micron IR",IMAGER_12U_IR_LEGEND);
|
LEGEND_MAP.put("Imager 12 micron IR",IMAGER_12U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("Imager 13 micron (IR)",IMAGER_13U_IR_LEGEND);
|
LEGEND_MAP.put("Imager 13 micron IR",IMAGER_13U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("Imager 3.9 micron IR",IMAGER_3P9U_IR_LEGEND);
|
LEGEND_MAP.put("Imager 3.9 micron IR",IMAGER_3P9U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("Imager 6.7-6.5 micron IR (WV)",IMAGER_6P7_6P5U_IR_WV_LEGEND);
|
LEGEND_MAP.put("Imager 6.7-6.5 micron IR (WV)",IMAGER_6P7_6P5U_IR_WV_LEGEND);
|
||||||
LEGEND_MAP.put("Imager Visible",IMAGER_VISIBLE_LEGEND);
|
LEGEND_MAP.put("Imager Visible",IMAGER_VISIBLE_LEGEND);
|
||||||
LEGEND_MAP.put(RAIN,RAIN_FALL_RATE_LEGEND);
|
LEGEND_MAP.put(RAIN,RAIN_FALL_RATE_LEGEND);
|
||||||
|
@ -135,38 +136,47 @@ public class SatelliteConstants {
|
||||||
LEGEND_MAP.put("Polar IR",POES_IR_LEGEND);
|
LEGEND_MAP.put("Polar IR",POES_IR_LEGEND);
|
||||||
LEGEND_MAP.put("Polar Vis",POES_VIS_LEGEND);
|
LEGEND_MAP.put("Polar Vis",POES_VIS_LEGEND);
|
||||||
LEGEND_MAP.put("Polar 3.7u",POES_3P7U_IR_LEGEND);
|
LEGEND_MAP.put("Polar 3.7u",POES_3P7U_IR_LEGEND);
|
||||||
|
|
||||||
//Derived Parameters
|
//Derived Parameters
|
||||||
LEGEND_MAP.put("satDif11u3_9uIR",IMAGER_11U_39U_IR_LEGEND);
|
LEGEND_MAP.put("satDif11u3_9uIR",IMAGER_11U_39U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("satDif11u13uIR",IMAGER_11U_13U_IR_LEGEND);
|
LEGEND_MAP.put("satDif11u13uIR",IMAGER_11U_13U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("satDif11u12uIR",IMAGER_11U_12U_IR_LEGEND);
|
LEGEND_MAP.put("satDif11u12uIR",IMAGER_11U_12U_IR_LEGEND);
|
||||||
LEGEND_MAP.put("satDivWVIR",IR_IN_WV__LEGEND);
|
LEGEND_MAP.put("satDivWVIR",IR_IN_WV__LEGEND);
|
||||||
LEGEND_MAP.put("poesDif11u3_7uIR",POES_11U_37U_IR_LEGEND);
|
LEGEND_MAP.put("poesDif11u3_7uIR",POES_11U_37U_IR_LEGEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLegend(String productName, String creatingEntity) {
|
|
||||||
String rVal = LEGEND_MAP.get(productName);
|
|
||||||
if(productName.equals(PRECIP) || productName.equals(RAIN)){
|
|
||||||
if(creatingEntity.equals(COMP)){
|
|
||||||
rVal = "GOES Sounder DPI " + rVal;
|
|
||||||
} else if(creatingEntity.equals(DMSP)){
|
|
||||||
rVal = "DMSP SSM/I " + rVal;
|
|
||||||
} else if(creatingEntity.equals(POES)){
|
|
||||||
if (productName.equals("Rain fall rate")) {
|
|
||||||
rVal = "Blended Rain Rate (mm/hr)";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
rVal = "POES AMSU " + rVal;
|
|
||||||
}
|
|
||||||
} else if(creatingEntity.equals(MISC)){
|
|
||||||
rVal = "Blended " + rVal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(rVal == null || rVal.length() == 0) {
|
|
||||||
rVal = productName;
|
|
||||||
}
|
|
||||||
return rVal;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public static String getLegend(String productName, String creatingEntity) {
|
||||||
|
String cl = null;
|
||||||
|
if (creatingEntity != null && creatingEntity.length() != 0)
|
||||||
|
cl = SatelliteCustomLegends.getInstance().getCustomLegend(creatingEntity + " " + productName);
|
||||||
|
if (cl == null)
|
||||||
|
cl = SatelliteCustomLegends.getInstance().getCustomLegend(productName);
|
||||||
|
String rVal;
|
||||||
|
if (cl != null)
|
||||||
|
rVal = cl;
|
||||||
|
else {
|
||||||
|
rVal = LEGEND_MAP.get(productName);
|
||||||
|
if(productName.equals(PRECIP) || productName.equals(RAIN)){
|
||||||
|
if(creatingEntity.equals(COMP)){
|
||||||
|
rVal = "GOES Sounder DPI " + rVal;
|
||||||
|
} else if(creatingEntity.equals(DMSP)){
|
||||||
|
rVal = "DMSP SSM/I " + rVal;
|
||||||
|
} else if(creatingEntity.equals(POES)){
|
||||||
|
if (productName.equals("Rain fall rate")) {
|
||||||
|
rVal = "Blended Rain Rate (mm/hr)";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
rVal = "POES AMSU " + rVal;
|
||||||
|
}
|
||||||
|
} else if(creatingEntity.equals(MISC)){
|
||||||
|
rVal = "Blended " + rVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rVal == null || rVal.length() == 0)
|
||||||
|
rVal = productName;
|
||||||
|
if (creatingEntity != null && creatingEntity.length() > 0 && cl == null)
|
||||||
|
rVal = creatingEntity + " " + rVal;
|
||||||
|
return rVal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
package com.raytheon.viz.satellite;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBContext;
|
||||||
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.localization.IPathManager;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This code unmarshals an XML file to modify the default product legends for imagery handled
|
||||||
|
* through the raytheon viz satellite resources.
|
||||||
|
*
|
||||||
|
* This is similar to code that Tom Kretz previously developed for the edex regionalsat plug-in.
|
||||||
|
*
|
||||||
|
* The default customLegends.xml file contains the following:
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* <customLegends>
|
||||||
|
* <map>
|
||||||
|
* <entry><key>GOES-13(N) Imager Visible</key><value>GOES-13 Visible Imagery</value></entry>
|
||||||
|
* <entry><key>GOES-14(O) Imager Visible</key><value>GOES-14 Visible Imagery</value></entry>
|
||||||
|
* <entry><key>GOES-15(P) Imager Visible</key><value>GOES-15 Visible Imagery</value></entry>
|
||||||
|
* <entry><key>Imager Visible</key><value>Visible Imagery</value></entry>
|
||||||
|
* </map>
|
||||||
|
* </customLegends>
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* date Ticket# Engineer Description
|
||||||
|
* ----------- ---------- ----------- --------------------------
|
||||||
|
* 4/21/2014 DCS 14960 jgerth Initial Creation
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author jgerth
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SatelliteCustomLegends {
|
||||||
|
private static final IUFStatusHandler theHandler = UFStatus
|
||||||
|
.getHandler(SatelliteCustomLegends.class);
|
||||||
|
private static final String LOOKUP_DIR = "satellite";
|
||||||
|
|
||||||
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
|
public static abstract class AbstractLookup<K,V> {
|
||||||
|
public abstract Map<K, V> getMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlRootElement
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
private static class CustomLegends extends AbstractLookup<String, String> {
|
||||||
|
public HashMap<String, String> map = new HashMap<String, String>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, String> getMap() {
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private CustomLegends customLegendsLookup;
|
||||||
|
|
||||||
|
public SatelliteCustomLegends() {
|
||||||
|
try {
|
||||||
|
init();
|
||||||
|
} catch (Exception e) {
|
||||||
|
theHandler.error("Failed to initialize lookups", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// initialize the lookup tables from the configuration files
|
||||||
|
private void init() throws Exception {
|
||||||
|
JAXBContext context = JAXBContext.newInstance(CustomLegends.class);
|
||||||
|
Unmarshaller u = context.createUnmarshaller();
|
||||||
|
customLegendsLookup = load(new CustomLegends(), "customLegends.xml", u);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T extends AbstractLookup<K,V>, K, V> T load(T combinedLookup, String fileName, Unmarshaller u) throws Exception {
|
||||||
|
IPathManager pm = PathManagerFactory.getPathManager();
|
||||||
|
|
||||||
|
List<LocalizationContext> contexts = Arrays.asList(pm.getLocalSearchHierarchy(LocalizationType.CAVE_STATIC));
|
||||||
|
Collections.reverse(contexts);
|
||||||
|
for (LocalizationContext ctx : contexts) {
|
||||||
|
File f = pm.getFile(ctx, LOOKUP_DIR + File.separator + fileName);
|
||||||
|
if (f != null && f.isFile()) {
|
||||||
|
try {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
T lookup = (T) u.unmarshal(f);
|
||||||
|
if (!combinedLookup.getClass().isAssignableFrom(lookup.getClass())) {
|
||||||
|
throw new Exception(String.format("file contains %s, expected %s",
|
||||||
|
lookup.getClass(), combinedLookup.getClass()));
|
||||||
|
}
|
||||||
|
combinedLookup.getMap().putAll(lookup.getMap());
|
||||||
|
} catch (Exception e) {
|
||||||
|
theHandler.error(String.format("%s: %s", f, e.getMessage()), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return combinedLookup;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param cl
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getCustomLegend(String cl) {
|
||||||
|
return customLegendsLookup.map.get(cl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static SatelliteCustomLegends instance;
|
||||||
|
|
||||||
|
public static synchronized SatelliteCustomLegends getInstance() {
|
||||||
|
if (instance == null)
|
||||||
|
instance = new SatelliteCustomLegends();
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static synchronized void reload() {
|
||||||
|
instance = new SatelliteCustomLegends();
|
||||||
|
}
|
||||||
|
}
|
|
@ -78,6 +78,7 @@ import com.raytheon.uf.viz.datacube.DataCubeContainer;
|
||||||
* Jun 17, 2009 2493 jsanchez Displayed both times in CONUS scale.
|
* Jun 17, 2009 2493 jsanchez Displayed both times in CONUS scale.
|
||||||
* Apr 18, 2014 2947 bsteffen Allow resources being blended to omit
|
* Apr 18, 2014 2947 bsteffen Allow resources being blended to omit
|
||||||
* load properties.
|
* load properties.
|
||||||
|
* Mar 3, 2015 DCS 14960 jgerth Slight modification to getName
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -136,7 +137,7 @@ public class SatBlendedResourceData extends AbstractRequestableResourceData
|
||||||
if (rsc != null) {
|
if (rsc != null) {
|
||||||
if (s.length() == 0) {
|
if (s.length() == 0) {
|
||||||
s = rsc.getName();
|
s = rsc.getName();
|
||||||
} else if (!s.equals(rsc.getName())) {
|
} else if (!s.contains(rsc.getName())) {
|
||||||
s += " + " + rsc.getName();
|
s += " + " + rsc.getName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,6 +84,7 @@ import com.raytheon.viz.satellite.inventory.DerivedSatelliteRecord;
|
||||||
import com.raytheon.viz.satellite.tileset.SatDataRetriever;
|
import com.raytheon.viz.satellite.tileset.SatDataRetriever;
|
||||||
import com.raytheon.viz.satellite.tileset.SatTileSetRenderable;
|
import com.raytheon.viz.satellite.tileset.SatTileSetRenderable;
|
||||||
import com.vividsolutions.jts.geom.Coordinate;
|
import com.vividsolutions.jts.geom.Coordinate;
|
||||||
|
import com.raytheon.viz.awipstools.IToolChangedListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides satellite raster rendering support
|
* Provides satellite raster rendering support
|
||||||
|
@ -125,6 +126,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* Aug 21, 2014 DR 17313 jgerth Set no data value if no data mapping
|
* Aug 21, 2014 DR 17313 jgerth Set no data value if no data mapping
|
||||||
* Oct 15, 2014 3681 bsteffen create renderable in interrogate if necessary.
|
* Oct 15, 2014 3681 bsteffen create renderable in interrogate if necessary.
|
||||||
* Feb 17, 2015 4135 bsteffen Set no data value for derived products.
|
* Feb 17, 2015 4135 bsteffen Set no data value for derived products.
|
||||||
|
* Mar 3, 2015 DCS 14960 jgerth Retrieve legend from style rules if available
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -134,7 +136,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
*/
|
*/
|
||||||
public class SatResource extends
|
public class SatResource extends
|
||||||
AbstractPluginDataObjectResource<SatResourceData, IMapDescriptor>
|
AbstractPluginDataObjectResource<SatResourceData, IMapDescriptor>
|
||||||
implements ImageProvider, Interrogatable {
|
implements ImageProvider, Interrogatable, IToolChangedListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* String id to look for satellite-provided data values
|
* String id to look for satellite-provided data values
|
||||||
|
@ -341,6 +343,7 @@ public class SatResource extends
|
||||||
match.setLevels(Arrays.asList((Level) level));
|
match.setLevels(Arrays.asList((Level) level));
|
||||||
match.setCreatingEntityNames(Arrays.asList(record.getCreatingEntity()));
|
match.setCreatingEntityNames(Arrays.asList(record.getCreatingEntity()));
|
||||||
Unit<?> unit = SatDataRetriever.getRecordUnit(record);
|
Unit<?> unit = SatDataRetriever.getRecordUnit(record);
|
||||||
|
String lg = null;
|
||||||
try {
|
try {
|
||||||
StyleRule sr = StyleManager.getInstance().getStyleRule(
|
StyleRule sr = StyleManager.getInstance().getStyleRule(
|
||||||
StyleManager.StyleType.IMAGERY, match);
|
StyleManager.StyleType.IMAGERY, match);
|
||||||
|
@ -367,10 +370,10 @@ public class SatResource extends
|
||||||
unit);
|
unit);
|
||||||
|
|
||||||
sampleRange = preferences.getSamplePrefs();
|
sampleRange = preferences.getSamplePrefs();
|
||||||
String lg = preferences.getLegend();
|
lg = preferences.getLegend();
|
||||||
// test, so legend is not over written with empty string
|
// test, so legend is not over written with empty string
|
||||||
if (lg != null && !lg.trim().isEmpty()) {
|
if (lg != null && lg.trim().isEmpty()) {
|
||||||
legend = lg;
|
lg = null;
|
||||||
}
|
}
|
||||||
} catch (StyleException e) {
|
} catch (StyleException e) {
|
||||||
throw new VizException(e.getLocalizedMessage(), e);
|
throw new VizException(e.getLocalizedMessage(), e);
|
||||||
|
@ -416,7 +419,11 @@ public class SatResource extends
|
||||||
getCapability(ColorMapCapability.class).setColorMapParameters(
|
getCapability(ColorMapCapability.class).setColorMapParameters(
|
||||||
colorMapParameters);
|
colorMapParameters);
|
||||||
|
|
||||||
this.legend = getLegend(record);
|
if (lg != null) {
|
||||||
|
this.legend = lg;
|
||||||
|
} else {
|
||||||
|
this.legend = getLegend(record);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -662,4 +669,8 @@ public class SatResource extends
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void toolChanged() {
|
||||||
|
issueRefresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||||
* 10/07/2013 16664 mgamazaychikov Added padProdDesignatorText method
|
* 10/07/2013 16664 mgamazaychikov Added padProdDesignatorText method
|
||||||
* 11/21/2013 16633 mgamazaychikov Improved consistency between AFOS PIL and WMO Heading fields.
|
* 11/21/2013 16633 mgamazaychikov Improved consistency between AFOS PIL and WMO Heading fields.
|
||||||
* 08May2014 16041 kshrestha Save unofficial text products from text editor.
|
* 08May2014 16041 kshrestha Save unofficial text products from text editor.
|
||||||
|
* 05Mar2015 RM 15025 kshrestha Fix to maintain the headers that they are saved with
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -441,12 +442,20 @@ public class AWIPSHeaderBlockDlg extends CaveSWTDialog implements
|
||||||
textProd.getCccid());
|
textProd.getCccid());
|
||||||
}
|
}
|
||||||
if (null == CCCcode) {
|
if (null == CCCcode) {
|
||||||
CCCcode = "";
|
wsfoIdTF.setText(textProd.getCccid());
|
||||||
|
} else {
|
||||||
|
wsfoIdTF.setText(CCCcode);
|
||||||
}
|
}
|
||||||
wsfoIdTF.setText(CCCcode);
|
|
||||||
} else {
|
} else {
|
||||||
wsfoIdTF.setText(textProd.getCccid());
|
wsfoIdTF.setText(textProd.getCccid());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(textProd.getProduct() != null) {
|
||||||
|
if(textProd.getProduct().startsWith("ZCZC")) {
|
||||||
|
wsfoIdTF.setText(textProd.getCccid());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
prodCatTF.setText(textProd.getNnnid());
|
prodCatTF.setText(textProd.getNnnid());
|
||||||
prodDesignatorTF.setText(textProd.getXxxid());
|
prodDesignatorTF.setText(textProd.getXxxid());
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,12 @@ import com.raytheon.viz.ui.dialogs.SWTMessageBox;
|
||||||
* 11Sep2014 3580 mapeters Replaced SerializationTuil usage with JAXBManager,
|
* 11Sep2014 3580 mapeters Replaced SerializationTuil usage with JAXBManager,
|
||||||
* removed IQueryTransport usage (no longer exists).
|
* removed IQueryTransport usage (no longer exists).
|
||||||
* 20Oct2014 3685 randerso Made conversion to upper case conditional on product id
|
* 20Oct2014 3685 randerso Made conversion to upper case conditional on product id
|
||||||
|
<<<<<<< HEAD
|
||||||
* 15Feb2015 4001 dgilling Ensure all fields are set in SendPracticeProductRequest.
|
* 15Feb2015 4001 dgilling Ensure all fields are set in SendPracticeProductRequest.
|
||||||
|
=======
|
||||||
|
* 05Mar2015 RM 15025 kshrestha Fix to maintain the headers that they are saved with
|
||||||
|
* 10Mar2015 RM 14866 kshrestha Disable QC GUI pop up for TextWS
|
||||||
|
>>>>>>> 9c7d466213eaac3a46fddf416967d00e3446bfee
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -4960,24 +4965,29 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
|
||||||
if (!verifyRequiredFields()) {
|
if (!verifyRequiredFields()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
StdTextProduct prod = getStdTextProduct();
|
|
||||||
String afosId = prod.getCccid() + prod.getNnnid() + prod.getXxxid();
|
|
||||||
SendConfirmationMsg sendMsg = new SendConfirmationMsg(resend, afosId,
|
|
||||||
prod.getNnnid());
|
|
||||||
|
|
||||||
WarnGenConfirmationDlg wgcd = new WarnGenConfirmationDlg(shell,
|
if (isWarnGenDlg == true){
|
||||||
sendMsg.getTitle(), sendMsg.getProductMessage(),
|
StdTextProduct prod = getStdTextProduct();
|
||||||
sendMsg.getModeMessage());
|
String afosId = prod.getCccid() + prod.getNnnid() + prod.getXxxid();
|
||||||
wgcd.setCloseCallback(new ICloseCallback() {
|
SendConfirmationMsg sendMsg = new SendConfirmationMsg(resend, afosId,
|
||||||
|
prod.getNnnid());
|
||||||
|
|
||||||
@Override
|
WarnGenConfirmationDlg wgcd = new WarnGenConfirmationDlg(shell,
|
||||||
public void dialogClosed(Object returnValue) {
|
sendMsg.getTitle(), sendMsg.getProductMessage(),
|
||||||
if (Boolean.TRUE.equals(returnValue)) {
|
sendMsg.getModeMessage());
|
||||||
checkEmergencyProduct(resend);
|
wgcd.setCloseCallback(new ICloseCallback() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dialogClosed(Object returnValue) {
|
||||||
|
if (Boolean.TRUE.equals(returnValue)) {
|
||||||
|
checkEmergencyProduct(resend);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
wgcd.open();
|
||||||
wgcd.open();
|
} else {
|
||||||
|
checkEmergencyProduct(resend);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5743,7 +5753,12 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
|
||||||
* DR15610 - Make sure that if the first line of the text product is not
|
* DR15610 - Make sure that if the first line of the text product is not
|
||||||
* a WMO heading it is treated as part of the text body.
|
* a WMO heading it is treated as part of the text body.
|
||||||
*/
|
*/
|
||||||
String[] pieces = textEditor.getText().split("\r*\n", 2);
|
String[] pieces = null;
|
||||||
|
if(textEditor.getText().startsWith("ZCZC"))
|
||||||
|
pieces = textEditor.getText().split("\r*\n", 1);
|
||||||
|
else
|
||||||
|
pieces = textEditor.getText().split("\r*\n", 2);
|
||||||
|
|
||||||
if (pieces.length > 1) {
|
if (pieces.length > 1) {
|
||||||
pieces[0] += "\n"; // WMOHeader expects this
|
pieces[0] += "\n"; // WMOHeader expects this
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
-->
|
-->
|
||||||
<vbSourceList>
|
<vbSourceList>
|
||||||
<vbSource key="MOSGuide-AK" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="MOSGuide-AK" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="AK-HPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="HPCGuide-AK" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="AK-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="AK-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="AK-NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="AK-NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="AK-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="AK-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
<vbSource key="RFCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="RFCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="RTGSST" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="RTGSST" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="RTGSSTHR" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="RTGSSTHR" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
<vbSource key="RTMA25" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="RTOFS-GulfMexico" category="SfcGrid/RTOFS/forecast"
|
<vbSource key="RTOFS-GulfMexico" category="SfcGrid/RTOFS/forecast"
|
||||||
subCategory="Atlantic" views="PLANVIEW TIMESERIES" />
|
subCategory="Atlantic" views="PLANVIEW TIMESERIES" />
|
||||||
<vbSource key="RTOFS-GulfStream" category="SfcGrid/RTOFS/forecast"
|
<vbSource key="RTOFS-GulfStream" category="SfcGrid/RTOFS/forecast"
|
||||||
|
|
|
@ -49,6 +49,8 @@ import com.raytheon.uf.common.util.RunProcess;
|
||||||
* July 21, 2011 9210 lbousaidi changed the token xdat_shefdata_dir
|
* July 21, 2011 9210 lbousaidi changed the token xdat_shefdata_dir
|
||||||
* to shefdecode_input
|
* to shefdecode_input
|
||||||
* Sep 19, 2011 10955 rferrel Use RunProcess
|
* Sep 19, 2011 10955 rferrel Use RunProcess
|
||||||
|
* Mar 02, 2015 14538 J Wei Shef file created by XDat will not be over written
|
||||||
|
* Mar 04, 2015 116 J Wei Shef file created by XDat will not be deleted
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -125,11 +127,6 @@ public class XdatShefUtil {
|
||||||
startDateFormat = new SimpleDateFormat("yyyyMMdd", Locale.US);
|
startDateFormat = new SimpleDateFormat("yyyyMMdd", Locale.US);
|
||||||
String post_date = startDateFormat.format(cal.getTime());
|
String post_date = startDateFormat.format(cal.getTime());
|
||||||
|
|
||||||
if ((send.compareTo("1") == 0)
|
|
||||||
|| (send.compareToIgnoreCase("yes") == 0)) {
|
|
||||||
sendAction = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
StringBuilder messageBuf = new StringBuilder();
|
StringBuilder messageBuf = new StringBuilder();
|
||||||
messageBuf.append(this.getShefHeader(timeStr));
|
messageBuf.append(this.getShefHeader(timeStr));
|
||||||
messageBuf.append(this.getShefComment());
|
messageBuf.append(this.getShefComment());
|
||||||
|
@ -149,11 +146,6 @@ public class XdatShefUtil {
|
||||||
SimpleDateFormat dateFmt = new SimpleDateFormat("ddHHmm", Locale.US);
|
SimpleDateFormat dateFmt = new SimpleDateFormat("ddHHmm", Locale.US);
|
||||||
String currentTime = dateFmt.format(cal.getTime());
|
String currentTime = dateFmt.format(cal.getTime());
|
||||||
|
|
||||||
if ((send.compareTo("1") == 0)
|
|
||||||
|| (send.compareToIgnoreCase("yes") == 0)) {
|
|
||||||
sendAction = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
StringBuilder messageBuf = new StringBuilder();
|
StringBuilder messageBuf = new StringBuilder();
|
||||||
messageBuf.append(this.getShefHeader(currentTime));
|
messageBuf.append(this.getShefHeader(currentTime));
|
||||||
messageBuf.append(this.getShefComment());
|
messageBuf.append(this.getShefComment());
|
||||||
|
@ -188,59 +180,27 @@ public class XdatShefUtil {
|
||||||
* be called after the createFile method.
|
* be called after the createFile method.
|
||||||
*/
|
*/
|
||||||
public void sendFile() {
|
public void sendFile() {
|
||||||
if (sendAction) {
|
|
||||||
if (xmitCmd.length() == 0) {
|
if (!sendAction) {
|
||||||
String msg = "ERROR: xdat_xmit_cmd not specified. \n" + "File "
|
return;
|
||||||
+ shefFile.getAbsolutePath() + " not sent";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
} else {
|
|
||||||
String cmd = xmitCmd + " " + shefFile.getAbsolutePath();
|
|
||||||
try {
|
|
||||||
// DR#10955
|
|
||||||
RunProcess.getRunProcess().exec(cmd);
|
|
||||||
} catch (IOException e) {
|
|
||||||
String msg = "ERROR: Send Failed.";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean status = shefFile.delete();
|
|
||||||
if (status == false) {
|
|
||||||
String msg = "ERROR: Removing shef file.";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
boolean status = true;
|
|
||||||
File sd = new File(shefDir);
|
|
||||||
if (!sd.exists()) {
|
|
||||||
String msg = "ERROR: " + shefDir + " does not exist. Check "
|
|
||||||
+ "the EDEX server for the directory";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
status = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (status) {
|
|
||||||
if (!sd.canWrite()) {
|
|
||||||
String msg = "ERROR: "
|
|
||||||
+ shefDir
|
|
||||||
+ " does not have write "
|
|
||||||
+ "permissions. Check the EDEX server for proper permissions.";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
status = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (status) {
|
|
||||||
status = shefFile.renameTo(new File(shefDir
|
|
||||||
+ File.separatorChar + shefFile.getName()));
|
|
||||||
if (status == false) {
|
|
||||||
String msg = "ERROR: Error moving file to shef ingest: "
|
|
||||||
+ shefFile.getAbsolutePath() + ". Check the EDEX "
|
|
||||||
+ "server for proper permissions.";
|
|
||||||
statusHandler.handle(Priority.ERROR, msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (xmitCmd.length() == 0) {
|
||||||
|
String msg = "ERROR: xdat_xmit_cmd not specified. \n" + "File "
|
||||||
|
+ shefFile.getAbsolutePath() + " not sent";
|
||||||
|
statusHandler.handle(Priority.ERROR, msg);
|
||||||
|
} else {
|
||||||
|
String cmd = xmitCmd + " " + shefFile.getAbsolutePath();
|
||||||
|
try {
|
||||||
|
// DR#10955
|
||||||
|
RunProcess.getRunProcess().exec(cmd);
|
||||||
|
} catch (IOException e) {
|
||||||
|
String msg = "ERROR: Send Failed.";
|
||||||
|
statusHandler.handle(Priority.ERROR, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeFile(String message) {
|
private void writeFile(String message) {
|
||||||
|
@ -260,10 +220,42 @@ public class XdatShefUtil {
|
||||||
* @return File object
|
* @return File object
|
||||||
*/
|
*/
|
||||||
private File getShefFile() {
|
private File getShefFile() {
|
||||||
|
|
||||||
|
String aDir ="";
|
||||||
|
|
||||||
|
if ( (send.compareTo("1") == 0) || (send.compareToIgnoreCase("yes") == 0) ) {
|
||||||
|
sendAction = true;
|
||||||
|
aDir = localDataDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( (send.compareTo("0") == 0) || (send.compareToIgnoreCase("no") == 0) ) {
|
||||||
|
sendAction = false;
|
||||||
|
aDir = shefDir;
|
||||||
|
|
||||||
|
File sd = new File(shefDir);
|
||||||
|
|
||||||
|
if (!sd.exists()) {
|
||||||
|
String msg = "ERROR: " + shefDir + " does not exist. Check "
|
||||||
|
+ "the EDEX server for the directory";
|
||||||
|
|
||||||
|
statusHandler.handle(Priority.ERROR, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sd.canWrite()) {
|
||||||
|
|
||||||
|
String msg = "ERROR: " + shefDir + " does not have write " + "permissions. " +
|
||||||
|
"Check the EDEX server for proper permissions.";
|
||||||
|
|
||||||
|
statusHandler.handle(Priority.ERROR, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
File xdatrrFile = null;
|
File xdatrrFile = null;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (i = 1; i < 100; i++) {
|
for (i = 1; i < 100; i++) {
|
||||||
String fileName = localDataDir + "/xdatrr" + i;
|
String fileName = aDir + "/xdatrr" + i;
|
||||||
xdatrrFile = new File(fileName);
|
xdatrrFile = new File(fileName);
|
||||||
try {
|
try {
|
||||||
if (xdatrrFile.createNewFile()) {
|
if (xdatrrFile.createNewFile()) {
|
||||||
|
|
104
deltaScripts/15.1.1/DR4103/file_header.txt
Normal file
104
deltaScripts/15.1.1/DR4103/file_header.txt
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
# Variables used by service backup:
|
||||||
|
#
|
||||||
|
# AWIPS_HOME: The AWIPS II installation directory.
|
||||||
|
#
|
||||||
|
# GFESUITE_HOME: The server directory containing files and programs
|
||||||
|
# used by GFE during Service Backup
|
||||||
|
#
|
||||||
|
# GFESUITE_BIN: Directory containing GFE server side utility
|
||||||
|
# programs including ifpnetCDF and iscMosaic
|
||||||
|
#
|
||||||
|
# SVCBU_HOME: Directory used by service backup as a sandbox for
|
||||||
|
# constructing files to be sent and for processing
|
||||||
|
# received files.
|
||||||
|
#
|
||||||
|
# LOCALIZATION_PATH: This is the path to the root of the localization
|
||||||
|
# directory. This path is used for properly importing
|
||||||
|
# and exporting configuration data
|
||||||
|
#
|
||||||
|
# IFPS_LOG: Directory containing logs for the service backup
|
||||||
|
# operations.
|
||||||
|
#
|
||||||
|
# IFPS_DATA: Directory containing the svcbu_export_elements file.
|
||||||
|
# This file is used to specify which weather elements are
|
||||||
|
# packaged and sent when exporting digital data for a
|
||||||
|
# site.
|
||||||
|
#
|
||||||
|
# LOCK_DIR: Directory used for lock files. Each Service Backup
|
||||||
|
# operation maintains a lock file during its execution.
|
||||||
|
# The lock remains for the duration of the operation and
|
||||||
|
# is erased upon completion to prevent simultaneous
|
||||||
|
# operations from occurring.
|
||||||
|
#
|
||||||
|
# SCRIPTS_DIR: Directory containing the scripts used by service
|
||||||
|
# backup
|
||||||
|
#
|
||||||
|
# CAVE_LAUNCH_SCRIPT: This path points to the script which starts GFE. This
|
||||||
|
# variable is read when the user hits the 'Enable' button
|
||||||
|
# On the service backup GUI.
|
||||||
|
#
|
||||||
|
# SVCBU_HOST: Server where the service backup scripts will be
|
||||||
|
# executed.
|
||||||
|
#
|
||||||
|
# MSG_SEND_COMMAND: The command executed to send a message via the message handling
|
||||||
|
# system. This value will usually be msg_send. But, it can be
|
||||||
|
# changed to a different command in a test environment.
|
||||||
|
#
|
||||||
|
# CDSPORT: This is the port on which the Thrift Client listens
|
||||||
|
# for script execution events.
|
||||||
|
#
|
||||||
|
# SVCBU_DB: Defines which database to use for exporting
|
||||||
|
# grids to central server for service backup.
|
||||||
|
# VALID VALUES: Fcst
|
||||||
|
# Official (default)
|
||||||
|
#
|
||||||
|
# SVCBU_TRIM_ELEMS: Indication of whether ifpnetCDF needs to trim
|
||||||
|
# off elements while exporting grids to central
|
||||||
|
# server.
|
||||||
|
# VALID VALUES: 1 - To do element trimming
|
||||||
|
# 0 - To disable element trimming
|
||||||
|
# Note: ${IFPS_DATA}/svcbu_export_elements.ccc
|
||||||
|
# file has to be present for this to work. This file
|
||||||
|
# will contain list of elements to include in the
|
||||||
|
# netcdf file that's being sent over to central srv.
|
||||||
|
#
|
||||||
|
# SVCBU_FAILED_SITE_PORT: Unused
|
||||||
|
#
|
||||||
|
# SVCBU_GRIDAREA: The name of the edit area used when exporting grids
|
||||||
|
# to the central server for service backup and
|
||||||
|
# imported to the Restore databse after service backup.
|
||||||
|
# DEFUALT VALUE: ISC_Send_Area
|
||||||
|
#
|
||||||
|
# SVCBU_ADDRESSEE: The name of the msg_send addressee. Will be used to
|
||||||
|
# pass with -a flag of msg_send. (NCF use only).
|
||||||
|
#
|
||||||
|
# SVCBU_WMO_HEADER: The WMO header that will be used to pass in calls to
|
||||||
|
# msg_send with -i argument. This will be empty to
|
||||||
|
# begin with. Should not be changed. (NCF use only)
|
||||||
|
#
|
||||||
|
# EXPORT_GRID Indicate the ways of grid being exported
|
||||||
|
# VALID VALUES: 0 = do not export grids
|
||||||
|
# 1 = grids are exported by quartz timer
|
||||||
|
# at 15 after each hour, the service
|
||||||
|
# backup GUI, and from GFE via the
|
||||||
|
# 'Send Grids to NDFD...' script
|
||||||
|
# 2 = grids are exported only by the service backup GUI and from GFE via the 'Send
|
||||||
|
# Grids to NDFD...' script'
|
||||||
|
#
|
||||||
|
# SVCBU_USER Indicates that the site can configure a special user to
|
||||||
|
# run GFE when in service backup
|
||||||
|
# VALID VALUES: 0 = do not use a designated user to run
|
||||||
|
# GFE when in service backup
|
||||||
|
# 1 = use a designated user to run GFE
|
||||||
|
# when in service backup
|
||||||
|
#
|
||||||
|
# SVCBU_USER_ID The user id of the designated user to run GFE when
|
||||||
|
# in service backup
|
||||||
|
#
|
||||||
|
# PRIMARY_SITES (Optional) For dual-domain sites, a comma-separated
|
||||||
|
# list of sites for the export grids cron to run for
|
||||||
|
# instead of the site defined as AW_SITE_IDENTIFIER. If
|
||||||
|
# this setting is empty or not defined, cron will only
|
||||||
|
# export grids for site set as AW_SITE_IDENTIFIER.
|
||||||
|
#
|
||||||
|
#
|
55
deltaScripts/15.1.1/DR4103/migrateSvcbuProperties.sh
Normal file
55
deltaScripts/15.1.1/DR4103/migrateSvcbuProperties.sh
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
# Determine which directory this script lives in so we can locate
|
||||||
|
# file_header.txt ...
|
||||||
|
script_path=$(dirname $(readlink -f $0))
|
||||||
|
file_header=${script_path}/file_header.txt
|
||||||
|
|
||||||
|
echo "DR #4103: Moving svcbu.properties file to localization store..."
|
||||||
|
|
||||||
|
# source edex setup.env to get primary site id
|
||||||
|
source /awips2/edex/bin/setup.env
|
||||||
|
site_id=`echo ${AW_SITE_IDENTIFIER} | tr [a-z] [A-Z]`
|
||||||
|
|
||||||
|
base_file=/awips2/edex/data/utility/edex_static/base/config/gfe/svcbu.properties
|
||||||
|
old_site_file=/awips2/GFESuite/ServiceBackup/configuration/svcbu.properties
|
||||||
|
if [[ ! -f ${base_file} ]]
|
||||||
|
then
|
||||||
|
echo "ERROR: Can not find BASE-level svcbu.properties file ${base_file}."
|
||||||
|
echo "Exiting!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -f ${old_site_file} ]]
|
||||||
|
then
|
||||||
|
echo "ERROR: Can not find previous version's svcbu.properties file ${old_site_file}."
|
||||||
|
echo "Exiting!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
site_override_contents=""
|
||||||
|
|
||||||
|
config_entries=( "GFESUITE_HOME" "GFESUITE_BIN" "SVCBU_HOME" "LOCALIZATION_PATH" "IFPS_LOG" "IFPS_DATA" "LOCK_DIR" "SCRIPTS_DIR" "CAVE_LAUNCH_SCRIPT" "SVCBU_HOST" "MSG_SEND_COMMAND" "CDSPORT" "SVCBU_DB" "SVCBU_TRIM_ELEMS" "SVCBU_FAILED_SITE_PORT" "SVCBU_GRIDAREA" "SVCBU_ADDRESSEE" "SVCBU_WMO_HEADER" "SVCBU_USER" "SVCBU_USER_ID" "EXPORT_GRID" "PRIMARY_SITES" )
|
||||||
|
|
||||||
|
for entry in "${config_entries[@]}"
|
||||||
|
do
|
||||||
|
base_value=$(grep -E "^${entry}=" ${base_file})
|
||||||
|
site_value=$(grep -E "^${entry}=" ${old_site_file})
|
||||||
|
if [ "${base_value}" != "${site_value}" ]
|
||||||
|
then
|
||||||
|
site_override_contents="${site_override_contents}\n${site_value}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -n "${site_override_contents}" ]]
|
||||||
|
then
|
||||||
|
new_site_file=/awips2/edex/data/utility/edex_static/site/${site_id}/config/gfe/svcbu.properties
|
||||||
|
|
||||||
|
echo "Writing new site override file ${new_site_file}."
|
||||||
|
cat ${file_header} > ${new_site_file}
|
||||||
|
echo "" >> ${new_site_file}
|
||||||
|
echo -e ${site_override_contents} >> ${new_site_file}
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f ${old_site_file}
|
||||||
|
|
|
@ -18,5 +18,6 @@ then
|
||||||
echo "Failed to update radar table."
|
echo "Failed to update radar table."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
/awips2/psql/bin/psql -U awips -d metadata -c "UPDATE radar SET volumescannumber=0 WHERE volumescannumber IS NULL;"
|
||||||
|
|
||||||
echo "Done"
|
echo "Done"
|
||||||
|
|
|
@ -7,13 +7,19 @@ includegen.filter=raytheon|noaa\.nws|gov.nasa.msfc|noaa\.gsd|edu\.wisc\.ssec\.ci
|
||||||
core.repo=ufcore
|
core.repo=ufcore
|
||||||
core-foss.repo=ufcore-foss
|
core-foss.repo=ufcore-foss
|
||||||
awips2-foss.repo=AWIPS2_foss
|
awips2-foss.repo=AWIPS2_foss
|
||||||
|
ncep.repo=AWIPS2_NCEP
|
||||||
|
cimss.repo=AWIPS2_CIMSS
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
awips2-ncep.repo=AWIPS2_NCEP
|
awips2-ncep.repo=AWIPS2_NCEP
|
||||||
awips2-cimss.repo=AWIPS2_CIMSS
|
awips2-cimss.repo=AWIPS2_CIMSS
|
||||||
awips2-gsd.repo=AWIPS2_GSD
|
awips2-gsd.repo=AWIPS2_GSD
|
||||||
|
|
||||||
core.repositories=${core.repo},${core-foss.repo},${awips2-foss.repo}
|
core.repositories=${core.repo},${core-foss.repo},${awips2-foss.repo}
|
||||||
optional.repositories=${awips2-ncep.repo},${awips2-cimss.repo},${awips2-gsd.repo}
|
optional.repositories=${awips2-ncep.repo},${awips2-cimss.repo},${awips2-gsd.repo}
|
||||||
|
=======
|
||||||
|
core.repositories=${core.repo},${core-foss.repo},${awips2-foss.repo},${ncep.repo},${cimss.repo}
|
||||||
|
>>>>>>> 9c7d466213eaac3a46fddf416967d00e3446bfee
|
||||||
|
|
||||||
# Note: currently, there is a limit of 99 plugin directories.
|
# Note: currently, there is a limit of 99 plugin directories.
|
||||||
dir.01=cave
|
dir.01=cave
|
||||||
|
|
|
@ -1842,7 +1842,7 @@ public class IFPGridDatabase extends GridDatabase {
|
||||||
} else {
|
} else {
|
||||||
// Convert to a FloatDataRecord for internal use
|
// Convert to a FloatDataRecord for internal use
|
||||||
records.put(timeRange,
|
records.put(timeRange,
|
||||||
storageToFloat(rec, parmStorageInfo));
|
storageToFloat(rec, parmStorageInfo, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1930,8 +1930,8 @@ public class IFPGridDatabase extends GridDatabase {
|
||||||
VECTOR_DIR_DATA_OFFSET,
|
VECTOR_DIR_DATA_OFFSET,
|
||||||
VECTOR_DIR_DATA_MULTIPLIER,
|
VECTOR_DIR_DATA_MULTIPLIER,
|
||||||
magStorageInfo.getStorageType());
|
magStorageInfo.getStorageType());
|
||||||
recs[0] = storageToFloat(magRec, magStorageInfo);
|
recs[0] = storageToFloat(magRec, magStorageInfo, false);
|
||||||
recs[1] = storageToFloat(dirRec, dirStorageInfo);
|
recs[1] = storageToFloat(dirRec, dirStorageInfo, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
records.put(timeRange, recs);
|
records.put(timeRange, recs);
|
||||||
|
@ -1969,7 +1969,8 @@ public class IFPGridDatabase extends GridDatabase {
|
||||||
* conversion in parmStorageInfo.
|
* conversion in parmStorageInfo.
|
||||||
*/
|
*/
|
||||||
protected FloatDataRecord storageToFloat(IDataRecord rawData,
|
protected FloatDataRecord storageToFloat(IDataRecord rawData,
|
||||||
ParmStorageInfo parmStorageInfo) {
|
ParmStorageInfo parmStorageInfo,
|
||||||
|
boolean isDirRecord) {
|
||||||
FloatDataRecord data;
|
FloatDataRecord data;
|
||||||
String storageType = parmStorageInfo.getStorageType();
|
String storageType = parmStorageInfo.getStorageType();
|
||||||
float multiplier = parmStorageInfo.getDataMultiplier();
|
float multiplier = parmStorageInfo.getDataMultiplier();
|
||||||
|
@ -1980,7 +1981,10 @@ public class IFPGridDatabase extends GridDatabase {
|
||||||
floats = new float[rawBytes.length];
|
floats = new float[rawBytes.length];
|
||||||
for (int idx = 0; idx < rawBytes.length; idx++) {
|
for (int idx = 0; idx < rawBytes.length; idx++) {
|
||||||
// hex mask to treat bytes as unsigned
|
// hex mask to treat bytes as unsigned
|
||||||
floats[idx] = ((rawBytes[idx] & 0xff) / multiplier) + offset;
|
if (isDirRecord)
|
||||||
|
floats[idx] = (((rawBytes[idx] & 0xff) / multiplier) + offset) % 360.0f;
|
||||||
|
else
|
||||||
|
floats[idx] = ((rawBytes[idx] & 0xff) / multiplier) + offset;
|
||||||
}
|
}
|
||||||
} else if ("short".equals(storageType)) {
|
} else if ("short".equals(storageType)) {
|
||||||
short[] rawShorts = ((ShortDataRecord) rawData).getShortData();
|
short[] rawShorts = ((ShortDataRecord) rawData).getShortData();
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
package com.raytheon.edex.plugin.gfe.svcbackup;
|
package com.raytheon.edex.plugin.gfe.svcbackup;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
@ -37,9 +36,15 @@ import com.raytheon.uf.common.auth.exception.AuthorizationException;
|
||||||
import com.raytheon.uf.common.auth.user.IUser;
|
import com.raytheon.uf.common.auth.user.IUser;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException;
|
import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfePrivilegedRequest;
|
import com.raytheon.uf.common.dataplugin.gfe.request.AbstractGfePrivilegedRequest;
|
||||||
|
import com.raytheon.uf.common.localization.IPathManager;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||||
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
|
import com.raytheon.uf.common.localization.exception.LocalizationException;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.util.FileUtil;
|
||||||
import com.raytheon.uf.common.util.RunProcess;
|
import com.raytheon.uf.common.util.RunProcess;
|
||||||
import com.raytheon.uf.edex.auth.AuthManager;
|
import com.raytheon.uf.edex.auth.AuthManager;
|
||||||
import com.raytheon.uf.edex.auth.AuthManagerFactory;
|
import com.raytheon.uf.edex.auth.AuthManagerFactory;
|
||||||
|
@ -68,6 +73,7 @@ import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
||||||
* Jul 10, 2014 2914 garmendariz Remove EnvProperties
|
* Jul 10, 2014 2914 garmendariz Remove EnvProperties
|
||||||
* Feb 17, 2015 4103 dgilling Add getLockDir for specific site, code
|
* Feb 17, 2015 4103 dgilling Add getLockDir for specific site, code
|
||||||
* cleanup.
|
* cleanup.
|
||||||
|
* Mar 27, 2015 4103 dgilling Support new location for svcbu.properties.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -84,6 +90,9 @@ public class SvcBackupUtil {
|
||||||
|
|
||||||
public static final String OPERATION_SUCCESS = "Success";
|
public static final String OPERATION_SUCCESS = "Success";
|
||||||
|
|
||||||
|
private static final String SVCBU_PROPS_PATH = FileUtil.join("config",
|
||||||
|
"gfe", "svcbu.properties");
|
||||||
|
|
||||||
/** The logger instance */
|
/** The logger instance */
|
||||||
protected static transient Log logger = LogFactory
|
protected static transient Log logger = LogFactory
|
||||||
.getLog(SvcBackupUtil.class);
|
.getLog(SvcBackupUtil.class);
|
||||||
|
@ -203,26 +212,31 @@ public class SvcBackupUtil {
|
||||||
|
|
||||||
public static Properties getSvcBackupProperties() {
|
public static Properties getSvcBackupProperties() {
|
||||||
Properties svcbuProperties = new Properties();
|
Properties svcbuProperties = new Properties();
|
||||||
FileInputStream fis = null;
|
|
||||||
try {
|
IPathManager pathMgr = PathManagerFactory.getPathManager();
|
||||||
fis = new FileInputStream(
|
|
||||||
EDEXUtil.getEdexHome()
|
LocalizationFile basePropsFile = pathMgr.getLocalizationFile(pathMgr
|
||||||
+ "/../GFESuite/ServiceBackup/configuration/svcbu.properties");
|
.getContext(LocalizationType.EDEX_STATIC,
|
||||||
svcbuProperties.load(fis);
|
LocalizationLevel.BASE), SVCBU_PROPS_PATH);
|
||||||
} catch (Exception e) {
|
try (InputStream input = basePropsFile.openInputStream()) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
svcbuProperties.load(input);
|
||||||
"Error reading svcbu.properties file!", e);
|
} catch (IOException | LocalizationException e) {
|
||||||
return null;
|
statusHandler.error(
|
||||||
} finally {
|
"Unable to load BASE level svcbu.properties file.", e);
|
||||||
if (fis != null) {
|
}
|
||||||
try {
|
|
||||||
fis.close();
|
LocalizationFile sitePropsFile = pathMgr.getLocalizationFile(pathMgr
|
||||||
} catch (Exception e) {
|
.getContextForSite(LocalizationType.EDEX_STATIC,
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
EDEXUtil.getEdexSite()), SVCBU_PROPS_PATH);
|
||||||
"Error reading svcbu.properties file!", e);
|
if (sitePropsFile.exists()) {
|
||||||
}
|
try (InputStream input = sitePropsFile.openInputStream()) {
|
||||||
|
svcbuProperties.load(input);
|
||||||
|
} catch (IOException | LocalizationException e) {
|
||||||
|
statusHandler.error(
|
||||||
|
"Unable to load SITE level svcbu.properties file.", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return svcbuProperties;
|
return svcbuProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
Mar 31, 2014 #2934 dgilling Updated params for pSurge2.0/PHISH data.
|
Mar 31, 2014 #2934 dgilling Updated params for pSurge2.0/PHISH data.
|
||||||
Jul 03, 2014 DR 14068 mfoster Added parameters for 3km AK-RTMA
|
Jul 03, 2014 DR 14068 mfoster Added parameters for 3km AK-RTMA
|
||||||
Dec 15, 2014 DR 14024 jwatson Added parameters for 2.5km GFSLAMPGrid
|
Dec 15, 2014 DR 14024 jwatson Added parameters for 2.5km GFSLAMPGrid
|
||||||
|
Feb 24, 2015 DR 16671 byin Added HPBL for RUC13
|
||||||
-->
|
-->
|
||||||
<aliasList caseSensitive="true" namespace="gfeParamName">
|
<aliasList caseSensitive="true" namespace="gfeParamName">
|
||||||
<alias base="AV">av</alias>
|
<alias base="AV">av</alias>
|
||||||
|
@ -36,6 +37,7 @@
|
||||||
<alias base="HAILPROB">hailprob</alias>
|
<alias base="HAILPROB">hailprob</alias>
|
||||||
<alias base="Heli">heli</alias>
|
<alias base="Heli">heli</alias>
|
||||||
<alias base="HIdx">hidx</alias>
|
<alias base="HIdx">hidx</alias>
|
||||||
|
<alias base="HPBL">hpbl</alias>
|
||||||
<alias base="HTSGW">htsgw</alias>
|
<alias base="HTSGW">htsgw</alias>
|
||||||
<alias base="KI">ki</alias>
|
<alias base="KI">ki</alias>
|
||||||
<alias base="LgSP3hr">lgsp3hr</alias>
|
<alias base="LgSP3hr">lgsp3hr</alias>
|
||||||
|
|
|
@ -51,7 +51,10 @@
|
||||||
# Added Topo to ISCPARMS
|
# Added Topo to ISCPARMS
|
||||||
# 01/19/2015 #4014 dgilling Added ETSS.
|
# 01/19/2015 #4014 dgilling Added ETSS.
|
||||||
# 02/11/2015 #4053 rferrel Added GLWN and moved GLERL to display only for Great Lakes sites..
|
# 02/11/2015 #4053 rferrel Added GLWN and moved GLERL to display only for Great Lakes sites..
|
||||||
|
# 01/19/2015 #4014 dgilling Added ETSS.
|
||||||
|
# 02/24/2015 #16692 byin Added RTMA. Removed gfsLR and GWW233
|
||||||
# 03/19/2015 #4300 randerso Remove GUMa as it is obsolete (per Shannon White)
|
# 03/19/2015 #4300 randerso Remove GUMa as it is obsolete (per Shannon White)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
@ -1232,14 +1235,13 @@ elif SID == "SJU":
|
||||||
|
|
||||||
# Guam OCONUS
|
# Guam OCONUS
|
||||||
elif SID == "GUM":
|
elif SID == "GUM":
|
||||||
D2DMODELS = [('MRF204', 'gfsLR'),
|
D2DMODELS = [('AVN225', 'GFS75'),
|
||||||
('AVN225', 'GFS75'),
|
|
||||||
'GWW233',
|
|
||||||
'GlobalWave',
|
'GlobalWave',
|
||||||
('TPCWindProb', 'TPCProb'),
|
('TPCWindProb', 'TPCProb'),
|
||||||
'RTOFS-Guam',
|
'RTOFS-Guam',
|
||||||
'WPHwave10',
|
'WPHwave10',
|
||||||
'GLOBHwave',
|
'GLOBHwave',
|
||||||
|
('Guam-RTMA','RTMA'),
|
||||||
('nwpsCG1', 'nwpsCG1'),
|
('nwpsCG1', 'nwpsCG1'),
|
||||||
('nwpsTrkngCG0', 'nwpsTrkngCG0'),
|
('nwpsTrkngCG0', 'nwpsTrkngCG0'),
|
||||||
('GFS20-PAC', 'GFS20'),
|
('GFS20-PAC', 'GFS20'),
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<!--
|
<!--
|
||||||
Mar 20, 2013 #1774 randerso Added forecast hours out to 18
|
Mar 20, 2013 #1774 randerso Added forecast hours out to 18
|
||||||
Jun 19, 2013 #2044 randerso Updated to match model
|
Jun 19, 2013 #2044 randerso Updated to match model
|
||||||
|
Feb 24 20153 DCS14537 byin Added HPBL for RUC13
|
||||||
-->
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
|
@ -729,4 +730,19 @@
|
||||||
<level>FHAG06000</level>
|
<level>FHAG06000</level>
|
||||||
</levels>
|
</levels>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
<short_name>hpbl</short_name>
|
||||||
|
<long_name>Height of Planetary Boundary Layer</long_name>
|
||||||
|
<units>m</units>
|
||||||
|
<udunits>meter</udunits>
|
||||||
|
<uiname>HPBL</uiname>
|
||||||
|
<valid_range>0.0</valid_range>
|
||||||
|
<valid_range>4000.0</valid_range>
|
||||||
|
<fillValue>-99999.0</fillValue>
|
||||||
|
<n3D>0</n3D>
|
||||||
|
<levelsDesc>SFC</levelsDesc>
|
||||||
|
<levels>
|
||||||
|
<level>SFC</level>
|
||||||
|
</levels>
|
||||||
|
</gridParameterInfo>
|
||||||
</gridParamInfo>
|
</gridParamInfo>
|
||||||
|
|
|
@ -1066,20 +1066,25 @@ class Forecaster(GridUtilities):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
rval = apply(mthd, tuple(gargs))
|
rval = apply(mthd, tuple(gargs))
|
||||||
|
|
||||||
if type(rval) is not ndarray:
|
if rval is not None:
|
||||||
if type(rval) is not tuple:
|
if type(rval) is not ndarray:
|
||||||
jrval = rval
|
if type(rval) is not tuple:
|
||||||
rval = rval.__numpy__
|
jrval = rval
|
||||||
if len(rval) == 1:
|
rval = rval.__numpy__
|
||||||
if rval[0].dtype != int8:
|
if len(rval) == 1:
|
||||||
|
if rval[0].dtype != int8:
|
||||||
# scalar
|
# scalar
|
||||||
rval = rval[0]
|
rval = rval[0]
|
||||||
else:
|
else:
|
||||||
# discrete or weather
|
# discrete or weather
|
||||||
keys = JUtil.javaObjToPyVal(jrval.getKeyList())
|
keys = JUtil.javaObjToPyVal(jrval.getKeyList())
|
||||||
rval.append(keys)
|
rval.append(keys)
|
||||||
cache[we] = (rval, time)
|
cache[we] = (rval, time)
|
||||||
|
|
||||||
|
else:
|
||||||
|
cache[we] = (None, time)
|
||||||
|
|
||||||
if rval is not None and cache['mtime'][0] is not None and doStore:
|
if rval is not None and cache['mtime'][0] is not None and doStore:
|
||||||
parm = self.__getNewWE(we)
|
parm = self.__getNewWE(we)
|
||||||
self._ifpio.store(parm, cache['mtime'][0], cache[we][0])
|
self._ifpio.store(parm, cache['mtime'][0], cache[we][0])
|
||||||
|
|
|
@ -387,8 +387,8 @@
|
||||||
<dt>1</dt>
|
<dt>1</dt>
|
||||||
</info>
|
</info>
|
||||||
<info>
|
<info>
|
||||||
<title>RTMA-Mosaic</title>
|
<title>RTMA</title>
|
||||||
<datasetId>RTMA-Mosaic</datasetId>
|
<datasetId>RTMA25</datasetId>
|
||||||
<dt>1</dt>
|
<dt>1</dt>
|
||||||
</info>
|
</info>
|
||||||
<info>
|
<info>
|
||||||
|
@ -697,8 +697,8 @@
|
||||||
<dt>1</dt>
|
<dt>1</dt>
|
||||||
</info>
|
</info>
|
||||||
<info>
|
<info>
|
||||||
<title>RTMA-Mosaic</title>
|
<title>RTMA</title>
|
||||||
<datasetId>RTMA-Mosaic</datasetId>
|
<datasetId>RTMA25</datasetId>
|
||||||
<dt>1</dt>
|
<dt>1</dt>
|
||||||
</info>
|
</info>
|
||||||
<info>
|
<info>
|
||||||
|
@ -827,7 +827,7 @@
|
||||||
<dt>6</dt>
|
<dt>6</dt>
|
||||||
</info>
|
</info>
|
||||||
<info>
|
<info>
|
||||||
<title>HPCGuide-AK</title>
|
<title>AK-HPCGuide</title>
|
||||||
<datasetId>HPCGuide-AK</datasetId>
|
<datasetId>HPCGuide-AK</datasetId>
|
||||||
<dt>6</dt>
|
<dt>6</dt>
|
||||||
</info>
|
</info>
|
||||||
|
|
|
@ -1114,7 +1114,7 @@
|
||||||
</model>
|
</model>
|
||||||
|
|
||||||
<model>
|
<model>
|
||||||
<name>RTMA-Mosaic</name>
|
<name>RTMA25</name>
|
||||||
<center>7</center>
|
<center>7</center>
|
||||||
<subcenter>0</subcenter>
|
<subcenter>0</subcenter>
|
||||||
<grid>184</grid>
|
<grid>184</grid>
|
||||||
|
@ -2536,17 +2536,7 @@
|
||||||
</model>
|
</model>
|
||||||
|
|
||||||
<model>
|
<model>
|
||||||
<name>RTMA2P5KM</name>
|
<name>RTMA25</name>
|
||||||
<center>7</center>
|
|
||||||
<subcenter>4</subcenter>
|
|
||||||
<grid>1971</grid>
|
|
||||||
<process>
|
|
||||||
<id>109</id>
|
|
||||||
</process>
|
|
||||||
</model>
|
|
||||||
|
|
||||||
<model>
|
|
||||||
<name>RTMA-Mosaic</name>
|
|
||||||
<center>7</center>
|
<center>7</center>
|
||||||
<subcenter>4</subcenter>
|
<subcenter>4</subcenter>
|
||||||
<grid>184</grid>
|
<grid>184</grid>
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<subGridDef>
|
||||||
|
<modelNames>RTMA25</modelNames>
|
||||||
|
<referenceGrid>184</referenceGrid>
|
||||||
|
<nx>500</nx>
|
||||||
|
<ny>500</ny>
|
||||||
|
<!--
|
||||||
|
<centerLatitude>36.5</centerLatitude>
|
||||||
|
<centerLongitude>-81</centerLongitude>
|
||||||
|
-->
|
||||||
|
</subGridDef>
|
|
@ -1,6 +1,7 @@
|
||||||
# Product Discipline 0: Meteorological products, Parameter Category 1: Moisture
|
# Product Discipline 0: Meteorological products, Parameter Category 1: Moisture
|
||||||
|
# For Center 7 Subcenter 5 (NCEP-HPC)
|
||||||
#192-254 Reserved for local use
|
#192-254 Reserved for local use
|
||||||
192:192:Categorical Rain::CRAIN
|
192:192:Weather::wxType
|
||||||
193:193:Categorical Freezing Rain::CFRZR
|
193:193:Categorical Freezing Rain::CFRZR
|
||||||
194:194:Categorical Ice Pellets::CICEP
|
194:194:Categorical Ice Pellets::CICEP
|
||||||
195:195:Categorical Snow::CSNOW
|
195:195:Categorical Snow::CSNOW
|
||||||
|
|
|
@ -100,6 +100,7 @@ import com.raytheon.uf.edex.database.cluster.ClusterTask;
|
||||||
* Jan 21, 2014 2627 njensen Removed decode()'s try/catch, camel route will do try/catch
|
* Jan 21, 2014 2627 njensen Removed decode()'s try/catch, camel route will do try/catch
|
||||||
* May 14, 2014 2536 bclement moved WMO Header to common, removed TimeTools usage
|
* May 14, 2014 2536 bclement moved WMO Header to common, removed TimeTools usage
|
||||||
* Dec 26, 2014 ASM#632 dhuffman Added AlertMessageSanityCheck() for this DR.
|
* Dec 26, 2014 ASM#632 dhuffman Added AlertMessageSanityCheck() for this DR.
|
||||||
|
* Feb 27, 2015 17086 zwang Corrected the elevation of volume based TDWR products
|
||||||
* Mar 25, 2015 4319 bsteffen Save the volume scan number.
|
* Mar 25, 2015 4319 bsteffen Save the volume scan number.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -350,7 +351,8 @@ public class RadarDecoder extends AbstractDecoder {
|
||||||
|
|
||||||
// determine to use the primary elevations or the elevation
|
// determine to use the primary elevations or the elevation
|
||||||
// in the terminal radar configuration file
|
// in the terminal radar configuration file
|
||||||
if (TerminalRadarUtils.isTerminalRadar(record.getIcao())) {
|
if (TerminalRadarUtils.isTerminalRadar(record.getIcao())
|
||||||
|
&& info.isElevation()) {
|
||||||
Double elevation = TerminalRadarUtils.getPrimarysMap(
|
Double elevation = TerminalRadarUtils.getPrimarysMap(
|
||||||
record.getIcao()).get(
|
record.getIcao()).get(
|
||||||
TiltAngleBin.getPrimaryElevationAngle(record
|
TiltAngleBin.getPrimaryElevationAngle(record
|
||||||
|
|
4
edexOsgi/com.raytheon.edex.plugin.radar/utility/common_static/base/radar/tiltAngleGroups.txt
Normal file → Executable file
4
edexOsgi/com.raytheon.edex.plugin.radar/utility/common_static/base/radar/tiltAngleGroups.txt
Normal file → Executable file
|
@ -8,8 +8,8 @@
|
||||||
// primary min max
|
// primary min max
|
||||||
// angle angle angle
|
// angle angle angle
|
||||||
0.0 0.0 0.3
|
0.0 0.0 0.3
|
||||||
0.5 0.4 0.7
|
0.5 0.4 0.8
|
||||||
0.9 0.8 1.1
|
0.9 0.9 1.1
|
||||||
1.5 1.2 1.6
|
1.5 1.2 1.6
|
||||||
1.8 1.7 2.0
|
1.8 1.7 2.0
|
||||||
2.4 2.1 2.6
|
2.4 2.1 2.6
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<Method name="Alias" levels="Surface">
|
<Method name="Alias" levels="Surface">
|
||||||
<Field abbreviation="MnT" level="2FHAG"/>
|
<Field abbreviation="MnT" level="2FHAG"/>
|
||||||
</Method>
|
</Method>
|
||||||
<Method name="Min" levels="Surface" models="RTMA">
|
<Method name="Min" levels="Surface" models="RTMA25">
|
||||||
<Field abbreviation="T24hr"/>
|
<Field abbreviation="T24hr"/>
|
||||||
</Method>
|
</Method>
|
||||||
</DerivedParameter>
|
</DerivedParameter>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<Method name="Alias" levels="Surface">
|
<Method name="Alias" levels="Surface">
|
||||||
<Field abbreviation="MxT" level="2FHAG"/>
|
<Field abbreviation="MxT" level="2FHAG"/>
|
||||||
</Method>
|
</Method>
|
||||||
<Method name="Max" levels="Surface" models="RTMA">
|
<Method name="Max" levels="Surface" models="RTMA25">
|
||||||
<Field abbreviation="T24hr"/>
|
<Field abbreviation="T24hr"/>
|
||||||
</Method>
|
</Method>
|
||||||
</DerivedParameter>
|
</DerivedParameter>
|
||||||
|
|
|
@ -47,6 +47,7 @@ import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 24, 2010 mnash Initial creation
|
* May 24, 2010 mnash Initial creation
|
||||||
|
* Feb 11, 2015 14627 zwang Remove the extra elevation 0.0
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -117,10 +118,6 @@ public class TerminalRadarUtils {
|
||||||
for (Double y : mapSet.get("HAZ")) {
|
for (Double y : mapSet.get("HAZ")) {
|
||||||
theMap.put(TiltAngleBin.getPrimaryElevationAngle(y), y);
|
theMap.put(TiltAngleBin.getPrimaryElevationAngle(y), y);
|
||||||
}
|
}
|
||||||
// add the base case if necessary
|
|
||||||
if (!theMap.containsKey(0.0)) {
|
|
||||||
theMap.put(0.0, 0.0);
|
|
||||||
}
|
|
||||||
List<Double> list = new ArrayList<Double>(theMap.values());
|
List<Double> list = new ArrayList<Double>(theMap.values());
|
||||||
Collections.sort(list);
|
Collections.sort(list);
|
||||||
radarElevations.put("t" + lineVals[0].toLowerCase(), list);
|
radarElevations.put("t" + lineVals[0].toLowerCase(), list);
|
||||||
|
|
|
@ -39,6 +39,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
* Aug 13, 2013 1742 dhladky Concurrent mod exception on update fixed
|
* Aug 13, 2013 1742 dhladky Concurrent mod exception on update fixed
|
||||||
* Oct 02, 2013 2361 njensen Use JAXBManager for XML
|
* Oct 02, 2013 2361 njensen Use JAXBManager for XML
|
||||||
* Jan 20, 2015 3949 nabowle Add lightning source.
|
* Jan 20, 2015 3949 nabowle Add lightning source.
|
||||||
|
* Mar 27, 2015 4260 dhladky Updated default model.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -52,6 +53,9 @@ public class SCANRunSiteConfigurationManager implements
|
||||||
/** Path to FFMP Source config. */
|
/** Path to FFMP Source config. */
|
||||||
private static final String CONFIG_FILE_NAME = "scan" + File.separatorChar
|
private static final String CONFIG_FILE_NAME = "scan" + File.separatorChar
|
||||||
+ "SCANRunSiteConfig.xml";
|
+ "SCANRunSiteConfig.xml";
|
||||||
|
|
||||||
|
/** default model to set in XML **/
|
||||||
|
private static final String DEFAULT_MODEL = "HRRR";
|
||||||
|
|
||||||
private static final IUFStatusHandler statusHandler = UFStatus
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(SCANRunSiteConfigurationManager.class);
|
.getHandler(SCANRunSiteConfigurationManager.class);
|
||||||
|
@ -287,7 +291,7 @@ public class SCANRunSiteConfigurationManager implements
|
||||||
*/
|
*/
|
||||||
List<String> localsites = RadarsInUseUtil.getSite(null,
|
List<String> localsites = RadarsInUseUtil.getSite(null,
|
||||||
RadarsInUseUtil.LOCAL_CONSTANT);
|
RadarsInUseUtil.LOCAL_CONSTANT);
|
||||||
String modelDefault = "RUC130";
|
String modelDefault = DEFAULT_MODEL;
|
||||||
|
|
||||||
configXml = new SCANSiteRunConfigXML();
|
configXml = new SCANSiteRunConfigXML();
|
||||||
|
|
||||||
|
|
|
@ -154,6 +154,11 @@
|
||||||
<abbreviation>HCDC</abbreviation>
|
<abbreviation>HCDC</abbreviation>
|
||||||
<unit>%</unit>
|
<unit>%</unit>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
<parameter>
|
||||||
|
<name>Height of Planetary Boundary Layer</name>
|
||||||
|
<abbreviation>HPBL</abbreviation>
|
||||||
|
<unit>m</unit>
|
||||||
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>Humidity Mixing Ratio</name>
|
<name>Humidity Mixing Ratio</name>
|
||||||
<abbreviation>MIXR</abbreviation>
|
<abbreviation>MIXR</abbreviation>
|
||||||
|
@ -579,4 +584,4 @@
|
||||||
<abbreviation>DIRC</abbreviation>
|
<abbreviation>DIRC</abbreviation>
|
||||||
<unit>degree</unit>
|
<unit>degree</unit>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameterList>
|
</parameterList>
|
||||||
|
|
|
@ -517,6 +517,11 @@
|
||||||
<versionsToKeep>24</versionsToKeep>
|
<versionsToKeep>24</versionsToKeep>
|
||||||
<modTimeToWait>00-00:15:00</modTimeToWait>
|
<modTimeToWait>00-00:15:00</modTimeToWait>
|
||||||
</rule>
|
</rule>
|
||||||
|
<rule>
|
||||||
|
<keyValue>RTMA25</keyValue>
|
||||||
|
<versionsToKeep>24</versionsToKeep>
|
||||||
|
<modTimeToWait>00-00:15:00</modTimeToWait>
|
||||||
|
</rule>
|
||||||
<!-- Purge rule for AK-RTMA-3KM analysis -->
|
<!-- Purge rule for AK-RTMA-3KM analysis -->
|
||||||
<rule>
|
<rule>
|
||||||
<keyValue>AK-RTMA3</keyValue>
|
<keyValue>AK-RTMA3</keyValue>
|
||||||
|
|
|
@ -99,7 +99,12 @@
|
||||||
|
|
||||||
<permission id="com.raytheon.localization.site/common_static/hazardServices"/>
|
<permission id="com.raytheon.localization.site/common_static/hazardServices"/>
|
||||||
<permission id="com.raytheon.localization.site/common_static/hazardServices/settings"/>
|
<permission id="com.raytheon.localization.site/common_static/hazardServices/settings"/>
|
||||||
|
|
||||||
|
<permission id="com.raytheon.localization.site/common_static/python/events/productgen/products"/>
|
||||||
|
<permission id="com.raytheon.localization.site/common_static/python/events/productgen/formats"/>
|
||||||
|
<permission id="com.raytheon.localization.site/common_static/python/events/recommenders"/>
|
||||||
|
<permission id="com.raytheon.localization.site/common_static/python/textUtilities"/>
|
||||||
|
|
||||||
<!-- TODO Localization permissions should be able to be plugin contributed.
|
<!-- TODO Localization permissions should be able to be plugin contributed.
|
||||||
Improve code in the generically [poorly] named FileManager to support
|
Improve code in the generically [poorly] named FileManager to support
|
||||||
that concept and then split them. -->
|
that concept and then split them. -->
|
||||||
|
|
|
@ -2,7 +2,13 @@
|
||||||
|
|
||||||
export AWIPS_HOME=$(readlink -f $AWIPS_HOME)
|
export AWIPS_HOME=$(readlink -f $AWIPS_HOME)
|
||||||
|
|
||||||
. ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.properties
|
. ${AWIPS_HOME}/edex/data/utility/edex_static/base/config/gfe/svcbu.properties
|
||||||
|
|
||||||
|
SITE_SVCBU_OVERRIDE=${AWIPS_HOME}/edex/data/utility/edex_static/site/${AW_SITE_IDENTIFIER}/config/gfe/svcbu.properties
|
||||||
|
if [[ -f ${SITE_SVCBU_OVERRIDE} ]]
|
||||||
|
then
|
||||||
|
. ${SITE_SVCBU_OVERRIDE}
|
||||||
|
fi
|
||||||
|
|
||||||
export PATH=$PATH:$GFESUITE_HOME/bin:$GFESUITE_HOME/ServiceBackup/scripts:/awips2/fxa/bin/
|
export PATH=$PATH:$GFESUITE_HOME/bin:$GFESUITE_HOME/ServiceBackup/scripts:/awips2/fxa/bin/
|
||||||
source /etc/profile.d/awips2Python.sh
|
source /etc/profile.d/awips2Python.sh
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 05/10/11 8688 dgilling Initial Creation.
|
# 05/10/11 8688 dgilling Initial Creation.
|
||||||
# 02/12/15 4103 dgilling Pre-emptively determine site id.
|
# 02/12/15 4103 dgilling Pre-emptively determine site id.
|
||||||
|
# 03/30/15 4103 dgilling Support new location for svcbu.properties.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -37,9 +38,17 @@ RUN_FROM_DIR=`dirname $path_to_script`
|
||||||
|
|
||||||
BASE_AWIPS_DIR=`dirname $RUN_FROM_DIR`
|
BASE_AWIPS_DIR=`dirname $RUN_FROM_DIR`
|
||||||
|
|
||||||
|
if [[ -z "${AWIPS_HOME}" ]]
|
||||||
|
then
|
||||||
|
AWIPS_HOME=$(dirname $(dirname $BASE_AWIPS_DIR))
|
||||||
|
fi
|
||||||
|
|
||||||
# get the base environment
|
# get the base environment
|
||||||
|
source ${AWIPS_HOME}/edex/bin/setup.env
|
||||||
source /awips2/GFESuite/bin/setup.env
|
source /awips2/GFESuite/bin/setup.env
|
||||||
source /awips2/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
source /awips2/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
||||||
|
export SVCBU_HOST
|
||||||
|
export CDSPORT
|
||||||
|
|
||||||
# setup the environment needed to run the the Python
|
# setup the environment needed to run the the Python
|
||||||
export LD_LIBRARY_PATH=${PYTHON_INSTALL}/lib
|
export LD_LIBRARY_PATH=${PYTHON_INSTALL}/lib
|
||||||
|
|
|
@ -37,6 +37,7 @@ from ufpy import ThriftClient, ConfigFileUtil
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 08/04/11 bphillip Initial Creation.
|
# 08/04/11 bphillip Initial Creation.
|
||||||
# 02/12/15 #4103 dgilling Set site ID field.
|
# 02/12/15 #4103 dgilling Set site ID field.
|
||||||
|
# 03/27/15 #4103 dgilling Read connection values from environment.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -47,7 +48,7 @@ def main():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
receiveConfRequest = createRequest()
|
receiveConfRequest = createRequest()
|
||||||
thriftClient = ThriftClient.ThriftClient(connectionParams["SVCBU_HOST"], int(connectionParams["CDSPORT"]), "/services")
|
thriftClient = ThriftClient.ThriftClient(connectionParams[0], connectionParams[1], "/services")
|
||||||
serverResponse = thriftClient.sendRequest(receiveConfRequest)
|
serverResponse = thriftClient.sendRequest(receiveConfRequest)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print "Unhandled exception thrown during receive_configuration processing: \n", str(e)
|
print "Unhandled exception thrown during receive_configuration processing: \n", str(e)
|
||||||
|
@ -58,7 +59,7 @@ def main():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
def getConnectionParams():
|
def getConnectionParams():
|
||||||
return ConfigFileUtil.parseKeyValueFile("/awips2/GFESuite/ServiceBackup/configuration/svcbu.properties")
|
return (str(os.environ["SVCBU_HOST"]), int(os.environ["CDSPORT"]))
|
||||||
|
|
||||||
def createRequest():
|
def createRequest():
|
||||||
obj = ProcessReceivedConfRequest()
|
obj = ProcessReceivedConfRequest()
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 05/10/11 8688 dgilling Initial Creation.
|
# 05/10/11 8688 dgilling Initial Creation.
|
||||||
# 02/12/15 4103 dgilling Pre-emptively determine site id.
|
# 02/12/15 4103 dgilling Pre-emptively determine site id.
|
||||||
|
# 03/30/15 4103 dgilling Support new location for svcbu.properties.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -37,9 +38,17 @@ RUN_FROM_DIR=`dirname $path_to_script`
|
||||||
|
|
||||||
BASE_AWIPS_DIR=`dirname $RUN_FROM_DIR`
|
BASE_AWIPS_DIR=`dirname $RUN_FROM_DIR`
|
||||||
|
|
||||||
|
if [[ -z "${AWIPS_HOME}" ]]
|
||||||
|
then
|
||||||
|
AWIPS_HOME=$(dirname $(dirname $BASE_AWIPS_DIR))
|
||||||
|
fi
|
||||||
|
|
||||||
# get the base environment
|
# get the base environment
|
||||||
|
source ${AWIPS_HOME}/edex/bin/setup.env
|
||||||
source /awips2/GFESuite/bin/setup.env
|
source /awips2/GFESuite/bin/setup.env
|
||||||
source /awips2/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
source /awips2/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
||||||
|
export SVCBU_HOST
|
||||||
|
export CDSPORT
|
||||||
|
|
||||||
# setup the environment needed to run the the Python
|
# setup the environment needed to run the the Python
|
||||||
export LD_LIBRARY_PATH=${PYTHON_INSTALL}/lib
|
export LD_LIBRARY_PATH=${PYTHON_INSTALL}/lib
|
||||||
|
|
|
@ -37,6 +37,7 @@ from ufpy import ThriftClient, ConfigFileUtil
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 08/04/11 bphillip Initial Creation.
|
# 08/04/11 bphillip Initial Creation.
|
||||||
# 02/12/15 #4103 dgilling Set site ID field.
|
# 02/12/15 #4103 dgilling Set site ID field.
|
||||||
|
# 03/27/15 #4103 dgilling Read connection values from environment.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -47,7 +48,7 @@ def main():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
receiveGridsRequest = createRequest()
|
receiveGridsRequest = createRequest()
|
||||||
thriftClient = ThriftClient.ThriftClient(connectionParams["SVCBU_HOST"], int(connectionParams["CDSPORT"]), "/services")
|
thriftClient = ThriftClient.ThriftClient(connectionParams[0], connectionParams[1], "/services")
|
||||||
serverResponse = thriftClient.sendRequest(receiveGridsRequest)
|
serverResponse = thriftClient.sendRequest(receiveGridsRequest)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print "Unhandled exception thrown during receive_grids processing: \n", str(e)
|
print "Unhandled exception thrown during receive_grids processing: \n", str(e)
|
||||||
|
@ -58,7 +59,7 @@ def main():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
def getConnectionParams():
|
def getConnectionParams():
|
||||||
return ConfigFileUtil.parseKeyValueFile("/awips2/GFESuite/ServiceBackup/configuration/svcbu.properties")
|
return (str(os.environ["SVCBU_HOST"]), int(os.environ["CDSPORT"]))
|
||||||
|
|
||||||
def createRequest():
|
def createRequest():
|
||||||
print sys.argv
|
print sys.argv
|
||||||
|
|
|
@ -29,15 +29,18 @@
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 06/16/14 3276 randerso Added -T to iscMosaic call
|
# 06/16/14 3276 randerso Added -T to iscMosaic call
|
||||||
# 02/12/15 4103 dgilling Support multiple service backup sites.
|
# 02/12/15 4103 dgilling Support multiple service backup sites.
|
||||||
|
# 03/30/15 4103 dgilling Support new location for svcbu.properties.
|
||||||
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
if [ ${#AWIPS_HOME} = 0 ]
|
if [[ -z "${AWIPS_HOME}" ]]
|
||||||
then
|
then
|
||||||
path_to_script=`readlink -f $0`
|
path_to_script=`readlink -f $0`
|
||||||
export AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
export AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.env
|
source ${AWIPS_HOME}/edex/bin/setup.env
|
||||||
|
source ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.env
|
||||||
source ${AWIPS_HOME}/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
source ${AWIPS_HOME}/GFESuite/ServiceBackup/scripts/serviceBackupUtil.sh
|
||||||
|
|
||||||
# Create the log file
|
# Create the log file
|
||||||
|
|
|
@ -27,15 +27,22 @@
|
||||||
# Date Ticket# Engineer Description
|
# Date Ticket# Engineer Description
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# Feb 09, 2015 #4103 dgilling Initial Creation.
|
# Feb 09, 2015 #4103 dgilling Initial Creation.
|
||||||
|
# Mar 27, 2015 #4103 dgilling Support new location for svcbu.properties.
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
|
|
||||||
if [ ${#AWIPS_HOME} = 0 ]
|
if [[ -z "${AWIPS_HOME}" ]]
|
||||||
then
|
then
|
||||||
path_to_script=`readlink -f $0`
|
path_to_script=`readlink -f $0`
|
||||||
AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
||||||
fi
|
fi
|
||||||
. ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.properties
|
|
||||||
|
. ${AWIPS_HOME}/edex/data/utility/edex_static/base/config/gfe/svcbu.properties
|
||||||
|
SITE_SVCBU_OVERRIDE=${AWIPS_HOME}/edex/data/utility/edex_static/site/${AW_SITE_IDENTIFIER}/config/gfe/svcbu.properties
|
||||||
|
if [[ -f ${SITE_SVCBU_OVERRIDE} ]]
|
||||||
|
then
|
||||||
|
. ${SITE_SVCBU_OVERRIDE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
function configureLogging()
|
function configureLogging()
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
##
|
##
|
||||||
# This software was developed and / or modified by Raytheon Company,
|
# This software was developed and / or modified by Raytheon Company,
|
||||||
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
@ -24,9 +23,7 @@ import os
|
||||||
|
|
||||||
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import IscDataRecRequest
|
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import IscDataRecRequest
|
||||||
from dynamicserialize.dstypes.com.raytheon.uf.common.message import WsId
|
from dynamicserialize.dstypes.com.raytheon.uf.common.message import WsId
|
||||||
from dynamicserialize import DynamicSerializationManager
|
from ufpy import ThriftClient
|
||||||
|
|
||||||
from ufpy import ThriftClient, ConfigFileUtil
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# TODO: ADD DESCRIPTION
|
# TODO: ADD DESCRIPTION
|
||||||
|
@ -37,6 +34,8 @@ from ufpy import ThriftClient, ConfigFileUtil
|
||||||
# Date Ticket# Engineer Description
|
# Date Ticket# Engineer Description
|
||||||
# ------------ ---------- ----------- --------------------------
|
# ------------ ---------- ----------- --------------------------
|
||||||
# 10/26/10 dgilling Initial Creation.
|
# 10/26/10 dgilling Initial Creation.
|
||||||
|
# 03/30/15 #4103 dgilling Use shell script to call this script
|
||||||
|
# to configure env. variables.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -47,9 +46,9 @@ def main():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
iscDataRequest = createRequest()
|
iscDataRequest = createRequest()
|
||||||
thriftClient = ThriftClient.ThriftClient(connectionParams["SVCBU_HOST"], int(connectionParams["CDSPORT"]), "/services")
|
thriftClient = ThriftClient.ThriftClient(connectionParams[0], connectionParams[1], "/services")
|
||||||
serverResponse = thriftClient.sendRequest(iscDataRequest)
|
serverResponse = thriftClient.sendRequest(iscDataRequest)
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
print "Unhandled exception thrown during iscDataRec processing: \n", str(e)
|
print "Unhandled exception thrown during iscDataRec processing: \n", str(e)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
@ -58,7 +57,7 @@ def main():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
def getConnectionParams():
|
def getConnectionParams():
|
||||||
return ConfigFileUtil.parseKeyValueFile(os.path.join(sys.path[0], "../ServiceBackup/configuration/svcbu.properties"))
|
return (str(os.environ["SVCBU_HOST"]), int(os.environ["CDSPORT"]))
|
||||||
|
|
||||||
def createRequest():
|
def createRequest():
|
||||||
obj = IscDataRecRequest()
|
obj = IscDataRecRequest()
|
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/libgfortran.so.1
Normal file
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/libgfortran.so.1
Normal file
Binary file not shown.
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/libjvm.so
Executable file
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/libjvm.so
Executable file
Binary file not shown.
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.empty.a
Normal file
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.empty.a
Normal file
Binary file not shown.
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.ohd.calb.a
Normal file
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.ohd.calb.a
Normal file
Binary file not shown.
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.ohd.ifp.a
Normal file
BIN
nativeLib/build.native/i386-pc-linux-gnu/lib/library.ohd.ifp.a
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,560 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef CLASSFILE_CONSTANTS_H
|
||||||
|
#define CLASSFILE_CONSTANTS_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Classfile version number for this information */
|
||||||
|
#define JVM_CLASSFILE_MAJOR_VERSION 51
|
||||||
|
#define JVM_CLASSFILE_MINOR_VERSION 0
|
||||||
|
|
||||||
|
/* Flags */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_ACC_PUBLIC = 0x0001,
|
||||||
|
JVM_ACC_PRIVATE = 0x0002,
|
||||||
|
JVM_ACC_PROTECTED = 0x0004,
|
||||||
|
JVM_ACC_STATIC = 0x0008,
|
||||||
|
JVM_ACC_FINAL = 0x0010,
|
||||||
|
JVM_ACC_SYNCHRONIZED = 0x0020,
|
||||||
|
JVM_ACC_SUPER = 0x0020,
|
||||||
|
JVM_ACC_VOLATILE = 0x0040,
|
||||||
|
JVM_ACC_BRIDGE = 0x0040,
|
||||||
|
JVM_ACC_TRANSIENT = 0x0080,
|
||||||
|
JVM_ACC_VARARGS = 0x0080,
|
||||||
|
JVM_ACC_NATIVE = 0x0100,
|
||||||
|
JVM_ACC_INTERFACE = 0x0200,
|
||||||
|
JVM_ACC_ABSTRACT = 0x0400,
|
||||||
|
JVM_ACC_STRICT = 0x0800,
|
||||||
|
JVM_ACC_SYNTHETIC = 0x1000,
|
||||||
|
JVM_ACC_ANNOTATION = 0x2000,
|
||||||
|
JVM_ACC_ENUM = 0x4000
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Used in newarray instruction. */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_T_BOOLEAN = 4,
|
||||||
|
JVM_T_CHAR = 5,
|
||||||
|
JVM_T_FLOAT = 6,
|
||||||
|
JVM_T_DOUBLE = 7,
|
||||||
|
JVM_T_BYTE = 8,
|
||||||
|
JVM_T_SHORT = 9,
|
||||||
|
JVM_T_INT = 10,
|
||||||
|
JVM_T_LONG = 11
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Constant Pool Entries */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_CONSTANT_Utf8 = 1,
|
||||||
|
JVM_CONSTANT_Unicode = 2, /* unused */
|
||||||
|
JVM_CONSTANT_Integer = 3,
|
||||||
|
JVM_CONSTANT_Float = 4,
|
||||||
|
JVM_CONSTANT_Long = 5,
|
||||||
|
JVM_CONSTANT_Double = 6,
|
||||||
|
JVM_CONSTANT_Class = 7,
|
||||||
|
JVM_CONSTANT_String = 8,
|
||||||
|
JVM_CONSTANT_Fieldref = 9,
|
||||||
|
JVM_CONSTANT_Methodref = 10,
|
||||||
|
JVM_CONSTANT_InterfaceMethodref = 11,
|
||||||
|
JVM_CONSTANT_NameAndType = 12,
|
||||||
|
JVM_CONSTANT_MethodHandle = 15, // JSR 292
|
||||||
|
JVM_CONSTANT_MethodType = 16, // JSR 292
|
||||||
|
JVM_CONSTANT_InvokeDynamic = 18
|
||||||
|
};
|
||||||
|
|
||||||
|
/* JVM_CONSTANT_MethodHandle subtypes */
|
||||||
|
enum {
|
||||||
|
JVM_REF_getField = 1,
|
||||||
|
JVM_REF_getStatic = 2,
|
||||||
|
JVM_REF_putField = 3,
|
||||||
|
JVM_REF_putStatic = 4,
|
||||||
|
JVM_REF_invokeVirtual = 5,
|
||||||
|
JVM_REF_invokeStatic = 6,
|
||||||
|
JVM_REF_invokeSpecial = 7,
|
||||||
|
JVM_REF_newInvokeSpecial = 8,
|
||||||
|
JVM_REF_invokeInterface = 9
|
||||||
|
};
|
||||||
|
|
||||||
|
/* StackMapTable type item numbers */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_ITEM_Top = 0,
|
||||||
|
JVM_ITEM_Integer = 1,
|
||||||
|
JVM_ITEM_Float = 2,
|
||||||
|
JVM_ITEM_Double = 3,
|
||||||
|
JVM_ITEM_Long = 4,
|
||||||
|
JVM_ITEM_Null = 5,
|
||||||
|
JVM_ITEM_UninitializedThis = 6,
|
||||||
|
JVM_ITEM_Object = 7,
|
||||||
|
JVM_ITEM_Uninitialized = 8
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Type signatures */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_SIGNATURE_ARRAY = '[',
|
||||||
|
JVM_SIGNATURE_BYTE = 'B',
|
||||||
|
JVM_SIGNATURE_CHAR = 'C',
|
||||||
|
JVM_SIGNATURE_CLASS = 'L',
|
||||||
|
JVM_SIGNATURE_ENDCLASS = ';',
|
||||||
|
JVM_SIGNATURE_ENUM = 'E',
|
||||||
|
JVM_SIGNATURE_FLOAT = 'F',
|
||||||
|
JVM_SIGNATURE_DOUBLE = 'D',
|
||||||
|
JVM_SIGNATURE_FUNC = '(',
|
||||||
|
JVM_SIGNATURE_ENDFUNC = ')',
|
||||||
|
JVM_SIGNATURE_INT = 'I',
|
||||||
|
JVM_SIGNATURE_LONG = 'J',
|
||||||
|
JVM_SIGNATURE_SHORT = 'S',
|
||||||
|
JVM_SIGNATURE_VOID = 'V',
|
||||||
|
JVM_SIGNATURE_BOOLEAN = 'Z'
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Opcodes */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_OPC_nop = 0,
|
||||||
|
JVM_OPC_aconst_null = 1,
|
||||||
|
JVM_OPC_iconst_m1 = 2,
|
||||||
|
JVM_OPC_iconst_0 = 3,
|
||||||
|
JVM_OPC_iconst_1 = 4,
|
||||||
|
JVM_OPC_iconst_2 = 5,
|
||||||
|
JVM_OPC_iconst_3 = 6,
|
||||||
|
JVM_OPC_iconst_4 = 7,
|
||||||
|
JVM_OPC_iconst_5 = 8,
|
||||||
|
JVM_OPC_lconst_0 = 9,
|
||||||
|
JVM_OPC_lconst_1 = 10,
|
||||||
|
JVM_OPC_fconst_0 = 11,
|
||||||
|
JVM_OPC_fconst_1 = 12,
|
||||||
|
JVM_OPC_fconst_2 = 13,
|
||||||
|
JVM_OPC_dconst_0 = 14,
|
||||||
|
JVM_OPC_dconst_1 = 15,
|
||||||
|
JVM_OPC_bipush = 16,
|
||||||
|
JVM_OPC_sipush = 17,
|
||||||
|
JVM_OPC_ldc = 18,
|
||||||
|
JVM_OPC_ldc_w = 19,
|
||||||
|
JVM_OPC_ldc2_w = 20,
|
||||||
|
JVM_OPC_iload = 21,
|
||||||
|
JVM_OPC_lload = 22,
|
||||||
|
JVM_OPC_fload = 23,
|
||||||
|
JVM_OPC_dload = 24,
|
||||||
|
JVM_OPC_aload = 25,
|
||||||
|
JVM_OPC_iload_0 = 26,
|
||||||
|
JVM_OPC_iload_1 = 27,
|
||||||
|
JVM_OPC_iload_2 = 28,
|
||||||
|
JVM_OPC_iload_3 = 29,
|
||||||
|
JVM_OPC_lload_0 = 30,
|
||||||
|
JVM_OPC_lload_1 = 31,
|
||||||
|
JVM_OPC_lload_2 = 32,
|
||||||
|
JVM_OPC_lload_3 = 33,
|
||||||
|
JVM_OPC_fload_0 = 34,
|
||||||
|
JVM_OPC_fload_1 = 35,
|
||||||
|
JVM_OPC_fload_2 = 36,
|
||||||
|
JVM_OPC_fload_3 = 37,
|
||||||
|
JVM_OPC_dload_0 = 38,
|
||||||
|
JVM_OPC_dload_1 = 39,
|
||||||
|
JVM_OPC_dload_2 = 40,
|
||||||
|
JVM_OPC_dload_3 = 41,
|
||||||
|
JVM_OPC_aload_0 = 42,
|
||||||
|
JVM_OPC_aload_1 = 43,
|
||||||
|
JVM_OPC_aload_2 = 44,
|
||||||
|
JVM_OPC_aload_3 = 45,
|
||||||
|
JVM_OPC_iaload = 46,
|
||||||
|
JVM_OPC_laload = 47,
|
||||||
|
JVM_OPC_faload = 48,
|
||||||
|
JVM_OPC_daload = 49,
|
||||||
|
JVM_OPC_aaload = 50,
|
||||||
|
JVM_OPC_baload = 51,
|
||||||
|
JVM_OPC_caload = 52,
|
||||||
|
JVM_OPC_saload = 53,
|
||||||
|
JVM_OPC_istore = 54,
|
||||||
|
JVM_OPC_lstore = 55,
|
||||||
|
JVM_OPC_fstore = 56,
|
||||||
|
JVM_OPC_dstore = 57,
|
||||||
|
JVM_OPC_astore = 58,
|
||||||
|
JVM_OPC_istore_0 = 59,
|
||||||
|
JVM_OPC_istore_1 = 60,
|
||||||
|
JVM_OPC_istore_2 = 61,
|
||||||
|
JVM_OPC_istore_3 = 62,
|
||||||
|
JVM_OPC_lstore_0 = 63,
|
||||||
|
JVM_OPC_lstore_1 = 64,
|
||||||
|
JVM_OPC_lstore_2 = 65,
|
||||||
|
JVM_OPC_lstore_3 = 66,
|
||||||
|
JVM_OPC_fstore_0 = 67,
|
||||||
|
JVM_OPC_fstore_1 = 68,
|
||||||
|
JVM_OPC_fstore_2 = 69,
|
||||||
|
JVM_OPC_fstore_3 = 70,
|
||||||
|
JVM_OPC_dstore_0 = 71,
|
||||||
|
JVM_OPC_dstore_1 = 72,
|
||||||
|
JVM_OPC_dstore_2 = 73,
|
||||||
|
JVM_OPC_dstore_3 = 74,
|
||||||
|
JVM_OPC_astore_0 = 75,
|
||||||
|
JVM_OPC_astore_1 = 76,
|
||||||
|
JVM_OPC_astore_2 = 77,
|
||||||
|
JVM_OPC_astore_3 = 78,
|
||||||
|
JVM_OPC_iastore = 79,
|
||||||
|
JVM_OPC_lastore = 80,
|
||||||
|
JVM_OPC_fastore = 81,
|
||||||
|
JVM_OPC_dastore = 82,
|
||||||
|
JVM_OPC_aastore = 83,
|
||||||
|
JVM_OPC_bastore = 84,
|
||||||
|
JVM_OPC_castore = 85,
|
||||||
|
JVM_OPC_sastore = 86,
|
||||||
|
JVM_OPC_pop = 87,
|
||||||
|
JVM_OPC_pop2 = 88,
|
||||||
|
JVM_OPC_dup = 89,
|
||||||
|
JVM_OPC_dup_x1 = 90,
|
||||||
|
JVM_OPC_dup_x2 = 91,
|
||||||
|
JVM_OPC_dup2 = 92,
|
||||||
|
JVM_OPC_dup2_x1 = 93,
|
||||||
|
JVM_OPC_dup2_x2 = 94,
|
||||||
|
JVM_OPC_swap = 95,
|
||||||
|
JVM_OPC_iadd = 96,
|
||||||
|
JVM_OPC_ladd = 97,
|
||||||
|
JVM_OPC_fadd = 98,
|
||||||
|
JVM_OPC_dadd = 99,
|
||||||
|
JVM_OPC_isub = 100,
|
||||||
|
JVM_OPC_lsub = 101,
|
||||||
|
JVM_OPC_fsub = 102,
|
||||||
|
JVM_OPC_dsub = 103,
|
||||||
|
JVM_OPC_imul = 104,
|
||||||
|
JVM_OPC_lmul = 105,
|
||||||
|
JVM_OPC_fmul = 106,
|
||||||
|
JVM_OPC_dmul = 107,
|
||||||
|
JVM_OPC_idiv = 108,
|
||||||
|
JVM_OPC_ldiv = 109,
|
||||||
|
JVM_OPC_fdiv = 110,
|
||||||
|
JVM_OPC_ddiv = 111,
|
||||||
|
JVM_OPC_irem = 112,
|
||||||
|
JVM_OPC_lrem = 113,
|
||||||
|
JVM_OPC_frem = 114,
|
||||||
|
JVM_OPC_drem = 115,
|
||||||
|
JVM_OPC_ineg = 116,
|
||||||
|
JVM_OPC_lneg = 117,
|
||||||
|
JVM_OPC_fneg = 118,
|
||||||
|
JVM_OPC_dneg = 119,
|
||||||
|
JVM_OPC_ishl = 120,
|
||||||
|
JVM_OPC_lshl = 121,
|
||||||
|
JVM_OPC_ishr = 122,
|
||||||
|
JVM_OPC_lshr = 123,
|
||||||
|
JVM_OPC_iushr = 124,
|
||||||
|
JVM_OPC_lushr = 125,
|
||||||
|
JVM_OPC_iand = 126,
|
||||||
|
JVM_OPC_land = 127,
|
||||||
|
JVM_OPC_ior = 128,
|
||||||
|
JVM_OPC_lor = 129,
|
||||||
|
JVM_OPC_ixor = 130,
|
||||||
|
JVM_OPC_lxor = 131,
|
||||||
|
JVM_OPC_iinc = 132,
|
||||||
|
JVM_OPC_i2l = 133,
|
||||||
|
JVM_OPC_i2f = 134,
|
||||||
|
JVM_OPC_i2d = 135,
|
||||||
|
JVM_OPC_l2i = 136,
|
||||||
|
JVM_OPC_l2f = 137,
|
||||||
|
JVM_OPC_l2d = 138,
|
||||||
|
JVM_OPC_f2i = 139,
|
||||||
|
JVM_OPC_f2l = 140,
|
||||||
|
JVM_OPC_f2d = 141,
|
||||||
|
JVM_OPC_d2i = 142,
|
||||||
|
JVM_OPC_d2l = 143,
|
||||||
|
JVM_OPC_d2f = 144,
|
||||||
|
JVM_OPC_i2b = 145,
|
||||||
|
JVM_OPC_i2c = 146,
|
||||||
|
JVM_OPC_i2s = 147,
|
||||||
|
JVM_OPC_lcmp = 148,
|
||||||
|
JVM_OPC_fcmpl = 149,
|
||||||
|
JVM_OPC_fcmpg = 150,
|
||||||
|
JVM_OPC_dcmpl = 151,
|
||||||
|
JVM_OPC_dcmpg = 152,
|
||||||
|
JVM_OPC_ifeq = 153,
|
||||||
|
JVM_OPC_ifne = 154,
|
||||||
|
JVM_OPC_iflt = 155,
|
||||||
|
JVM_OPC_ifge = 156,
|
||||||
|
JVM_OPC_ifgt = 157,
|
||||||
|
JVM_OPC_ifle = 158,
|
||||||
|
JVM_OPC_if_icmpeq = 159,
|
||||||
|
JVM_OPC_if_icmpne = 160,
|
||||||
|
JVM_OPC_if_icmplt = 161,
|
||||||
|
JVM_OPC_if_icmpge = 162,
|
||||||
|
JVM_OPC_if_icmpgt = 163,
|
||||||
|
JVM_OPC_if_icmple = 164,
|
||||||
|
JVM_OPC_if_acmpeq = 165,
|
||||||
|
JVM_OPC_if_acmpne = 166,
|
||||||
|
JVM_OPC_goto = 167,
|
||||||
|
JVM_OPC_jsr = 168,
|
||||||
|
JVM_OPC_ret = 169,
|
||||||
|
JVM_OPC_tableswitch = 170,
|
||||||
|
JVM_OPC_lookupswitch = 171,
|
||||||
|
JVM_OPC_ireturn = 172,
|
||||||
|
JVM_OPC_lreturn = 173,
|
||||||
|
JVM_OPC_freturn = 174,
|
||||||
|
JVM_OPC_dreturn = 175,
|
||||||
|
JVM_OPC_areturn = 176,
|
||||||
|
JVM_OPC_return = 177,
|
||||||
|
JVM_OPC_getstatic = 178,
|
||||||
|
JVM_OPC_putstatic = 179,
|
||||||
|
JVM_OPC_getfield = 180,
|
||||||
|
JVM_OPC_putfield = 181,
|
||||||
|
JVM_OPC_invokevirtual = 182,
|
||||||
|
JVM_OPC_invokespecial = 183,
|
||||||
|
JVM_OPC_invokestatic = 184,
|
||||||
|
JVM_OPC_invokeinterface = 185,
|
||||||
|
JVM_OPC_invokedynamic = 186,
|
||||||
|
JVM_OPC_new = 187,
|
||||||
|
JVM_OPC_newarray = 188,
|
||||||
|
JVM_OPC_anewarray = 189,
|
||||||
|
JVM_OPC_arraylength = 190,
|
||||||
|
JVM_OPC_athrow = 191,
|
||||||
|
JVM_OPC_checkcast = 192,
|
||||||
|
JVM_OPC_instanceof = 193,
|
||||||
|
JVM_OPC_monitorenter = 194,
|
||||||
|
JVM_OPC_monitorexit = 195,
|
||||||
|
JVM_OPC_wide = 196,
|
||||||
|
JVM_OPC_multianewarray = 197,
|
||||||
|
JVM_OPC_ifnull = 198,
|
||||||
|
JVM_OPC_ifnonnull = 199,
|
||||||
|
JVM_OPC_goto_w = 200,
|
||||||
|
JVM_OPC_jsr_w = 201,
|
||||||
|
JVM_OPC_MAX = 201
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Opcode length initializer, use with something like:
|
||||||
|
* unsigned char opcode_length[JVM_OPC_MAX+1] = JVM_OPCODE_LENGTH_INITIALIZER;
|
||||||
|
*/
|
||||||
|
#define JVM_OPCODE_LENGTH_INITIALIZER { \
|
||||||
|
1, /* nop */ \
|
||||||
|
1, /* aconst_null */ \
|
||||||
|
1, /* iconst_m1 */ \
|
||||||
|
1, /* iconst_0 */ \
|
||||||
|
1, /* iconst_1 */ \
|
||||||
|
1, /* iconst_2 */ \
|
||||||
|
1, /* iconst_3 */ \
|
||||||
|
1, /* iconst_4 */ \
|
||||||
|
1, /* iconst_5 */ \
|
||||||
|
1, /* lconst_0 */ \
|
||||||
|
1, /* lconst_1 */ \
|
||||||
|
1, /* fconst_0 */ \
|
||||||
|
1, /* fconst_1 */ \
|
||||||
|
1, /* fconst_2 */ \
|
||||||
|
1, /* dconst_0 */ \
|
||||||
|
1, /* dconst_1 */ \
|
||||||
|
2, /* bipush */ \
|
||||||
|
3, /* sipush */ \
|
||||||
|
2, /* ldc */ \
|
||||||
|
3, /* ldc_w */ \
|
||||||
|
3, /* ldc2_w */ \
|
||||||
|
2, /* iload */ \
|
||||||
|
2, /* lload */ \
|
||||||
|
2, /* fload */ \
|
||||||
|
2, /* dload */ \
|
||||||
|
2, /* aload */ \
|
||||||
|
1, /* iload_0 */ \
|
||||||
|
1, /* iload_1 */ \
|
||||||
|
1, /* iload_2 */ \
|
||||||
|
1, /* iload_3 */ \
|
||||||
|
1, /* lload_0 */ \
|
||||||
|
1, /* lload_1 */ \
|
||||||
|
1, /* lload_2 */ \
|
||||||
|
1, /* lload_3 */ \
|
||||||
|
1, /* fload_0 */ \
|
||||||
|
1, /* fload_1 */ \
|
||||||
|
1, /* fload_2 */ \
|
||||||
|
1, /* fload_3 */ \
|
||||||
|
1, /* dload_0 */ \
|
||||||
|
1, /* dload_1 */ \
|
||||||
|
1, /* dload_2 */ \
|
||||||
|
1, /* dload_3 */ \
|
||||||
|
1, /* aload_0 */ \
|
||||||
|
1, /* aload_1 */ \
|
||||||
|
1, /* aload_2 */ \
|
||||||
|
1, /* aload_3 */ \
|
||||||
|
1, /* iaload */ \
|
||||||
|
1, /* laload */ \
|
||||||
|
1, /* faload */ \
|
||||||
|
1, /* daload */ \
|
||||||
|
1, /* aaload */ \
|
||||||
|
1, /* baload */ \
|
||||||
|
1, /* caload */ \
|
||||||
|
1, /* saload */ \
|
||||||
|
2, /* istore */ \
|
||||||
|
2, /* lstore */ \
|
||||||
|
2, /* fstore */ \
|
||||||
|
2, /* dstore */ \
|
||||||
|
2, /* astore */ \
|
||||||
|
1, /* istore_0 */ \
|
||||||
|
1, /* istore_1 */ \
|
||||||
|
1, /* istore_2 */ \
|
||||||
|
1, /* istore_3 */ \
|
||||||
|
1, /* lstore_0 */ \
|
||||||
|
1, /* lstore_1 */ \
|
||||||
|
1, /* lstore_2 */ \
|
||||||
|
1, /* lstore_3 */ \
|
||||||
|
1, /* fstore_0 */ \
|
||||||
|
1, /* fstore_1 */ \
|
||||||
|
1, /* fstore_2 */ \
|
||||||
|
1, /* fstore_3 */ \
|
||||||
|
1, /* dstore_0 */ \
|
||||||
|
1, /* dstore_1 */ \
|
||||||
|
1, /* dstore_2 */ \
|
||||||
|
1, /* dstore_3 */ \
|
||||||
|
1, /* astore_0 */ \
|
||||||
|
1, /* astore_1 */ \
|
||||||
|
1, /* astore_2 */ \
|
||||||
|
1, /* astore_3 */ \
|
||||||
|
1, /* iastore */ \
|
||||||
|
1, /* lastore */ \
|
||||||
|
1, /* fastore */ \
|
||||||
|
1, /* dastore */ \
|
||||||
|
1, /* aastore */ \
|
||||||
|
1, /* bastore */ \
|
||||||
|
1, /* castore */ \
|
||||||
|
1, /* sastore */ \
|
||||||
|
1, /* pop */ \
|
||||||
|
1, /* pop2 */ \
|
||||||
|
1, /* dup */ \
|
||||||
|
1, /* dup_x1 */ \
|
||||||
|
1, /* dup_x2 */ \
|
||||||
|
1, /* dup2 */ \
|
||||||
|
1, /* dup2_x1 */ \
|
||||||
|
1, /* dup2_x2 */ \
|
||||||
|
1, /* swap */ \
|
||||||
|
1, /* iadd */ \
|
||||||
|
1, /* ladd */ \
|
||||||
|
1, /* fadd */ \
|
||||||
|
1, /* dadd */ \
|
||||||
|
1, /* isub */ \
|
||||||
|
1, /* lsub */ \
|
||||||
|
1, /* fsub */ \
|
||||||
|
1, /* dsub */ \
|
||||||
|
1, /* imul */ \
|
||||||
|
1, /* lmul */ \
|
||||||
|
1, /* fmul */ \
|
||||||
|
1, /* dmul */ \
|
||||||
|
1, /* idiv */ \
|
||||||
|
1, /* ldiv */ \
|
||||||
|
1, /* fdiv */ \
|
||||||
|
1, /* ddiv */ \
|
||||||
|
1, /* irem */ \
|
||||||
|
1, /* lrem */ \
|
||||||
|
1, /* frem */ \
|
||||||
|
1, /* drem */ \
|
||||||
|
1, /* ineg */ \
|
||||||
|
1, /* lneg */ \
|
||||||
|
1, /* fneg */ \
|
||||||
|
1, /* dneg */ \
|
||||||
|
1, /* ishl */ \
|
||||||
|
1, /* lshl */ \
|
||||||
|
1, /* ishr */ \
|
||||||
|
1, /* lshr */ \
|
||||||
|
1, /* iushr */ \
|
||||||
|
1, /* lushr */ \
|
||||||
|
1, /* iand */ \
|
||||||
|
1, /* land */ \
|
||||||
|
1, /* ior */ \
|
||||||
|
1, /* lor */ \
|
||||||
|
1, /* ixor */ \
|
||||||
|
1, /* lxor */ \
|
||||||
|
3, /* iinc */ \
|
||||||
|
1, /* i2l */ \
|
||||||
|
1, /* i2f */ \
|
||||||
|
1, /* i2d */ \
|
||||||
|
1, /* l2i */ \
|
||||||
|
1, /* l2f */ \
|
||||||
|
1, /* l2d */ \
|
||||||
|
1, /* f2i */ \
|
||||||
|
1, /* f2l */ \
|
||||||
|
1, /* f2d */ \
|
||||||
|
1, /* d2i */ \
|
||||||
|
1, /* d2l */ \
|
||||||
|
1, /* d2f */ \
|
||||||
|
1, /* i2b */ \
|
||||||
|
1, /* i2c */ \
|
||||||
|
1, /* i2s */ \
|
||||||
|
1, /* lcmp */ \
|
||||||
|
1, /* fcmpl */ \
|
||||||
|
1, /* fcmpg */ \
|
||||||
|
1, /* dcmpl */ \
|
||||||
|
1, /* dcmpg */ \
|
||||||
|
3, /* ifeq */ \
|
||||||
|
3, /* ifne */ \
|
||||||
|
3, /* iflt */ \
|
||||||
|
3, /* ifge */ \
|
||||||
|
3, /* ifgt */ \
|
||||||
|
3, /* ifle */ \
|
||||||
|
3, /* if_icmpeq */ \
|
||||||
|
3, /* if_icmpne */ \
|
||||||
|
3, /* if_icmplt */ \
|
||||||
|
3, /* if_icmpge */ \
|
||||||
|
3, /* if_icmpgt */ \
|
||||||
|
3, /* if_icmple */ \
|
||||||
|
3, /* if_acmpeq */ \
|
||||||
|
3, /* if_acmpne */ \
|
||||||
|
3, /* goto */ \
|
||||||
|
3, /* jsr */ \
|
||||||
|
2, /* ret */ \
|
||||||
|
99, /* tableswitch */ \
|
||||||
|
99, /* lookupswitch */ \
|
||||||
|
1, /* ireturn */ \
|
||||||
|
1, /* lreturn */ \
|
||||||
|
1, /* freturn */ \
|
||||||
|
1, /* dreturn */ \
|
||||||
|
1, /* areturn */ \
|
||||||
|
1, /* return */ \
|
||||||
|
3, /* getstatic */ \
|
||||||
|
3, /* putstatic */ \
|
||||||
|
3, /* getfield */ \
|
||||||
|
3, /* putfield */ \
|
||||||
|
3, /* invokevirtual */ \
|
||||||
|
3, /* invokespecial */ \
|
||||||
|
3, /* invokestatic */ \
|
||||||
|
5, /* invokeinterface */ \
|
||||||
|
5, /* invokedynamic */ \
|
||||||
|
3, /* new */ \
|
||||||
|
2, /* newarray */ \
|
||||||
|
3, /* anewarray */ \
|
||||||
|
1, /* arraylength */ \
|
||||||
|
1, /* athrow */ \
|
||||||
|
3, /* checkcast */ \
|
||||||
|
3, /* instanceof */ \
|
||||||
|
1, /* monitorenter */ \
|
||||||
|
1, /* monitorexit */ \
|
||||||
|
0, /* wide */ \
|
||||||
|
4, /* multianewarray */ \
|
||||||
|
3, /* ifnull */ \
|
||||||
|
3, /* ifnonnull */ \
|
||||||
|
5, /* goto_w */ \
|
||||||
|
5 /* jsr_w */ \
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* CLASSFILE_CONSTANTS */
|
299
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jawt.h
Normal file
299
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jawt.h
Normal file
|
@ -0,0 +1,299 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JAWT_H_
|
||||||
|
#define _JAVASOFT_JAWT_H_
|
||||||
|
|
||||||
|
#include "jni.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AWT native interface (new in JDK 1.3)
|
||||||
|
*
|
||||||
|
* The AWT native interface allows a native C or C++ application a means
|
||||||
|
* by which to access native structures in AWT. This is to facilitate moving
|
||||||
|
* legacy C and C++ applications to Java and to target the needs of the
|
||||||
|
* community who, at present, wish to do their own native rendering to canvases
|
||||||
|
* for performance reasons. Standard extensions such as Java3D also require a
|
||||||
|
* means to access the underlying native data structures of AWT.
|
||||||
|
*
|
||||||
|
* There may be future extensions to this API depending on demand.
|
||||||
|
*
|
||||||
|
* A VM does not have to implement this API in order to pass the JCK.
|
||||||
|
* It is recommended, however, that this API is implemented on VMs that support
|
||||||
|
* standard extensions, such as Java3D.
|
||||||
|
*
|
||||||
|
* Since this is a native API, any program which uses it cannot be considered
|
||||||
|
* 100% pure java.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AWT Native Drawing Surface (JAWT_DrawingSurface).
|
||||||
|
*
|
||||||
|
* For each platform, there is a native drawing surface structure. This
|
||||||
|
* platform-specific structure can be found in jawt_md.h. It is recommended
|
||||||
|
* that additional platforms follow the same model. It is also recommended
|
||||||
|
* that VMs on Win32 and Solaris support the existing structures in jawt_md.h.
|
||||||
|
*
|
||||||
|
*******************
|
||||||
|
* EXAMPLE OF USAGE:
|
||||||
|
*******************
|
||||||
|
*
|
||||||
|
* In Win32, a programmer wishes to access the HWND of a canvas to perform
|
||||||
|
* native rendering into it. The programmer has declared the paint() method
|
||||||
|
* for their canvas subclass to be native:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* MyCanvas.java:
|
||||||
|
*
|
||||||
|
* import java.awt.*;
|
||||||
|
*
|
||||||
|
* public class MyCanvas extends Canvas {
|
||||||
|
*
|
||||||
|
* static {
|
||||||
|
* System.loadLibrary("mylib");
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* public native void paint(Graphics g);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* myfile.c:
|
||||||
|
*
|
||||||
|
* #include "jawt_md.h"
|
||||||
|
* #include <assert.h>
|
||||||
|
*
|
||||||
|
* JNIEXPORT void JNICALL
|
||||||
|
* Java_MyCanvas_paint(JNIEnv* env, jobject canvas, jobject graphics)
|
||||||
|
* {
|
||||||
|
* JAWT awt;
|
||||||
|
* JAWT_DrawingSurface* ds;
|
||||||
|
* JAWT_DrawingSurfaceInfo* dsi;
|
||||||
|
* JAWT_Win32DrawingSurfaceInfo* dsi_win;
|
||||||
|
* jboolean result;
|
||||||
|
* jint lock;
|
||||||
|
*
|
||||||
|
* // Get the AWT
|
||||||
|
* awt.version = JAWT_VERSION_1_3;
|
||||||
|
* result = JAWT_GetAWT(env, &awt);
|
||||||
|
* assert(result != JNI_FALSE);
|
||||||
|
*
|
||||||
|
* // Get the drawing surface
|
||||||
|
* ds = awt.GetDrawingSurface(env, canvas);
|
||||||
|
* assert(ds != NULL);
|
||||||
|
*
|
||||||
|
* // Lock the drawing surface
|
||||||
|
* lock = ds->Lock(ds);
|
||||||
|
* assert((lock & JAWT_LOCK_ERROR) == 0);
|
||||||
|
*
|
||||||
|
* // Get the drawing surface info
|
||||||
|
* dsi = ds->GetDrawingSurfaceInfo(ds);
|
||||||
|
*
|
||||||
|
* // Get the platform-specific drawing info
|
||||||
|
* dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
|
||||||
|
*
|
||||||
|
* //////////////////////////////
|
||||||
|
* // !!! DO PAINTING HERE !!! //
|
||||||
|
* //////////////////////////////
|
||||||
|
*
|
||||||
|
* // Free the drawing surface info
|
||||||
|
* ds->FreeDrawingSurfaceInfo(dsi);
|
||||||
|
*
|
||||||
|
* // Unlock the drawing surface
|
||||||
|
* ds->Unlock(ds);
|
||||||
|
*
|
||||||
|
* // Free the drawing surface
|
||||||
|
* awt.FreeDrawingSurface(ds);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_Rectangle
|
||||||
|
* Structure for a native rectangle.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_Rectangle {
|
||||||
|
jint x;
|
||||||
|
jint y;
|
||||||
|
jint width;
|
||||||
|
jint height;
|
||||||
|
} JAWT_Rectangle;
|
||||||
|
|
||||||
|
struct jawt_DrawingSurface;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_DrawingSurfaceInfo
|
||||||
|
* Structure for containing the underlying drawing information of a component.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_DrawingSurfaceInfo {
|
||||||
|
/*
|
||||||
|
* Pointer to the platform-specific information. This can be safely
|
||||||
|
* cast to a JAWT_Win32DrawingSurfaceInfo on Windows or a
|
||||||
|
* JAWT_X11DrawingSurfaceInfo on Solaris. On Mac OS X, when using the
|
||||||
|
* native Cocoa toolkit this is a pointer to a NSObject that conforms
|
||||||
|
* to the JAWT_SurfaceLayers protocol. See jawt_md.h for details.
|
||||||
|
*/
|
||||||
|
void* platformInfo;
|
||||||
|
/* Cached pointer to the underlying drawing surface */
|
||||||
|
struct jawt_DrawingSurface* ds;
|
||||||
|
/* Bounding rectangle of the drawing surface */
|
||||||
|
JAWT_Rectangle bounds;
|
||||||
|
/* Number of rectangles in the clip */
|
||||||
|
jint clipSize;
|
||||||
|
/* Clip rectangle array */
|
||||||
|
JAWT_Rectangle* clip;
|
||||||
|
} JAWT_DrawingSurfaceInfo;
|
||||||
|
|
||||||
|
#define JAWT_LOCK_ERROR 0x00000001
|
||||||
|
#define JAWT_LOCK_CLIP_CHANGED 0x00000002
|
||||||
|
#define JAWT_LOCK_BOUNDS_CHANGED 0x00000004
|
||||||
|
#define JAWT_LOCK_SURFACE_CHANGED 0x00000008
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_DrawingSurface
|
||||||
|
* Structure for containing the underlying drawing information of a component.
|
||||||
|
* All operations on a JAWT_DrawingSurface MUST be performed from the same
|
||||||
|
* thread as the call to GetDrawingSurface.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_DrawingSurface {
|
||||||
|
/*
|
||||||
|
* Cached reference to the Java environment of the calling thread.
|
||||||
|
* If Lock(), Unlock(), GetDrawingSurfaceInfo() or
|
||||||
|
* FreeDrawingSurfaceInfo() are called from a different thread,
|
||||||
|
* this data member should be set before calling those functions.
|
||||||
|
*/
|
||||||
|
JNIEnv* env;
|
||||||
|
/* Cached reference to the target object */
|
||||||
|
jobject target;
|
||||||
|
/*
|
||||||
|
* Lock the surface of the target component for native rendering.
|
||||||
|
* When finished drawing, the surface must be unlocked with
|
||||||
|
* Unlock(). This function returns a bitmask with one or more of the
|
||||||
|
* following values:
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_ERROR - When an error has occurred and the surface could not
|
||||||
|
* be locked.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_CLIP_CHANGED - When the clip region has changed.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_BOUNDS_CHANGED - When the bounds of the surface have changed.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_SURFACE_CHANGED - When the surface itself has changed
|
||||||
|
*/
|
||||||
|
jint (JNICALL *Lock)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Get the drawing surface info.
|
||||||
|
* The value returned may be cached, but the values may change if
|
||||||
|
* additional calls to Lock() or Unlock() are made.
|
||||||
|
* Lock() must be called before this can return a valid value.
|
||||||
|
* Returns NULL if an error has occurred.
|
||||||
|
* When finished with the returned value, FreeDrawingSurfaceInfo must be
|
||||||
|
* called.
|
||||||
|
*/
|
||||||
|
JAWT_DrawingSurfaceInfo* (JNICALL *GetDrawingSurfaceInfo)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Free the drawing surface info.
|
||||||
|
*/
|
||||||
|
void (JNICALL *FreeDrawingSurfaceInfo)
|
||||||
|
(JAWT_DrawingSurfaceInfo* dsi);
|
||||||
|
/*
|
||||||
|
* Unlock the drawing surface of the target component for native rendering.
|
||||||
|
*/
|
||||||
|
void (JNICALL *Unlock)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
} JAWT_DrawingSurface;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT
|
||||||
|
* Structure for containing native AWT functions.
|
||||||
|
*/
|
||||||
|
typedef struct jawt {
|
||||||
|
/*
|
||||||
|
* Version of this structure. This must always be set before
|
||||||
|
* calling JAWT_GetAWT()
|
||||||
|
*/
|
||||||
|
jint version;
|
||||||
|
/*
|
||||||
|
* Return a drawing surface from a target jobject. This value
|
||||||
|
* may be cached.
|
||||||
|
* Returns NULL if an error has occurred.
|
||||||
|
* Target must be a java.awt.Component (should be a Canvas
|
||||||
|
* or Window for native rendering).
|
||||||
|
* FreeDrawingSurface() must be called when finished with the
|
||||||
|
* returned JAWT_DrawingSurface.
|
||||||
|
*/
|
||||||
|
JAWT_DrawingSurface* (JNICALL *GetDrawingSurface)
|
||||||
|
(JNIEnv* env, jobject target);
|
||||||
|
/*
|
||||||
|
* Free the drawing surface allocated in GetDrawingSurface.
|
||||||
|
*/
|
||||||
|
void (JNICALL *FreeDrawingSurface)
|
||||||
|
(JAWT_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Locks the entire AWT for synchronization purposes
|
||||||
|
*/
|
||||||
|
void (JNICALL *Lock)(JNIEnv* env);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Unlocks the entire AWT for synchronization purposes
|
||||||
|
*/
|
||||||
|
void (JNICALL *Unlock)(JNIEnv* env);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Returns a reference to a java.awt.Component from a native
|
||||||
|
* platform handle. On Windows, this corresponds to an HWND;
|
||||||
|
* on Solaris and Linux, this is a Drawable. For other platforms,
|
||||||
|
* see the appropriate machine-dependent header file for a description.
|
||||||
|
* The reference returned by this function is a local
|
||||||
|
* reference that is only valid in this environment.
|
||||||
|
* This function returns a NULL reference if no component could be
|
||||||
|
* found with matching platform information.
|
||||||
|
*/
|
||||||
|
jobject (JNICALL *GetComponent)(JNIEnv* env, void* platformInfo);
|
||||||
|
|
||||||
|
} JAWT;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the AWT native structure. This function returns JNI_FALSE if
|
||||||
|
* an error occurs.
|
||||||
|
*/
|
||||||
|
_JNI_IMPORT_OR_EXPORT_
|
||||||
|
jboolean JNICALL JAWT_GetAWT(JNIEnv* env, JAWT* awt);
|
||||||
|
|
||||||
|
#define JAWT_VERSION_1_3 0x00010003
|
||||||
|
#define JAWT_VERSION_1_4 0x00010004
|
||||||
|
#define JAWT_VERSION_1_7 0x00010007
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JAWT_H_ */
|
|
@ -0,0 +1,254 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Java Debug Wire Protocol Transport Service Provider Interface.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef JDWPTRANSPORT_H
|
||||||
|
#define JDWPTRANSPORT_H
|
||||||
|
|
||||||
|
#include "jni.h"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JDWPTRANSPORT_VERSION_1_0 = 0x00010000
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct jdwpTransportNativeInterface_;
|
||||||
|
|
||||||
|
struct _jdwpTransportEnv;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
typedef _jdwpTransportEnv jdwpTransportEnv;
|
||||||
|
#else
|
||||||
|
typedef const struct jdwpTransportNativeInterface_ *jdwpTransportEnv;
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Errors. Universal errors with JVMTI/JVMDI equivalents keep the
|
||||||
|
* values the same.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
JDWPTRANSPORT_ERROR_NONE = 0,
|
||||||
|
JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT = 103,
|
||||||
|
JDWPTRANSPORT_ERROR_OUT_OF_MEMORY = 110,
|
||||||
|
JDWPTRANSPORT_ERROR_INTERNAL = 113,
|
||||||
|
JDWPTRANSPORT_ERROR_ILLEGAL_STATE = 201,
|
||||||
|
JDWPTRANSPORT_ERROR_IO_ERROR = 202,
|
||||||
|
JDWPTRANSPORT_ERROR_TIMEOUT = 203,
|
||||||
|
JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE = 204
|
||||||
|
} jdwpTransportError;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structure to define capabilities
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned int can_timeout_attach :1;
|
||||||
|
unsigned int can_timeout_accept :1;
|
||||||
|
unsigned int can_timeout_handshake :1;
|
||||||
|
unsigned int reserved3 :1;
|
||||||
|
unsigned int reserved4 :1;
|
||||||
|
unsigned int reserved5 :1;
|
||||||
|
unsigned int reserved6 :1;
|
||||||
|
unsigned int reserved7 :1;
|
||||||
|
unsigned int reserved8 :1;
|
||||||
|
unsigned int reserved9 :1;
|
||||||
|
unsigned int reserved10 :1;
|
||||||
|
unsigned int reserved11 :1;
|
||||||
|
unsigned int reserved12 :1;
|
||||||
|
unsigned int reserved13 :1;
|
||||||
|
unsigned int reserved14 :1;
|
||||||
|
unsigned int reserved15 :1;
|
||||||
|
} JDWPTransportCapabilities;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structures to define packet layout.
|
||||||
|
*
|
||||||
|
* See: http://java.sun.com/j2se/1.5/docs/guide/jpda/jdwp-spec.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JDWPTRANSPORT_FLAGS_NONE = 0x0,
|
||||||
|
JDWPTRANSPORT_FLAGS_REPLY = 0x80
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
jint len;
|
||||||
|
jint id;
|
||||||
|
jbyte flags;
|
||||||
|
jbyte cmdSet;
|
||||||
|
jbyte cmd;
|
||||||
|
jbyte *data;
|
||||||
|
} jdwpCmdPacket;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
jint len;
|
||||||
|
jint id;
|
||||||
|
jbyte flags;
|
||||||
|
jshort errorCode;
|
||||||
|
jbyte *data;
|
||||||
|
} jdwpReplyPacket;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
union {
|
||||||
|
jdwpCmdPacket cmd;
|
||||||
|
jdwpReplyPacket reply;
|
||||||
|
} type;
|
||||||
|
} jdwpPacket;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JDWP functions called by the transport.
|
||||||
|
*/
|
||||||
|
typedef struct jdwpTransportCallback {
|
||||||
|
void *(*alloc)(jint numBytes); /* Call this for all allocations */
|
||||||
|
void (*free)(void *buffer); /* Call this for all deallocations */
|
||||||
|
} jdwpTransportCallback;
|
||||||
|
|
||||||
|
typedef jint (JNICALL *jdwpTransport_OnLoad_t)(JavaVM *jvm,
|
||||||
|
jdwpTransportCallback *callback,
|
||||||
|
jint version,
|
||||||
|
jdwpTransportEnv** env);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Function Interface */
|
||||||
|
|
||||||
|
struct jdwpTransportNativeInterface_ {
|
||||||
|
/* 1 : RESERVED */
|
||||||
|
void *reserved1;
|
||||||
|
|
||||||
|
/* 2 : Get Capabilities */
|
||||||
|
jdwpTransportError (JNICALL *GetCapabilities)(jdwpTransportEnv* env,
|
||||||
|
JDWPTransportCapabilities *capabilities_ptr);
|
||||||
|
|
||||||
|
/* 3 : Attach */
|
||||||
|
jdwpTransportError (JNICALL *Attach)(jdwpTransportEnv* env,
|
||||||
|
const char* address,
|
||||||
|
jlong attach_timeout,
|
||||||
|
jlong handshake_timeout);
|
||||||
|
|
||||||
|
/* 4: StartListening */
|
||||||
|
jdwpTransportError (JNICALL *StartListening)(jdwpTransportEnv* env,
|
||||||
|
const char* address,
|
||||||
|
char** actual_address);
|
||||||
|
|
||||||
|
/* 5: StopListening */
|
||||||
|
jdwpTransportError (JNICALL *StopListening)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 6: Accept */
|
||||||
|
jdwpTransportError (JNICALL *Accept)(jdwpTransportEnv* env,
|
||||||
|
jlong accept_timeout,
|
||||||
|
jlong handshake_timeout);
|
||||||
|
|
||||||
|
/* 7: IsOpen */
|
||||||
|
jboolean (JNICALL *IsOpen)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 8: Close */
|
||||||
|
jdwpTransportError (JNICALL *Close)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 9: ReadPacket */
|
||||||
|
jdwpTransportError (JNICALL *ReadPacket)(jdwpTransportEnv* env,
|
||||||
|
jdwpPacket *pkt);
|
||||||
|
|
||||||
|
/* 10: Write Packet */
|
||||||
|
jdwpTransportError (JNICALL *WritePacket)(jdwpTransportEnv* env,
|
||||||
|
const jdwpPacket* pkt);
|
||||||
|
|
||||||
|
/* 11: GetLastError */
|
||||||
|
jdwpTransportError (JNICALL *GetLastError)(jdwpTransportEnv* env,
|
||||||
|
char** error);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use inlined functions so that C++ code can use syntax such as
|
||||||
|
* env->Attach("mymachine:5000", 10*1000, 0);
|
||||||
|
*
|
||||||
|
* rather than using C's :-
|
||||||
|
*
|
||||||
|
* (*env)->Attach(env, "mymachine:5000", 10*1000, 0);
|
||||||
|
*/
|
||||||
|
struct _jdwpTransportEnv {
|
||||||
|
const struct jdwpTransportNativeInterface_ *functions;
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
jdwpTransportError GetCapabilities(JDWPTransportCapabilities *capabilities_ptr) {
|
||||||
|
return functions->GetCapabilities(this, capabilities_ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Attach(const char* address, jlong attach_timeout,
|
||||||
|
jlong handshake_timeout) {
|
||||||
|
return functions->Attach(this, address, attach_timeout, handshake_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError StartListening(const char* address,
|
||||||
|
char** actual_address) {
|
||||||
|
return functions->StartListening(this, address, actual_address);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError StopListening(void) {
|
||||||
|
return functions->StopListening(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Accept(jlong accept_timeout, jlong handshake_timeout) {
|
||||||
|
return functions->Accept(this, accept_timeout, handshake_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
jboolean IsOpen(void) {
|
||||||
|
return functions->IsOpen(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Close(void) {
|
||||||
|
return functions->Close(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError ReadPacket(jdwpPacket *pkt) {
|
||||||
|
return functions->ReadPacket(this, pkt);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError WritePacket(const jdwpPacket* pkt) {
|
||||||
|
return functions->WritePacket(this, pkt);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError GetLastError(char** error) {
|
||||||
|
return functions->GetLastError(this, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* JDWPTRANSPORT_H */
|
1959
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jni.h
Normal file
1959
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jni.h
Normal file
File diff suppressed because it is too large
Load diff
2534
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jvmti.h
Normal file
2534
nativeLib/build.native/i386-pc-linux-gnu/usr/java/include/jvmti.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,115 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This header file defines the data structures sent by the VM
|
||||||
|
* through the JVMTI CompiledMethodLoad callback function via the
|
||||||
|
* "void * compile_info" parameter. The memory pointed to by the
|
||||||
|
* compile_info parameter may not be referenced after returning from
|
||||||
|
* the CompiledMethodLoad callback. These are VM implementation
|
||||||
|
* specific data structures that may evolve in future releases. A
|
||||||
|
* JVMTI agent should interpret a non-NULL compile_info as a pointer
|
||||||
|
* to a region of memory containing a list of records. In a typical
|
||||||
|
* usage scenario, a JVMTI agent would cast each record to a
|
||||||
|
* jvmtiCompiledMethodLoadRecordHeader, a struct that represents
|
||||||
|
* arbitrary information. This struct contains a kind field to indicate
|
||||||
|
* the kind of information being passed, and a pointer to the next
|
||||||
|
* record. If the kind field indicates inlining information, then the
|
||||||
|
* agent would cast the record to a jvmtiCompiledMethodLoadInlineRecord.
|
||||||
|
* This record contains an array of PCStackInfo structs, which indicate
|
||||||
|
* for every pc address what are the methods on the invocation stack.
|
||||||
|
* The "methods" and "bcis" fields in each PCStackInfo struct specify a
|
||||||
|
* 1-1 mapping between these inlined methods and their bytecode indices.
|
||||||
|
* This can be used to derive the proper source lines of the inlined
|
||||||
|
* methods.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JVMTI_CMLR_H_
|
||||||
|
#define _JVMTI_CMLR_H_
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVMTI_CMLR_MAJOR_VERSION_1 = 0x00000001,
|
||||||
|
JVMTI_CMLR_MINOR_VERSION_0 = 0x00000000,
|
||||||
|
|
||||||
|
JVMTI_CMLR_MAJOR_VERSION = 0x00000001,
|
||||||
|
JVMTI_CMLR_MINOR_VERSION = 0x00000000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This comment is for the "JDK import from HotSpot" sanity check:
|
||||||
|
* version: 1.0.0
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
JVMTI_CMLR_DUMMY = 1,
|
||||||
|
JVMTI_CMLR_INLINE_INFO = 2
|
||||||
|
} jvmtiCMLRKind;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that represents arbitrary information passed through JVMTI
|
||||||
|
* CompiledMethodLoadEvent void pointer.
|
||||||
|
*/
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadRecordHeader {
|
||||||
|
jvmtiCMLRKind kind; /* id for the kind of info passed in the record */
|
||||||
|
jint majorinfoversion; /* major and minor info version values. Init'ed */
|
||||||
|
jint minorinfoversion; /* to current version value in jvmtiExport.cpp. */
|
||||||
|
|
||||||
|
struct _jvmtiCompiledMethodLoadRecordHeader* next;
|
||||||
|
} jvmtiCompiledMethodLoadRecordHeader;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that gives information about the methods on the compile-time
|
||||||
|
* stack at a specific pc address of a compiled method. Each element in
|
||||||
|
* the methods array maps to same element in the bcis array.
|
||||||
|
*/
|
||||||
|
typedef struct _PCStackInfo {
|
||||||
|
void* pc; /* the pc address for this compiled method */
|
||||||
|
jint numstackframes; /* number of methods on the stack */
|
||||||
|
jmethodID* methods; /* array of numstackframes method ids */
|
||||||
|
jint* bcis; /* array of numstackframes bytecode indices */
|
||||||
|
} PCStackInfo;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that contains inlining information for each pc address of
|
||||||
|
* an nmethod.
|
||||||
|
*/
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadInlineRecord {
|
||||||
|
jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
|
||||||
|
jint numpcs; /* number of pc descriptors in this nmethod */
|
||||||
|
PCStackInfo* pcinfo; /* array of numpcs pc descriptors */
|
||||||
|
} jvmtiCompiledMethodLoadInlineRecord;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dummy record used to test that we can pass records with different
|
||||||
|
* information through the void pointer provided that they can be cast
|
||||||
|
* to a jvmtiCompiledMethodLoadRecordHeader.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadDummyRecord {
|
||||||
|
jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
|
||||||
|
char message[50];
|
||||||
|
} jvmtiCompiledMethodLoadDummyRecord;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JAWT_MD_H_
|
||||||
|
#define _JAVASOFT_JAWT_MD_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
#include <X11/Intrinsic.h>
|
||||||
|
#include "jawt.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* X11-specific declarations for AWT native interface.
|
||||||
|
* See notes in jawt.h for an example of use.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_X11DrawingSurfaceInfo {
|
||||||
|
Drawable drawable;
|
||||||
|
Display* display;
|
||||||
|
VisualID visualID;
|
||||||
|
Colormap colormapID;
|
||||||
|
int depth;
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Returns a pixel value from a set of RGB values.
|
||||||
|
* This is useful for paletted color (256 color) modes.
|
||||||
|
*/
|
||||||
|
int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds,
|
||||||
|
int r, int g, int b);
|
||||||
|
} JAWT_X11DrawingSurfaceInfo;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JAWT_MD_H_ */
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JNI_MD_H_
|
||||||
|
#define _JAVASOFT_JNI_MD_H_
|
||||||
|
|
||||||
|
#define JNIEXPORT
|
||||||
|
#define JNIIMPORT
|
||||||
|
#define JNICALL
|
||||||
|
|
||||||
|
typedef int jint;
|
||||||
|
#ifdef _LP64 /* 64-bit Solaris */
|
||||||
|
typedef long jlong;
|
||||||
|
#else
|
||||||
|
typedef long long jlong;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef signed char jbyte;
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JNI_MD_H_ */
|
|
@ -1,34 +1,8 @@
|
||||||
#! /bin/ksh
|
#! /bin/ksh
|
||||||
# purge_mpe_files
|
# purge_mpe_files
|
||||||
# This script purges mpe (Multi-sensor-Precipitation Estimator)files
|
# This script purges mpe (Multi-sensor-Precipitation Estimator)files
|
||||||
# History: Deng, Jingtao August 09, 2001
|
|
||||||
# modified by P. Tilles 4/22/2002
|
|
||||||
# - removed stage3 directories
|
|
||||||
# - added jpeg, netCDF, grib directories
|
|
||||||
# modified by P. Tilles 10/2002
|
|
||||||
# - added DISAGG_LOG_DIR purge
|
|
||||||
# modified by P. Tilles 9/2003
|
|
||||||
# - added LIGHTNING_LOG_DIR purge
|
|
||||||
# March 9 2004 - added purge of mlmosaic files - pst
|
|
||||||
# March 25 2004 - added purge of lsatpre files - pst
|
|
||||||
# - removed delete from satel_precip dir
|
|
||||||
# March 30 2004 - added purge of state var files
|
|
||||||
# for local bias corr satellite - pst
|
|
||||||
# May 5, 2006 - Modified to fix mistakes made in logic
|
|
||||||
# to purge MAXRMOSAIC, AVGRMOSAIC, and
|
|
||||||
# P3LMOSAIC fields. Added logic to purge
|
|
||||||
# GAGETRIANGLES.
|
|
||||||
# May 5, 2006 - Modified to purge DailyQC files.
|
|
||||||
# Nov 17, 2006 - Modified to purge sbn grib and sbn qpe directories.
|
|
||||||
# May 2007 - Added SRG related fields (3 new fields)
|
|
||||||
# - added "-type f" to all find commands
|
|
||||||
# - added directories for RFC bias transfer RFC bias fields
|
|
||||||
# Sep 2007 - removed stray "i" from delete on FREEZEGRID directory
|
|
||||||
# Nov 2007 - added purge of disagg logs from mpe_editor dir
|
|
||||||
# - changed purge of mpe_fieldgen logs to purge filenames mpe_*
|
|
||||||
# Dec 2007 - removed purge of old disagg logs from old disagg app
|
|
||||||
# Jan 2008 - added purge of DailyQC freezing level preprocessor logs.
|
|
||||||
# April 2014 - add purge dualpol products
|
# April 2014 - add purge dualpol products
|
||||||
|
# March 2015 - added purge of localfield directories and auto_dailyqc logs
|
||||||
|
|
||||||
# This allows you to run this script from outside of ./whfs/bin
|
# This allows you to run this script from outside of ./whfs/bin
|
||||||
RUN_FROM_DIR=`dirname $0`
|
RUN_FROM_DIR=`dirname $0`
|
||||||
|
@ -50,6 +24,7 @@ export PPROC_LOG=$(get_apps_defaults pproc_log)
|
||||||
# Define directories for MPE data.
|
# Define directories for MPE data.
|
||||||
MPELOGS=$MPE_LOG_DIR
|
MPELOGS=$MPE_LOG_DIR
|
||||||
MPEEDITLOGS=$PPROC_LOG/mpe_editor
|
MPEEDITLOGS=$PPROC_LOG/mpe_editor
|
||||||
|
AUTODQCLOGDIR=$MPEEDITLOGS
|
||||||
RFCBIASLOGS=$PPROC_LOG/process_bias_message
|
RFCBIASLOGS=$PPROC_LOG/process_bias_message
|
||||||
GAQLOGS=$GAQ_LOG_DIR
|
GAQLOGS=$GAQ_LOG_DIR
|
||||||
|
|
||||||
|
@ -91,6 +66,10 @@ MPEMLDMOSAIC=$RFCWIDE_OUTPUT_DIR/mldmosaic
|
||||||
MPEAVGRDMOSAIC=$RFCWIDE_OUTPUT_DIR/avgrdmosaic
|
MPEAVGRDMOSAIC=$RFCWIDE_OUTPUT_DIR/avgrdmosaic
|
||||||
MPEMAXRDMOSAIC=$RFCWIDE_OUTPUT_DIR/maxrdmosaic
|
MPEMAXRDMOSAIC=$RFCWIDE_OUTPUT_DIR/maxrdmosaic
|
||||||
|
|
||||||
|
LOCALFIELD1DIR=$RFCWIDE_OUTPUT_DIR/localfield1
|
||||||
|
LOCALFIELD2DIR=$RFCWIDE_OUTPUT_DIR/localfield2
|
||||||
|
LOCALFIELD3DIR=$RFCWIDE_OUTPUT_DIR/localfield3
|
||||||
|
|
||||||
MPERFCBMOSAIC=$RFCWIDE_OUTPUT_DIR/rfcbmosaic
|
MPERFCBMOSAIC=$RFCWIDE_OUTPUT_DIR/rfcbmosaic
|
||||||
MPERFCMMOSAIC=$RFCWIDE_OUTPUT_DIR/rfcmmosaic
|
MPERFCMMOSAIC=$RFCWIDE_OUTPUT_DIR/rfcmmosaic
|
||||||
|
|
||||||
|
@ -331,6 +310,37 @@ find $MPESRDMOSAIC -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
||||||
find $MPESRDGMOSAIC -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
find $MPESRDGMOSAIC -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
||||||
>> $fnm
|
>> $fnm
|
||||||
|
|
||||||
|
# purge LOCALFIELD directories
|
||||||
|
|
||||||
|
if [[ -d $LOCALFIELD1DIR ]]
|
||||||
|
then
|
||||||
|
find $LOCALFIELD1DIR -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
||||||
|
>> $fnm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d $LOCALFIELD2DIR ]]
|
||||||
|
then
|
||||||
|
find $LOCALFIELD2DIR -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
||||||
|
>> $fnm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d $LOCALFIELD3DIR ]]
|
||||||
|
then
|
||||||
|
find $LOCALFIELD3DIR -name '*z' -type f -mtime +1 -print -exec rm {} \; \
|
||||||
|
>> $fnm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# purge auto_dailyQC log files
|
||||||
|
|
||||||
|
echo " " >> $fnm
|
||||||
|
echo " auto_dailyqc log files " >> $fnm
|
||||||
|
|
||||||
|
if [[ -d $AUTODQCLOGDIR ]]
|
||||||
|
then
|
||||||
|
find $AUTODQCLOGDIR -name 'auto_dailyqc*' -type f -mtime +10 -print -exec rm {} \; \
|
||||||
|
>> $fnm
|
||||||
|
fi
|
||||||
|
|
||||||
Dte=`date -u`
|
Dte=`date -u`
|
||||||
echo "End purge_mpe_files at: " $Dte >> $fnm
|
echo "End purge_mpe_files at: " $Dte >> $fnm
|
||||||
|
|
||||||
|
|
4
nativeLib/rary.cots.gfortran/uninstall~
Executable file
4
nativeLib/rary.cots.gfortran/uninstall~
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
cd ../build.native/i386-pc-linux-gnu/lib; if [ $? != 0 ]; then exit 0; fi
|
||||||
|
rm -f ./libgfortran.so.1
|
||||||
|
cd ..; rmdir lib
|
||||||
|
exit 0
|
|
@ -51,7 +51,7 @@
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
||||||
<value>all</value>
|
<value>copyJasper</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
||||||
|
|
283
nativeLib/rary.cots.jepp/jepp-2.3/config.log
Normal file
283
nativeLib/rary.cots.jepp/jepp-2.3/config.log
Normal file
|
@ -0,0 +1,283 @@
|
||||||
|
This file contains any messages produced by compilers while
|
||||||
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
|
It was created by configure, which was
|
||||||
|
generated by GNU Autoconf 2.59. Invocation command line was
|
||||||
|
|
||||||
|
$ ./configure --prefix=/home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/
|
||||||
|
|
||||||
|
## --------- ##
|
||||||
|
## Platform. ##
|
||||||
|
## --------- ##
|
||||||
|
|
||||||
|
hostname = dante
|
||||||
|
uname -m = x86_64
|
||||||
|
uname -r = 2.6.32-358.el6.x86_64
|
||||||
|
uname -s = Linux
|
||||||
|
uname -v = #1 SMP Tue Jan 29 11:47:41 EST 2013
|
||||||
|
|
||||||
|
/usr/bin/uname -p = unknown
|
||||||
|
/bin/uname -X = unknown
|
||||||
|
|
||||||
|
/bin/arch = x86_64
|
||||||
|
/usr/bin/arch -k = unknown
|
||||||
|
/usr/convex/getsysinfo = unknown
|
||||||
|
hostinfo = unknown
|
||||||
|
/bin/machine = unknown
|
||||||
|
/usr/bin/oslevel = unknown
|
||||||
|
/bin/universe = unknown
|
||||||
|
|
||||||
|
PATH: /home/bhundermark/awips2/ADE-14.4/python/bin
|
||||||
|
PATH: /home/bhundermark/awips2/ADE-14.4/apache-ant-1.7.0/bin
|
||||||
|
PATH: /home/bhundermark/awips2/ADE-14.4/java/bin
|
||||||
|
PATH: /usr/lib64/qt-3.3/bin
|
||||||
|
PATH: /usr/local/bin
|
||||||
|
PATH: /usr/bin
|
||||||
|
PATH: /bin
|
||||||
|
PATH: /usr/local/sbin
|
||||||
|
PATH: /usr/sbin
|
||||||
|
PATH: /sbin
|
||||||
|
PATH: /home/bhundermark/bin
|
||||||
|
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## Core tests. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
configure:1538: checking for a BSD-compatible install
|
||||||
|
configure:1593: result: /usr/bin/install -c
|
||||||
|
configure:1604: checking whether build environment is sane
|
||||||
|
configure:1647: result: yes
|
||||||
|
configure:1712: checking for gawk
|
||||||
|
configure:1728: found /usr/bin/gawk
|
||||||
|
configure:1738: result: gawk
|
||||||
|
configure:1748: checking whether make sets $(MAKE)
|
||||||
|
configure:1768: result: yes
|
||||||
|
configure:1951: checking build system type
|
||||||
|
configure:1969: result: x86_64-unknown-linux-gnu
|
||||||
|
configure:1977: checking host system type
|
||||||
|
configure:1991: result: x86_64-unknown-linux-gnu
|
||||||
|
configure:2048: checking for a BSD-compatible install
|
||||||
|
configure:2103: result: /usr/bin/install -c
|
||||||
|
configure:2160: checking for gcc
|
||||||
|
configure:2176: found /usr/bin/gcc
|
||||||
|
configure:2186: result: gcc
|
||||||
|
configure:2430: checking for C compiler version
|
||||||
|
configure:2433: gcc --version </dev/null >&5
|
||||||
|
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
|
||||||
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
configure:2436: $? = 0
|
||||||
|
configure:2438: gcc -v </dev/null >&5
|
||||||
|
Using built-in specs.
|
||||||
|
Target: x86_64-redhat-linux
|
||||||
|
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
|
||||||
|
configure:2441: $? = 0
|
||||||
|
configure:2443: gcc -V </dev/null >&5
|
||||||
|
gcc: '-V' option must have argument
|
||||||
|
configure:2446: $? = 1
|
||||||
|
configure:2469: checking for C compiler default output file name
|
||||||
|
configure:2472: gcc -m32 -O3 -I/awips2/python/lib/python2.7/site-packages/numpy/core/include conftest.c >&5
|
||||||
|
/usr/bin/ld: crt1.o: No such file: No such file or directory
|
||||||
|
collect2: ld returned 1 exit status
|
||||||
|
configure:2475: $? = 1
|
||||||
|
configure: failed program was:
|
||||||
|
| /* confdefs.h. */
|
||||||
|
|
|
||||||
|
| #define PACKAGE_NAME ""
|
||||||
|
| #define PACKAGE_TARNAME ""
|
||||||
|
| #define PACKAGE_VERSION ""
|
||||||
|
| #define PACKAGE_STRING ""
|
||||||
|
| #define PACKAGE_BUGREPORT ""
|
||||||
|
| #define PACKAGE "jep"
|
||||||
|
| #define VERSION "2.3"
|
||||||
|
| #define USE_DEALLOC 1
|
||||||
|
| #define USE_MAPPED_EXCEPTIONS 1
|
||||||
|
| /* end confdefs.h. */
|
||||||
|
|
|
||||||
|
| int
|
||||||
|
| main ()
|
||||||
|
| {
|
||||||
|
|
|
||||||
|
| ;
|
||||||
|
| return 0;
|
||||||
|
| }
|
||||||
|
configure:2514: error: C compiler cannot create executables
|
||||||
|
See `config.log' for more details.
|
||||||
|
|
||||||
|
## ---------------- ##
|
||||||
|
## Cache variables. ##
|
||||||
|
## ---------------- ##
|
||||||
|
|
||||||
|
ac_cv_build=x86_64-unknown-linux-gnu
|
||||||
|
ac_cv_build_alias=x86_64-unknown-linux-gnu
|
||||||
|
ac_cv_env_CC_set=
|
||||||
|
ac_cv_env_CC_value=
|
||||||
|
ac_cv_env_CFLAGS_set=set
|
||||||
|
ac_cv_env_CFLAGS_value='-m32 -O3'
|
||||||
|
ac_cv_env_CPPFLAGS_set=set
|
||||||
|
ac_cv_env_CPPFLAGS_value=-I/awips2/python/lib/python2.7/site-packages/numpy/core/include
|
||||||
|
ac_cv_env_CPP_set=
|
||||||
|
ac_cv_env_CPP_value=
|
||||||
|
ac_cv_env_CXXCPP_set=
|
||||||
|
ac_cv_env_CXXCPP_value=
|
||||||
|
ac_cv_env_CXXFLAGS_set=
|
||||||
|
ac_cv_env_CXXFLAGS_value=
|
||||||
|
ac_cv_env_CXX_set=
|
||||||
|
ac_cv_env_CXX_value=
|
||||||
|
ac_cv_env_F77_set=
|
||||||
|
ac_cv_env_F77_value=
|
||||||
|
ac_cv_env_FFLAGS_set=
|
||||||
|
ac_cv_env_FFLAGS_value=
|
||||||
|
ac_cv_env_LDFLAGS_set=
|
||||||
|
ac_cv_env_LDFLAGS_value=
|
||||||
|
ac_cv_env_build_alias_set=
|
||||||
|
ac_cv_env_build_alias_value=
|
||||||
|
ac_cv_env_host_alias_set=
|
||||||
|
ac_cv_env_host_alias_value=
|
||||||
|
ac_cv_env_target_alias_set=
|
||||||
|
ac_cv_env_target_alias_value=
|
||||||
|
ac_cv_host=x86_64-unknown-linux-gnu
|
||||||
|
ac_cv_host_alias=x86_64-unknown-linux-gnu
|
||||||
|
ac_cv_path_install='/usr/bin/install -c'
|
||||||
|
ac_cv_prog_AWK=gawk
|
||||||
|
ac_cv_prog_ac_ct_CC=gcc
|
||||||
|
ac_cv_prog_make_make_set=yes
|
||||||
|
|
||||||
|
## ----------------- ##
|
||||||
|
## Output variables. ##
|
||||||
|
## ----------------- ##
|
||||||
|
|
||||||
|
ACLOCAL='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run aclocal-1.9'
|
||||||
|
ALLOCA=''
|
||||||
|
AMDEPBACKSLASH=''
|
||||||
|
AMDEP_FALSE=''
|
||||||
|
AMDEP_TRUE=''
|
||||||
|
AMTAR='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run tar'
|
||||||
|
AR=''
|
||||||
|
AUTOCONF='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run autoconf'
|
||||||
|
AUTOHEADER='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run autoheader'
|
||||||
|
AUTOMAKE='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run automake-1.9'
|
||||||
|
AWK='gawk'
|
||||||
|
CC='gcc'
|
||||||
|
CCDEPMODE=''
|
||||||
|
CFLAGS='-m32 -O3'
|
||||||
|
CPP=''
|
||||||
|
CPPFLAGS='-I/awips2/python/lib/python2.7/site-packages/numpy/core/include'
|
||||||
|
CXX=''
|
||||||
|
CXXCPP=''
|
||||||
|
CXXDEPMODE=''
|
||||||
|
CXXFLAGS=''
|
||||||
|
CYGPATH_W='echo'
|
||||||
|
DEFS=''
|
||||||
|
DEPDIR=''
|
||||||
|
ECHO='echo'
|
||||||
|
ECHO_C=''
|
||||||
|
ECHO_N='-n'
|
||||||
|
ECHO_T=''
|
||||||
|
EGREP=''
|
||||||
|
EXEEXT=''
|
||||||
|
F77=''
|
||||||
|
FFLAGS=''
|
||||||
|
INSTALL_DATA='${INSTALL} -m 644'
|
||||||
|
INSTALL_PROGRAM='${INSTALL}'
|
||||||
|
INSTALL_SCRIPT='${INSTALL}'
|
||||||
|
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
|
||||||
|
ISODATE='2015-02-26'
|
||||||
|
JAVAC=''
|
||||||
|
JAVAH=''
|
||||||
|
JAVAX_SCRIPT_CLASSES=''
|
||||||
|
JAVA_LDFLAGS=''
|
||||||
|
JAVA_LIBS=''
|
||||||
|
LDFLAGS=''
|
||||||
|
LIBOBJS=''
|
||||||
|
LIBS=''
|
||||||
|
LIBTOOL=''
|
||||||
|
LN_S=''
|
||||||
|
LTLIBOBJS=''
|
||||||
|
MAKEINFO='${SHELL} /home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/missing --run makeinfo'
|
||||||
|
OBJEXT=''
|
||||||
|
PACKAGE='jep'
|
||||||
|
PACKAGE_BUGREPORT=''
|
||||||
|
PACKAGE_NAME=''
|
||||||
|
PACKAGE_STRING=''
|
||||||
|
PACKAGE_TARNAME=''
|
||||||
|
PACKAGE_VERSION=''
|
||||||
|
PATH_SEPARATOR=':'
|
||||||
|
PYTHON=''
|
||||||
|
RANLIB=''
|
||||||
|
SET_MAKE=''
|
||||||
|
SHELL='/bin/sh'
|
||||||
|
STRIP=''
|
||||||
|
VERSION='2.3'
|
||||||
|
ac_ct_AR=''
|
||||||
|
ac_ct_CC='gcc'
|
||||||
|
ac_ct_CXX=''
|
||||||
|
ac_ct_F77=''
|
||||||
|
ac_ct_RANLIB=''
|
||||||
|
ac_ct_STRIP=''
|
||||||
|
am__fastdepCC_FALSE=''
|
||||||
|
am__fastdepCC_TRUE=''
|
||||||
|
am__fastdepCXX_FALSE=''
|
||||||
|
am__fastdepCXX_TRUE=''
|
||||||
|
am__include=''
|
||||||
|
am__leading_dot='.'
|
||||||
|
am__quote=''
|
||||||
|
am__tar='${AMTAR} chof - "$$tardir"'
|
||||||
|
am__untar='${AMTAR} xf -'
|
||||||
|
bindir='${exec_prefix}/bin'
|
||||||
|
build='x86_64-unknown-linux-gnu'
|
||||||
|
build_alias=''
|
||||||
|
build_cpu='x86_64'
|
||||||
|
build_os='linux-gnu'
|
||||||
|
build_vendor='unknown'
|
||||||
|
datadir='${prefix}/share'
|
||||||
|
exec_prefix='NONE'
|
||||||
|
host='x86_64-unknown-linux-gnu'
|
||||||
|
host_alias=''
|
||||||
|
host_cpu='x86_64'
|
||||||
|
host_os='linux-gnu'
|
||||||
|
host_vendor='unknown'
|
||||||
|
includedir='${prefix}/include'
|
||||||
|
infodir='${prefix}/info'
|
||||||
|
install_sh='/home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/jepp-2.3/install-sh'
|
||||||
|
libdir='${exec_prefix}/lib'
|
||||||
|
libexecdir='${exec_prefix}/libexec'
|
||||||
|
localstatedir='${prefix}/var'
|
||||||
|
mandir='${prefix}/man'
|
||||||
|
mkdir_p='mkdir -p --'
|
||||||
|
oldincludedir='/usr/include'
|
||||||
|
prefix='/home/bhundermark/OB15.1.1/AWIPS2_baseline/nativeLib/rary.cots.jepp/'
|
||||||
|
program_transform_name='s,x,x,'
|
||||||
|
python_configdir=''
|
||||||
|
python_execprefix=''
|
||||||
|
python_includespec=''
|
||||||
|
python_libspec=''
|
||||||
|
python_moduledir=''
|
||||||
|
python_moduleexecdir=''
|
||||||
|
python_prefix=''
|
||||||
|
python_version=''
|
||||||
|
sbindir='${exec_prefix}/sbin'
|
||||||
|
sharedstatedir='${prefix}/com'
|
||||||
|
sysconfdir='${prefix}/etc'
|
||||||
|
target_alias=''
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## confdefs.h. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
#define PACKAGE "jep"
|
||||||
|
#define PACKAGE_BUGREPORT ""
|
||||||
|
#define PACKAGE_NAME ""
|
||||||
|
#define PACKAGE_STRING ""
|
||||||
|
#define PACKAGE_TARNAME ""
|
||||||
|
#define PACKAGE_VERSION ""
|
||||||
|
#define USE_DEALLOC 1
|
||||||
|
#define USE_MAPPED_EXCEPTIONS 1
|
||||||
|
#define VERSION "2.3"
|
||||||
|
|
||||||
|
configure: exit 77
|
34
nativeLib/rary.cots.postgresql/postgresql-9.3.5/.gitignore
vendored
Normal file
34
nativeLib/rary.cots.postgresql/postgresql-9.3.5/.gitignore
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# Global excludes across all subdirectories
|
||||||
|
*.o
|
||||||
|
*.so
|
||||||
|
*.so.[0-9]
|
||||||
|
*.so.[0-9].[0-9]
|
||||||
|
*.sl
|
||||||
|
*.sl.[0-9]
|
||||||
|
*.sl.[0-9].[0-9]
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
*.a
|
||||||
|
*.mo
|
||||||
|
objfiles.txt
|
||||||
|
.deps/
|
||||||
|
*.gcno
|
||||||
|
*.gcda
|
||||||
|
*.gcov
|
||||||
|
*.gcov.out
|
||||||
|
lcov.info
|
||||||
|
*.vcproj
|
||||||
|
*.vcxproj
|
||||||
|
win32ver.rc
|
||||||
|
*.exe
|
||||||
|
lib*dll.def
|
||||||
|
lib*.pc
|
||||||
|
|
||||||
|
# Local excludes in root directory
|
||||||
|
/GNUmakefile
|
||||||
|
/config.log
|
||||||
|
/config.status
|
||||||
|
/pgsql.sln
|
||||||
|
/pgsql.sln.cache
|
||||||
|
/Debug/
|
||||||
|
/Release/
|
23
nativeLib/rary.cots.postgresql/postgresql-9.3.5/COPYRIGHT
Normal file
23
nativeLib/rary.cots.postgresql/postgresql-9.3.5/COPYRIGHT
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
PostgreSQL Database Management System
|
||||||
|
(formerly known as Postgres, then as Postgres95)
|
||||||
|
|
||||||
|
Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
|
||||||
|
|
||||||
|
Portions Copyright (c) 1994, The Regents of the University of California
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
|
documentation for any purpose, without fee, and without a written agreement
|
||||||
|
is hereby granted, provided that the above copyright notice and this
|
||||||
|
paragraph and the following two paragraphs appear in all copies.
|
||||||
|
|
||||||
|
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
|
||||||
|
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
|
||||||
|
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
|
||||||
|
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
||||||
|
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
|
||||||
|
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
132
nativeLib/rary.cots.postgresql/postgresql-9.3.5/GNUmakefile.in
Normal file
132
nativeLib/rary.cots.postgresql/postgresql-9.3.5/GNUmakefile.in
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
#
|
||||||
|
# PostgreSQL top level makefile
|
||||||
|
#
|
||||||
|
# GNUmakefile.in
|
||||||
|
#
|
||||||
|
|
||||||
|
subdir =
|
||||||
|
top_builddir = .
|
||||||
|
include $(top_builddir)/src/Makefile.global
|
||||||
|
|
||||||
|
$(call recurse,all install,src config)
|
||||||
|
|
||||||
|
all:
|
||||||
|
+@echo "All of PostgreSQL successfully made. Ready to install."
|
||||||
|
|
||||||
|
docs:
|
||||||
|
$(MAKE) -C doc all
|
||||||
|
|
||||||
|
$(call recurse,world,doc src config contrib,all)
|
||||||
|
world:
|
||||||
|
+@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install."
|
||||||
|
|
||||||
|
# build src/ before contrib/
|
||||||
|
world-contrib-recurse: world-src-recurse
|
||||||
|
|
||||||
|
html man:
|
||||||
|
$(MAKE) -C doc $@
|
||||||
|
|
||||||
|
install:
|
||||||
|
+@echo "PostgreSQL installation complete."
|
||||||
|
|
||||||
|
install-docs:
|
||||||
|
$(MAKE) -C doc install
|
||||||
|
|
||||||
|
$(call recurse,install-world,doc src config contrib,install)
|
||||||
|
install-world:
|
||||||
|
+@echo "PostgreSQL, contrib, and documentation installation complete."
|
||||||
|
|
||||||
|
# build src/ before contrib/
|
||||||
|
install-world-contrib-recurse: install-world-src-recurse
|
||||||
|
|
||||||
|
$(call recurse,installdirs uninstall coverage init-po update-po,doc src config)
|
||||||
|
|
||||||
|
$(call recurse,distprep,doc src config contrib)
|
||||||
|
|
||||||
|
# clean, distclean, etc should apply to contrib too, even though
|
||||||
|
# it's not built by default
|
||||||
|
$(call recurse,clean,doc contrib src config)
|
||||||
|
clean:
|
||||||
|
# Garbage from autoconf:
|
||||||
|
@rm -rf autom4te.cache/
|
||||||
|
|
||||||
|
# Important: distclean `src' last, otherwise Makefile.global
|
||||||
|
# will be gone too soon.
|
||||||
|
distclean maintainer-clean:
|
||||||
|
$(MAKE) -C doc $@
|
||||||
|
$(MAKE) -C contrib $@
|
||||||
|
$(MAKE) -C config $@
|
||||||
|
$(MAKE) -C src $@
|
||||||
|
rm -f config.cache config.log config.status GNUmakefile
|
||||||
|
# Garbage from autoconf:
|
||||||
|
@rm -rf autom4te.cache/
|
||||||
|
|
||||||
|
check: all
|
||||||
|
|
||||||
|
check installcheck installcheck-parallel:
|
||||||
|
$(MAKE) -C src/test/regress $@
|
||||||
|
|
||||||
|
$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib,check)
|
||||||
|
|
||||||
|
$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib,installcheck)
|
||||||
|
|
||||||
|
$(call recurse,maintainer-check,doc src config contrib)
|
||||||
|
|
||||||
|
GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
|
||||||
|
./config.status $@
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
distdir = postgresql-$(VERSION)
|
||||||
|
dummy = =install=
|
||||||
|
garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
|
||||||
|
|
||||||
|
dist: $(distdir).tar.gz $(distdir).tar.bz2
|
||||||
|
rm -rf $(distdir)
|
||||||
|
|
||||||
|
$(distdir).tar: distdir
|
||||||
|
$(TAR) chf $@ $(distdir)
|
||||||
|
|
||||||
|
.INTERMEDIATE: $(distdir).tar
|
||||||
|
|
||||||
|
distdir-location:
|
||||||
|
@echo $(distdir)
|
||||||
|
|
||||||
|
distdir:
|
||||||
|
rm -rf $(distdir)* $(dummy)
|
||||||
|
for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \
|
||||||
|
file=`expr X$$x : 'X\./\(.*\)'`; \
|
||||||
|
if test -d "$(top_srcdir)/$$file" ; then \
|
||||||
|
mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
|
||||||
|
else \
|
||||||
|
ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
|
||||||
|
|| cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
|
||||||
|
fi || exit; \
|
||||||
|
done
|
||||||
|
$(MAKE) -C $(distdir) distprep
|
||||||
|
$(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL
|
||||||
|
cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
|
||||||
|
$(MAKE) -C $(distdir) distclean
|
||||||
|
rm -f $(distdir)/README.git
|
||||||
|
|
||||||
|
distcheck: dist
|
||||||
|
rm -rf $(dummy)
|
||||||
|
mkdir $(dummy)
|
||||||
|
$(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
|
||||||
|
install_prefix=`cd $(dummy) && pwd`; \
|
||||||
|
cd $(distdir) \
|
||||||
|
&& ./configure --prefix="$$install_prefix"
|
||||||
|
$(MAKE) -C $(distdir) -q distprep
|
||||||
|
$(MAKE) -C $(distdir)
|
||||||
|
$(MAKE) -C $(distdir) install
|
||||||
|
$(MAKE) -C $(distdir) uninstall
|
||||||
|
@echo "checking whether \`$(MAKE) uninstall' works"
|
||||||
|
test `find $(dummy) ! -type d | wc -l` -eq 0
|
||||||
|
$(MAKE) -C $(distdir) dist
|
||||||
|
# Room for improvement: Check here whether this distribution tarball
|
||||||
|
# is sufficiently similar to the original one.
|
||||||
|
rm -rf $(distdir) $(dummy)
|
||||||
|
@echo "Distribution integrity checks out."
|
||||||
|
|
||||||
|
.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world
|
5
nativeLib/rary.cots.postgresql/postgresql-9.3.5/HISTORY
Normal file
5
nativeLib/rary.cots.postgresql/postgresql-9.3.5/HISTORY
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Release notes for all versions of PostgreSQL can be found on-line at
|
||||||
|
http://www.postgresql.org/docs/current/static/release.html
|
||||||
|
|
||||||
|
Distribution file sets include release notes for their version and preceding
|
||||||
|
versions. Visit the file doc/src/sgml/html/release.html in an HTML browser.
|
1544
nativeLib/rary.cots.postgresql/postgresql-9.3.5/INSTALL
Normal file
1544
nativeLib/rary.cots.postgresql/postgresql-9.3.5/INSTALL
Normal file
File diff suppressed because it is too large
Load diff
36
nativeLib/rary.cots.postgresql/postgresql-9.3.5/Makefile
Normal file
36
nativeLib/rary.cots.postgresql/postgresql-9.3.5/Makefile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# The PostgreSQL make files exploit features of GNU make that other
|
||||||
|
# makes do not have. Because it is a common mistake for users to try
|
||||||
|
# to build Postgres with a different make, we have this make file
|
||||||
|
# that, as a service, will look for a GNU make and invoke it, or show
|
||||||
|
# an error message if none could be found.
|
||||||
|
|
||||||
|
# If the user were using GNU make now, this file would not get used
|
||||||
|
# because GNU make uses a make file named "GNUmakefile" in preference
|
||||||
|
# to "Makefile" if it exists. PostgreSQL is shipped with a
|
||||||
|
# "GNUmakefile". If the user hasn't run the configure script yet, the
|
||||||
|
# GNUmakefile won't exist yet, so we catch that case as well.
|
||||||
|
|
||||||
|
|
||||||
|
all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
|
||||||
|
@if [ ! -f GNUmakefile ] ; then \
|
||||||
|
echo "You need to run the 'configure' program first. See the file"; \
|
||||||
|
echo "'INSTALL' for installation instructions." ; \
|
||||||
|
false ; \
|
||||||
|
fi
|
||||||
|
@IFS=':' ; \
|
||||||
|
for dir in $$PATH; do \
|
||||||
|
for prog in gmake gnumake make; do \
|
||||||
|
if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
|
||||||
|
GMAKE=$$dir/$$prog; \
|
||||||
|
break 2; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
done; \
|
||||||
|
\
|
||||||
|
if [ x"$${GMAKE+set}" = xset ]; then \
|
||||||
|
echo "Using GNU make found at $${GMAKE}"; \
|
||||||
|
$${GMAKE} $@ ; \
|
||||||
|
else \
|
||||||
|
echo "You must use GNU make to build PostgreSQL." ; \
|
||||||
|
false; \
|
||||||
|
fi
|
27
nativeLib/rary.cots.postgresql/postgresql-9.3.5/README
Normal file
27
nativeLib/rary.cots.postgresql/postgresql-9.3.5/README
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
PostgreSQL Database Management System
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
This directory contains the source code distribution of the PostgreSQL
|
||||||
|
database management system.
|
||||||
|
|
||||||
|
PostgreSQL is an advanced object-relational database management system
|
||||||
|
that supports an extended subset of the SQL standard, including
|
||||||
|
transactions, foreign keys, subqueries, triggers, user-defined types
|
||||||
|
and functions. This distribution also contains C language bindings.
|
||||||
|
|
||||||
|
PostgreSQL has many language interfaces, many of which are listed here:
|
||||||
|
|
||||||
|
http://www.postgresql.org/download
|
||||||
|
|
||||||
|
See the file INSTALL for instructions on how to build and install
|
||||||
|
PostgreSQL. That file also lists supported operating systems and
|
||||||
|
hardware platforms and contains information regarding any other
|
||||||
|
software packages that are required to build or run the PostgreSQL
|
||||||
|
system. Copyright and license information can be found in the
|
||||||
|
file COPYRIGHT. A comprehensive documentation set is included in this
|
||||||
|
distribution; it can be read as described in the installation
|
||||||
|
instructions.
|
||||||
|
|
||||||
|
The latest version of this software may be obtained at
|
||||||
|
http://www.postgresql.org/download/. For more information look at our
|
||||||
|
web site located at http://www.postgresql.org/.
|
12
nativeLib/rary.cots.postgresql/postgresql-9.3.5/aclocal.m4
vendored
Normal file
12
nativeLib/rary.cots.postgresql/postgresql-9.3.5/aclocal.m4
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
dnl aclocal.m4
|
||||||
|
m4_include([config/ac_func_accept_argtypes.m4])
|
||||||
|
m4_include([config/acx_pthread.m4])
|
||||||
|
m4_include([config/c-compiler.m4])
|
||||||
|
m4_include([config/c-library.m4])
|
||||||
|
m4_include([config/docbook.m4])
|
||||||
|
m4_include([config/general.m4])
|
||||||
|
m4_include([config/libtool.m4])
|
||||||
|
m4_include([config/perl.m4])
|
||||||
|
m4_include([config/programs.m4])
|
||||||
|
m4_include([config/python.m4])
|
||||||
|
m4_include([config/tcl.m4])
|
|
@ -0,0 +1,15 @@
|
||||||
|
# config/Makefile
|
||||||
|
|
||||||
|
subdir = config
|
||||||
|
top_builddir = ..
|
||||||
|
include $(top_builddir)/src/Makefile.global
|
||||||
|
|
||||||
|
|
||||||
|
install: all installdirs
|
||||||
|
$(INSTALL_SCRIPT) $(srcdir)/install-sh '$(DESTDIR)$(pgxsdir)/config/install-sh'
|
||||||
|
|
||||||
|
installdirs:
|
||||||
|
$(MKDIR_P) '$(DESTDIR)$(pgxsdir)/config'
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -f '$(DESTDIR)$(pgxsdir)/config/install-sh'
|
|
@ -0,0 +1,85 @@
|
||||||
|
# config/ac_func_accept_argtypes.m4
|
||||||
|
# This comes from the official Autoconf macro archive at
|
||||||
|
# <http://research.cys.de/autoconf-archive/>
|
||||||
|
|
||||||
|
|
||||||
|
dnl @synopsis AC_FUNC_ACCEPT_ARGTYPES
|
||||||
|
dnl
|
||||||
|
dnl Checks the data types of the three arguments to accept(). Results are
|
||||||
|
dnl placed into the symbols ACCEPT_TYPE_RETURN and ACCEPT_TYPE_ARG[123],
|
||||||
|
dnl consistent with the following example:
|
||||||
|
dnl
|
||||||
|
dnl #define ACCEPT_TYPE_RETURN int
|
||||||
|
dnl #define ACCEPT_TYPE_ARG1 int
|
||||||
|
dnl #define ACCEPT_TYPE_ARG2 struct sockaddr *
|
||||||
|
dnl #define ACCEPT_TYPE_ARG3 socklen_t
|
||||||
|
dnl
|
||||||
|
dnl This macro requires AC_CHECK_HEADERS to have already verified the
|
||||||
|
dnl presence or absence of sys/types.h and sys/socket.h.
|
||||||
|
dnl
|
||||||
|
dnl NOTE: This is just a modified version of the AC_FUNC_SELECT_ARGTYPES
|
||||||
|
dnl macro. Credit for that one goes to David MacKenzie et. al.
|
||||||
|
dnl
|
||||||
|
dnl @version $Id: ac_func_accept_argtypes.m4,v 1.1 1999/12/03 11:29:29 simons Exp $
|
||||||
|
dnl @author Daniel Richard G. <skunk@mit.edu>
|
||||||
|
dnl
|
||||||
|
|
||||||
|
# PostgreSQL local changes: In the original version ACCEPT_TYPE_ARG3
|
||||||
|
# is a pointer type. That's kind of useless because then you can't
|
||||||
|
# use the macro to define a corresponding variable. We also make the
|
||||||
|
# reasonable(?) assumption that you can use arg3 for getsocktype etc.
|
||||||
|
# as well (i.e., anywhere POSIX.2 has socklen_t).
|
||||||
|
#
|
||||||
|
# arg2 can also be `const' (e.g., RH 4.2). Change the order of tests
|
||||||
|
# for arg3 so that `int' is first, in case there is no prototype at all.
|
||||||
|
#
|
||||||
|
# Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t'
|
||||||
|
# which is *not* 'socklen_t *'). If we detect that, then we assume
|
||||||
|
# 'int' as the result, because that ought to work best.
|
||||||
|
#
|
||||||
|
# On Win32, accept() returns 'unsigned int PASCAL'
|
||||||
|
# Win64 uses SOCKET for return and arg1
|
||||||
|
|
||||||
|
AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES],
|
||||||
|
[AC_MSG_CHECKING([types of arguments for accept()])
|
||||||
|
AC_CACHE_VAL(ac_cv_func_accept_return,dnl
|
||||||
|
[AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
|
||||||
|
[AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
|
||||||
|
[AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
|
||||||
|
[for ac_cv_func_accept_return in 'int' 'unsigned int PASCAL' 'SOCKET WSAAPI'; do
|
||||||
|
for ac_cv_func_accept_arg1 in 'int' 'unsigned int' 'SOCKET'; do
|
||||||
|
for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
|
||||||
|
for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[#ifdef HAVE_SYS_TYPES_H
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
extern $ac_cv_func_accept_return accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);],
|
||||||
|
[], [ac_not_found=no; break 4], [ac_not_found=yes])
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
if test "$ac_not_found" = yes; then
|
||||||
|
AC_MSG_ERROR([could not determine argument types])
|
||||||
|
fi
|
||||||
|
if test "$ac_cv_func_accept_arg3" = "void"; then
|
||||||
|
ac_cv_func_accept_arg3=int
|
||||||
|
fi
|
||||||
|
])dnl AC_CACHE_VAL
|
||||||
|
])dnl AC_CACHE_VAL
|
||||||
|
])dnl AC_CACHE_VAL
|
||||||
|
])dnl AC_CACHE_VAL
|
||||||
|
AC_MSG_RESULT([$ac_cv_func_accept_return, $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *])
|
||||||
|
AC_DEFINE_UNQUOTED(ACCEPT_TYPE_RETURN, $ac_cv_func_accept_return,
|
||||||
|
[Define to the return type of 'accept'])
|
||||||
|
AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG1, $ac_cv_func_accept_arg1,
|
||||||
|
[Define to the type of arg 1 of 'accept'])
|
||||||
|
AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG2, $ac_cv_func_accept_arg2,
|
||||||
|
[Define to the type of arg 2 of 'accept'])
|
||||||
|
AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG3, $ac_cv_func_accept_arg3,
|
||||||
|
[Define to the type of arg 3 of 'accept'])
|
||||||
|
])
|
|
@ -0,0 +1,228 @@
|
||||||
|
dnl PGSGL: When updating, comment out port-specific part below;
|
||||||
|
dnl see the comment below with the word "PostgreSQL".
|
||||||
|
dnl
|
||||||
|
dnl Available from the GNU Autoconf Macro Archive at:
|
||||||
|
dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_pthread.html
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([ACX_PTHREAD], [
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_C
|
||||||
|
acx_pthread_ok=no
|
||||||
|
|
||||||
|
# We used to check for pthread.h first, but this fails if pthread.h
|
||||||
|
# requires special compiler flags (e.g. on True64 or Sequent).
|
||||||
|
# It gets checked for in the link test anyway.
|
||||||
|
|
||||||
|
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
||||||
|
# etcetera environment variables, and if threads linking works using
|
||||||
|
# them:
|
||||||
|
if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||||
|
save_LIBS="$LIBS"
|
||||||
|
LIBS="$PTHREAD_LIBS $LIBS"
|
||||||
|
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
|
||||||
|
AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
|
||||||
|
AC_MSG_RESULT($acx_pthread_ok)
|
||||||
|
if test x"$acx_pthread_ok" = xno; then
|
||||||
|
PTHREAD_LIBS=""
|
||||||
|
PTHREAD_CFLAGS=""
|
||||||
|
fi
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We must check for the threads library under a number of different
|
||||||
|
# names; the ordering is very important because some systems
|
||||||
|
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||||
|
# libraries is broken (non-POSIX).
|
||||||
|
|
||||||
|
# Create a list of thread flags to try. Items starting with a "-" are
|
||||||
|
# C compiler flags, and other items are library names, except for "none"
|
||||||
|
# which indicates that we try without any flags at all, and "pthread-config"
|
||||||
|
# which is a program returning the flags for the Pth emulation library.
|
||||||
|
|
||||||
|
acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config pthreadGC2"
|
||||||
|
|
||||||
|
# The ordering *is* (sometimes) important. Some notes on the
|
||||||
|
# individual items follow:
|
||||||
|
|
||||||
|
# pthreads: AIX (must check this before -lpthread)
|
||||||
|
# none: in case threads are in libc; should be tried before -Kthread and
|
||||||
|
# other compiler flags to prevent continual compiler warnings
|
||||||
|
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||||
|
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||||
|
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||||
|
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
|
||||||
|
# -pthreads: Solaris/gcc
|
||||||
|
# -mthreads: Mingw32/gcc, Lynx/gcc
|
||||||
|
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||||
|
# doesn't hurt to check since this sometimes defines pthreads too;
|
||||||
|
# also defines -D_REENTRANT)
|
||||||
|
# pthread: Linux, etcetera
|
||||||
|
# --thread-safe: KAI C++
|
||||||
|
# pthread-config: use pthread-config program (for GNU Pth library)
|
||||||
|
|
||||||
|
case "${host_cpu}-${host_os}" in
|
||||||
|
*solaris*)
|
||||||
|
|
||||||
|
# On Solaris (at least, for some versions), libc contains stubbed
|
||||||
|
# (non-functional) versions of the pthreads routines, so link-based
|
||||||
|
# tests will erroneously succeed. (We need to link with -pthread or
|
||||||
|
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
||||||
|
# a function called by this macro, so we could check for that, but
|
||||||
|
# who knows whether they'll stub that too in a future libc.) So,
|
||||||
|
# we'll just look for -pthreads and -lpthread first:
|
||||||
|
|
||||||
|
acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test x"$acx_pthread_ok" = xno; then
|
||||||
|
for flag in $acx_pthread_flags; do
|
||||||
|
|
||||||
|
tryPTHREAD_CFLAGS=""
|
||||||
|
tryPTHREAD_LIBS=""
|
||||||
|
case $flag in
|
||||||
|
none)
|
||||||
|
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||||
|
;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
AC_MSG_CHECKING([whether pthreads work with $flag])
|
||||||
|
tryPTHREAD_CFLAGS="$flag"
|
||||||
|
;;
|
||||||
|
|
||||||
|
pthread-config)
|
||||||
|
# skip this if we already have flags defined, for PostgreSQL
|
||||||
|
if test x"$PTHREAD_CFLAGS" != x -o x"$PTHREAD_LIBS" != x; then continue; fi
|
||||||
|
AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
|
||||||
|
if test x"$acx_pthread_config" = xno; then continue; fi
|
||||||
|
tryPTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||||
|
tryPTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
AC_MSG_CHECKING([for the pthreads library -l$flag])
|
||||||
|
tryPTHREAD_LIBS="-l$flag"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
save_LIBS="$LIBS"
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
LIBS="$tryPTHREAD_LIBS $PTHREAD_LIBS $LIBS"
|
||||||
|
CFLAGS="$CFLAGS $PTHREAD_CFLAGS $tryPTHREAD_CFLAGS"
|
||||||
|
|
||||||
|
# Check for various functions. We must include pthread.h,
|
||||||
|
# since some functions may be macros. (On the Sequent, we
|
||||||
|
# need a special flag -Kthread to make this header compile.)
|
||||||
|
# We check for pthread_join because it is in -lpthread on IRIX
|
||||||
|
# while pthread_create is in libc. We check for pthread_attr_init
|
||||||
|
# due to DEC craziness with -lpthreads. We check for
|
||||||
|
# pthread_cleanup_push because it is one of the few pthread
|
||||||
|
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||||
|
# We try pthread_create on general principles.
|
||||||
|
AC_TRY_LINK([#include <pthread.h>],
|
||||||
|
[pthread_t th; pthread_join(th, 0);
|
||||||
|
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||||
|
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
||||||
|
[acx_pthread_ok=yes], [acx_pthread_ok=no])
|
||||||
|
|
||||||
|
if test "x$acx_pthread_ok" = xyes; then
|
||||||
|
# Don't use options that are ignored by the compiler.
|
||||||
|
# We find them by checking stderror.
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
|
{
|
||||||
|
(void) argc;
|
||||||
|
(void) argv;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
# Check both linking and compiling, because they might tolerate different options.
|
||||||
|
if test "`(eval $ac_link 2>&1 1>&5)`" = "" && test "`(eval $ac_compile 2>&1 1>&5)`" = ""; then
|
||||||
|
# we continue with more flags because Linux needs -lpthread
|
||||||
|
# for libpq builds on PostgreSQL. The test above only
|
||||||
|
# tests for building binaries, not shared libraries.
|
||||||
|
PTHREAD_LIBS=" $tryPTHREAD_LIBS $PTHREAD_LIBS"
|
||||||
|
PTHREAD_CFLAGS="$PTHREAD_CFLAGS $tryPTHREAD_CFLAGS"
|
||||||
|
else acx_pthread_ok=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
|
||||||
|
AC_MSG_RESULT($acx_pthread_ok)
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Various other checks:
|
||||||
|
if test "x$acx_pthread_ok" = xyes; then
|
||||||
|
save_LIBS="$LIBS"
|
||||||
|
LIBS="$PTHREAD_LIBS $LIBS"
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||||
|
|
||||||
|
# Detect AIX lossage: threads are created detached by default
|
||||||
|
# and the JOINABLE attribute has a nonstandard name (UNDETACHED).
|
||||||
|
AC_MSG_CHECKING([for joinable pthread attribute])
|
||||||
|
AC_TRY_LINK([#include <pthread.h>],
|
||||||
|
[int attr=PTHREAD_CREATE_JOINABLE;],
|
||||||
|
ok=PTHREAD_CREATE_JOINABLE, ok=unknown)
|
||||||
|
if test x"$ok" = xunknown; then
|
||||||
|
AC_TRY_LINK([#include <pthread.h>],
|
||||||
|
[int attr=PTHREAD_CREATE_UNDETACHED;],
|
||||||
|
ok=PTHREAD_CREATE_UNDETACHED, ok=unknown)
|
||||||
|
fi
|
||||||
|
if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then
|
||||||
|
AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok,
|
||||||
|
[Define to the necessary symbol if this constant
|
||||||
|
uses a non-standard name on your system.])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(${ok})
|
||||||
|
if test x"$ok" = xunknown; then
|
||||||
|
AC_MSG_WARN([we do not know how to create joinable pthreads])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if more special flags are required for pthreads])
|
||||||
|
flag=no
|
||||||
|
# We always add these in PostgreSQL
|
||||||
|
# case "${host_cpu}-${host_os}" in
|
||||||
|
# *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
|
||||||
|
# *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
|
||||||
|
# esac
|
||||||
|
AC_MSG_RESULT(${flag})
|
||||||
|
if test "x$flag" != xno; then
|
||||||
|
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
|
||||||
|
# Supporting cc_r would require a special CC in all places that
|
||||||
|
# use libpq, and that is ugly, so we don't do it. Users can still
|
||||||
|
# define their compiler as cc_r to do thread builds of everything.
|
||||||
|
# More AIX lossage: must compile with cc_r
|
||||||
|
AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
|
||||||
|
else
|
||||||
|
PTHREAD_CC="$CC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(PTHREAD_LIBS)
|
||||||
|
AC_SUBST(PTHREAD_CFLAGS)
|
||||||
|
AC_SUBST(PTHREAD_CC)
|
||||||
|
|
||||||
|
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
||||||
|
if test x"$acx_pthread_ok" = xyes; then
|
||||||
|
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
|
||||||
|
:
|
||||||
|
else
|
||||||
|
acx_pthread_ok=no
|
||||||
|
$2
|
||||||
|
fi
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
])dnl ACX_PTHREAD
|
|
@ -0,0 +1,302 @@
|
||||||
|
# Macros to detect C compiler features
|
||||||
|
# config/c-compiler.m4
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_SIGNED
|
||||||
|
# -------------
|
||||||
|
# Check if the C compiler understands signed types.
|
||||||
|
AC_DEFUN([PGAC_C_SIGNED],
|
||||||
|
[AC_CACHE_CHECK(for signed types, pgac_cv_c_signed,
|
||||||
|
[AC_TRY_COMPILE([],
|
||||||
|
[signed char c; signed short s; signed int i;],
|
||||||
|
[pgac_cv_c_signed=yes],
|
||||||
|
[pgac_cv_c_signed=no])])
|
||||||
|
if test x"$pgac_cv_c_signed" = xno ; then
|
||||||
|
AC_DEFINE(signed,, [Define to empty if the C compiler does not understand signed types.])
|
||||||
|
fi])# PGAC_C_SIGNED
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_INLINE
|
||||||
|
# -------------
|
||||||
|
# Check if the C compiler understands inline functions without being
|
||||||
|
# noisy about unused static inline functions. Some older compilers
|
||||||
|
# understand inline functions (as tested by AC_C_INLINE) but warn about
|
||||||
|
# them if they aren't used in a translation unit.
|
||||||
|
#
|
||||||
|
# This test used to just define an inline function, but some compilers
|
||||||
|
# (notably clang) got too smart and now warn about unused static
|
||||||
|
# inline functions when defined inside a .c file, but not when defined
|
||||||
|
# in an included header. Since the latter is what we want to use, test
|
||||||
|
# to see if the warning appears when the function is in a header file.
|
||||||
|
# Not pretty, but it works.
|
||||||
|
#
|
||||||
|
# Defines: inline, PG_USE_INLINE
|
||||||
|
AC_DEFUN([PGAC_C_INLINE],
|
||||||
|
[AC_C_INLINE
|
||||||
|
AC_CACHE_CHECK([for quiet inline (no complaint if unreferenced)], pgac_cv_c_inline_quietly,
|
||||||
|
[pgac_cv_c_inline_quietly=no
|
||||||
|
if test "$ac_cv_c_inline" != no; then
|
||||||
|
pgac_c_inline_save_werror=$ac_c_werror_flag
|
||||||
|
ac_c_werror_flag=yes
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include "$srcdir/config/test_quiet_include.h"],[])],
|
||||||
|
[pgac_cv_c_inline_quietly=yes])
|
||||||
|
ac_c_werror_flag=$pgac_c_inline_save_werror
|
||||||
|
fi])
|
||||||
|
if test "$pgac_cv_c_inline_quietly" != no; then
|
||||||
|
AC_DEFINE_UNQUOTED([PG_USE_INLINE], 1,
|
||||||
|
[Define to 1 if "static inline" works without unwanted warnings from ]
|
||||||
|
[compilations where static inline functions are defined but not called.])
|
||||||
|
fi
|
||||||
|
])# PGAC_C_INLINE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_TYPE_64BIT_INT(TYPE)
|
||||||
|
# -------------------------
|
||||||
|
# Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to
|
||||||
|
# yes or no respectively, and define HAVE_TYPE_64 if yes.
|
||||||
|
AC_DEFUN([PGAC_TYPE_64BIT_INT],
|
||||||
|
[define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl
|
||||||
|
define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl
|
||||||
|
AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar],
|
||||||
|
[AC_TRY_RUN(
|
||||||
|
[typedef $1 ac_int64;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These are globals to discourage the compiler from folding all the
|
||||||
|
* arithmetic tests down to compile-time constants.
|
||||||
|
*/
|
||||||
|
ac_int64 a = 20000001;
|
||||||
|
ac_int64 b = 40000005;
|
||||||
|
|
||||||
|
int does_int64_work()
|
||||||
|
{
|
||||||
|
ac_int64 c,d;
|
||||||
|
|
||||||
|
if (sizeof(ac_int64) != 8)
|
||||||
|
return 0; /* definitely not the right size */
|
||||||
|
|
||||||
|
/* Do perfunctory checks to see if 64-bit arithmetic seems to work */
|
||||||
|
c = a * b;
|
||||||
|
d = (c + b) / b;
|
||||||
|
if (d != a+1)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
main() {
|
||||||
|
exit(! does_int64_work());
|
||||||
|
}],
|
||||||
|
[Ac_cachevar=yes],
|
||||||
|
[Ac_cachevar=no],
|
||||||
|
[# If cross-compiling, check the size reported by the compiler and
|
||||||
|
# trust that the arithmetic works.
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [sizeof($1) == 8])],
|
||||||
|
Ac_cachevar=yes,
|
||||||
|
Ac_cachevar=no)])])
|
||||||
|
|
||||||
|
Ac_define=$Ac_cachevar
|
||||||
|
if test x"$Ac_cachevar" = xyes ; then
|
||||||
|
AC_DEFINE(Ac_define, 1, [Define to 1 if `]$1[' works and is 64 bits.])
|
||||||
|
fi
|
||||||
|
undefine([Ac_define])dnl
|
||||||
|
undefine([Ac_cachevar])dnl
|
||||||
|
])# PGAC_TYPE_64BIT_INT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_FUNCNAME_SUPPORT
|
||||||
|
# -----------------------
|
||||||
|
# Check if the C compiler understands __func__ (C99) or __FUNCTION__ (gcc).
|
||||||
|
# Define HAVE_FUNCNAME__FUNC or HAVE_FUNCNAME__FUNCTION accordingly.
|
||||||
|
AC_DEFUN([PGAC_C_FUNCNAME_SUPPORT],
|
||||||
|
[AC_CACHE_CHECK(for __func__, pgac_cv_funcname_func_support,
|
||||||
|
[AC_TRY_COMPILE([#include <stdio.h>],
|
||||||
|
[printf("%s\n", __func__);],
|
||||||
|
[pgac_cv_funcname_func_support=yes],
|
||||||
|
[pgac_cv_funcname_func_support=no])])
|
||||||
|
if test x"$pgac_cv_funcname_func_support" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_FUNCNAME__FUNC, 1,
|
||||||
|
[Define to 1 if your compiler understands __func__.])
|
||||||
|
else
|
||||||
|
AC_CACHE_CHECK(for __FUNCTION__, pgac_cv_funcname_function_support,
|
||||||
|
[AC_TRY_COMPILE([#include <stdio.h>],
|
||||||
|
[printf("%s\n", __FUNCTION__);],
|
||||||
|
[pgac_cv_funcname_function_support=yes],
|
||||||
|
[pgac_cv_funcname_function_support=no])])
|
||||||
|
if test x"$pgac_cv_funcname_function_support" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_FUNCNAME__FUNCTION, 1,
|
||||||
|
[Define to 1 if your compiler understands __FUNCTION__.])
|
||||||
|
fi
|
||||||
|
fi])# PGAC_C_FUNCNAME_SUPPORT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_STATIC_ASSERT
|
||||||
|
# --------------------
|
||||||
|
# Check if the C compiler understands _Static_assert(),
|
||||||
|
# and define HAVE__STATIC_ASSERT if so.
|
||||||
|
#
|
||||||
|
# We actually check the syntax ({ _Static_assert(...) }), because we need
|
||||||
|
# gcc-style compound expressions to be able to wrap the thing into macros.
|
||||||
|
AC_DEFUN([PGAC_C_STATIC_ASSERT],
|
||||||
|
[AC_CACHE_CHECK(for _Static_assert, pgac_cv__static_assert,
|
||||||
|
[AC_TRY_LINK([],
|
||||||
|
[({ _Static_assert(1, "foo"); })],
|
||||||
|
[pgac_cv__static_assert=yes],
|
||||||
|
[pgac_cv__static_assert=no])])
|
||||||
|
if test x"$pgac_cv__static_assert" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE__STATIC_ASSERT, 1,
|
||||||
|
[Define to 1 if your compiler understands _Static_assert.])
|
||||||
|
fi])# PGAC_C_STATIC_ASSERT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_TYPES_COMPATIBLE
|
||||||
|
# -----------------------
|
||||||
|
# Check if the C compiler understands __builtin_types_compatible_p,
|
||||||
|
# and define HAVE__BUILTIN_TYPES_COMPATIBLE_P if so.
|
||||||
|
#
|
||||||
|
# We check usage with __typeof__, though it's unlikely any compiler would
|
||||||
|
# have the former and not the latter.
|
||||||
|
AC_DEFUN([PGAC_C_TYPES_COMPATIBLE],
|
||||||
|
[AC_CACHE_CHECK(for __builtin_types_compatible_p, pgac_cv__types_compatible,
|
||||||
|
[AC_TRY_COMPILE([],
|
||||||
|
[ int x; static int y[__builtin_types_compatible_p(__typeof__(x), int)]; ],
|
||||||
|
[pgac_cv__types_compatible=yes],
|
||||||
|
[pgac_cv__types_compatible=no])])
|
||||||
|
if test x"$pgac_cv__types_compatible" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE__BUILTIN_TYPES_COMPATIBLE_P, 1,
|
||||||
|
[Define to 1 if your compiler understands __builtin_types_compatible_p.])
|
||||||
|
fi])# PGAC_C_TYPES_COMPATIBLE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_BUILTIN_CONSTANT_P
|
||||||
|
# -------------------------
|
||||||
|
# Check if the C compiler understands __builtin_constant_p(),
|
||||||
|
# and define HAVE__BUILTIN_CONSTANT_P if so.
|
||||||
|
AC_DEFUN([PGAC_C_BUILTIN_CONSTANT_P],
|
||||||
|
[AC_CACHE_CHECK(for __builtin_constant_p, pgac_cv__builtin_constant_p,
|
||||||
|
[AC_TRY_COMPILE([static int x; static int y[__builtin_constant_p(x) ? x : 1];],
|
||||||
|
[],
|
||||||
|
[pgac_cv__builtin_constant_p=yes],
|
||||||
|
[pgac_cv__builtin_constant_p=no])])
|
||||||
|
if test x"$pgac_cv__builtin_constant_p" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE__BUILTIN_CONSTANT_P, 1,
|
||||||
|
[Define to 1 if your compiler understands __builtin_constant_p.])
|
||||||
|
fi])# PGAC_C_BUILTIN_CONSTANT_P
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_BUILTIN_UNREACHABLE
|
||||||
|
# --------------------------
|
||||||
|
# Check if the C compiler understands __builtin_unreachable(),
|
||||||
|
# and define HAVE__BUILTIN_UNREACHABLE if so.
|
||||||
|
#
|
||||||
|
# NB: Don't get the idea of putting a for(;;); or such before the
|
||||||
|
# __builtin_unreachable() call. Some compilers would remove it before linking
|
||||||
|
# and only a warning instead of an error would be produced.
|
||||||
|
AC_DEFUN([PGAC_C_BUILTIN_UNREACHABLE],
|
||||||
|
[AC_CACHE_CHECK(for __builtin_unreachable, pgac_cv__builtin_unreachable,
|
||||||
|
[AC_TRY_LINK([],
|
||||||
|
[__builtin_unreachable();],
|
||||||
|
[pgac_cv__builtin_unreachable=yes],
|
||||||
|
[pgac_cv__builtin_unreachable=no])])
|
||||||
|
if test x"$pgac_cv__builtin_unreachable" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE__BUILTIN_UNREACHABLE, 1,
|
||||||
|
[Define to 1 if your compiler understands __builtin_unreachable.])
|
||||||
|
fi])# PGAC_C_BUILTIN_UNREACHABLE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_C_VA_ARGS
|
||||||
|
# --------------
|
||||||
|
# Check if the C compiler understands C99-style variadic macros,
|
||||||
|
# and define HAVE__VA_ARGS if so.
|
||||||
|
AC_DEFUN([PGAC_C_VA_ARGS],
|
||||||
|
[AC_CACHE_CHECK(for __VA_ARGS__, pgac_cv__va_args,
|
||||||
|
[AC_TRY_COMPILE([#include <stdio.h>],
|
||||||
|
[#define debug(...) fprintf(stderr, __VA_ARGS__)
|
||||||
|
debug("%s", "blarg");
|
||||||
|
],
|
||||||
|
[pgac_cv__va_args=yes],
|
||||||
|
[pgac_cv__va_args=no])])
|
||||||
|
if test x"$pgac_cv__va_args" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE__VA_ARGS, 1,
|
||||||
|
[Define to 1 if your compiler understands __VA_ARGS__ in macros.])
|
||||||
|
fi])# PGAC_C_VA_ARGS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_PROG_CC_CFLAGS_OPT
|
||||||
|
# -----------------------
|
||||||
|
# Given a string, check if the compiler supports the string as a
|
||||||
|
# command-line option. If it does, add the string to CFLAGS.
|
||||||
|
AC_DEFUN([PGAC_PROG_CC_CFLAGS_OPT],
|
||||||
|
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_cc_cflags_$1])])dnl
|
||||||
|
AC_CACHE_CHECK([whether $CC supports $1], [Ac_cachevar],
|
||||||
|
[pgac_save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$pgac_save_CFLAGS $1"
|
||||||
|
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||||
|
ac_c_werror_flag=yes
|
||||||
|
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||||
|
[Ac_cachevar=yes],
|
||||||
|
[Ac_cachevar=no])
|
||||||
|
ac_c_werror_flag=$ac_save_c_werror_flag
|
||||||
|
CFLAGS="$pgac_save_CFLAGS"])
|
||||||
|
if test x"$Ac_cachevar" = x"yes"; then
|
||||||
|
CFLAGS="$CFLAGS $1"
|
||||||
|
fi
|
||||||
|
undefine([Ac_cachevar])dnl
|
||||||
|
])# PGAC_PROG_CC_CFLAGS_OPT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_PROG_CC_VAR_OPT
|
||||||
|
# -----------------------
|
||||||
|
# Given a variable name and a string, check if the compiler supports
|
||||||
|
# the string as a command-line option. If it does, add the string to
|
||||||
|
# the given variable.
|
||||||
|
AC_DEFUN([PGAC_PROG_CC_VAR_OPT],
|
||||||
|
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_cc_cflags_$2])])dnl
|
||||||
|
AC_CACHE_CHECK([whether $CC supports $2], [Ac_cachevar],
|
||||||
|
[pgac_save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$pgac_save_CFLAGS $2"
|
||||||
|
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||||
|
ac_c_werror_flag=yes
|
||||||
|
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||||
|
[Ac_cachevar=yes],
|
||||||
|
[Ac_cachevar=no])
|
||||||
|
ac_c_werror_flag=$ac_save_c_werror_flag
|
||||||
|
CFLAGS="$pgac_save_CFLAGS"])
|
||||||
|
if test x"$Ac_cachevar" = x"yes"; then
|
||||||
|
$1="${$1} $2"
|
||||||
|
fi
|
||||||
|
undefine([Ac_cachevar])dnl
|
||||||
|
])# PGAC_PROG_CC_CFLAGS_OPT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_PROG_CC_LDFLAGS_OPT
|
||||||
|
# ------------------------
|
||||||
|
# Given a string, check if the compiler supports the string as a
|
||||||
|
# command-line option. If it does, add the string to LDFLAGS.
|
||||||
|
# For reasons you'd really rather not know about, this checks whether
|
||||||
|
# you can link to a particular function, not just whether you can link.
|
||||||
|
# In fact, we must actually check that the resulting program runs :-(
|
||||||
|
AC_DEFUN([PGAC_PROG_CC_LDFLAGS_OPT],
|
||||||
|
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_cc_ldflags_$1])])dnl
|
||||||
|
AC_CACHE_CHECK([whether $CC supports $1], [Ac_cachevar],
|
||||||
|
[pgac_save_LDFLAGS=$LDFLAGS
|
||||||
|
LDFLAGS="$pgac_save_LDFLAGS $1"
|
||||||
|
AC_RUN_IFELSE([AC_LANG_PROGRAM([extern void $2 (); void (*fptr) () = $2;],[])],
|
||||||
|
[Ac_cachevar=yes],
|
||||||
|
[Ac_cachevar=no],
|
||||||
|
[Ac_cachevar="assuming no"])
|
||||||
|
LDFLAGS="$pgac_save_LDFLAGS"])
|
||||||
|
if test x"$Ac_cachevar" = x"yes"; then
|
||||||
|
LDFLAGS="$LDFLAGS $1"
|
||||||
|
fi
|
||||||
|
undefine([Ac_cachevar])dnl
|
||||||
|
])# PGAC_PROG_CC_LDFLAGS_OPT
|
|
@ -0,0 +1,328 @@
|
||||||
|
# Macros that test various C library quirks
|
||||||
|
# config/c-library.m4
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_VAR_INT_TIMEZONE
|
||||||
|
# ---------------------
|
||||||
|
# Check if the global variable `timezone' exists. If so, define
|
||||||
|
# HAVE_INT_TIMEZONE.
|
||||||
|
AC_DEFUN([PGAC_VAR_INT_TIMEZONE],
|
||||||
|
[AC_CACHE_CHECK(for int timezone, pgac_cv_var_int_timezone,
|
||||||
|
[AC_TRY_LINK([#include <time.h>
|
||||||
|
int res;],
|
||||||
|
[#ifndef __CYGWIN__
|
||||||
|
res = timezone / 60;
|
||||||
|
#else
|
||||||
|
res = _timezone / 60;
|
||||||
|
#endif],
|
||||||
|
[pgac_cv_var_int_timezone=yes],
|
||||||
|
[pgac_cv_var_int_timezone=no])])
|
||||||
|
if test x"$pgac_cv_var_int_timezone" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_INT_TIMEZONE,, [Define to 1 if you have the global variable 'int timezone'.])
|
||||||
|
fi])# PGAC_VAR_INT_TIMEZONE
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_STRUCT_TIMEZONE
|
||||||
|
# ------------------
|
||||||
|
# Figure out how to get the current timezone. If `struct tm' has a
|
||||||
|
# `tm_zone' member, define `HAVE_TM_ZONE'. Also, if the
|
||||||
|
# external array `tzname' is found, define `HAVE_TZNAME'.
|
||||||
|
# This is the same as the standard macro AC_STRUCT_TIMEZONE, except that
|
||||||
|
# tzname[] is checked for regardless of whether we find tm_zone.
|
||||||
|
AC_DEFUN([PGAC_STRUCT_TIMEZONE],
|
||||||
|
[AC_REQUIRE([AC_STRUCT_TM])dnl
|
||||||
|
AC_CHECK_MEMBERS([struct tm.tm_zone],,,[#include <sys/types.h>
|
||||||
|
#include <$ac_cv_struct_tm>
|
||||||
|
])
|
||||||
|
if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
|
||||||
|
AC_DEFINE(HAVE_TM_ZONE, 1,
|
||||||
|
[Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
|
||||||
|
`HAVE_STRUCT_TM_TM_ZONE' instead.])
|
||||||
|
fi
|
||||||
|
AC_CACHE_CHECK(for tzname, ac_cv_var_tzname,
|
||||||
|
[AC_TRY_LINK(
|
||||||
|
[#include <time.h>
|
||||||
|
#ifndef tzname /* For SGI. */
|
||||||
|
extern char *tzname[]; /* RS6000 and others reject char **tzname. */
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)])
|
||||||
|
if test $ac_cv_var_tzname = yes; then
|
||||||
|
AC_DEFINE(HAVE_TZNAME, 1,
|
||||||
|
[Define to 1 if you have the external array `tzname'.])
|
||||||
|
fi
|
||||||
|
])# PGAC_STRUCT_TIMEZONE
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_GETTIMEOFDAY_1ARG
|
||||||
|
# ---------------------------
|
||||||
|
# Check if gettimeofday() has only one arguments. (Normal is two.)
|
||||||
|
# If so, define GETTIMEOFDAY_1ARG.
|
||||||
|
AC_DEFUN([PGAC_FUNC_GETTIMEOFDAY_1ARG],
|
||||||
|
[AC_CACHE_CHECK(whether gettimeofday takes only one argument,
|
||||||
|
pgac_cv_func_gettimeofday_1arg,
|
||||||
|
[AC_TRY_COMPILE([#include <sys/time.h>],
|
||||||
|
[struct timeval *tp;
|
||||||
|
struct timezone *tzp;
|
||||||
|
gettimeofday(tp,tzp);],
|
||||||
|
[pgac_cv_func_gettimeofday_1arg=no],
|
||||||
|
[pgac_cv_func_gettimeofday_1arg=yes])])
|
||||||
|
if test x"$pgac_cv_func_gettimeofday_1arg" = xyes ; then
|
||||||
|
AC_DEFINE(GETTIMEOFDAY_1ARG,, [Define to 1 if gettimeofday() takes only 1 argument.])
|
||||||
|
fi
|
||||||
|
AH_VERBATIM(GETTIMEOFDAY_1ARG_,
|
||||||
|
[@%:@ifdef GETTIMEOFDAY_1ARG
|
||||||
|
@%:@ define gettimeofday(a,b) gettimeofday(a)
|
||||||
|
@%:@endif])dnl
|
||||||
|
])# PGAC_FUNC_GETTIMEOFDAY_1ARG
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_GETPWUID_R_5ARG
|
||||||
|
# ---------------------------
|
||||||
|
# Check if getpwuid_r() takes a fifth argument (later POSIX standard, not draft version)
|
||||||
|
# If so, define GETPWUID_R_5ARG
|
||||||
|
AC_DEFUN([PGAC_FUNC_GETPWUID_R_5ARG],
|
||||||
|
[AC_CACHE_CHECK(whether getpwuid_r takes a fifth argument,
|
||||||
|
pgac_cv_func_getpwuid_r_5arg,
|
||||||
|
[AC_TRY_COMPILE([#include <sys/types.h>
|
||||||
|
#include <pwd.h>],
|
||||||
|
[uid_t uid;
|
||||||
|
struct passwd *space;
|
||||||
|
char *buf;
|
||||||
|
size_t bufsize;
|
||||||
|
struct passwd **result;
|
||||||
|
getpwuid_r(uid, space, buf, bufsize, result);],
|
||||||
|
[pgac_cv_func_getpwuid_r_5arg=yes],
|
||||||
|
[pgac_cv_func_getpwuid_r_5arg=no])])
|
||||||
|
if test x"$pgac_cv_func_getpwuid_r_5arg" = xyes ; then
|
||||||
|
AC_DEFINE(GETPWUID_R_5ARG,, [Define to 1 if getpwuid_r() takes a 5th argument.])
|
||||||
|
fi
|
||||||
|
])# PGAC_FUNC_GETPWUID_R_5ARG
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_STRERROR_R_INT
|
||||||
|
# ---------------------------
|
||||||
|
# Check if strerror_r() returns an int (SUSv3) rather than a char * (GNU libc)
|
||||||
|
# If so, define STRERROR_R_INT
|
||||||
|
AC_DEFUN([PGAC_FUNC_STRERROR_R_INT],
|
||||||
|
[AC_CACHE_CHECK(whether strerror_r returns int,
|
||||||
|
pgac_cv_func_strerror_r_int,
|
||||||
|
[AC_TRY_COMPILE([#include <string.h>],
|
||||||
|
[#ifndef _AIX
|
||||||
|
int strerror_r(int, char *, size_t);
|
||||||
|
#else
|
||||||
|
/* Older AIX has 'int' for the third argument so we don't test the args. */
|
||||||
|
int strerror_r();
|
||||||
|
#endif],
|
||||||
|
[pgac_cv_func_strerror_r_int=yes],
|
||||||
|
[pgac_cv_func_strerror_r_int=no])])
|
||||||
|
if test x"$pgac_cv_func_strerror_r_int" = xyes ; then
|
||||||
|
AC_DEFINE(STRERROR_R_INT,, [Define to 1 if strerror_r() returns a int.])
|
||||||
|
fi
|
||||||
|
])# PGAC_FUNC_STRERROR_R_INT
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_UNION_SEMUN
|
||||||
|
# ----------------
|
||||||
|
# Check if `union semun' exists. Define HAVE_UNION_SEMUN if so.
|
||||||
|
# If it doesn't then one could define it as
|
||||||
|
# union semun { int val; struct semid_ds *buf; unsigned short *array; }
|
||||||
|
AC_DEFUN([PGAC_UNION_SEMUN],
|
||||||
|
[AC_CHECK_TYPES([union semun], [], [],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/sem.h>])])# PGAC_UNION_SEMUN
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_STRUCT_SOCKADDR_UN
|
||||||
|
# -----------------------
|
||||||
|
# If `struct sockaddr_un' exists, define HAVE_UNIX_SOCKETS.
|
||||||
|
# (Requires test for <sys/un.h>!)
|
||||||
|
AC_DEFUN([PGAC_STRUCT_SOCKADDR_UN],
|
||||||
|
[AC_CHECK_TYPE([struct sockaddr_un], [AC_DEFINE(HAVE_UNIX_SOCKETS, 1, [Define to 1 if you have unix sockets.])], [],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_UN_H
|
||||||
|
#include <sys/un.h>
|
||||||
|
#endif
|
||||||
|
])])# PGAC_STRUCT_SOCKADDR_UN
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_STRUCT_SOCKADDR_STORAGE
|
||||||
|
# ----------------------------
|
||||||
|
# If `struct sockaddr_storage' exists, define HAVE_STRUCT_SOCKADDR_STORAGE.
|
||||||
|
# If it is missing then one could define it.
|
||||||
|
AC_DEFUN([PGAC_STRUCT_SOCKADDR_STORAGE],
|
||||||
|
[AC_CHECK_TYPES([struct sockaddr_storage], [], [],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
])])# PGAC_STRUCT_SOCKADDR_STORAGE
|
||||||
|
|
||||||
|
# PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
|
||||||
|
# --------------------------------------
|
||||||
|
# Check the members of `struct sockaddr_storage'. We need to know about
|
||||||
|
# ss_family and ss_len. (Some platforms follow RFC 2553 and call them
|
||||||
|
# __ss_family and __ss_len.) We also check struct sockaddr's sa_len;
|
||||||
|
# if we have to define our own `struct sockaddr_storage', this tells us
|
||||||
|
# whether we need to provide an ss_len field.
|
||||||
|
AC_DEFUN([PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS],
|
||||||
|
[AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family,
|
||||||
|
struct sockaddr_storage.__ss_family,
|
||||||
|
struct sockaddr_storage.ss_len,
|
||||||
|
struct sockaddr_storage.__ss_len,
|
||||||
|
struct sockaddr.sa_len], [], [],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
])])# PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_STRUCT_ADDRINFO
|
||||||
|
# -----------------------
|
||||||
|
# If `struct addrinfo' exists, define HAVE_STRUCT_ADDRINFO.
|
||||||
|
AC_DEFUN([PGAC_STRUCT_ADDRINFO],
|
||||||
|
[AC_CHECK_TYPES([struct addrinfo], [], [],
|
||||||
|
[#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
])])# PGAC_STRUCT_ADDRINFO
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_POSIX_SIGNALS
|
||||||
|
# -----------------------
|
||||||
|
# Check to see if the machine has the POSIX signal interface. Define
|
||||||
|
# HAVE_POSIX_SIGNALS if so. Also set the output variable HAVE_POSIX_SIGNALS
|
||||||
|
# to yes or no.
|
||||||
|
#
|
||||||
|
# Note that this test only compiles a test program, it doesn't check
|
||||||
|
# whether the routines actually work. If that becomes a problem, make
|
||||||
|
# a fancier check.
|
||||||
|
AC_DEFUN([PGAC_FUNC_POSIX_SIGNALS],
|
||||||
|
[AC_CACHE_CHECK(for POSIX signal interface, pgac_cv_func_posix_signals,
|
||||||
|
[AC_TRY_LINK([#include <signal.h>
|
||||||
|
],
|
||||||
|
[struct sigaction act, oact;
|
||||||
|
sigemptyset(&act.sa_mask);
|
||||||
|
act.sa_flags = SA_RESTART;
|
||||||
|
sigaction(0, &act, &oact);],
|
||||||
|
[pgac_cv_func_posix_signals=yes],
|
||||||
|
[pgac_cv_func_posix_signals=no])])
|
||||||
|
if test x"$pgac_cv_func_posix_signals" = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_POSIX_SIGNALS,, [Define to 1 if you have the POSIX signal interface.])
|
||||||
|
fi
|
||||||
|
HAVE_POSIX_SIGNALS=$pgac_cv_func_posix_signals
|
||||||
|
AC_SUBST(HAVE_POSIX_SIGNALS)])# PGAC_FUNC_POSIX_SIGNALS
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT
|
||||||
|
# ---------------------------------------
|
||||||
|
# Determine which format snprintf uses for long long int. We handle
|
||||||
|
# %lld, %qd, %I64d. The result is in shell variable
|
||||||
|
# LONG_LONG_INT_FORMAT.
|
||||||
|
#
|
||||||
|
# MinGW uses '%I64d', though gcc throws an warning with -Wall,
|
||||||
|
# while '%lld' doesn't generate a warning, but doesn't work.
|
||||||
|
#
|
||||||
|
AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT],
|
||||||
|
[AC_MSG_CHECKING([snprintf format for long long int])
|
||||||
|
AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format,
|
||||||
|
[for pgac_format in '%lld' '%qd' '%I64d'; do
|
||||||
|
AC_TRY_RUN([#include <stdio.h>
|
||||||
|
typedef long long int ac_int64;
|
||||||
|
#define INT64_FORMAT "$pgac_format"
|
||||||
|
|
||||||
|
ac_int64 a = 20000001;
|
||||||
|
ac_int64 b = 40000005;
|
||||||
|
|
||||||
|
int does_int64_snprintf_work()
|
||||||
|
{
|
||||||
|
ac_int64 c;
|
||||||
|
char buf[100];
|
||||||
|
|
||||||
|
if (sizeof(ac_int64) != 8)
|
||||||
|
return 0; /* doesn't look like the right size */
|
||||||
|
|
||||||
|
c = a * b;
|
||||||
|
snprintf(buf, 100, INT64_FORMAT, c);
|
||||||
|
if (strcmp(buf, "800000140000005") != 0)
|
||||||
|
return 0; /* either multiply or snprintf is busted */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
main() {
|
||||||
|
exit(! does_int64_snprintf_work());
|
||||||
|
}],
|
||||||
|
[pgac_cv_snprintf_long_long_int_format=$pgac_format; break],
|
||||||
|
[],
|
||||||
|
[pgac_cv_snprintf_long_long_int_format=cross; break])
|
||||||
|
done])dnl AC_CACHE_VAL
|
||||||
|
|
||||||
|
LONG_LONG_INT_FORMAT=''
|
||||||
|
|
||||||
|
case $pgac_cv_snprintf_long_long_int_format in
|
||||||
|
cross) AC_MSG_RESULT([cannot test (not on host machine)]);;
|
||||||
|
?*) AC_MSG_RESULT([$pgac_cv_snprintf_long_long_int_format])
|
||||||
|
LONG_LONG_INT_FORMAT=$pgac_cv_snprintf_long_long_int_format;;
|
||||||
|
*) AC_MSG_RESULT(none);;
|
||||||
|
esac])# PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_FUNC_PRINTF_ARG_CONTROL
|
||||||
|
# ---------------------------------------
|
||||||
|
# Determine if printf supports %1$ argument selection, e.g. %5$ selects
|
||||||
|
# the fifth argument after the printf print string.
|
||||||
|
# This is not in the C99 standard, but in the Single Unix Specification (SUS).
|
||||||
|
# It is used in our language translation strings.
|
||||||
|
#
|
||||||
|
AC_DEFUN([PGAC_FUNC_PRINTF_ARG_CONTROL],
|
||||||
|
[AC_MSG_CHECKING([whether printf supports argument control])
|
||||||
|
AC_CACHE_VAL(pgac_cv_printf_arg_control,
|
||||||
|
[AC_TRY_RUN([#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char buf[100];
|
||||||
|
|
||||||
|
/* can it swap arguments? */
|
||||||
|
snprintf(buf, 100, "%2\$d %1\$d", 3, 4);
|
||||||
|
if (strcmp(buf, "4 3") != 0)
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}],
|
||||||
|
[pgac_cv_printf_arg_control=yes],
|
||||||
|
[pgac_cv_printf_arg_control=no],
|
||||||
|
[pgac_cv_printf_arg_control=cross])
|
||||||
|
])dnl AC_CACHE_VAL
|
||||||
|
AC_MSG_RESULT([$pgac_cv_printf_arg_control])
|
||||||
|
])# PGAC_FUNC_PRINTF_ARG_CONTROL
|
||||||
|
|
||||||
|
|
||||||
|
# PGAC_TYPE_LOCALE_T
|
||||||
|
# ------------------
|
||||||
|
# Check for the locale_t type and find the right header file. Mac OS
|
||||||
|
# X needs xlocale.h; standard is locale.h, but glibc also has an
|
||||||
|
# xlocale.h file that we should not use.
|
||||||
|
#
|
||||||
|
AC_DEFUN([PGAC_TYPE_LOCALE_T],
|
||||||
|
[AC_CACHE_CHECK([for locale_t], pgac_cv_type_locale_t,
|
||||||
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||||
|
[#include <locale.h>
|
||||||
|
locale_t x;],
|
||||||
|
[])],
|
||||||
|
[pgac_cv_type_locale_t=yes],
|
||||||
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||||
|
[#include <xlocale.h>
|
||||||
|
locale_t x;],
|
||||||
|
[])],
|
||||||
|
[pgac_cv_type_locale_t='yes (in xlocale.h)'],
|
||||||
|
[pgac_cv_type_locale_t=no])])])
|
||||||
|
if test "$pgac_cv_type_locale_t" != no; then
|
||||||
|
AC_DEFINE(HAVE_LOCALE_T, 1,
|
||||||
|
[Define to 1 if the system has the type `locale_t'.])
|
||||||
|
fi
|
||||||
|
if test "$pgac_cv_type_locale_t" = 'yes (in xlocale.h)'; then
|
||||||
|
AC_DEFINE(LOCALE_T_IN_XLOCALE, 1,
|
||||||
|
[Define to 1 if `locale_t' requires <xlocale.h>.])
|
||||||
|
fi])])# PGAC_HEADER_XLOCALE
|
1544
nativeLib/rary.cots.postgresql/postgresql-9.3.5/config/config.guess
vendored
Executable file
1544
nativeLib/rary.cots.postgresql/postgresql-9.3.5/config/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue