<?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)
          riverma (Rishi Verma)
-->
<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.0.xsd">

	<bean id="url" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
		<property name="shortOption" value="u" />
		<property name="longOption" value="url" />
		<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.cli.option.handler.SetJavaPropertiesHandler">
				<property name="propertyNames">
					<list>
						<value>org.apache.oodt.cas.filemgr.url</value>
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="operation" class="org.apache.oodt.cas.cli.option.GroupCmdLineOption">
		<property name="shortOption" value="op" />
		<property name="longOption" value="operation" />
		<property name="description"
			value="Declare that you wish to present an operation" />
		<property name="hasArgs" value="false" />
		<property name="required" value="true" />
		<property name="subOptions">
			<list>
				<bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
					p:option-ref="addProductType" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="deleteProductById" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="deleteProductByName" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="ingestProduct" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="hasProduct" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getProductTypeByName" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getNumProducts" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getFirstPage" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getNextPage" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getPrevPage" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getLastPage" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getCurrentTransfer" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getCurrentTransfers" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getProductById" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getProductByName" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getProductPctTransferred" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="getFilePctTransferred" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="sqlQuery" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="dumpMetadata" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="luceneQuery" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="retrieveFilesById" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="retrieveFilesByName" p:required="false" />
			</list>
		</property>
	</bean>

	<!-- AddProductType Options -->
	<bean id="addProductType" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
		p:isSubOption="true">
		<property name="shortOption" value="addPT" />
		<property name="longOption" value="addProductType" />
		<property name="description" value="Triggers addProductType Action" />
		<property name="hasArgs" value="false" />
		<property name="staticArgs">
			<list>
				<value>addProductType</value>
			</list>
		</property>
		<property name="requirementRules">
			<list>
				<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
					p:actionName="addProductType" p:relation="REQUIRED" />
			</list>
		</property>
	</bean>

  <bean id="typeId" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="tid" />
    <property name="longOption" value="typeId" />
    <property name="description" value="ProductType Id" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="product-type-id" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="addProductType" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="addProductType" p:methodName="setProductTypeId" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="typeName" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="tn" />
    <property name="longOption" value="typeName" />
    <property name="description" value="ProductType name" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="product-type-name" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="addProductType" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="addProductType" p:methodName="setProductTypeName" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="typeDesc" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="td" />
    <property name="longOption" value="typeDesc" />
    <property name="description" value="ProductType description" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="description" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="addProductType" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="addProductType" p:methodName="setProductTypeDescription" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="repository" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="repo" />
    <property name="longOption" value="repository" />
    <property name="description" value="ProductType repository" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="file-path" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="addProductType" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="addProductType" p:methodName="setFileRepositoryPath" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="versionClass" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="vc" />
    <property name="longOption" value="versionClass" />
    <property name="description" value="ProductType versioner class" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="classpath" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="addProductType" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="addProductType" p:methodName="setVersioner" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <!-- IngestProduct Options -->
  <bean id="ingestProduct" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="ingest" />
    <property name="longOption" value="ingestProduct" />
    <property name="description" value="Triggers ingestProduct Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>ingestProduct</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="productStructure" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="ps" />
    <property name="longOption" value="productStructure" />
    <property name="description" value="Hierarchical | Flat" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="structure-type" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="ingestProduct" p:methodName="setProductStructure" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="metadataFile" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="mf" />
    <property name="longOption" value="metadataFile" />
    <property name="description" value="Metadata XML file path or URL" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="file-path-or-url" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="clientTransfer" class="org.apache.oodt.cas.cli.option.GroupCmdLineOption">
    <property name="shortOption" value="ct" />
    <property name="longOption" value="clientTransfer" />
    <property name="description" value="User client transferer" />
    <property name="hasArgs" value="false" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="subOptions">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="dataTransfer" p:required="true" />
      </list>
    </property>
  </bean>

  <bean id="dataTransfer" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="dt" />
    <property name="longOption" value="dataTransfer" />
    <property name="description" value="DataTransferer factory class" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="classpath" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="ingestProduct" p:methodName="setDataTransferer" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="refs" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="rs" />
    <property name="longOption" value="refs" />
    <property name="description" value="Data file path or URL" />
    <property name="type" value="java.util.List" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="file-path-or-url" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="ingestProduct" p:methodName="setReferences" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <!-- HasProduct Options -->
  <bean id="hasProduct" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="product" />
    <property name="longOption" value="hasProduct" />
    <property name="description" value="Triggers hasProduct Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>hasProduct</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="hasProduct" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetProductTypeByName Options -->
  <bean id="getProductTypeByName" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="ptbyn" />
    <property name="longOption" value="getProductTypeByName" />
    <property name="description" value="Triggers getProductTypeByName Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getProductTypeByName</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductTypeByName" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetNumProducts Options -->
  <bean id="getNumProducts" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="num" />
    <property name="longOption" value="getNumProducts" />
    <property name="description" value="Triggers getNumProducts Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getNumProducts</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getNumProducts" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetFirstPage Options -->
  <bean id="getFirstPage" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="page1" />
    <property name="longOption" value="getFirstPage" />
    <property name="description" value="Triggers getFirstPage Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getFirstPage</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getFirstPage" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetNextPage Options -->
  <bean id="getNextPage" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="next" />
    <property name="longOption" value="getNextPage" />
    <property name="description" value="Triggers getNextPage Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getNextPage</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getNextPage" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetPrevPage Options -->
  <bean id="getPrevPage" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="prev" />
    <property name="longOption" value="getPrevPage" />
    <property name="description" value="Triggers getPrevPage Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getPrevPage</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getPrevPage" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetLastPage Options -->
  <bean id="getLastPage" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="last" />
    <property name="longOption" value="getLastPage" />
    <property name="description" value="Triggers getLastPage Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getLastPage</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getLastPage" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetCurrentTransfer Options -->
  <bean id="getCurrentTransfer" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="curTran" />
    <property name="longOption" value="getCurrentTransfer" />
    <property name="description" value="Triggers getCurrentTransfer Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getCurrentTransfer</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getCurrentTransfer" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetCurrentTransfers Options -->
  <bean id="getCurrentTransfers" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="curTrans" />
    <property name="longOption" value="getCurrentTransfers" />
    <property name="description" value="Triggers getCurrentTransfers Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getCurrentTransfers</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getCurrentTransfers" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetProductPercentTransferred Options -->
  <bean id="getProductPctTransferred" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="pctTrans" />
    <property name="longOption" value="getProductPctTransferred" />
    <property name="description" value="Triggers getProductPercentTransferred Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getProductPercentTransferred</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductPercentTransferred" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetFilePercentTransferred Options -->
  <bean id="getFilePctTransferred" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="filePctTrans" />
    <property name="longOption" value="getFilePctTransferred" />
    <property name="description" value="Triggers getFilePercentTransferred Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getFilePercentTransferred</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getFilePercentTransferred" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="origRef" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="or" />
    <property name="longOption" value="origRef" />
    <property name="description" value="Original reference" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="file-path-or-url" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getFilePercentTransferred" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <!-- SqlQuery Options -->
  <bean id="sqlQuery" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="sql" />
    <property name="longOption" value="sqlQuery" />
    <property name="description" value="Triggers sqlQuery Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>sqlQuery</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>



  <!-- GetProductById Options -->
  <bean id="getProductById" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="pbyid" />
    <property name="longOption" value="getProductById" />
    <property name="description" value="Triggers getProductById Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getProductById</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductById" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- GetProductByName Options -->
  <bean id="getProductByName" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="pbyn" />
    <property name="longOption" value="getProductByName" />
    <property name="description" value="Triggers getProductByName Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>getProductByName</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductByName" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- DeleteProductById Options -->
  <bean id="deleteProductById" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="dbyid" />
    <property name="longOption" value="deleteProductById" />
    <property name="description" value="Triggers deleteProductById Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>deleteProductById</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="deleteProductById" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- DeleteProductByName Options -->
  <bean id="deleteProductByName" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="dbyn" />
    <property name="longOption" value="deleteProductByName" />
    <property name="description" value="Triggers deleteProductByName Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>deleteProductByName</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="deleteProductByName" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <!-- DumpMetadata Options -->
  <bean id="dumpMetadata" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="dmet" />
    <property name="longOption" value="dumpMetadata" />
    <property name="description" value="Triggers dumpMetadata Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>dumpMetadata</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="dumpMetadata" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="outputDir" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="out" />
    <property name="longOption" value="outputDir" />
    <property name="description" value="Output directory" />
    <property name="type" value="java.io.File" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="file-dir" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="dumpMetadata" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <!-- LuceneQuery Options -->
  <bean id="luceneQuery" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="lucene" />
    <property name="longOption" value="luceneQuery" />
    <property name="description" value="Triggers luceneQuery Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>luceneQuery</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="reducedProductTypes" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="pts" />
    <property name="longOption" value="reducedProductTypes" />
    <property name="description" value="Limit query ProductTypes queried against" />
    <property name="type" value="java.util.List" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="list-of-product-types" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="reducedMetadataKeys" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="metKeys" />
    <property name="longOption" value="reducedMetadataKeys" />
    <property name="description" value="Limit Elements returned by query" />
    <property name="type" value="java.util.List" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="list-of-elements" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <!-- retrieveFiles Options -->
  <bean id="retrieveFilesById" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="rfbyid" />
    <property name="longOption" value="retrieveFilesById" />
    <property name="description" value="Triggers retrieveFilesById Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>retrieveFilesById</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesById" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="retrieveFilesByName" class="org.apache.oodt.cas.cli.option.ActionCmdLineOption"
    p:isSubOption="true">
    <property name="shortOption" value="rfbyn" />
    <property name="longOption" value="retrieveFilesByName" />
    <property name="description" value="Triggers retrieveFilesByName Action" />
    <property name="hasArgs" value="false" />
    <property name="staticArgs">
      <list>
        <value>retrieveFilesByName</value>
      </list>
    </property>
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesByName" p:relation="REQUIRED" />
      </list>
    </property>
  </bean>

  <bean id="transferer" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="trans" />
    <property name="longOption" value="transferer" />
    <property name="description" value="Factory for creating DataTransfer which will perform the file transfer(s)" />
    <property name="type" value="org.apache.oodt.cas.filemgr.datatransfer.DataTransferFactory" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="transfer factory class" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesById" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesByName" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
        <property name="applyToActions">
          <list>
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="retrieveFilesById" p:methodName="setDataTransferFactory" />
            <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
              p:actionName="retrieveFilesByName" p:methodName="setDataTransferFactory" />
          </list>
        </property>
      </bean>
    </property>
  </bean>

  <bean id="destination" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="dest" />
    <property name="longOption" value="destination" />
    <property name="description" value="Directory to transfer Product file to" />
    <property name="type" value="java.io.File" />
    <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="retrieveFilesById" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesByName" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

	<!-- Options used for multiple Actions -->
  <bean id="productId" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="pid" />
    <property name="longOption" value="productId" />
    <property name="description" value="Product ID" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="product-id" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductPercentTransferred" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductById" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="deleteProductById" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="dumpMetadata" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesById" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
	
  <bean id="productName" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="pn" />
    <property name="longOption" value="productName" />
    <property name="description" value="Product name" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="product-name" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="hasProduct" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductByName" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="deleteProductByName" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="retrieveFilesByName" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="productTypeName" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="ptn" />
    <property name="longOption" value="productTypeName" />
    <property name="description" value="ProductType name" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="product-type-name" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="ingestProduct" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductTypeByName" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getNumProducts" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getFirstPage" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getNextPage" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getPrevPage" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getLastPage" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getProductPercentTransferred" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
  
  <bean id="currentPageNum" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="curPage" />
    <property name="longOption" value="currentPageNum" />
    <property name="description" value="Current Page Number" />
    <property name="type" value="int" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="page-number" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getNextPage" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="getPrevPage" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="query" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="q" />
    <property name="longOption" value="query" />
    <property name="description" value="File Manager query" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="query" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="REQUIRED" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="REQUIRED" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="sortBy" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="sb" />
    <property name="longOption" value="sortBy" />
    <property name="description" value="Metadata field to sort query results by" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="metadata field" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="outputFormat" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="of" />
    <property name="longOption" value="outputFormat" />
    <property name="description" value="Output format string (i.e. Filename = $Filename)" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="output-format-string" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="delimiter" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
    <property name="shortOption" value="dlmtr" />
    <property name="longOption" value="delimiter" />
    <property name="description" value="String to use the separate query results" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="delimiter-string" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="filter" class="org.apache.oodt.cas.cli.option.GroupCmdLineOption">
    <property name="shortOption" value="f" />
    <property name="longOption" value="filter" />
    <property name="description" value="Query filter" />
    <property name="hasArgs" value="false" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="subOptions">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="algor" p:required="true" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="converter" p:required="false" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="startDateTimeMetKey" p:required="true" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="endDateTimeMetKey" p:required="true" />
        <bean class="org.apache.oodt.cas.cli.option.GroupSubOption"
          p:option-ref="priorityMetKey" p:required="true" />
      </list>
    </property>
  </bean>

  <bean id="algor" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="algor" />
    <property name="longOption" value="algor" />
    <property name="description" value="FilterAlgor class" />
    <property name="type" value="org.apache.oodt.cas.filemgr.structs.query.filter.FilterAlgor" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="classpath" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
  
  <bean id="converter" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="conv" />
    <property name="longOption" value="converter" />
    <property name="description" value="VersionConverter class" />
    <property name="type" value="org.apache.oodt.cas.filemgr.structs.query.conv.VersionConverter" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="classpath" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>

  <bean id="startDateTimeMetKey" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="sdtMetKey" />
    <property name="longOption" value="startDateTimeMetKey" />
    <property name="description" value="Start date time metadata key" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="metadata-key" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
  
  <bean id="endDateTimeMetKey" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="edtMetKey" />
    <property name="longOption" value="endDateTimeMetKey" />
    <property name="description" value="End date time metadata key" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="metadata-key" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
  
  <bean id="priorityMetKey" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption"
      p:isSubOption="true">
    <property name="shortOption" value="prMetKey" />
    <property name="longOption" value="priorityMetKey" />
    <property name="description" value="Priority metadata key" />
    <property name="hasArgs" value="true" />
    <property name="argsDescription" value="metadata-key" />
    <property name="requirementRules">
      <list>
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="sqlQuery" p:relation="OPTIONAL" />
        <bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
          p:actionName="luceneQuery" p:relation="OPTIONAL" />
      </list>
    </property>
    <property name="handler">
      <bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler" />
    </property>
  </bean>
</beans>
