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:ab10c1dd5b
[formerlybb5ef114d1
] [formerlyaa4ea792c1
] [formerly542f5f2349
[formerlyaa4ea792c1
[formerly 606030384b5fe1eb9411d4b35d3282b15b1398b4]]] Former-commit-id:542f5f2349
Former-commit-id: 518cc2598c60d171ae83c427ee2062c4d7ef8025 [formerly5d5ccb7599
] Former-commit-id:de61382dc7
This commit is contained in:
commit
3534686eb5
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>
|
||||
</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">
|
||||
<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
|
||||
* May 02, 2013 #1969 randerso Moved updateDbs method into IFPGridDatabase
|
||||
* Jun 13, 2013 #2044 randerso Refactored to use IFPServer
|
||||
* Sep 13, 2013 2368 rjpeter Used durable jms settings.
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
|
|
|
@ -195,6 +195,9 @@ public class D2DGridDatabase extends VGridDatabase {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves DatabaseIDs for the n most recent model runs of a given
|
||||
* d2dModelName
|
||||
|
|
|
@ -47,7 +47,7 @@ class TextProduct(GenericHazards.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
# Header configuration items
|
||||
Definition["productName"] = "AIR QUALITY ALERT" # name of product
|
||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
|
||||
# Header configuration items
|
||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
|
||||
# Header configuration items
|
||||
|
|
|
@ -55,7 +55,7 @@ class TextProduct(GenericHazards.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
# Header configuration items
|
||||
Definition["productName"] = "URGENT - FIRE WEATHER MESSAGE" # name of product
|
||||
|
|
|
@ -46,7 +46,7 @@ class TextProduct(GenericHazards.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
|
||||
# Header configuration items
|
||||
|
|
|
@ -62,7 +62,7 @@ class TextProduct(GenericReport.TextProduct):
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
# product identifiers
|
||||
Definition["productName"] = "SPECIAL WEATHER STATEMENT" # product name
|
||||
|
|
|
@ -65,7 +65,7 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
# Header configuration items
|
||||
#Definition["productName"] = "FIRE WEATHER PLANNING FORECAST" # name of product
|
||||
|
|
|
@ -63,7 +63,7 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"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
|
||||
# creating AboveElev and BelowElev edit areas
|
||||
|
|
|
@ -53,6 +53,6 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
|
||||
|
|
|
@ -53,5 +53,5 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"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
|
||||
# creating Inland and Coastal edit areas
|
||||
#Definition["windLocalEffects"] = 1 # Set to 1 to enable wind local effects AFTER
|
||||
|
|
|
@ -61,7 +61,7 @@ if "<site>" == "AFG":
|
|||
elif "_<MultiPil>" == "_WCZ":
|
||||
Definition["subDomainUGCs"] = ["AKZ207","AKZ208","AKZ209","AKZ210",
|
||||
"AKZ211","AKZ212","AKZ213","AKZ214",
|
||||
"AKZ215","AKZ216","AKZ217"]
|
||||
"AKZ215","AKZ216","AKZ217","AKZ227"]
|
||||
|
||||
# Header configuration items
|
||||
#Definition["productName"] = "ZONE FORECAST PRODUCT" # name of product
|
||||
|
|
|
@ -121,7 +121,7 @@ class MasterInterface(object):
|
|||
if self.isInstantiated(moduleName):
|
||||
self.__instanceMap.__delitem__(moduleName)
|
||||
if sys.modules.has_key(moduleName):
|
||||
self.self.clearModuleAttributes(moduleName)
|
||||
self.clearModuleAttributes(moduleName)
|
||||
sys.modules.pop(moduleName)
|
||||
if moduleName in self.scripts:
|
||||
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.
|
||||
private void doBatchSeparate(byte[] data ) {
|
||||
/* 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;
|
||||
Pattern bullPattern;
|
||||
bullPattern = Pattern.compile(BULLSEPARATOR);
|
||||
|
@ -293,40 +294,58 @@ import org.apache.log4j.Logger;
|
|||
String msg ;
|
||||
int batchSize = 230000; //separate data to batch size around 230000
|
||||
String batchStr;
|
||||
while(charCount < data.length){
|
||||
//int count=0;
|
||||
while(charCount < dataLen){
|
||||
lastCharCount = charCount;
|
||||
charCount = charCount+ batchSize;
|
||||
if(charCount < data.length){
|
||||
//count++;
|
||||
if(charCount < dataLen){
|
||||
//System.out.println("1st substring begin @"+charCount);
|
||||
msg = message.substring(charCount);
|
||||
|
||||
try {
|
||||
// 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
|
||||
Matcher bullMatcher = bullPattern.matcher(msg);
|
||||
if (bullMatcher.find()) {
|
||||
|
||||
int start = bullMatcher.start();
|
||||
charCount = charCount+ start;
|
||||
batchStr= new String();
|
||||
//System.out.println("2nd substring begin @"+lastCharCount+ " end @"+charCount);
|
||||
batchStr = message.substring(lastCharCount,charCount);
|
||||
records.add(batchStr);
|
||||
|
||||
}
|
||||
else{
|
||||
// no header find, should be the end of the data
|
||||
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);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
if ( log.isInfoEnabled()) {
|
||||
log.info ("doBatchSeparate exception !");
|
||||
log.info ("doBatchSeparate exception !" + e);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
// 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);
|
||||
}
|
||||
catch (Exception e) {
|
||||
if ( log.isInfoEnabled()) {
|
||||
log.info ("doBatchSeparate last batch exception !"+e);
|
||||
}
|
||||
}
|
||||
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);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
}
|
||||
}
|
||||
setCurSndProfileProp();
|
||||
setCurrentSoundingLayerInfo();
|
||||
resetData();
|
||||
|
@ -387,12 +390,15 @@ public class NsharpResourceHandler {
|
|||
int sndIndex = sndElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
}
|
||||
}
|
||||
setCurSndProfileProp();
|
||||
setCurrentSoundingLayerInfo();
|
||||
resetData();
|
||||
|
@ -425,12 +431,15 @@ public class NsharpResourceHandler {
|
|||
int tmIndex = timeElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
}
|
||||
}
|
||||
setCurSndProfileProp();
|
||||
setCurrentSoundingLayerInfo();
|
||||
resetData();
|
||||
|
@ -1201,6 +1210,9 @@ public class NsharpResourceHandler {
|
|||
currentInsetPage = 1;
|
||||
currentParcel = NsharpNativeConstants.PARCELTYPE_MOST_UNSTABLE;
|
||||
currentParcelLayerPressure = NsharpNativeConstants.MU_LAYER;
|
||||
currentTimeElementListIndex = -1;
|
||||
currentStnElementListIndex = -1;
|
||||
currentSndElementListIndex = -1;
|
||||
resetData();
|
||||
}
|
||||
|
||||
|
@ -1409,12 +1421,12 @@ public class NsharpResourceHandler {
|
|||
Set<String> keyset= new HashSet<String>(soundMap.keySet());
|
||||
for(String key: keyset) {
|
||||
List<NcSoundingLayer> sndLy = soundMap.remove(key);
|
||||
String newkey= key.replace("NAMS", "GOOGLE");
|
||||
String newkey= key.replace("NCUAIR", "gpduair");
|
||||
//String newkey= key.replace("GFSS", "NAMS");
|
||||
//newkey = newkey.replace("KSLN", "KFSD");
|
||||
//String newkey = key.replace("OAK", "KFSD");
|
||||
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"));
|
||||
}//*/
|
||||
|
||||
|
@ -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
|
||||
targetIndex = timeElementList.size();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
int counter=0;
|
||||
|
@ -1824,6 +1839,8 @@ public class NsharpResourceHandler {
|
|||
targetIndex--;
|
||||
targetIndex = targetIndex % this.timeElementList.size();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
counter++;
|
||||
if(counter >= timeElementList.size())
|
||||
|
@ -1860,12 +1877,15 @@ public class NsharpResourceHandler {
|
|||
int stnIndex = stnElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(targetIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm != null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
//if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
// colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
}
|
||||
}
|
||||
//no matter we find current stn or not
|
||||
//we should get out of here
|
||||
break;
|
||||
|
@ -1897,12 +1917,12 @@ public class NsharpResourceHandler {
|
|||
continue;
|
||||
int sndIndex = sndElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(targetIndex).get(sndIndex);
|
||||
if(stnTmElm !=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//no matter we find current snd type for this stn or not
|
||||
|
@ -1943,6 +1963,9 @@ public class NsharpResourceHandler {
|
|||
currentStnElementListIndex++;
|
||||
currentStnElementListIndex = currentStnElementListIndex % this.stnElementList.size();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
counter++;
|
||||
//System.out.println("counter = "+ counter);
|
||||
|
@ -1981,14 +2004,15 @@ public class NsharpResourceHandler {
|
|||
continue;
|
||||
int tmIndex = timeElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm != null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//no matter we find current time line for this stn or not
|
||||
//we should get out of here
|
||||
break;
|
||||
|
@ -2020,12 +2044,12 @@ public class NsharpResourceHandler {
|
|||
continue;
|
||||
int sndIndex = sndElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(currentTimeElementListIndex).get(sndIndex);
|
||||
if(stnTmElm !=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//no matter we find current snd type for this stn or not
|
||||
|
@ -2065,6 +2089,9 @@ public class NsharpResourceHandler {
|
|||
currentSndElementListIndex++;
|
||||
currentSndElementListIndex = currentSndElementListIndex % this.sndElementList.size();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
counter++;
|
||||
//System.out.println("counter = "+ counter);
|
||||
|
@ -2103,12 +2130,12 @@ public class NsharpResourceHandler {
|
|||
continue;
|
||||
int tmIndex = timeElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(currentStnElementListIndex).get(tmIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm != null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//no matter we find current time line for this stn or not
|
||||
|
@ -2140,11 +2167,13 @@ public class NsharpResourceHandler {
|
|||
for(NsharpOperationElement elm: stnElementList) {
|
||||
int stnIndex = stnElementList.indexOf(elm);
|
||||
NsharpSoundingElementStateProperty stnTmElm = stnTimeSndTable.get(stnIndex).get(currentTimeElementListIndex).get(currentSndElementListIndex);
|
||||
if(stnTmElm != null){
|
||||
stnTmElm.setCompColorIndex(colorIndex++);
|
||||
if(stnTmElm!=null){
|
||||
stnTmElm.setCompColorIndex(colorIndex);
|
||||
}
|
||||
colorIndex++;
|
||||
if(colorIndex > NsharpConstants.LINE_COMP10)
|
||||
colorIndex = NsharpConstants.LINE_COMP1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//no matter we find current stn or not
|
||||
|
|
|
@ -861,7 +861,8 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
Color[] colors = new Color[1];
|
||||
Color color = new Color(icolor.red, icolor.green, icolor.blue);
|
||||
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> ();
|
||||
|
||||
float wbSize = graphConfigProperty.getWindBarbSize();
|
||||
|
@ -909,7 +910,6 @@ public class NsharpSkewTPaneResource extends NsharpAbstractPaneResource{
|
|||
Vector vect= new Vector();
|
||||
vect.setVectorType(VectorType.WIND_BARB);
|
||||
vect.setArrowHeadSize(1.0);
|
||||
dir= (dir+180.0f)%360.0f;
|
||||
vect.setDirection(dir);
|
||||
vect.setSpeed(spd);
|
||||
vect.setSizeScale(curWbSize);
|
||||
|
|
|
@ -551,7 +551,7 @@ public class NsharpTimeStnPaneResource extends NsharpAbstractPaneResource{
|
|||
if(numStnToShow <1)
|
||||
numStnToShow=1;
|
||||
}
|
||||
int startIndex = (rscHandler.getCurStnIdPage()-1) * numStnToShow;
|
||||
int startIndex = (rscHandler.getCurSndPage()-1) * numStnToShow;
|
||||
if(startIndex<0)
|
||||
startIndex =0;
|
||||
int colorIndex;
|
||||
|
|
|
@ -99,7 +99,8 @@ import com.vividsolutions.jts.geom.Polygon;
|
|||
* 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
|
||||
* 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>
|
||||
*
|
||||
* @author gzhang
|
||||
|
@ -1395,9 +1396,13 @@ public class SigmetAttrDlg extends AttrDlg implements ISigmet {
|
|||
final Coordinate[] coors = (elSelected == null) ? null : elSelected
|
||||
.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 (editableAttrFromLine == null
|
||||
|| editableAttrFromLine.equals("")) {
|
||||
|| editableAttrFromLine.trim().equals("")) {
|
||||
coorsLatLon.append(getLatLonStringPrepend2(coors,
|
||||
AREA.equals(((Sigmet) elSelected).getType())));
|
||||
resetText(coorsLatLon.toString(), txtInfo);
|
||||
|
|
|
@ -7,6 +7,50 @@
|
|||
*/
|
||||
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.geom.Point2D;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
|
@ -28,45 +72,6 @@ import org.eclipse.swt.graphics.Rectangle;
|
|||
import org.geotools.referencing.GeodeticCalculator;
|
||||
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.viz.core.DrawableString;
|
||||
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.PixelExtent;
|
||||
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.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.IShadedShape;
|
||||
import com.raytheon.uf.viz.core.drawables.IWireframeShape;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||
import com.raytheon.uf.viz.core.drawables.IFont.Style;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.viz.core.rsc.jts.JTSCompiler;
|
||||
import com.raytheon.viz.core.rsc.jts.JTSCompiler.PointStyle;
|
||||
import com.raytheon.viz.ui.color.BackgroundColor;
|
||||
import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode;
|
||||
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
import com.vividsolutions.jts.geom.Geometry;
|
||||
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.LocationIndexedLine;
|
||||
import com.vividsolutions.jts.operation.distance.DistanceOp;
|
||||
//SigmetInfo;
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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.
|
||||
* 09/23/13 Chin Chen changed several private variables/methods to protected, for NsharpDisplayElementFactory now extend from
|
||||
* this class
|
||||
* </pre>
|
||||
*
|
||||
* @author sgilbert
|
||||
|
@ -147,12 +153,12 @@ public class DisplayElementFactory {
|
|||
/**
|
||||
* 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
|
||||
*/
|
||||
private IDescriptor/*IMapDescriptor*/ iDescriptor;
|
||||
protected IDescriptor/*IMapDescriptor*/ iDescriptor;
|
||||
private GeometryFactory gf;
|
||||
|
||||
/**
|
||||
|
@ -167,7 +173,7 @@ public class DisplayElementFactory {
|
|||
private IWireframeShape sym;
|
||||
|
||||
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 screenToExtent = 1.0;
|
||||
double screenToWorldRatio = 1.0;
|
||||
|
@ -181,7 +187,7 @@ public class DisplayElementFactory {
|
|||
private Color layerColor = null;
|
||||
private Boolean layerFilled = false;
|
||||
|
||||
private BackgroundColor backgroundColor = BackgroundColor.getActivePerspectiveInstance();
|
||||
protected BackgroundColor backgroundColor = BackgroundColor.getActivePerspectiveInstance();
|
||||
|
||||
class SymbolImageCallback implements IRenderedImageCallback {
|
||||
private String patternName;
|
||||
|
@ -3106,7 +3112,7 @@ public class DisplayElementFactory {
|
|||
* @param coords - input data points
|
||||
* @return data points in new format
|
||||
*/
|
||||
private double[][] toDouble( Coordinate[] coords) {
|
||||
protected double[][] toDouble( Coordinate[] coords) {
|
||||
|
||||
double[][] dpts = new double[coords.length][3];
|
||||
|
||||
|
@ -3123,7 +3129,7 @@ public class DisplayElementFactory {
|
|||
* @param coords - input data points
|
||||
* @return data points in new format
|
||||
*/
|
||||
private LineString[] toLineString ( Coordinate[] coords ) {
|
||||
protected LineString[] toLineString ( Coordinate[] coords ) {
|
||||
|
||||
LineString[] ls = new LineString[] { gf.createLineString(coords) };
|
||||
return ls;
|
||||
|
@ -3134,7 +3140,7 @@ public class DisplayElementFactory {
|
|||
* @param coords - input data points
|
||||
* @return data points in new format
|
||||
*/
|
||||
private LineString[] toLineString ( double[][] points ) {
|
||||
protected LineString[] toLineString ( double[][] points ) {
|
||||
|
||||
Coordinate[] coords = new Coordinate[points.length];
|
||||
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
|
||||
* @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
|
||||
|
@ -4031,7 +4037,7 @@ public class DisplayElementFactory {
|
|||
}
|
||||
|
||||
|
||||
private double[][] calculateCircle(double[] center, double radius) {
|
||||
protected double[][] calculateCircle(double[] center, double radius) {
|
||||
|
||||
int numpts = 16;
|
||||
double[][] arcpts =new double[numpts+1][3];
|
||||
|
@ -4095,7 +4101,7 @@ public class DisplayElementFactory {
|
|||
/**
|
||||
* Get the colors for displaying an element.
|
||||
*/
|
||||
private Color[] getDisplayColors( Color[] clr ) {
|
||||
protected Color[] getDisplayColors( Color[] clr ) {
|
||||
|
||||
Color[] newClr = new Color[ clr.length ];
|
||||
|
||||
|
@ -4115,7 +4121,7 @@ public class DisplayElementFactory {
|
|||
/**
|
||||
* Get the colors for displaying an element.
|
||||
*/
|
||||
private Color getDisplayColor( Color clr ) {
|
||||
protected Color getDisplayColor( Color clr ) {
|
||||
|
||||
if ( layerMonoColor && layerColor != null ) {
|
||||
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.GfaAttrDlg;
|
||||
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.Product;
|
||||
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.
|
||||
* 06/12 TTR559 B. Yin Link the layer name to Outlook type
|
||||
* 12/12 #937 J. Wu Update G_Airmet layers/hazard - "C&V"
|
||||
* 09/13 ? J. Wu Use new "StoreActivityDialog" at exit.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1274,18 +1275,17 @@ public class ProductManageDialog extends ProductDialog {
|
|||
|
||||
if ( confirmDlg.getReturnCode() == MessageDialog.OK ) {
|
||||
|
||||
PgenFileManageDialog file_dlg = null;
|
||||
|
||||
if ( file_dlg == null ) {
|
||||
StoreActivityDialog storeDlg = null;
|
||||
if ( storeDlg == null ) {
|
||||
try {
|
||||
file_dlg = new PgenFileManageDialog( shell, "Save" );
|
||||
storeDlg = new StoreActivityDialog( shell, "Save As" );
|
||||
}
|
||||
catch (VizException e) {
|
||||
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
|
||||
* 05/13 #994 J. Wu Removed "DEL" - make it same as "Ctrl+X"
|
||||
* 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>
|
||||
*
|
||||
|
@ -406,6 +409,10 @@ public class PgenSelectHandler extends InputHandlerDefaultImpl {
|
|||
} else if(attrDlg instanceof GfaAttrDlg){
|
||||
((GfaAttrDlg)attrDlg).setOtherTextLastUsed( elSelected.getForecastHours() );
|
||||
((GfaAttrDlg)attrDlg).redrawHazardSpecificPanel();
|
||||
if ( ((Gfa)elSelected).getGfaVorText() == null ||
|
||||
((Gfa)elSelected).getGfaVorText().length() < 1 ) {
|
||||
((Gfa)elSelected).setGfaVorText( Gfa.buildVorText( (Gfa)elSelected ) );
|
||||
}
|
||||
attrDlg.setAttrForDlg( elSelected );
|
||||
((GfaAttrDlg)attrDlg).enableMoveTextBtn(true);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<resourceCategory>RADAR</resourceCategory>
|
||||
<resourceParameters>
|
||||
pluginName=radar
|
||||
format=Radial,Raster,Graphic
|
||||
format=Radial,Raster
|
||||
legendColor=RGB {200, 200, 200}
|
||||
</resourceParameters>
|
||||
<rscImplementation>LocalRadar</rscImplementation>
|
||||
|
|
|
@ -47,7 +47,12 @@ wrapper.search.java.classpath.2=${QPID_HOME}/lib/opt/qpid-deps
|
|||
|
||||
# garbage collection settings
|
||||
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
|
||||
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
|
||||
|
||||
# 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)
|
||||
wrapper.logfile.loglevel=INFO
|
||||
|
|
|
@ -85,28 +85,28 @@ if [ "${2}" = "-nobinlightning" ]; then
|
|||
fi
|
||||
|
||||
if [ "${1}" = "-python-qpid" ]; then
|
||||
# buildRPM "awips2"
|
||||
# buildRPM "awips2-python-qpid"
|
||||
# buildRPM "awips2-python"
|
||||
# buildRPM "awips2-python-cherrypy"
|
||||
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"
|
||||
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
|
||||
|
@ -360,11 +360,9 @@ if [ "${1}" = "-ade" ]; then
|
|||
fi
|
||||
|
||||
if [ "${1}" = "-viz" ]; then
|
||||
buildRPM "awips2"
|
||||
buildRPM "awips2-common-base"
|
||||
# buildRPM "awips2-rcm"
|
||||
buildRPM "awips2-rcm"
|
||||
buildRPM "awips2-hydroapps-shared"
|
||||
# buildRPM "awips2-notification"
|
||||
buildCAVE
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
|
@ -375,13 +373,11 @@ if [ "${1}" = "-viz" ]; then
|
|||
fi
|
||||
|
||||
if [ "${1}" = "-edex" ]; then
|
||||
#buildRPM "awips2"
|
||||
#buildRPM "awips2-common-base"
|
||||
buildRPM "awips2-common-base"
|
||||
buildRPM "awips2-adapt-native"
|
||||
#buildRPM "awips2-python-qpid"
|
||||
# buildRPM "awips2-cli"
|
||||
buildRPM "awips2-gfesuite-client"
|
||||
buildRPM "awips2-gfesuite-server"
|
||||
buildRPM "awips2-edex-environment"
|
||||
# buildRPM "awips2-ncep-database"
|
||||
# buildRPM "awips2-python-dynamicserialize"
|
||||
buildEDEX
|
||||
|
@ -417,6 +413,19 @@ if [ "${1}" = "-ldm" ]; then
|
|||
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
|
||||
|
|
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