Merge branch 'omaha_14.1.1' into development_on_RHEL6
Conflicts: cave/build/static/common/cave/etc/gfe/userPython/utilities/CombinationsInterface.py cave/build/static/common/cave/etc/ncep/ResourceDefns/GRID/FFG_TIR_HIRES/FFG_TIR_HIRES.xml cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/textformatter/CombinationsFileUtil.java cave/com.raytheon.viz.warngen/src/com/raytheon/viz/warngen/gui/WarngenDialog.java edexOsgi/build.edex/esb/bin/yajsw/wrapper.jar edexOsgi/build.edex/esb/bin/yajsw/wrapperApp.jar edexOsgi/com.raytheon.edex.ingestsrv/res/spring/persist-ingest.xml edexOsgi/com.raytheon.edex.plugin.airep/res/spring/airep-ingest.xml edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-common.xml edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-request.xml edexOsgi/com.raytheon.edex.plugin.gfe/res/spring/gfe-spring.xml edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/cache/d2dparms/D2DParmIdCache.java edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/config/GFESiteActivation.java edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/GridParmManager.java edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/database/D2DGridDatabase.java edexOsgi/com.raytheon.edex.plugin.gfe/src/com/raytheon/edex/plugin/gfe/server/handler/SmartInitRequestHandler.java edexOsgi/com.raytheon.edex.plugin.pirep/res/spring/pirep-ingest.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodAdvisoryFollowup_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodAdvisory_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodAdvisory_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarning_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarning_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/customTemplate.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/customTemplate.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/ffwfaw.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/ffwfaw.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/flashFloodWarningFollowup_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/flashFloodWarning_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/flashFloodWarning_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/nonConvectiveFlashFloodWarningFollowup_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/nonConvectiveFlashFloodWarning_Zones.xml edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/sws_county.vm edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/sws_county.xml edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/res/spring/bandwidth-datadelivery-edex-impl.xml edexOsgi/com.raytheon.uf.edex.ogc.common/com.raytheon.uf.edex.ogc.common.ecl edexOsgi/com.raytheon.uf.edex.plugin.grib.ogc/com.raytheon.uf.edex.plugin.grib.ogc.ecl nativeLib/files.native/awipsShare/hydroapps/lib/native/linux32/library.ohd.pproc.so nativeLib/files.native/edex/lib/native/linux32/library.ohd.pproc.so ncep/gov.noaa.nws.ncep.edex.plugin.ncairep/res/spring/ncairep-ingest.xml ncep/gov.noaa.nws.ncep.edex.plugin.ncpirep/res/spring/ncpirep-ingest.xml ncep/gov.noaa.nws.ncep.edex.plugin.stormtrack/res/spring/stormtrack-ingest.xml rpms/awips2.qpid/0.18/SOURCES/wrapper.conf rpms/awips2.qpid/0.18/SPECS/qpid-java.spec.patch0 rpms/python.site-packages/Installer.qpid/component.spec Former-commit-id:bb5ef114d1
[formerlyaa4ea792c1
] [formerlybb5ef114d1
[formerlyaa4ea792c1
] [formerly542f5f2349
[formerly 606030384b5fe1eb9411d4b35d3282b15b1398b4]]] Former-commit-id:542f5f2349
Former-commit-id:de61382dc7
[formerly5d5ccb7599
] Former-commit-id:86f7af5968
This commit is contained in:
commit
93dbbc2321
38 changed files with 2056 additions and 1051 deletions
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<NcInventoryDefinition xmlns:ns2="com.raytheon.uf.common.datadelivery.registry" xmlns:ns3="http://www.example.org/productType">
|
||||||
|
<inventoryName>FFG_TIR_HIRES</inventoryName>
|
||||||
|
<inventoryParameters>pluginName,info.ensembleId,info.secondaryId,dataTime</inventoryParameters>
|
||||||
|
<baseConstraints>
|
||||||
|
<mapping key="info.datasetId">
|
||||||
|
<constraint constraintValue="FFG-TIR" constraintType="EQUALS"/>
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="grid" constraintType="EQUALS"/>
|
||||||
|
</mapping>
|
||||||
|
</baseConstraints>
|
||||||
|
</NcInventoryDefinition>
|
|
@ -0,0 +1,83 @@
|
||||||
|
<beans
|
||||||
|
xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:context="http://www.springframework.org/schema/context"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
||||||
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
|
||||||
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
|
||||||
|
|
||||||
|
|
||||||
|
<bean id="uriAggregator" class="com.raytheon.uf.edex.esb.camel.DataUriAggregator" />
|
||||||
|
<bean id="toDataURI" class="com.raytheon.uf.edex.esb.camel.ToDataURI" />
|
||||||
|
|
||||||
|
<bean id="persist" class="com.raytheon.edex.services.PersistSrv" factory-method="getInstance"/>
|
||||||
|
<bean id="index" class="com.raytheon.edex.services.IndexSrv"/>
|
||||||
|
|
||||||
|
<bean id="persistCamelRegistered" factory-bean="contextManager"
|
||||||
|
factory-method="register">
|
||||||
|
<constructor-arg ref="persist-camel"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<camelContext id="persist-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||||
|
|
||||||
|
<!-- Generic persist and indexing
|
||||||
|
Intended for routes that need persisting to HDF5,
|
||||||
|
Indexing but no alert processing
|
||||||
|
-->
|
||||||
|
<route id="persistIndex">
|
||||||
|
<from uri="direct-vm:persistIndex"/>
|
||||||
|
<bean ref="persist" method="persist"/>
|
||||||
|
<bean ref="index" method="index"/>
|
||||||
|
<bean ref="processUtil" method="log"/>
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<!-- Generic persist, index and alert route
|
||||||
|
Intended for routes that need persisting to HDF5,
|
||||||
|
Indexing and Alerting
|
||||||
|
-->
|
||||||
|
<route id="persistIndexAlert">
|
||||||
|
<from uri="direct-vm:persistIndexAlert"/>
|
||||||
|
<bean ref="persist" method="persist"/>
|
||||||
|
<bean ref="index" method="index"/>
|
||||||
|
<bean ref="processUtil" method="log"/>
|
||||||
|
<bean ref="toDataURI" method="toDataURI"/>
|
||||||
|
<to uri="vm:stageNotification"/>
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<!-- Generic index and alert route
|
||||||
|
Intended for routes that need Indexing and Alerting
|
||||||
|
-->
|
||||||
|
<route id="indexAlert">
|
||||||
|
<from uri="direct-vm:indexAlert"/>
|
||||||
|
<bean ref="index" method="index"/>
|
||||||
|
<bean ref="processUtil" method="log"/>
|
||||||
|
<bean ref="toDataURI" method="toDataURI"/>
|
||||||
|
<to uri="vm:stageNotification"/>
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<route id="notificationAggregation">
|
||||||
|
<from uri="vm:stageNotification"/>
|
||||||
|
<bean ref="uriAggregator" method="addDataUris" />
|
||||||
|
<!--
|
||||||
|
<multicast>
|
||||||
|
<pipeline>
|
||||||
|
<bean ref="uriAggregator" method="addDataUris" />
|
||||||
|
</pipeline>
|
||||||
|
<pipeline>
|
||||||
|
<to uri="jms-generic:queue:subscriptions" />
|
||||||
|
</pipeline>
|
||||||
|
</multicast>
|
||||||
|
-->
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<route id="notificationTimer">
|
||||||
|
<from uri="timer://notificationTimer?fixedRate=true&period=5000" />
|
||||||
|
<filter>
|
||||||
|
<method bean="uriAggregator" method="hasUris" />
|
||||||
|
<bean ref="uriAggregator" method="sendQueuedUris" />
|
||||||
|
<bean ref="serializationUtil" method="transformToThrift" />
|
||||||
|
<to uri="jms-generic:topic:edex.alerts?timeToLive=60000"/>
|
||||||
|
</filter>
|
||||||
|
</route>
|
||||||
|
</camelContext>
|
||||||
|
</beans>
|
|
@ -0,0 +1,70 @@
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
||||||
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||||
|
|
||||||
|
<bean id="airepDecoder" class="com.raytheon.edex.plugin.airep.AirepDecoder">
|
||||||
|
<constructor-arg ref="airepPluginName" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="airepSeparator" class="com.raytheon.edex.plugin.airep.AirepSeparator" />
|
||||||
|
|
||||||
|
<bean id="airepDistRegistry" factory-bean="distributionSrv"
|
||||||
|
factory-method="register">
|
||||||
|
<constructor-arg value="airep" />
|
||||||
|
<constructor-arg value="jms-dist:queue:Ingest.airep"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="airepCamelRegistered" factory-bean="contextManager"
|
||||||
|
factory-method="register" depends-on="persistCamelRegistered">
|
||||||
|
<constructor-arg ref="airep-camel"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<camelContext id="airep-camel"
|
||||||
|
xmlns="http://camel.apache.org/schema/spring"
|
||||||
|
errorHandlerRef="errorHandler"
|
||||||
|
autoStartup="false">
|
||||||
|
<!--
|
||||||
|
<endpoint id="airepFileEndpoint" uri="file:${edex.home}/data/sbn/airep?noop=true&idempotent=false" />
|
||||||
|
|
||||||
|
<route id="airepFileConsumerRoute">
|
||||||
|
<from ref="airepFileEndpoint" />
|
||||||
|
<bean ref="fileToString" />
|
||||||
|
<setHeader headerName="pluginName">
|
||||||
|
<constant>airep</constant>
|
||||||
|
</setHeader>
|
||||||
|
<to uri="jms-durable:queue:Ingest.airep" />
|
||||||
|
</route>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Begin airep routes -->
|
||||||
|
<route id="airepIngestRoute">
|
||||||
|
<from uri="jms-durable:queue:Ingest.airep"/>
|
||||||
|
<setHeader headerName="pluginName">
|
||||||
|
<constant>airep</constant>
|
||||||
|
</setHeader>
|
||||||
|
<doTry>
|
||||||
|
<pipeline>
|
||||||
|
<bean ref="stringToFile" />
|
||||||
|
<split streaming="true">
|
||||||
|
<method bean="airepSeparator" method="separate" />
|
||||||
|
<doTry>
|
||||||
|
<pipeline>
|
||||||
|
<bean ref="airepDecoder" method="decode" />
|
||||||
|
<to uri="direct-vm:indexAlert" />
|
||||||
|
</pipeline>
|
||||||
|
<doCatch>
|
||||||
|
<exception>java.lang.Throwable</exception>
|
||||||
|
<to uri="log:airep?level=ERROR"/>
|
||||||
|
</doCatch>
|
||||||
|
</doTry>
|
||||||
|
</split>
|
||||||
|
</pipeline>
|
||||||
|
<doCatch>
|
||||||
|
<exception>java.lang.Throwable</exception>
|
||||||
|
<to uri="log:airep?level=ERROR"/>
|
||||||
|
</doCatch>
|
||||||
|
</doTry>
|
||||||
|
</route>
|
||||||
|
</camelContext>
|
||||||
|
</beans>
|
|
@ -154,20 +154,6 @@
|
||||||
</doTry>
|
</doTry>
|
||||||
</route>
|
</route>
|
||||||
|
|
||||||
<!-- Convert the topic into a queue so only one consumer gets each message and we still have competing consumers. -->
|
|
||||||
<route id="gfePurgeNotificationQueueRoute">
|
|
||||||
<from uri="jms-generic:topic:pluginPurged"/>
|
|
||||||
<doTry>
|
|
||||||
<to uri="jms-generic:queue:gfePurgeNotification"/>
|
|
||||||
<doCatch>
|
|
||||||
<exception>java.lang.Throwable</exception>
|
|
||||||
<to
|
|
||||||
uri="log:ifpServer?level=ERROR"/>
|
|
||||||
</doCatch>
|
|
||||||
</doTry>
|
|
||||||
</route>
|
|
||||||
|
|
||||||
</camelContext>
|
|
||||||
|
|
||||||
<bean factory-bean="clusteredCamelContextMgr" factory-method="register">
|
<bean factory-bean="clusteredCamelContextMgr" factory-method="register">
|
||||||
<constructor-arg ref="clusteredGfeIngestRoutes"/>
|
<constructor-arg ref="clusteredGfeIngestRoutes"/>
|
||||||
|
|
|
@ -72,6 +72,7 @@ import com.raytheon.uf.edex.site.notify.SendSiteActivationNotifications;
|
||||||
* Mar 20, 2013 #1774 randerso Changed to use GFED2DDao
|
* Mar 20, 2013 #1774 randerso Changed to use GFED2DDao
|
||||||
* May 02, 2013 #1969 randerso Moved updateDbs method into IFPGridDatabase
|
* May 02, 2013 #1969 randerso Moved updateDbs method into IFPGridDatabase
|
||||||
* Jun 13, 2013 #2044 randerso Refactored to use IFPServer
|
* Jun 13, 2013 #2044 randerso Refactored to use IFPServer
|
||||||
|
* Sep 13, 2013 2368 rjpeter Used durable jms settings.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author njensen
|
* @author njensen
|
||||||
|
|
|
@ -195,6 +195,9 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves DatabaseIDs for the n most recent model runs of a given
|
* Retrieves DatabaseIDs for the n most recent model runs of a given
|
||||||
* d2dModelName
|
* d2dModelName
|
||||||
|
|
|
@ -47,7 +47,7 @@ class TextProduct(GenericHazards.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
Definition["productName"] = "AIR QUALITY ALERT" # name of product
|
Definition["productName"] = "AIR QUALITY ALERT" # name of product
|
||||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
|
|
|
@ -55,7 +55,7 @@ class TextProduct(GenericHazards.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
Definition["productName"] = "URGENT - FIRE WEATHER MESSAGE" # name of product
|
Definition["productName"] = "URGENT - FIRE WEATHER MESSAGE" # name of product
|
||||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
|
|
|
@ -62,7 +62,7 @@ class TextProduct(GenericReport.TextProduct):
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
# product identifiers
|
# product identifiers
|
||||||
Definition["productName"] = "SPECIAL WEATHER STATEMENT" # product name
|
Definition["productName"] = "SPECIAL WEATHER STATEMENT" # product name
|
||||||
|
|
|
@ -65,7 +65,7 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
#Definition["productName"] = "FIRE WEATHER PLANNING FORECAST" # name of product
|
#Definition["productName"] = "FIRE WEATHER PLANNING FORECAST" # name of product
|
||||||
|
|
|
@ -63,7 +63,7 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
#Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER
|
#Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER
|
||||||
# creating AboveElev and BelowElev edit areas
|
# creating AboveElev and BelowElev edit areas
|
||||||
|
|
|
@ -53,6 +53,6 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,5 +53,5 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
#Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER
|
#Definition["tempLocalEffects"] = 1 # Set to 1 to enable Temp and RH local effects AFTER
|
||||||
# creating Inland and Coastal edit areas
|
# creating Inland and Coastal edit areas
|
||||||
#Definition["windLocalEffects"] = 1 # Set to 1 to enable wind local effects AFTER
|
#Definition["windLocalEffects"] = 1 # Set to 1 to enable wind local effects AFTER
|
||||||
|
|
|
@ -61,7 +61,7 @@ if "<site>" == "AFG":
|
||||||
elif "_<MultiPil>" == "_WCZ":
|
elif "_<MultiPil>" == "_WCZ":
|
||||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||||
"AKZ215","AKZ216","AKZ217"]
|
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||||
|
|
||||||
# Header configuration items
|
# Header configuration items
|
||||||
#Definition["productName"] = "ZONE FORECAST PRODUCT" # name of product
|
#Definition["productName"] = "ZONE FORECAST PRODUCT" # name of product
|
||||||
|
|
|
@ -121,7 +121,7 @@ class MasterInterface(object):
|
||||||
if self.isInstantiated(moduleName):
|
if self.isInstantiated(moduleName):
|
||||||
self.__instanceMap.__delitem__(moduleName)
|
self.__instanceMap.__delitem__(moduleName)
|
||||||
if sys.modules.has_key(moduleName):
|
if sys.modules.has_key(moduleName):
|
||||||
self.self.clearModuleAttributes(moduleName)
|
self.clearModuleAttributes(moduleName)
|
||||||
sys.modules.pop(moduleName)
|
sys.modules.pop(moduleName)
|
||||||
if moduleName in self.scripts:
|
if moduleName in self.scripts:
|
||||||
self.scripts.remove(moduleName)
|
self.scripts.remove(moduleName)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
784523397c693c38a7319113214883d08efaf5cc
|
c88d3613a39e17ebcd002b7464f1f7d68c89f86a
|
|
@ -1 +1 @@
|
||||||
784523397c693c38a7319113214883d08efaf5cc
|
c88d3613a39e17ebcd002b7464f1f7d68c89f86a
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,60 @@
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||||
|
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
|
||||||
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||||
|
|
||||||
|
<bean id="gpdDecoder" class="gov.noaa.nws.ncep.edex.plugin.gpd.decoder.GenericPointDataDecoder">
|
||||||
|
<property name="pluginName" value="gpd" />
|
||||||
|
</bean>
|
||||||
|
<bean id="gpdDistRegistry" factory-bean="distributionSrv"
|
||||||
|
factory-method="register">
|
||||||
|
<constructor-arg value="gpd" />
|
||||||
|
<constructor-arg value="jms-dist:queue:ingest.gpd" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="gpdCamelRegistered" factory-bean="contextManager"
|
||||||
|
factory-method="register" depends-on="persistCamelRegistered">
|
||||||
|
<constructor-arg ref="gpd-camel"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<camelContext id="gpd-camel"
|
||||||
|
xmlns="http://camel.apache.org/schema/spring"
|
||||||
|
errorHandlerRef="errorHandler"
|
||||||
|
autoStartup="false">
|
||||||
|
|
||||||
|
<endpoint id="gpdEndpoint" uri="file:${edex.home}/data/sbn/gpd?noop=true&idempotent=false" />
|
||||||
|
<route id="gpdFileConsumerRoute">
|
||||||
|
<from ref="gpdEndpoint" />
|
||||||
|
<bean ref="fileToString" />
|
||||||
|
<setHeader headerName="pluginName">
|
||||||
|
<constant>gpd</constant>
|
||||||
|
</setHeader>
|
||||||
|
<to uri="jms-generic:queue:ingest.gpd" />
|
||||||
|
</route>
|
||||||
|
|
||||||
|
|
||||||
|
<route id="gpdIngestRoute">
|
||||||
|
<from uri="jms-generic:queue:ingest.gpd" />
|
||||||
|
<setHeader headerName="pluginName">
|
||||||
|
<constant>gpd</constant>
|
||||||
|
</setHeader>
|
||||||
|
<bean ref="stringToFile" />
|
||||||
|
<doTry>
|
||||||
|
<pipeline>
|
||||||
|
<bean ref="gpdDecoder" method="decodeGempakProdFmSbn" />
|
||||||
|
<!-- multicast>
|
||||||
|
<to uri="directvm:persistIndexAlert" />
|
||||||
|
</multicast-->
|
||||||
|
</pipeline>
|
||||||
|
<doCatch>
|
||||||
|
<exception>java.lang.Throwable</exception>
|
||||||
|
<to uri="log:ncuair?level=ERROR" />
|
||||||
|
</doCatch>
|
||||||
|
</doTry>
|
||||||
|
|
||||||
|
</route>
|
||||||
|
|
||||||
|
</camelContext>
|
||||||
|
|
||||||
|
</beans>
|
|
@ -284,7 +284,8 @@ import org.apache.log4j.Logger;
|
||||||
//This method is much faster comparing to doBatchSeparate1. Only several header search is needed.
|
//This method is much faster comparing to doBatchSeparate1. Only several header search is needed.
|
||||||
private void doBatchSeparate(byte[] data ) {
|
private void doBatchSeparate(byte[] data ) {
|
||||||
/* Regex used for separate the bulletins */
|
/* Regex used for separate the bulletins */
|
||||||
System.out.println("Ncuair doBatchSeparate: input file size is " + data.length);
|
int dataLen = data.length;
|
||||||
|
//System.out.println("Ncuair doBatchSeparate: input file size is " + dataLen);
|
||||||
final String BULLSEPARATOR = "\\x01\\r\\r\\n\\d{3} \\r\\r\\n"+ WMO_HEADER;
|
final String BULLSEPARATOR = "\\x01\\r\\r\\n\\d{3} \\r\\r\\n"+ WMO_HEADER;
|
||||||
Pattern bullPattern;
|
Pattern bullPattern;
|
||||||
bullPattern = Pattern.compile(BULLSEPARATOR);
|
bullPattern = Pattern.compile(BULLSEPARATOR);
|
||||||
|
@ -293,40 +294,58 @@ import org.apache.log4j.Logger;
|
||||||
String msg ;
|
String msg ;
|
||||||
int batchSize = 230000; //separate data to batch size around 230000
|
int batchSize = 230000; //separate data to batch size around 230000
|
||||||
String batchStr;
|
String batchStr;
|
||||||
while(charCount < data.length){
|
//int count=0;
|
||||||
|
while(charCount < dataLen){
|
||||||
lastCharCount = charCount;
|
lastCharCount = charCount;
|
||||||
charCount = charCount+ batchSize;
|
charCount = charCount+ batchSize;
|
||||||
if(charCount < data.length){
|
//count++;
|
||||||
|
if(charCount < dataLen){
|
||||||
|
//System.out.println("1st substring begin @"+charCount);
|
||||||
msg = message.substring(charCount);
|
msg = message.substring(charCount);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// data bulletin is not ended at exactly 2300000 bytes for each batch
|
// data bulletin is not ended at exactly 2300000 bytes for each batch
|
||||||
// therefore, find the next header of bulletin and chop batch data at there
|
// therefore, find the next header of bulletin and chop batch data at there
|
||||||
Matcher bullMatcher = bullPattern.matcher(msg);
|
Matcher bullMatcher = bullPattern.matcher(msg);
|
||||||
if (bullMatcher.find()) {
|
if (bullMatcher.find()) {
|
||||||
|
|
||||||
int start = bullMatcher.start();
|
int start = bullMatcher.start();
|
||||||
charCount = charCount+ start;
|
charCount = charCount+ start;
|
||||||
batchStr= new String();
|
batchStr= new String();
|
||||||
|
//System.out.println("2nd substring begin @"+lastCharCount+ " end @"+charCount);
|
||||||
batchStr = message.substring(lastCharCount,charCount);
|
batchStr = message.substring(lastCharCount,charCount);
|
||||||
records.add(batchStr);
|
records.add(batchStr);
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// no header find, should be the end of the data
|
// no header find, should be the end of the data
|
||||||
batchStr= new String();
|
batchStr= new String();
|
||||||
batchStr = message.substring(lastCharCount,data.length);
|
//System.out.println("3rd substring begin @"+lastCharCount+ " end @"+(dataLen-1));
|
||||||
|
batchStr = message.substring(lastCharCount,dataLen-1);
|
||||||
records.add(batchStr);
|
records.add(batchStr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
if ( log.isInfoEnabled()) {
|
if ( log.isInfoEnabled()) {
|
||||||
log.info ("doBatchSeparate exception !");
|
log.info ("doBatchSeparate exception !" + e);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// should be the last batch of the data, just add them without search next header
|
// should be the last batch of the data, just add them without search next header
|
||||||
msg = message.substring(lastCharCount,data.length);
|
try{
|
||||||
|
//System.out.println("4th substring begin @"+lastCharCount+ " end @"+(dataLen-1));
|
||||||
|
msg = message.substring(lastCharCount,dataLen-1);
|
||||||
records.add(msg);
|
records.add(msg);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
if ( log.isInfoEnabled()) {
|
||||||
|
log.info ("doBatchSeparate last batch exception !"+e);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,223 @@
|
||||||
|
package gov.noaa.nws.ncep.ui.nsharp.display.rsc;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This code has been developed by the NCEP-SIB for use in the AWIPS2 system.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------- ------- -------- -----------
|
||||||
|
* 09/2013 Chin Chen Initial coding
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author Chin Chen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.eclipse.swt.graphics.RGB;
|
||||||
|
|
||||||
|
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IShadedShape;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IWireframeShape;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||||
|
import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode;
|
||||||
|
import com.vividsolutions.jts.geom.Coordinate;
|
||||||
|
import com.vividsolutions.jts.geom.LineString;
|
||||||
|
import com.vividsolutions.jts.linearref.LengthIndexedLine;
|
||||||
|
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.DisplayElementFactory;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.FillDisplayElement;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IDisplayable;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IVector;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.LineDisplayElement;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Chin Note: This class extends from PGEN's DisplayElementFactory. Its purpose is only for
|
||||||
|
* Nsharp to draw wind barb in SkewT display. As skewT has its own log scale coordination.
|
||||||
|
* The key word, CHANGED, is used to mark changes from original PGEN code.
|
||||||
|
*/
|
||||||
|
public class NsharpDisplayElementFactory extends DisplayElementFactory {
|
||||||
|
|
||||||
|
public NsharpDisplayElementFactory(IGraphicsTarget target,
|
||||||
|
IDescriptor iDescriptor) {
|
||||||
|
super(target, iDescriptor);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private ArrayList<IDisplayable> createWindBarb(IVector vect) {
|
||||||
|
double sfactor = deviceScale * vect.getSizeScale() * 10.;
|
||||||
|
IWireframeShape mask = null;
|
||||||
|
Color bgColor = new Color(0,0,0); // default black
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create the List to be returned, and wireframe shape
|
||||||
|
*/
|
||||||
|
ArrayList<IDisplayable> slist = new ArrayList<IDisplayable>();
|
||||||
|
IWireframeShape barb = target.createWireframeShape(false, iDescriptor);
|
||||||
|
IShadedShape flags = target.createShadedShape(false, iDescriptor, false);
|
||||||
|
if ( vect.hasBackgroundMask() ) {
|
||||||
|
mask = target.createWireframeShape(false, iDescriptor);
|
||||||
|
RGB bg = backgroundColor.getColor(BGColorMode.EDITOR);
|
||||||
|
bgColor = new Color(bg.red, bg.green, bg.blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get color for creating displayables.
|
||||||
|
*/
|
||||||
|
Color dspClr = getDisplayColor( vect.getColor() );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CHANGED: these 2 lines changed
|
||||||
|
*/
|
||||||
|
double[] start = { vect.getLocation().x, vect.getLocation().y, 0.0 };
|
||||||
|
//double[] start = iDescriptor.worldToPixel(tmp);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If calm wind, draw circle
|
||||||
|
*/
|
||||||
|
if ( vect.getSpeed() < 0.5 ) {
|
||||||
|
double[][] pts = calculateCircle(start,sfactor*0.1);
|
||||||
|
if ( vect.hasBackgroundMask() ) {
|
||||||
|
mask.addLineSegment(pts);
|
||||||
|
mask.compile();
|
||||||
|
slist.add( new LineDisplayElement(mask, bgColor, vect.getLineWidth() + (float)deviceScale) );
|
||||||
|
}
|
||||||
|
barb.addLineSegment(pts);
|
||||||
|
barb.compile();
|
||||||
|
slist.add( new LineDisplayElement(barb, dspClr, vect.getLineWidth()) );
|
||||||
|
return slist;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compute the number of flags, whole barbs and half barbs
|
||||||
|
* needed to represent the wind speed.
|
||||||
|
*/
|
||||||
|
int speed = (int)Math.floor(vect.getSpeed() + 2.5);
|
||||||
|
int numflags = speed / 50;
|
||||||
|
int remainder = speed % 50;
|
||||||
|
int numbarbs = remainder / 10;
|
||||||
|
remainder = remainder % 10;
|
||||||
|
int halfbarbs = remainder / 5;
|
||||||
|
|
||||||
|
double MAX_SEGMENTS = 6.0; // Maximum number of segments on original size barb
|
||||||
|
int numsegs = (2 * numflags) + numbarbs + halfbarbs;
|
||||||
|
double segmentSpacing = sfactor / MAX_SEGMENTS;
|
||||||
|
double windLength = segmentSpacing * Math.max( MAX_SEGMENTS, numsegs);
|
||||||
|
double barbLength = sfactor /3.0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* find the end point of the wind barb
|
||||||
|
*/
|
||||||
|
//CHANGED:this line changed
|
||||||
|
double angle = -90.0 + vect.getDirection();
|
||||||
|
double[] end = new double[3];
|
||||||
|
end[0] = start[0] + (windLength * Math.cos(Math.toRadians(angle)) );
|
||||||
|
end[1] = start[1] + (windLength * Math.sin(Math.toRadians(angle)) );
|
||||||
|
end[2] = 0.0;
|
||||||
|
//System.out.println("X0="+start[0]+" Y0="+start[1]+" X1="+end[0]+" Y1="+ end[1]);
|
||||||
|
|
||||||
|
barb.addLineSegment(new double[][] {start, end});
|
||||||
|
if ( vect.hasBackgroundMask() ) mask.addLineSegment(new double[][] {start, end});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create a LengthIndexedLine used to reference points along the path
|
||||||
|
* at specific distances
|
||||||
|
*/
|
||||||
|
LineString[] ls = toLineString(new Coordinate[] {new Coordinate(start[0],start[1]),
|
||||||
|
new Coordinate(end[0], end[1]) } );
|
||||||
|
LengthIndexedLine lil = new LengthIndexedLine(ls[0]);
|
||||||
|
double currentLoc = lil.getEndIndex(); // start from tail end
|
||||||
|
|
||||||
|
//TODO - orientation issues
|
||||||
|
double BARB_ANGLE = 70.0;
|
||||||
|
double barbAngle = angle + BARB_ANGLE;
|
||||||
|
if ( vect.getLocation().y < 0.0 ) barbAngle = angle - BARB_ANGLE;
|
||||||
|
double cosineBarbAngle = Math.cos(Math.toRadians(barbAngle));
|
||||||
|
double sineBarbAngle = Math.sin(Math.toRadians(barbAngle));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process flags
|
||||||
|
*/
|
||||||
|
for ( int j=0; j<numflags; j++) {
|
||||||
|
Coordinate coords[] = new Coordinate[4];
|
||||||
|
coords[0] = lil.extractPoint(currentLoc);
|
||||||
|
coords[1] = lil.extractPoint(currentLoc-segmentSpacing);
|
||||||
|
double xtip = coords[1].x + ( barbLength * cosineBarbAngle );
|
||||||
|
double ytip = coords[1].y + ( barbLength * sineBarbAngle );
|
||||||
|
coords[2] = new Coordinate(xtip,ytip);
|
||||||
|
coords[3] = coords[0];
|
||||||
|
LineString[] oneFlag = toLineString(coords);
|
||||||
|
flags.addPolygonPixelSpace(oneFlag, new RGB( dspClr.getRed(), dspClr.getGreen(), dspClr.getBlue()));
|
||||||
|
if ( vect.hasBackgroundMask() ) mask.addLineSegment(toDouble(coords));
|
||||||
|
currentLoc -= 2 * segmentSpacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process barbs
|
||||||
|
*/
|
||||||
|
for ( int j=0; j<numbarbs; j++) {
|
||||||
|
Coordinate coords[] = new Coordinate[2];
|
||||||
|
coords[0] = lil.extractPoint(currentLoc);
|
||||||
|
double xtip = coords[0].x + ( barbLength * cosineBarbAngle );
|
||||||
|
double ytip = coords[0].y + ( barbLength * sineBarbAngle );
|
||||||
|
coords[1] = new Coordinate(xtip,ytip);
|
||||||
|
double[][] pts = toDouble(coords);
|
||||||
|
barb.addLineSegment(pts);
|
||||||
|
if ( vect.hasBackgroundMask() ) mask.addLineSegment(pts);
|
||||||
|
currentLoc -= segmentSpacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process half barbs
|
||||||
|
*/
|
||||||
|
for ( int j=0; j<halfbarbs; j++) {
|
||||||
|
Coordinate coords[] = new Coordinate[2];
|
||||||
|
coords[0] = lil.extractPoint(currentLoc);
|
||||||
|
double xtip = coords[0].x + ( 0.5 * barbLength * cosineBarbAngle );
|
||||||
|
double ytip = coords[0].y + ( 0.5 * barbLength * sineBarbAngle );
|
||||||
|
coords[1] = new Coordinate(xtip,ytip);
|
||||||
|
double[][] pts = toDouble(coords);
|
||||||
|
barb.addLineSegment(pts);
|
||||||
|
if ( vect.hasBackgroundMask() ) mask.addLineSegment(pts);
|
||||||
|
currentLoc -= segmentSpacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( vect.hasBackgroundMask() ) {
|
||||||
|
mask.compile();
|
||||||
|
slist.add( new LineDisplayElement(mask, bgColor, vect.getLineWidth() + (float)deviceScale) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
flags.compile();
|
||||||
|
FillDisplayElement fde = new FillDisplayElement(flags, vect.getColor().getAlpha());
|
||||||
|
slist.add(fde);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* add shaft wireframe to return list
|
||||||
|
*/
|
||||||
|
barb.compile();
|
||||||
|
slist.add( new LineDisplayElement(barb, dspClr, vect.getLineWidth()) );
|
||||||
|
|
||||||
|
return slist;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
//CHANGED from original PGEN code to just handle wind barbs creation
|
||||||
|
public ArrayList<IDisplayable> createDisplayElements(IVector vect,
|
||||||
|
PaintProperties paintProps) {
|
||||||
|
setScales(paintProps);
|
||||||
|
|
||||||
|
ArrayList<IDisplayable> slist = createWindBarb(vect);
|
||||||
|
return slist;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -351,12 +351,15 @@ public class NsharpResourceHandler {
|
||||||
int stnIndex = stnElementList.indexOf(elm);
|
int stnIndex = stnElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm!=null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
|
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
setCurSndProfileProp();
|
setCurSndProfileProp();
|
||||||
setCurrentSoundingLayerInfo();
|
setCurrentSoundingLayerInfo();
|
||||||
resetData();
|
resetData();
|
||||||
|
@ -387,12 +390,15 @@ public class NsharpResourceHandler {
|
||||||
int sndIndex = sndElementList.indexOf(elm);
|
int sndIndex = sndElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
||||||
if(stnTmElm!=null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
|
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
setCurSndProfileProp();
|
setCurSndProfileProp();
|
||||||
setCurrentSoundingLayerInfo();
|
setCurrentSoundingLayerInfo();
|
||||||
resetData();
|
resetData();
|
||||||
|
@ -425,12 +431,15 @@ public class NsharpResourceHandler {
|
||||||
int tmIndex = timeElementList.indexOf(elm);
|
int tmIndex = timeElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm!=null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
|
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
setCurSndProfileProp();
|
setCurSndProfileProp();
|
||||||
setCurrentSoundingLayerInfo();
|
setCurrentSoundingLayerInfo();
|
||||||
resetData();
|
resetData();
|
||||||
|
@ -1201,6 +1210,9 @@ public class NsharpResourceHandler {
|
||||||
currentInsetPage = 1;
|
currentInsetPage = 1;
|
||||||
currentParcel = NsharpNativeConstants.PARCELTYPE_MOST_UNSTABLE;
|
currentParcel = NsharpNativeConstants.PARCELTYPE_MOST_UNSTABLE;
|
||||||
currentParcelLayerPressure = NsharpNativeConstants.MU_LAYER;
|
currentParcelLayerPressure = NsharpNativeConstants.MU_LAYER;
|
||||||
|
currentTimeElementListIndex = -1;
|
||||||
|
currentStnElementListIndex = -1;
|
||||||
|
currentSndElementListIndex = -1;
|
||||||
resetData();
|
resetData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1409,12 +1421,12 @@ public class NsharpResourceHandler {
|
||||||
Set<String> keyset= new HashSet<String>(soundMap.keySet());
|
Set<String> keyset= new HashSet<String>(soundMap.keySet());
|
||||||
for(String key: keyset) {
|
for(String key: keyset) {
|
||||||
List<NcSoundingLayer> sndLy = soundMap.remove(key);
|
List<NcSoundingLayer> sndLy = soundMap.remove(key);
|
||||||
String newkey= key.replace("NAMS", "GOOGLE");
|
String newkey= key.replace("NCUAIR", "gpduair");
|
||||||
//String newkey= key.replace("GFSS", "NAMS");
|
//String newkey= key.replace("GFSS", "NAMS");
|
||||||
//newkey = newkey.replace("KSLN", "KFSD");
|
//String newkey = key.replace("OAK", "KFSD");
|
||||||
soundMap.put(newkey, sndLy);
|
soundMap.put(newkey, sndLy);
|
||||||
}
|
}
|
||||||
stnInfo.setSndType(stnInfo.getSndType().replace("NAMS", "GOOGLE"));
|
stnInfo.setSndType(stnInfo.getSndType().replace("NCUAIR", "gpduair"));
|
||||||
//stnInfo.setSndType(stnInfo.getSndType().replace("GFSS", "NAMS"));
|
//stnInfo.setSndType(stnInfo.getSndType().replace("GFSS", "NAMS"));
|
||||||
}//*/
|
}//*/
|
||||||
|
|
||||||
|
@ -1803,6 +1815,9 @@ public class NsharpResourceHandler {
|
||||||
case FIRST: //the oldest time, set to dataTimelineList.length, so in while loop, it starts from dataTimelineList.length-1
|
case FIRST: //the oldest time, set to dataTimelineList.length, so in while loop, it starts from dataTimelineList.length-1
|
||||||
targetIndex = timeElementList.size();
|
targetIndex = timeElementList.size();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int counter=0;
|
int counter=0;
|
||||||
|
@ -1824,6 +1839,8 @@ public class NsharpResourceHandler {
|
||||||
targetIndex--;
|
targetIndex--;
|
||||||
targetIndex = targetIndex % this.timeElementList.size();
|
targetIndex = targetIndex % this.timeElementList.size();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
counter++;
|
counter++;
|
||||||
if(counter >= timeElementList.size())
|
if(counter >= timeElementList.size())
|
||||||
|
@ -1860,12 +1877,15 @@ public class NsharpResourceHandler {
|
||||||
int stnIndex = stnElementList.indexOf(elm);
|
int stnIndex = stnElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(targetIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(targetIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm != null){
|
if(stnTmElm != null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
|
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//no matter we find current stn or not
|
//no matter we find current stn or not
|
||||||
//we should get out of here
|
//we should get out of here
|
||||||
break;
|
break;
|
||||||
|
@ -1897,12 +1917,12 @@ public class NsharpResourceHandler {
|
||||||
continue;
|
continue;
|
||||||
int sndIndex = sndElementList.indexOf(elm);
|
int sndIndex = sndElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(targetIndex).get(sndIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(targetIndex).get(sndIndex);
|
||||||
if(stnTmElm !=null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//no matter we find current snd type for this stn or not
|
//no matter we find current snd type for this stn or not
|
||||||
|
@ -1943,6 +1963,9 @@ public class NsharpResourceHandler {
|
||||||
currentStnElementListIndex++;
|
currentStnElementListIndex++;
|
||||||
currentStnElementListIndex = currentStnElementListIndex % this.stnElementList.size();
|
currentStnElementListIndex = currentStnElementListIndex % this.stnElementList.size();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
counter++;
|
counter++;
|
||||||
//System.out.println("counter = "+ counter);
|
//System.out.println("counter = "+ counter);
|
||||||
|
@ -1981,14 +2004,15 @@ public class NsharpResourceHandler {
|
||||||
continue;
|
continue;
|
||||||
int tmIndex = timeElementList.indexOf(elm);
|
int tmIndex = timeElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm != null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//no matter we find current time line for this stn or not
|
//no matter we find current time line for this stn or not
|
||||||
//we should get out of here
|
//we should get out of here
|
||||||
break;
|
break;
|
||||||
|
@ -2020,12 +2044,12 @@ public class NsharpResourceHandler {
|
||||||
continue;
|
continue;
|
||||||
int sndIndex = sndElementList.indexOf(elm);
|
int sndIndex = sndElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
||||||
if(stnTmElm !=null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//no matter we find current snd type for this stn or not
|
//no matter we find current snd type for this stn or not
|
||||||
|
@ -2065,6 +2089,9 @@ public class NsharpResourceHandler {
|
||||||
currentSndElementListIndex++;
|
currentSndElementListIndex++;
|
||||||
currentSndElementListIndex = currentSndElementListIndex % this.sndElementList.size();
|
currentSndElementListIndex = currentSndElementListIndex % this.sndElementList.size();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
counter++;
|
counter++;
|
||||||
//System.out.println("counter = "+ counter);
|
//System.out.println("counter = "+ counter);
|
||||||
|
@ -2103,12 +2130,12 @@ public class NsharpResourceHandler {
|
||||||
continue;
|
continue;
|
||||||
int tmIndex = timeElementList.indexOf(elm);
|
int tmIndex = timeElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm != null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//no matter we find current time line for this stn or not
|
//no matter we find current time line for this stn or not
|
||||||
|
@ -2140,11 +2167,13 @@ public class NsharpResourceHandler {
|
||||||
for(NsharpOperationElement elm: stnElementList) {
|
for(NsharpOperationElement elm: stnElementList) {
|
||||||
int stnIndex = stnElementList.indexOf(elm);
|
int stnIndex = stnElementList.indexOf(elm);
|
||||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
||||||
if(stnTmElm != null){
|
if(stnTmElm!=null){
|
||||||
stnTmElm.setCompColorIndex(colorIndex++);
|
stnTmElm.setCompColorIndex(colorIndex);
|
||||||
|
}
|
||||||
|
colorIndex++;
|
||||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||||
colorIndex = NsharpConstants.LINE_COMP1;
|
colorIndex = NsharpConstants.LINE_COMP1;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//no matter we find current stn or not
|
//no matter we find current stn or not
|
||||||
|
|
|
@ -861,7 +861,8 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
||||||
Color[] colors = new Color[1];
|
Color[] colors = new Color[1];
|
||||||
Color color = new Color(icolor.red, icolor.green, icolor.blue);
|
Color color = new Color(icolor.red, icolor.green, icolor.blue);
|
||||||
colors[0]= color;
|
colors[0]= color;
|
||||||
DisplayElementFactory df = new DisplayElementFactory (target, this.descriptor);
|
//DisplayElementFactory df = new DisplayElementFactory (target, this.descriptor);
|
||||||
|
NsharpDisplayElementFactory df = new NsharpDisplayElementFactory (target, this.descriptor);
|
||||||
ArrayList<IDisplayable> elements = new ArrayList<IDisplayable> ();
|
ArrayList<IDisplayable> elements = new ArrayList<IDisplayable> ();
|
||||||
|
|
||||||
float wbSize = graphConfigProperty.getWindBarbSize();
|
float wbSize = graphConfigProperty.getWindBarbSize();
|
||||||
|
@ -909,7 +910,6 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
||||||
Vector vect= new Vector();
|
Vector vect= new Vector();
|
||||||
vect.setVectorType(VectorType.WIND_BARB);
|
vect.setVectorType(VectorType.WIND_BARB);
|
||||||
vect.setArrowHeadSize(1.0);
|
vect.setArrowHeadSize(1.0);
|
||||||
dir= (dir+180.0f)%360.0f;
|
|
||||||
vect.setDirection(dir);
|
vect.setDirection(dir);
|
||||||
vect.setSpeed(spd);
|
vect.setSpeed(spd);
|
||||||
vect.setSizeScale(curWbSize);
|
vect.setSizeScale(curWbSize);
|
||||||
|
|
|
@ -551,7 +551,7 @@ public class NsharpTimeStnPaneResource extends NsharpAbstractPaneResource{
|
||||||
if(numStnToShow <1)
|
if(numStnToShow <1)
|
||||||
numStnToShow=1;
|
numStnToShow=1;
|
||||||
}
|
}
|
||||||
int startIndex = (rscHandler.getCurStnIdPage()-1) * numStnToShow;
|
int startIndex = (rscHandler.getCurSndPage()-1) * numStnToShow;
|
||||||
if(startIndex<0)
|
if(startIndex<0)
|
||||||
startIndex =0;
|
startIndex =0;
|
||||||
int colorIndex;
|
int colorIndex;
|
||||||
|
|
|
@ -99,7 +99,8 @@ import com.vividsolutions.jts.geom.Polygon;
|
||||||
* 03/12 #676 Q. Zhou Added Issue Office dropdown list.
|
* 03/12 #676 Q. Zhou Added Issue Office dropdown list.
|
||||||
* 08/12 #612 S. Gurung Fixed issue related to conversion of phenom Lat/Lon to prepended format
|
* 08/12 #612 S. Gurung Fixed issue related to conversion of phenom Lat/Lon to prepended format
|
||||||
* 03/13 #928 B. Yin Made the button bar smaller.
|
* 03/13 #928 B. Yin Made the button bar smaller.
|
||||||
* 04/29 #977 S. Gilbert PGEN Database support
|
* 04/13 #977 S. Gilbert PGEN Database support
|
||||||
|
* 09/13 TTR656 J. Wu Display for INTL_SIGMET converted from VGF.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author gzhang
|
* @author gzhang
|
||||||
|
@ -1395,9 +1396,13 @@ public class SigmetAttrDlg extends AttrDlg implements ISigmet {
|
||||||
final Coordinate[] coors = (elSelected == null) ? null : elSelected
|
final Coordinate[] coors = (elSelected == null) ? null : elSelected
|
||||||
.getPoints().toArray(new Coordinate[] {});
|
.getPoints().toArray(new Coordinate[] {});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Added "trim()" since SIGMETs VGFs has no "editableAttrFromLine" and it is
|
||||||
|
* defaulted as " " when converted into XML - (J. Wu).
|
||||||
|
*/
|
||||||
if (coors != null) {
|
if (coors != null) {
|
||||||
if (editableAttrFromLine == null
|
if (editableAttrFromLine == null
|
||||||
|| editableAttrFromLine.equals("")) {
|
|| editableAttrFromLine.trim().equals("")) {
|
||||||
coorsLatLon.append(getLatLonStringPrepend2(coors,
|
coorsLatLon.append(getLatLonStringPrepend2(coors,
|
||||||
AREA.equals(((Sigmet) elSelected).getType())));
|
AREA.equals(((Sigmet) elSelected).getType())));
|
||||||
resetText(coorsLatLon.toString(), txtInfo);
|
resetText(coorsLatLon.toString(), txtInfo);
|
||||||
|
|
|
@ -7,6 +7,50 @@
|
||||||
*/
|
*/
|
||||||
package gov.noaa.nws.ncep.ui.pgen.display;
|
package gov.noaa.nws.ncep.ui.pgen.display;
|
||||||
|
|
||||||
|
import gov.noaa.nws.ncep.common.staticdata.SPCCounty;
|
||||||
|
import gov.noaa.nws.ncep.edex.common.stationTables.Station;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.PgenUtil;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.attrdialog.vaadialog.CcfpAttrDlg;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.contours.ContourCircle;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.contours.ContourLine;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.contours.ContourMinmax;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.ArrowHead.ArrowHeadType;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.CornerPatternApplicator.CornerPattern;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.FillPatternList.FillPattern;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IAvnText.AviationTextType;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IText.DisplayType;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IText.FontStyle;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IText.TextJustification;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.IText.TextRotation;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.display.PatternSegment.PatternType;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.AbstractDrawableComponent;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.Arc;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.ComboSymbol;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.DECollection;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.DrawableElement;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.Line;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.Symbol;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.SymbolLocationSet;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.Text;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcm;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcmFcst;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcmWindQuarter;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.TcmFcst;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.gfa.Gfa;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.gfa.GfaClip;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.gfa.IGfa;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.AbstractSigmet;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.CcfpInfo;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.ISigmet;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.SigmetInfo;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.VaaInfo;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.sigmet.Volcano;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.tca.BPGeography;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.tca.ITca;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.tca.TropicalCycloneAdvisory;
|
||||||
|
import gov.noaa.nws.ncep.ui.pgen.tca.WaterBreakpoint;
|
||||||
|
import gov.noaa.nws.ncep.viz.common.SnapUtil;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
|
@ -28,45 +72,6 @@ import org.eclipse.swt.graphics.Rectangle;
|
||||||
import org.geotools.referencing.GeodeticCalculator;
|
import org.geotools.referencing.GeodeticCalculator;
|
||||||
import org.geotools.referencing.datum.DefaultEllipsoid;
|
import org.geotools.referencing.datum.DefaultEllipsoid;
|
||||||
|
|
||||||
import gov.noaa.nws.ncep.common.staticdata.SPCCounty;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.stationTables.Station;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.PgenUtil;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.CornerPatternApplicator.CornerPattern;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.FillPatternList.FillPattern;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.IAvnText.AviationTextType;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.IText.DisplayType;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.IText.FontStyle;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.IText.TextJustification;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.IText.TextRotation;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.ArrowHead.ArrowHeadType;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.AbstractDrawableComponent;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Arc;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.ComboSymbol;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.DECollection;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.DrawableElement;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Line;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Symbol;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.SymbolLocationSet;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Text;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcm;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcmFcst;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.TcmFcst;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.tcm.ITcmWindQuarter;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.gfa.Gfa;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.gfa.GfaClip;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.gfa.IGfa;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.tca.BPGeography;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.tca.ITca;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.tca.TropicalCycloneAdvisory;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.tca.WaterBreakpoint;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.sigmet.*;//SigmetInfo;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.attrdialog.vaadialog.CcfpAttrDlg;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.display.PatternSegment.PatternType;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.contours.ContourLine;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.contours.ContourMinmax;
|
|
||||||
import gov.noaa.nws.ncep.ui.pgen.contours.ContourCircle;
|
|
||||||
import gov.noaa.nws.ncep.viz.common.SnapUtil;
|
|
||||||
|
|
||||||
import com.raytheon.uf.common.geospatial.util.WorldWrapCorrector;
|
import com.raytheon.uf.common.geospatial.util.WorldWrapCorrector;
|
||||||
import com.raytheon.uf.viz.core.DrawableString;
|
import com.raytheon.uf.viz.core.DrawableString;
|
||||||
import com.raytheon.uf.viz.core.IExtent;
|
import com.raytheon.uf.viz.core.IExtent;
|
||||||
|
@ -76,21 +81,19 @@ import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
||||||
import com.raytheon.uf.viz.core.PixelExtent;
|
import com.raytheon.uf.viz.core.PixelExtent;
|
||||||
import com.raytheon.uf.viz.core.data.IRenderedImageCallback;
|
import com.raytheon.uf.viz.core.data.IRenderedImageCallback;
|
||||||
import com.raytheon.uf.viz.core.data.prep.IODataPreparer;
|
|
||||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||||
import com.raytheon.uf.viz.core.drawables.IFont;
|
import com.raytheon.uf.viz.core.drawables.IFont;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IFont.Style;
|
||||||
import com.raytheon.uf.viz.core.drawables.IImage;
|
import com.raytheon.uf.viz.core.drawables.IImage;
|
||||||
import com.raytheon.uf.viz.core.drawables.IShadedShape;
|
import com.raytheon.uf.viz.core.drawables.IShadedShape;
|
||||||
import com.raytheon.uf.viz.core.drawables.IWireframeShape;
|
import com.raytheon.uf.viz.core.drawables.IWireframeShape;
|
||||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||||
import com.raytheon.uf.viz.core.drawables.IFont.Style;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||||
import com.raytheon.viz.core.rsc.jts.JTSCompiler;
|
import com.raytheon.viz.core.rsc.jts.JTSCompiler;
|
||||||
import com.raytheon.viz.core.rsc.jts.JTSCompiler.PointStyle;
|
import com.raytheon.viz.core.rsc.jts.JTSCompiler.PointStyle;
|
||||||
import com.raytheon.viz.ui.color.BackgroundColor;
|
import com.raytheon.viz.ui.color.BackgroundColor;
|
||||||
import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode;
|
import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode;
|
||||||
|
|
||||||
import com.vividsolutions.jts.geom.Coordinate;
|
import com.vividsolutions.jts.geom.Coordinate;
|
||||||
import com.vividsolutions.jts.geom.Geometry;
|
import com.vividsolutions.jts.geom.Geometry;
|
||||||
import com.vividsolutions.jts.geom.GeometryCollection;
|
import com.vividsolutions.jts.geom.GeometryCollection;
|
||||||
|
@ -105,6 +108,7 @@ import com.vividsolutions.jts.linearref.LengthLocationMap;
|
||||||
import com.vividsolutions.jts.linearref.LinearLocation;
|
import com.vividsolutions.jts.linearref.LinearLocation;
|
||||||
import com.vividsolutions.jts.linearref.LocationIndexedLine;
|
import com.vividsolutions.jts.linearref.LocationIndexedLine;
|
||||||
import com.vividsolutions.jts.operation.distance.DistanceOp;
|
import com.vividsolutions.jts.operation.distance.DistanceOp;
|
||||||
|
//SigmetInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This factory class is used to create IDisplayable elements from IMultiPoint
|
* This factory class is used to create IDisplayable elements from IMultiPoint
|
||||||
|
@ -132,6 +136,8 @@ import com.vividsolutions.jts.operation.distance.DistanceOp;
|
||||||
* 11/12 #901/917 J. Wu Set the symbol in GFA text box in proper location/size
|
* 11/12 #901/917 J. Wu Set the symbol in GFA text box in proper location/size
|
||||||
* 05/13 Chin Chen use IDescriptor instead of IMapDescriptor for used by Nsharp wind barb drawing
|
* 05/13 Chin Chen use IDescriptor instead of IMapDescriptor for used by Nsharp wind barb drawing
|
||||||
* 07/13 #988 Archana added createDisplayElements() to add all symbols in the same color to a single wire-frame.
|
* 07/13 #988 Archana added createDisplayElements() to add all symbols in the same color to a single wire-frame.
|
||||||
|
* 09/23/13 Chin Chen changed several private variables/methods to protected, for NsharpDisplayElementFactory now extend from
|
||||||
|
* this class
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author sgilbert
|
* @author sgilbert
|
||||||
|
@ -147,12 +153,12 @@ public class DisplayElementFactory {
|
||||||
/**
|
/**
|
||||||
* Graphics Target used to create the Wireframe and Shaded shapes
|
* Graphics Target used to create the Wireframe and Shaded shapes
|
||||||
*/
|
*/
|
||||||
private IGraphicsTarget target;
|
protected IGraphicsTarget target;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Map Descriptor used for Lat/Lon to pixel coordinate transformations
|
* Map Descriptor used for Lat/Lon to pixel coordinate transformations
|
||||||
*/
|
*/
|
||||||
private IDescriptor/*IMapDescriptor*/ iDescriptor;
|
protected IDescriptor/*IMapDescriptor*/ iDescriptor;
|
||||||
private GeometryFactory gf;
|
private GeometryFactory gf;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -167,7 +173,7 @@ public class DisplayElementFactory {
|
||||||
private IWireframeShape sym;
|
private IWireframeShape sym;
|
||||||
|
|
||||||
private ILine elem;
|
private ILine elem;
|
||||||
private double deviceScale = 25.0; // default scale factor for GL device
|
protected double deviceScale = 25.0; // default scale factor for GL device
|
||||||
private double symbolScale = 0.65;
|
private double symbolScale = 0.65;
|
||||||
private double screenToExtent = 1.0;
|
private double screenToExtent = 1.0;
|
||||||
double screenToWorldRatio = 1.0;
|
double screenToWorldRatio = 1.0;
|
||||||
|
@ -181,7 +187,7 @@ public class DisplayElementFactory {
|
||||||
private Color layerColor = null;
|
private Color layerColor = null;
|
||||||
private Boolean layerFilled = false;
|
private Boolean layerFilled = false;
|
||||||
|
|
||||||
private BackgroundColor backgroundColor = BackgroundColor.getActivePerspectiveInstance();
|
protected BackgroundColor backgroundColor = BackgroundColor.getActivePerspectiveInstance();
|
||||||
|
|
||||||
class SymbolImageCallback implements IRenderedImageCallback {
|
class SymbolImageCallback implements IRenderedImageCallback {
|
||||||
private String patternName;
|
private String patternName;
|
||||||
|
@ -3106,7 +3112,7 @@ public class DisplayElementFactory {
|
||||||
* @param coords - input data points
|
* @param coords - input data points
|
||||||
* @return data points in new format
|
* @return data points in new format
|
||||||
*/
|
*/
|
||||||
private double[][] toDouble( Coordinate[] coords) {
|
protected double[][] toDouble( Coordinate[] coords) {
|
||||||
|
|
||||||
double[][] dpts = new double[coords.length][3];
|
double[][] dpts = new double[coords.length][3];
|
||||||
|
|
||||||
|
@ -3123,7 +3129,7 @@ public class DisplayElementFactory {
|
||||||
* @param coords - input data points
|
* @param coords - input data points
|
||||||
* @return data points in new format
|
* @return data points in new format
|
||||||
*/
|
*/
|
||||||
private LineString[] toLineString ( Coordinate[] coords ) {
|
protected LineString[] toLineString ( Coordinate[] coords ) {
|
||||||
|
|
||||||
LineString[] ls = new LineString[] { gf.createLineString(coords) };
|
LineString[] ls = new LineString[] { gf.createLineString(coords) };
|
||||||
return ls;
|
return ls;
|
||||||
|
@ -3134,7 +3140,7 @@ public class DisplayElementFactory {
|
||||||
* @param coords - input data points
|
* @param coords - input data points
|
||||||
* @return data points in new format
|
* @return data points in new format
|
||||||
*/
|
*/
|
||||||
private LineString[] toLineString ( double[][] points ) {
|
protected LineString[] toLineString ( double[][] points ) {
|
||||||
|
|
||||||
Coordinate[] coords = new Coordinate[points.length];
|
Coordinate[] coords = new Coordinate[points.length];
|
||||||
for ( int j=0; j<points.length; j++) {
|
for ( int j=0; j<points.length; j++) {
|
||||||
|
@ -3240,7 +3246,7 @@ public class DisplayElementFactory {
|
||||||
* the size of something from screen relative to pixel relative
|
* the size of something from screen relative to pixel relative
|
||||||
* @param props The paint properties associated with the target
|
* @param props The paint properties associated with the target
|
||||||
*/
|
*/
|
||||||
private void setScales(PaintProperties props) {
|
protected void setScales(PaintProperties props) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sets the device scale factor based on the current pixel extent
|
* Sets the device scale factor based on the current pixel extent
|
||||||
|
@ -4031,7 +4037,7 @@ public class DisplayElementFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private double[][] calculateCircle(double[] center, double radius) {
|
protected double[][] calculateCircle(double[] center, double radius) {
|
||||||
|
|
||||||
int numpts = 16;
|
int numpts = 16;
|
||||||
double[][] arcpts =new double[numpts+1][3];
|
double[][] arcpts =new double[numpts+1][3];
|
||||||
|
@ -4095,7 +4101,7 @@ public class DisplayElementFactory {
|
||||||
/**
|
/**
|
||||||
* Get the colors for displaying an element.
|
* Get the colors for displaying an element.
|
||||||
*/
|
*/
|
||||||
private Color[] getDisplayColors( Color[] clr ) {
|
protected Color[] getDisplayColors( Color[] clr ) {
|
||||||
|
|
||||||
Color[] newClr = new Color[ clr.length ];
|
Color[] newClr = new Color[ clr.length ];
|
||||||
|
|
||||||
|
@ -4115,7 +4121,7 @@ public class DisplayElementFactory {
|
||||||
/**
|
/**
|
||||||
* Get the colors for displaying an element.
|
* Get the colors for displaying an element.
|
||||||
*/
|
*/
|
||||||
private Color getDisplayColor( Color clr ) {
|
protected Color getDisplayColor( Color clr ) {
|
||||||
|
|
||||||
if ( layerMonoColor && layerColor != null ) {
|
if ( layerMonoColor && layerColor != null ) {
|
||||||
return layerColor;
|
return layerColor;
|
||||||
|
|
|
@ -12,7 +12,7 @@ import gov.noaa.nws.ncep.ui.pgen.PgenUtil;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.attrdialog.AttrSettings;
|
import gov.noaa.nws.ncep.ui.pgen.attrdialog.AttrSettings;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.attrdialog.GfaAttrDlg;
|
import gov.noaa.nws.ncep.ui.pgen.attrdialog.GfaAttrDlg;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.attrdialog.OutlookAttrDlg;
|
import gov.noaa.nws.ncep.ui.pgen.attrdialog.OutlookAttrDlg;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.controls.PgenFileManageDialog;
|
import gov.noaa.nws.ncep.ui.pgen.controls.StoreActivityDialog;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Layer;
|
import gov.noaa.nws.ncep.ui.pgen.elements.Layer;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.Product;
|
import gov.noaa.nws.ncep.ui.pgen.elements.Product;
|
||||||
import gov.noaa.nws.ncep.ui.pgen.elements.ProductInfo;
|
import gov.noaa.nws.ncep.ui.pgen.elements.ProductInfo;
|
||||||
|
@ -71,6 +71,7 @@ import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
* unless the user selects them.
|
* unless the user selects them.
|
||||||
* 06/12 TTR559 B. Yin Link the layer name to Outlook type
|
* 06/12 TTR559 B. Yin Link the layer name to Outlook type
|
||||||
* 12/12 #937 J. Wu Update G_Airmet layers/hazard - "C&V"
|
* 12/12 #937 J. Wu Update G_Airmet layers/hazard - "C&V"
|
||||||
|
* 09/13 ? J. Wu Use new "StoreActivityDialog" at exit.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -1274,18 +1275,17 @@ public class ProductManageDialog extends ProductDialog {
|
||||||
|
|
||||||
if ( confirmDlg.getReturnCode() == MessageDialog.OK ) {
|
if ( confirmDlg.getReturnCode() == MessageDialog.OK ) {
|
||||||
|
|
||||||
PgenFileManageDialog file_dlg = null;
|
StoreActivityDialog storeDlg = null;
|
||||||
|
if ( storeDlg == null ) {
|
||||||
if ( file_dlg == null ) {
|
|
||||||
try {
|
try {
|
||||||
file_dlg = new PgenFileManageDialog( shell, "Save" );
|
storeDlg = new StoreActivityDialog( shell, "Save As" );
|
||||||
}
|
}
|
||||||
catch (VizException e) {
|
catch (VizException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( file_dlg != null ) file_dlg.open();
|
if ( storeDlg != null ) storeDlg.open();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,9 @@ import com.vividsolutions.jts.geom.Point;
|
||||||
* 04/13 #927 B. Yin Moved from the PgenSelectingTool class
|
* 04/13 #927 B. Yin Moved from the PgenSelectingTool class
|
||||||
* 05/13 #994 J. Wu Removed "DEL" - make it same as "Ctrl+X"
|
* 05/13 #994 J. Wu Removed "DEL" - make it same as "Ctrl+X"
|
||||||
* 07/13 ? J. Wu Set the "otherTextLastUsed for GFA.
|
* 07/13 ? J. Wu Set the "otherTextLastUsed for GFA.
|
||||||
|
* 09/13 ? J. Wu Call buildVortext for GFA when mouse is
|
||||||
|
* down since GFA converted from VGF does not
|
||||||
|
* have vorText set.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -406,6 +409,10 @@ public class PgenSelectHandler extends InputHandlerDefaultImpl {
|
||||||
} else if(attrDlg instanceof GfaAttrDlg){
|
} else if(attrDlg instanceof GfaAttrDlg){
|
||||||
((GfaAttrDlg)attrDlg).setOtherTextLastUsed( elSelected.getForecastHours() );
|
((GfaAttrDlg)attrDlg).setOtherTextLastUsed( elSelected.getForecastHours() );
|
||||||
((GfaAttrDlg)attrDlg).redrawHazardSpecificPanel();
|
((GfaAttrDlg)attrDlg).redrawHazardSpecificPanel();
|
||||||
|
if ( ((Gfa)elSelected).getGfaVorText() == null ||
|
||||||
|
((Gfa)elSelected).getGfaVorText().length() < 1 ) {
|
||||||
|
((Gfa)elSelected).setGfaVorText( Gfa.buildVorText( (Gfa)elSelected ) );
|
||||||
|
}
|
||||||
attrDlg.setAttrForDlg( elSelected );
|
attrDlg.setAttrForDlg( elSelected );
|
||||||
((GfaAttrDlg)attrDlg).enableMoveTextBtn(true);
|
((GfaAttrDlg)attrDlg).enableMoveTextBtn(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<resourceCategory>RADAR</resourceCategory>
|
<resourceCategory>RADAR</resourceCategory>
|
||||||
<resourceParameters>
|
<resourceParameters>
|
||||||
pluginName=radar
|
pluginName=radar
|
||||||
format=Radial,Raster,Graphic
|
format=Radial,Raster
|
||||||
legendColor=RGB {200, 200, 200}
|
legendColor=RGB {200, 200, 200}
|
||||||
</resourceParameters>
|
</resourceParameters>
|
||||||
<rscImplementation>LocalRadar</rscImplementation>
|
<rscImplementation>LocalRadar</rscImplementation>
|
||||||
|
|
|
@ -47,7 +47,12 @@ wrapper.search.java.classpath.2=${QPID_HOME}/lib/opt/qpid-deps
|
||||||
|
|
||||||
# garbage collection settings
|
# garbage collection settings
|
||||||
wrapper.java.additional.gc.1=-XX:+UseConcMarkSweepGC
|
wrapper.java.additional.gc.1=-XX:+UseConcMarkSweepGC
|
||||||
wrapper.java.additional.gc.2=-XX:+HeapDumpOnOutOfMemoryError
|
wrapper.java.additional.gc.2=-XX:+CMSIncrementalMode
|
||||||
|
wrapper.java.additional.gc.3=-XX:NewSize=400m
|
||||||
|
wrapper.java.additional.gc.4=-XX:MaxNewSize=400m
|
||||||
|
wrapper.java.additional.gc.5=-XX:SurvivorRatio=4
|
||||||
|
wrapper.java.additional.gc.6=-XX:+HeapDumpOnOutOfMemoryError
|
||||||
|
wrapper.java.additional.gc.7=-XX:HeapDumpPath=/data/fxa/qpid
|
||||||
|
|
||||||
# the main qpid java class that will be started
|
# the main qpid java class that will be started
|
||||||
wrapper.java.app.mainclass=org.apache.qpid.server.Main
|
wrapper.java.app.mainclass=org.apache.qpid.server.Main
|
||||||
|
@ -95,7 +100,7 @@ wrapper.console.format=M
|
||||||
wrapper.logfile=${QPID_HOME}/log/qpid-wrapper-YYYYMMDD.log
|
wrapper.logfile=${QPID_HOME}/log/qpid-wrapper-YYYYMMDD.log
|
||||||
|
|
||||||
# Format of output for the log file. (See docs for formats)
|
# Format of output for the log file. (See docs for formats)
|
||||||
wrapper.logfile.format=M
|
wrapper.logfile.format=LTM
|
||||||
|
|
||||||
# Log Level for log file output. (See docs for log levels)
|
# Log Level for log file output. (See docs for log levels)
|
||||||
wrapper.logfile.loglevel=INFO
|
wrapper.logfile.loglevel=INFO
|
||||||
|
|
|
@ -85,28 +85,28 @@ if [ "${2}" = "-nobinlightning" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1}" = "-python-qpid" ]; then
|
if [ "${1}" = "-python-qpid" ]; then
|
||||||
# buildRPM "awips2"
|
buildRPM "awips2"
|
||||||
# buildRPM "awips2-python-qpid"
|
buildRPM "awips2-python-qpid"
|
||||||
# buildRPM "awips2-python"
|
buildRPM "awips2-python"
|
||||||
# buildRPM "awips2-python-cherrypy"
|
buildRPM "awips2-python-cherrypy"
|
||||||
buildRPM "awips2-python-dynamicserialize"
|
buildRPM "awips2-python-dynamicserialize"
|
||||||
# buildRPM "awips2-python-nose"
|
buildRPM "awips2-python-nose"
|
||||||
# buildRPM "awips2-python-numpy"
|
buildRPM "awips2-python-numpy"
|
||||||
# buildRPM "awips2-python-h5py"
|
buildRPM "awips2-python-h5py"
|
||||||
# buildRPM "awips2-python-jimporter"
|
buildRPM "awips2-python-jimporter"
|
||||||
# buildRPM "awips2-python-matplotlib"
|
buildRPM "awips2-python-matplotlib"
|
||||||
# buildRPM "awips2-python-pil"
|
buildRPM "awips2-python-pil"
|
||||||
# buildRPM "awips2-python-pmw"
|
buildRPM "awips2-python-pmw"
|
||||||
# buildRPM "awips2-python-pupynere"
|
buildRPM "awips2-python-pupynere"
|
||||||
# buildRPM "awips2-python-scientific"
|
buildRPM "awips2-python-scientific"
|
||||||
# buildRPM "awips2-python-scipy"
|
buildRPM "awips2-python-scipy"
|
||||||
# buildRPM "awips2-python-tables"
|
buildRPM "awips2-python-tables"
|
||||||
# buildRPM "awips2-python-thrift"
|
buildRPM "awips2-python-thrift"
|
||||||
# buildRPM "awips2-python-tpg"
|
buildRPM "awips2-python-tpg"
|
||||||
# buildRPM "awips2-python-ufpy"
|
buildRPM "awips2-python-ufpy"
|
||||||
# buildRPM "awips2-python-werkzeug"
|
buildRPM "awips2-python-werkzeug"
|
||||||
# buildRPM "awips2-python-pygtk"
|
buildRPM "awips2-python-pygtk"
|
||||||
# buildRPM "awips2-python-pycairo"
|
buildRPM "awips2-python-pycairo"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -360,11 +360,9 @@ if [ "${1}" = "-ade" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1}" = "-viz" ]; then
|
if [ "${1}" = "-viz" ]; then
|
||||||
buildRPM "awips2"
|
|
||||||
buildRPM "awips2-common-base"
|
buildRPM "awips2-common-base"
|
||||||
# buildRPM "awips2-rcm"
|
buildRPM "awips2-rcm"
|
||||||
buildRPM "awips2-hydroapps-shared"
|
buildRPM "awips2-hydroapps-shared"
|
||||||
# buildRPM "awips2-notification"
|
|
||||||
buildCAVE
|
buildCAVE
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -375,13 +373,11 @@ if [ "${1}" = "-viz" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1}" = "-edex" ]; then
|
if [ "${1}" = "-edex" ]; then
|
||||||
#buildRPM "awips2"
|
buildRPM "awips2-common-base"
|
||||||
#buildRPM "awips2-common-base"
|
|
||||||
buildRPM "awips2-adapt-native"
|
buildRPM "awips2-adapt-native"
|
||||||
#buildRPM "awips2-python-qpid"
|
|
||||||
# buildRPM "awips2-cli"
|
|
||||||
buildRPM "awips2-gfesuite-client"
|
buildRPM "awips2-gfesuite-client"
|
||||||
buildRPM "awips2-gfesuite-server"
|
buildRPM "awips2-gfesuite-server"
|
||||||
|
buildRPM "awips2-edex-environment"
|
||||||
# buildRPM "awips2-ncep-database"
|
# buildRPM "awips2-ncep-database"
|
||||||
# buildRPM "awips2-python-dynamicserialize"
|
# buildRPM "awips2-python-dynamicserialize"
|
||||||
buildEDEX
|
buildEDEX
|
||||||
|
@ -417,6 +413,19 @@ if [ "${1}" = "-ldm" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-awips2" ]; then
|
||||||
|
buildRPM "awips2"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use the custom flag for selecting specific rpms to build
|
||||||
|
if [ "${1}" = "-custom" ]; then
|
||||||
|
#buildRPM "awips2-ldm"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${1}" = "-package" ]; then
|
if [ "${1}" = "-package" ]; then
|
||||||
repository_directory="awips2-repository-${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
|
repository_directory="awips2-repository-${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
|
||||||
if [ -d ${WORKSPACE}/${repository_directory} ]; then
|
if [ -d ${WORKSPACE}/${repository_directory} ]; then
|
||||||
|
|
456
rpms/build/i386/build.sh-keep-10032013
Normal file
456
rpms/build/i386/build.sh-keep-10032013
Normal file
|
@ -0,0 +1,456 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function buildRPM()
|
||||||
|
{
|
||||||
|
# Arguments:
|
||||||
|
# ${1} == the name of the rpm.
|
||||||
|
lookupRPM "${1}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: '${1}' is not a recognized AWIPS II RPM."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/bin/rpmbuild -ba \
|
||||||
|
--define '_topdir %(echo ${AWIPSII_TOP_DIR})' \
|
||||||
|
--define '_baseline_workspace %(echo ${WORKSPACE})' \
|
||||||
|
--define '_uframe_eclipse %(echo ${UFRAME_ECLIPSE})' \
|
||||||
|
--define '_awipscm_share %(echo ${AWIPSCM_SHARE})' \
|
||||||
|
--define '_build_root %(echo ${AWIPSII_BUILD_ROOT})' \
|
||||||
|
--define '_component_version %(echo ${AWIPSII_VERSION})' \
|
||||||
|
--define '_component_release %(echo ${AWIPSII_RELEASE})' \
|
||||||
|
--define '_component_build_date %(echo ${COMPONENT_BUILD_DATE})' \
|
||||||
|
--define '_component_build_time %(echo ${COMPONENT_BUILD_TIME})' \
|
||||||
|
--define '_component_build_system %(echo ${COMPONENT_BUILD_SYSTEM})' \
|
||||||
|
--buildroot ${AWIPSII_BUILD_ROOT} \
|
||||||
|
${RPM_SPECIFICATION}/component.spec
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to build RPM ${1}."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# This script will build all of the 32-bit rpms.
|
||||||
|
# Ensure that we are on a machine with the correct architecture.
|
||||||
|
|
||||||
|
architecture=`uname -i`
|
||||||
|
if [ ! "${architecture}" = "i386" ]; then
|
||||||
|
echo "ERROR: This build can only be performed on a 32-bit Operating System."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine which directory we are running from.
|
||||||
|
path_to_script=`readlink -f $0`
|
||||||
|
dir=$(dirname $path_to_script)
|
||||||
|
|
||||||
|
common_dir=`cd ${dir}/../common; pwd;`
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to find the common functions directory."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# source the common functions.
|
||||||
|
source ${common_dir}/lookupRPM.sh
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to source the common functions."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
source ${common_dir}/usage.sh
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to source the common functions."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
source ${common_dir}/rpms.sh
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to source the common functions."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
source ${common_dir}/systemInfo.sh
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to retrieve the system information."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# prepare the build environment.
|
||||||
|
source ${dir}/buildEnvironment.sh
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Unable to prepare the build environment."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export LIGHTNING=true
|
||||||
|
# Determine if the optional '-nobinlightning' argument has been specified.
|
||||||
|
if [ "${2}" = "-nobinlightning" ]; then
|
||||||
|
LIGHTNING=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-python-qpid" ]; then
|
||||||
|
buildRPM "awips2"
|
||||||
|
buildRPM "awips2-python-qpid"
|
||||||
|
buildRPM "awips2-python"
|
||||||
|
buildRPM "awips2-python-cherrypy"
|
||||||
|
buildRPM "awips2-python-dynamicserialize"
|
||||||
|
buildRPM "awips2-python-nose"
|
||||||
|
buildRPM "awips2-python-numpy"
|
||||||
|
buildRPM "awips2-python-h5py"
|
||||||
|
buildRPM "awips2-python-jimporter"
|
||||||
|
buildRPM "awips2-python-matplotlib"
|
||||||
|
buildRPM "awips2-python-pil"
|
||||||
|
buildRPM "awips2-python-pmw"
|
||||||
|
buildRPM "awips2-python-pupynere"
|
||||||
|
buildRPM "awips2-python-scientific"
|
||||||
|
buildRPM "awips2-python-scipy"
|
||||||
|
buildRPM "awips2-python-tables"
|
||||||
|
buildRPM "awips2-python-thrift"
|
||||||
|
buildRPM "awips2-python-tpg"
|
||||||
|
buildRPM "awips2-python-ufpy"
|
||||||
|
buildRPM "awips2-python-werkzeug"
|
||||||
|
buildRPM "awips2-python-pygtk"
|
||||||
|
buildRPM "awips2-python-pycairo"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildQPID
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#buildRPM "awips2-ant"
|
||||||
|
#unpackHttpdPypies
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
#buildRPM "awips2-httpd-pypies"
|
||||||
|
#buildRPM "awips2-java"
|
||||||
|
#buildRPM "awips2-ldm"
|
||||||
|
#buildRPM "awips2-tools"
|
||||||
|
buildRPM "awips2-python-shapely"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-postgres" ]; then
|
||||||
|
buildRPM "awips2-postgres"
|
||||||
|
buildRPM "awips2-database-server-configuration"
|
||||||
|
buildRPM "awips2-database-standalone-configuration"
|
||||||
|
buildRPM "awips2-database"
|
||||||
|
buildRPM "awips2-maps-database"
|
||||||
|
buildRPM "awips2-pgadmin3"
|
||||||
|
buildRPM "awips2-data.hdf5-gfe.climo"
|
||||||
|
buildRPM "awips2-data.hdf5-topo"
|
||||||
|
buildRPM "awips2-notification"
|
||||||
|
buildRPM "awips2-tools"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-delta" ]; then
|
||||||
|
buildRPM "awips2-common-base"
|
||||||
|
buildCAVE
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
buildRPM "awips2-alertviz"
|
||||||
|
buildEDEX
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildRPM "awips2"
|
||||||
|
buildRPM "awips2-ncep-database"
|
||||||
|
buildRPM "awips2-gfesuite-client"
|
||||||
|
buildRPM "awips2-gfesuite-server"
|
||||||
|
buildRPM "awips2-python"
|
||||||
|
buildRPM "awips2-python-dynamicserialize"
|
||||||
|
buildRPM "awips2-python-ufpy"
|
||||||
|
buildRPM "awips2-python-qpid"
|
||||||
|
|
||||||
|
buildRPM "awips2-adapt-native"
|
||||||
|
buildRPM "awips2-aviation-shared"
|
||||||
|
buildRPM "awips2-cli"
|
||||||
|
buildRPM "awips2-database"
|
||||||
|
buildRPM "awips2-database-server-configuration"
|
||||||
|
buildRPM "awips2-database-standalone-configuration"
|
||||||
|
buildRPM "awips2-data.hdf5-gfe.climo"
|
||||||
|
buildRPM "awips2-hydroapps-shared"
|
||||||
|
buildRPM "awips2-localapps-environment"
|
||||||
|
buildRPM "awips2-maps-database"
|
||||||
|
buildRPM "awips2-notification"
|
||||||
|
buildRPM "awips2-pypies"
|
||||||
|
buildRPM "awips2-data.hdf5-topo"
|
||||||
|
buildRPM "awips2-data.gfe"
|
||||||
|
buildRPM "awips2-rcm"
|
||||||
|
buildRPM "awips2-edex-environment"
|
||||||
|
buildLocalizationRPMs
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-full" ]; then
|
||||||
|
buildRPM "awips2-common-base"
|
||||||
|
buildCAVE
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
buildRPM "awips2-alertviz"
|
||||||
|
buildEDEX
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
buildRPM "awips2-python"
|
||||||
|
buildRPM "awips2-python-cherrypy"
|
||||||
|
buildRPM "awips2-python-dynamicserialize"
|
||||||
|
buildRPM "awips2-python-h5py"
|
||||||
|
buildRPM "awips2-python-jimporter"
|
||||||
|
buildRPM "awips2-python-matplotlib"
|
||||||
|
buildRPM "awips2-python-nose"
|
||||||
|
buildRPM "awips2-python-numpy"
|
||||||
|
buildRPM "awips2-python-pil"
|
||||||
|
buildRPM "awips2-python-pmw"
|
||||||
|
buildRPM "awips2-python-pupynere"
|
||||||
|
buildRPM "awips2-python-qpid"
|
||||||
|
buildRPM "awips2-python-scientific"
|
||||||
|
buildRPM "awips2-python-scipy"
|
||||||
|
buildRPM "awips2-python-tables"
|
||||||
|
buildRPM "awips2-python-thrift"
|
||||||
|
buildRPM "awips2-python-tpg"
|
||||||
|
buildRPM "awips2-python-ufpy"
|
||||||
|
buildRPM "awips2-python-werkzeug"
|
||||||
|
buildRPM "awips2-python-pygtk"
|
||||||
|
buildRPM "awips2-python-pycairo"
|
||||||
|
|
||||||
|
buildRPM "awips2"
|
||||||
|
buildRPM "awips2-adapt-native"
|
||||||
|
buildRPM "awips2-aviation-shared"
|
||||||
|
buildRPM "awips2-cli"
|
||||||
|
buildRPM "awips2-database"
|
||||||
|
buildRPM "awips2-database-server-configuration"
|
||||||
|
buildRPM "awips2-database-standalone-configuration"
|
||||||
|
buildRPM "awips2-data.hdf5-gfe.climo"
|
||||||
|
buildRPM "awips2-data.gfe"
|
||||||
|
buildRPM "awips2-gfesuite-client"
|
||||||
|
buildRPM "awips2-gfesuite-server"
|
||||||
|
buildRPM "awips2-hydroapps-shared"
|
||||||
|
buildRPM "awips2-localapps-environment"
|
||||||
|
buildRPM "awips2-ncep-database"
|
||||||
|
buildRPM "awips2-maps-database"
|
||||||
|
buildRPM "awips2-notification"
|
||||||
|
buildRPM "awips2-pypies"
|
||||||
|
buildRPM "awips2-data.hdf5-topo"
|
||||||
|
buildRPM "awips2-rcm"
|
||||||
|
buildLocalizationRPMs
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildQPID
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildRPM "awips2-ant"
|
||||||
|
unpackHttpdPypies
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
buildRPM "awips2-httpd-pypies"
|
||||||
|
buildJava
|
||||||
|
buildRPM "awips2-groovy"
|
||||||
|
#buildRPM "awips2-ldm"
|
||||||
|
buildRPM "awips2-postgres"
|
||||||
|
buildRPM "awips2-pgadmin3"
|
||||||
|
buildRPM "awips2-tools"
|
||||||
|
buildRPM "awips2-edex-environment"
|
||||||
|
buildRPM "awips2-openfire"
|
||||||
|
buildRPM "awips2-httpd-collaboration"
|
||||||
|
buildRPM "awips2-python-shapely"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-ade" ]; then
|
||||||
|
buildRPM "awips2-eclipse"
|
||||||
|
buildJava
|
||||||
|
buildRPM "awips2-ant"
|
||||||
|
buildRPM "awips2-python"
|
||||||
|
buildRPM "awips2-python-cherrypy"
|
||||||
|
buildRPM "awips2-python-dynamicserialize"
|
||||||
|
buildRPM "awips2-python-h5py"
|
||||||
|
buildRPM "awips2-python-jimporter"
|
||||||
|
buildRPM "awips2-python-matplotlib"
|
||||||
|
buildRPM "awips2-python-nose"
|
||||||
|
buildRPM "awips2-python-numpy"
|
||||||
|
buildRPM "awips2-python-pil"
|
||||||
|
buildRPM "awips2-python-pmw"
|
||||||
|
buildRPM "awips2-python-pupynere"
|
||||||
|
buildRPM "awips2-python-qpid"
|
||||||
|
buildRPM "awips2-python-scientific"
|
||||||
|
buildRPM "awips2-python-scipy"
|
||||||
|
buildRPM "awips2-python-tables"
|
||||||
|
buildRPM "awips2-python-thrift"
|
||||||
|
buildRPM "awips2-python-tpg"
|
||||||
|
buildRPM "awips2-python-ufpy"
|
||||||
|
buildRPM "awips2-python-werkzeug"
|
||||||
|
buildRPM "awips2-python-pygtk"
|
||||||
|
buildRPM "awips2-python-pycairo"
|
||||||
|
buildRPM "awips2-python-shapely"
|
||||||
|
buildQPID -ade
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Package the ade.
|
||||||
|
# Create the containing directory.
|
||||||
|
ade_directory="awips2-ade-${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
|
||||||
|
if [ -d ${WORKSPACE}/${ade_directory} ]; then
|
||||||
|
rm -rf ${WORKSPACE}/${ade_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
mkdir -p ${WORKSPACE}/${ade_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy the rpms to the directory.
|
||||||
|
cp -v ${AWIPSII_TOP_DIR}/RPMS/i386/* \
|
||||||
|
${AWIPSII_TOP_DIR}/RPMS/noarch/* \
|
||||||
|
${WORKSPACE}/${ade_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
awips2_ade_directory="${WORKSPACE}/rpms/awips2.ade"
|
||||||
|
# Copy the install and uninstall script to the directory.
|
||||||
|
cp -v ${awips2_ade_directory}/tar.ade/scripts/*.sh \
|
||||||
|
${WORKSPACE}/${ade_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Tar the directory.
|
||||||
|
pushd . > /dev/null 2>&1
|
||||||
|
cd ${WORKSPACE}
|
||||||
|
tar -cvf ${ade_directory}.tar ${ade_directory}
|
||||||
|
popd > /dev/null 2>&1
|
||||||
|
RC=$?
|
||||||
|
if [ ${RC} -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-viz" ]; then
|
||||||
|
buildRPM "awips2-common-base"
|
||||||
|
buildRPM "awips2-rcm"
|
||||||
|
buildRPM "awips2-hydroapps-shared"
|
||||||
|
buildCAVE
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
buildRPM "awips2-alertviz"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-edex" ]; then
|
||||||
|
buildRPM "awips2-common-base"
|
||||||
|
buildRPM "awips2-adapt-native"
|
||||||
|
buildRPM "awips2-gfesuite-client"
|
||||||
|
buildRPM "awips2-gfesuite-server"
|
||||||
|
buildRPM "awips2-edex-environment"
|
||||||
|
# buildRPM "awips2-ncep-database"
|
||||||
|
# buildRPM "awips2-python-dynamicserialize"
|
||||||
|
buildEDEX
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-localization" ]; then
|
||||||
|
buildLocalizationRPMs
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "${1}" = "-qpid" ]; then
|
||||||
|
buildQPID
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-ldm" ]; then
|
||||||
|
buildRPM "awips2-ldm"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-awips2" ]; then
|
||||||
|
buildRPM "awips2"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use the custom flag for selecting specific rpms to build
|
||||||
|
if [ "${1}" = "-custom" ]; then
|
||||||
|
#buildRPM "awips2-ldm"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-package" ]; then
|
||||||
|
repository_directory="awips2-repository-${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
|
||||||
|
if [ -d ${WORKSPACE}/${repository_directory} ]; then
|
||||||
|
rm -rf ${WORKSPACE}/${repository_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
mkdir -p ${WORKSPACE}/${repository_directory}/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -r ${AWIPSII_TOP_DIR}/RPMS/* \
|
||||||
|
${WORKSPACE}/${repository_directory}/${AWIPSII_VERSION}-${AWIPSII_RELEASE}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rpms_directory="${WORKSPACE}/rpms"
|
||||||
|
comps_xml="${rpms_directory}/common/yum/arch.x86/comps.xml"
|
||||||
|
cp -v ${comps_xml} ${WORKSPACE}/${repository_directory}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd . > /dev/null
|
||||||
|
cd ${WORKSPACE}
|
||||||
|
tar -cvf ${repository_directory}.tar ${repository_directory}
|
||||||
|
RC=$?
|
||||||
|
popd > /dev/null
|
||||||
|
if [ ${RC} -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
usage
|
||||||
|
exit 0
|
Loading…
Add table
Reference in a new issue