Refactored to use inheritance and separate logic where possible. Addressed comments. Change-Id: I9e62414cd83121575bdf99a3b47466a7585bedb6 Former-commit-id:909571ebca
[formerlye4be1f24e7
] [formerlydbba727f3d
] [formerly909571ebca
[formerlye4be1f24e7
] [formerlydbba727f3d
] [formerly17196b5dcd
[formerlydbba727f3d
[formerly 6e015b3f61c20635077d6e8271e9b763e5a32fe1]]]] Former-commit-id:17196b5dcd
Former-commit-id:b5fa843960
[formerlyff87317bd4
] [formerly f202d7fc11f48792bac7d10cbb20d9ba9077aa8f [formerly8b279966d1
]] Former-commit-id: b1349363c5b25965107de3827211c7bcc6b9e98b [formerlyb3fd8e5480
] Former-commit-id:de624d87d3
137 lines
No EOL
5.1 KiB
XML
137 lines
No EOL
5.1 KiB
XML
<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="madisDecoder" class="com.raytheon.uf.edex.plugin.madis.MadisDecoder">
|
|
<constructor-arg ref="madisPluginName" />
|
|
</bean>
|
|
|
|
<bean id="madisPointData"
|
|
class="com.raytheon.uf.edex.plugin.madis.MadisPointDataTransform"
|
|
depends-on="registerMadisPlugin" />
|
|
|
|
<bean id="madisDistRegistry" factory-bean="distributionSrv"
|
|
factory-method="register">
|
|
<constructor-arg value="madis" />
|
|
<constructor-arg value="jms-durable:queue:Ingest.madis" />
|
|
</bean>
|
|
|
|
<bean id="madisSeparator" class="com.raytheon.uf.edex.plugin.madis.MadisSeparator">
|
|
<constructor-arg
|
|
value="jms-durable:queue:Ingest.madisSeparator" />
|
|
<!-- time in hours for orphan purging -->
|
|
<constructor-arg value="1" />
|
|
</bean>
|
|
|
|
<bean id="madisRegistryAddon"
|
|
class="com.raytheon.uf.edex.plugin.madis.registry.MadisRegistryCollectorAddon"
|
|
depends-on="registerDataDeliveryHandlers, registerRequestRegistryRouter, registerMadisPlugin">
|
|
</bean>
|
|
|
|
<bean id="madisRegistryAddonProvider"
|
|
class="com.raytheon.uf.edex.ogc.registry.RegistryCollectorAddonProvider"
|
|
depends-on="madisRegistryAddon">
|
|
<constructor-arg ref="madisRegistryAddon" />
|
|
</bean>
|
|
|
|
<bean id="madisWfsTypeModifier"
|
|
class="com.raytheon.uf.edex.ogc.registry.RegistryFeatureTypeModifier" />
|
|
|
|
<bean class="com.raytheon.uf.edex.ogc.common.util.AddonPropsPostProcessor" depends-on="madisRegistryAddonProvider, madisRegistryAddon">
|
|
<constructor-arg>
|
|
<map>
|
|
<entry key="madisIngestFilter">
|
|
<map>
|
|
<entry key="filter" value-ref="madisRegistryAddon" />
|
|
</map>
|
|
</entry>
|
|
<entry key="madisLayerCollector">
|
|
<map>
|
|
<entry key="addonFactory" value-ref="madisRegistryAddonProvider" />
|
|
</map>
|
|
</entry>
|
|
<entry key="madisWfsSource">
|
|
<map>
|
|
<entry key="typeModifier" value-ref="madisWfsTypeModifier" />
|
|
</map>
|
|
</entry>
|
|
</map>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<camelContext id="madis-camel"
|
|
xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
|
|
|
<!-- This first file drop route is used mainly for testing -->
|
|
<endpoint id="madisFileEndpoint"
|
|
uri="file:${edex.home}/data/sbn/madis?noop=true&idempotent=false" />
|
|
<route id="madisFileConsumerRoute">
|
|
<from ref="madisFileEndpoint" />
|
|
<bean ref="fileToString" />
|
|
<setHeader headerName="pluginName">
|
|
<constant>madis</constant>
|
|
</setHeader>
|
|
<to uri="jms-durable:queue:Ingest.madis" />
|
|
</route>
|
|
|
|
<!-- Separates MADIS files into manageable chunks -->
|
|
<route id="madisSeperatorRoute">
|
|
<from uri="jms-durable:queue:Ingest.madis" />
|
|
<setHeader headerName="pluginName">
|
|
<constant>madis</constant>
|
|
</setHeader>
|
|
<doTry>
|
|
<pipeline>
|
|
<bean ref="stringToFile" />
|
|
<bean ref="dataUnzipper" method="gunzip"/>
|
|
<bean ref="madisSeparator" method="separate" />
|
|
</pipeline>
|
|
<doCatch>
|
|
<exception>java.lang.Throwable</exception>
|
|
<to
|
|
uri="log:madis" />
|
|
</doCatch>
|
|
</doTry>
|
|
</route>
|
|
|
|
<!-- Begin MADIS production route -->
|
|
<route id="madisIngestRoute">
|
|
<from
|
|
uri="jms-durable:queue:Ingest.madisSeparator" />
|
|
<setHeader headerName="pluginName">
|
|
<constant>madis</constant>
|
|
</setHeader>
|
|
<doTry>
|
|
<pipeline>
|
|
<bean ref="madisDecoder" method="decode" />
|
|
<bean ref="madisRegistryAddon" method="filter" />
|
|
<bean ref="madisPointData" method="toPointData" />
|
|
<bean ref="persist" method="persist"/>
|
|
<bean ref="index" method="index"/>
|
|
<bean ref="madisLayerCollector" method="add" />
|
|
<bean ref="processUtil" method="log"/>
|
|
</pipeline>
|
|
<doCatch>
|
|
<exception>java.lang.Throwable</exception>
|
|
<to
|
|
uri="log:madis" />
|
|
</doCatch>
|
|
</doTry>
|
|
</route>
|
|
|
|
<route id="madisOrphanPurgeRoute">
|
|
<!-- purge madis orphan files based on hour in separator constructor
|
|
arg -->
|
|
<from uri="quartz://madis/orphan?cron=0+0+*+*+*+?" />
|
|
<bean ref="madisSeparator" method="fileCleaner" />
|
|
</route>
|
|
|
|
<route id="madisRegistryRoute">
|
|
<!-- send metadata to registry every minute -->
|
|
<from uri="quartz://madis/layers?cron=0+*+*+*+*+?" />
|
|
<bean ref="madisRegistryAddon" method="buildLayerUpdate" />
|
|
</route>
|
|
|
|
</camelContext>
|
|
</beans> |