[ 
https://issues.apache.org/jira/browse/OODT-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236445#comment-13236445
 ] 

Brian Foster commented on OODT-430:
-----------------------------------

This is gonna apply to all boolean types i imagine... --skipInject... etc... 
the problem is --noRecur should be marked as type boolean with a static arg of 
true... changes needed are pointed out below:

{code:xml} 
        <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" />

                <!-- boolean type added here -->
                <property name="type" value="boolean" />
                <!-- end add boolean type -->

                <property name="hasArgs" value="false" />

                <!-- static arg true added here -->
                <property name="staticArgs">
                        <list>
                                <value>true</value>
                        </list>
                </property>
                <!-- end add static arg true -->

                <property name="requirementRules">
                        <list>
                                <bean 
class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
                                        p:actionName="launchStdCrawler" 
p:relation="OPTIONAL" />
                                <bean 
class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
                                        p:actionName="launchMetCrawler" 
p:relation="OPTIONAL" />
                                <bean 
class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
                                        p:actionName="launchAutoCrawler" 
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>
{code} 
                
> CrawlerBeansPropHandler throws IndexOutOfBoundsException when parsing boolean 
> command line options like noRecur
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: OODT-430
>                 URL: https://issues.apache.org/jira/browse/OODT-430
>             Project: OODT
>          Issue Type: Bug
>          Components: crawler
>    Affects Versions: 0.4
>            Reporter: Thomas Bennett
>            Priority: Minor
>              Labels: patch
>             Fix For: 0.4
>
>
> Executing the crawler with --noRecur command line option throws the following 
> exception:
> Executed command:
> java ... --operation --launchAutoCrawler... --productPath /var/kat/data.. 
> --noRecur
> Output:
> Setting property 'StdProductCrawler.filemgrUrl'
> Setting property 'MetExtractorProductCrawler.filemgrUrl'
> Setting property 'AutoDetectProductCrawler.filemgrUrl'
> Setting property 'StdProductCrawler.clientTransferer'
> Setting property 'MetExtractorProductCrawler.clientTransferer'
> Setting property 'AutoDetectProductCrawler.clientTransferer'
> Setting property 'AutoDetectProductCrawler.mimeExtractorRepo'
> Setting property 'MoveMetadataFileToFailureDir.toDir'
> Setting property 'MovePushpullMetFileToFailureDir.toDir'
> Setting property 'MoveDataFileToFailureDir.toDir'
> Exception in thread "main" java.lang.RuntimeException: 
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at org.apache.oodt.cas.cli.CmdLineUtility.run(CmdLineUtility.java:191)
>       at 
> org.apache.oodt.cas.crawl.CrawlerLauncher.main(CrawlerLauncher.java:36)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at java.util.ArrayList.rangeCheck(ArrayList.java:571)
>       at java.util.ArrayList.get(ArrayList.java:349)
>       at 
> org.apache.oodt.cas.crawl.cli.option.handler.CrawlerBeansPropHandler.handleOption(CrawlerBeansPropHandler.java:56)
>       at 
> org.apache.oodt.cas.cli.util.CmdLineUtils.handle(CmdLineUtils.java:1034)
>       at 
> org.apache.oodt.cas.cli.CmdLineUtility.handle(CmdLineUtility.java:383)
>       at 
> org.apache.oodt.cas.cli.CmdLineUtility.execute(CmdLineUtility.java:328)
>       at org.apache.oodt.cas.cli.CmdLineUtility.run(CmdLineUtility.java:187)
>       ... 1 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to