blob: 99d27866966e3f13eddcd64626e6091042a59c8f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE 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.
Author: bfoster (Brian Foster)
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="crawlerId" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption">
<property name="shortOption" value="cid" />
<property name="longOption" value="crawlerId" />
<property name="description" value="The ProductCrawler to use" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="ProductCrawler id" />
<property name="required" value="true" />
</bean>
<bean id="printSupportedCrawlerActions" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="psca" />
<property name="longOption" value="printSupportedCrawlerActions" />
<property name="description" value="Prints a list and description of all supported CrawlerActions" />
<property name="hasArgs" value="false" />
<property name="required" value="false" />
<property name="performAndQuit" value="true" />
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerActionInfoHandler">
<property name="applicationContext">
<bean class="org.springframework.context.support.FileSystemXmlApplicationContext">
<constructor-arg value="../policy/action-beans.xml" />
</bean>
</property>
</bean>
</property>
</bean>
<bean id="printSupportedPreconditions" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="psp" />
<property name="longOption" value="printSupportedPreconditions" />
<property name="description" value="Prints a list and description of all supported Preconditions" />
<property name="hasArgs" value="false" />
<property name="required" value="false" />
<property name="performAndQuit" value="true" />
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.PreconditionInfoHandler">
<property name="applicationContext">
<bean class="org.springframework.context.support.FileSystemXmlApplicationContext">
<constructor-arg value="../policy/precondition-beans.xml" />
</bean>
</property>
</bean>
</property>
</bean>
<bean id="filemgrUrl" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="fm" />
<property name="longOption" value="filemgrUrl" />
<property name="description" value="File Manager URL" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="url" />
<property name="required" value="true" />
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.filemgrUrl</value>
<value>MetExtractorProductCrawler.filemgrUrl</value>
<value>AutoDetectProductCrawler.filemgrUrl</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ArgRegExpCmdLineOptionValidator">
<property name="allowedArgs">
<list>
<value>http://.*:\d*</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean id="failureDir" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="fd" />
<property name="longOption" value="failureDir" />
<property name="description" value="Directory where files will be moved on failure" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="directory" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>MoveMetadataFileToFailureDir.toDir</value>
<value>MovePushpullMetFileToFailureDir.toDir</value>
<value>MoveDataFileToFailureDir.toDir</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.FileExistCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="successDir" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="sd" />
<property name="longOption" value="successDir" />
<property name="description" value="Directory where files will be moved on success" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="directory" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>MovePushpullMetFileToBackupDir.toDir</value>
<value>MoveMetadataFileToBackupDir.toDir</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.FileExistCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="workflowMgrUrl" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="wm" />
<property name="longOption" value="workflowMgrUrl" />
<property name="description" value="Workflow Manager URL" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="url" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>UpdateWorkflowStatusToIngest.workflowMgrUrl</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ArgRegExpCmdLineOptionValidator">
<property name="allowedArgs">
<list>
<value>http://.*:\d*</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean id="clientTransferer" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="ct" />
<property name="longOption" value="clientTransferer" />
<property name="description" value="File Manager data transferer factory class" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="class" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.clientTransferer</value>
<value>MetExtractorProductCrawler.clientTransferer</value>
<value>AutoDetectProductCrawler.clientTransferer</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ClassExistsCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="requiredMetadata" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="rqm" />
<property name="longOption" value="requiredMetadata" />
<property name="type" value="java.util.List" />
<property name="description" value="Metadata required for ingest to take place" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="metadata_elements" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.requiredMetadata</value>
<value>MetExtractorProductCrawler.requiredMetadata</value>
<value>AutoDetectProductCrawler.requiredMetadata</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="actionIds" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="ais" />
<property name="longOption" value="actionIds" />
<property name="type" value="java.util.List" />
<property name="description" value="CrawlerActions that should be performed" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="CrawlerAction ids" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.actionIds</value>
<value>MetExtractorProductCrawler.actionIds</value>
<value>AutoDetectProductCrawler.actionIds</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="preCondIds" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="pids" />
<property name="longOption" value="preCondIds" />
<property name="type" value="java.util.List" />
<property name="description" value="PreConditionComparator ids that must pass before any metadata extraction will run" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="PreConditionComparator ids" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>MetExtractorProductCrawler.preCondIds</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="noRecur" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="nr" />
<property name="longOption" value="noRecur" />
<property name="description" value="Turns off recursive crawling - will only process files in productPath directory" />
<property name="type" value="boolean" />
<property name="hasArgs" value="false" />
<property name="staticArgs">
<list>
<value>true</value>
</list>
</property>
<property name="required" value="false" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.noRecur</value>
<value>MetExtractorProductCrawler.noRecur</value>
<value>AutoDetectProductCrawler.noRecur</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="crawlForDirs" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="cfd" />
<property name="longOption" value="crawlForDirs" />
<property name="description" value="Will crawl for directories instead of files" />
<property name="type" value="boolean" />
<property name="hasArgs" value="false" />
<property name="staticArgs">
<list>
<value>true</value>
</list>
</property>
<property name="required" value="false" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.crawlForDirs</value>
<value>MetExtractorProductCrawler.crawlForDirs</value>
<value>AutoDetectProductCrawler.crawlForDirs</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="skipIngest" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="si" />
<property name="longOption" value="skipIngest" />
<property name="description" value="Will skip ingest to file manager and any post ingest actions" />
<property name="hasArgs" value="false" />
<property name="required" value="false" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.skipIngest</value>
<value>MetExtractorProductCrawler.skipIngest</value>
<value>AutoDetectProductCrawler.skipIngest</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="daemonPort" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="dp" />
<property name="longOption" value="daemonPort" />
<property name="type" value="int" />
<property name="description" value="Cause crawler to become a daemon with a XML-RPC webserver started on the given port number" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="portNum" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.daemonPort</value>
<value>MetExtractorProductCrawler.daemonPort</value>
<value>AutoDetectProductCrawler.daemonPort</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ArgRegExpCmdLineOptionValidator">
<property name="allowedArgs">
<list>
<value>\d*</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean id="daemonWait" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="dw" />
<property name="longOption" value="daemonWait" />
<property name="type" value="int" />
<property name="description" value="Cause crawler to become a daemon and sleep for given number of seconds between crawls" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="seconds" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.daemonWait</value>
<value>MetExtractorProductCrawler.daemonWait</value>
<value>AutoDetectProductCrawler.daemonWait</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ArgRegExpCmdLineOptionValidator">
<property name="allowedArgs">
<list>
<value>\d*</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean id="productPath" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="pp" />
<property name="longOption" value="productPath" />
<property name="description" value="Root directory to crawl" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="directory" />
<property name="required" value="true" />
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.productPath</value>
<value>MetExtractorProductCrawler.productPath</value>
<value>AutoDetectProductCrawler.productPath</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.FileExistCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="metFileExtension" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="mfx" />
<property name="longOption" value="metFileExtension" />
<property name="description" value="The file extension of existing and to be created PCS metadata files" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="file extension" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="REQUIRED" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>StdProductCrawler.metFileExtension</value>
<value>DeleteMetadataFile.fileExtension</value>
<value>MoveMetadataFileToBackupDir.fileExtension</value>
<value>MoveMetadataFileToFailureDir.fileExtension</value>
</list>
</property>
</bean>
</property>
</bean>
<bean id="metExtractor" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="mx" />
<property name="longOption" value="metExtractor" />
<property name="description" value="Metadata extractor class to use" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="class" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="REQUIRED" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>MetExtractorProductCrawler.metExtractor</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.ClassExistsCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="metExtractorConfig" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="mxc" />
<property name="longOption" value="metExtractorConfig" />
<property name="description" value="Config file for metadata extractor" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="file" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="REQUIRED" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>MetExtractorProductCrawler.metExtractorConfig</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.FileExistCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="mimeExtractorRepo" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="mxr" />
<property name="longOption" value="mimeExtractorRepo" />
<property name="description" value="Mime-type to metadata extractor mapping xml file" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="file" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="REQUIRED" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>AutoDetectProductCrawler.mimeExtractorRepo</value>
</list>
</property>
</bean>
</property>
<property name="validators">
<list>
<bean class="org.apache.oodt.cas.cli.option.validator.FileExistCmdLineOptionValidator" />
</list>
</property>
</bean>
<bean id="pushpullMetFileExtension" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
<property name="shortOption" value="ppmfx" />
<property name="longOption" value="pushpullMetFileExtension" />
<property name="description" value="File extension of push-pull metadata files" />
<property name="hasArgs" value="true" />
<property name="argsDescription" value="file extension" />
<property name="requirementRules">
<list>
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="StdProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="MetExtractorProductCrawler" p:relation="OPTIONAL" />
<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
p:actionName="AutoDetectProductCrawler" p:relation="OPTIONAL" />
</list>
</property>
<property name="handler">
<bean class="org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler">
<property name="properties">
<list>
<value>DeletePushpullMetFile.fileExtension</value>
<value>MovePushpullMetFileToBackupDir.fileExtension</value>
<value>MovePushpullMetFileToFailureDir.fileExtension</value>
<value>CheckThatPushPullMetFileExists.fileExtension</value>
</list>
</property>
</bean>
</property>
</bean>
</beans>