<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE.txt file distributed with this work for
additional information regarding copyright ownership.  The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy of
the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
License for the specific language governing permissions and limitations under
the License.
-->
<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-2.5.xsd">

	<!-- Product Crawlers -->
	<bean id="StdProductCrawler" lazy-init="true" class="org.apache.oodt.cas.crawl.cli.action.CrawlerLauncherCliAction">
    <property name="description" value="Triggers StdProductCrawler" />
	</bean>

	<bean id="MetExtractorProductCrawler" lazy-init="true" class="org.apache.oodt.cas.crawl.cli.action.CrawlerLauncherCliAction">
    <property name="description" value="Triggers MetExtractorProductCrawler" />
	</bean>

	<bean id="AutoDetectProductCrawler" lazy-init="true" class="org.apache.oodt.cas.crawl.cli.action.CrawlerLauncherCliAction">
    <property name="description" value="Triggers AutoDetectProductCrawler" />
	</bean>
</beans>
