<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.5.xsd
  http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

	<bean id="uEngine" class="com.raytheon.edex.services.ProductSrv" />

	<!-- uEngineWeb -->
	<bean id="uengineWebServer" class="org.eclipse.jetty.server.Server"
		init-method="start" destroy-method="stop">

		<property name="threadPool">
			<bean id="ThreadPool" class="org.eclipse.jetty.util.thread.OldQueuedThreadPool">
				<property name="minThreads" value="25" />
				<property name="lowThreads" value="25" />
				<property name="maxThreads" value="50" />
			</bean>
		</property>

		<property name="connectors">
			<list>
				<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
					<property name="port" value="${web.port}" />
					<property name="maxIdleTime" value="30000" />
					<property name="acceptors" value="2" />
					<property name="confidentialPort" value="${confidential.port}" />
				</bean>
			</list>
		</property>

		<property name="handler">
			<bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
				<property name="handlers">
					<list>
						<bean id="contexts"
							class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
							<property name="handlers">
								<list>
									<bean class="org.eclipse.jetty.webapp.WebAppContext">
										<property name="contextPath" value="/uEngineWeb" />
										<property name="war"
											value="file:///${edex.home}/webapps/uEngineWeb" />
									</bean>
									<bean class="org.eclipse.jetty.webapp.WebAppContext">
										<property name="contextPath" value="/uEngineProducts" />
										<property name="war" value="file:///${edex.home}/data/uEngine" />
									</bean>
								</list>
							</property>
						</bean>
						<bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler" />
						<bean id="requestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<camelContext id="uengine-camel" xmlns="http://camel.apache.org/schema/spring"
		errorHandlerRef="errorHandler">
		<endpoint id="uEngineHttpThrift_from"
			uri="jetty:http://0.0.0.0:${http.port}/services/pyproductthrift?disableStreamCache=true&amp;chunked=false&amp;httpBindingRef=#binaryHttpBinding" />
		<endpoint id="uEngineHttpJaxb_from"
			uri="jetty:http://0.0.0.0:${http.port}/services/pyproductjaxb" />

		<!-- UEngine routes -->
		<route id="uEngineHttpThrift" streamCache="false">
			<from uri="ref:uEngineHttpThrift_from" />
			<removeHeaders pattern="CamelHttp*" />
			<bean ref="uEngine" method="executePython" />
			<bean ref="serializationUtil" method="transformToThrift" />
		</route>
		<route id="uEngineHttpJaxb" streamCache="false">
			<from uri="ref:uEngineHttpJaxb_from" />
			<removeHeaders pattern="CamelHttp*" />
			<bean ref="uEngine" method="executePython" />
			<bean ref="serializationUtil" method="marshalToXml" />
		</route>

	</camelContext>
</beans>