[jboss-jira] [JBoss JIRA] (WFLY-3705) read-resource recursive-depth has no effect when recursive=true

Arcadiy Ivanov (JIRA) issues at jboss.org
Mon Aug 11 15:16:31 EDT 2014


    [ https://issues.jboss.org/browse/WFLY-3705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992099#comment-12992099 ] 

Arcadiy Ivanov commented on WFLY-3705:
--------------------------------------

Works for me. 
Revised behavioral table:

{noformat}
Recursive | Recursive Depth | Behavior
    T     |       U         |   Max depth recursion
    F     |       U         |   No recursion
    T     |       0         |   Max depth recursion
    F     |       0         |   No recursion
    T     |    N, N > 0     |   N-deep recursion
    F     |    N, N > 0     |   No recursion
    U     |       U         |   No recursion
    U     |       0         |   No recursion
    U     |    N, N > 0     |   N-deep recursion
{noformat}

> read-resource recursive-depth has no effect when recursive=true
> ---------------------------------------------------------------
>
>                 Key: WFLY-3705
>                 URL: https://issues.jboss.org/browse/WFLY-3705
>             Project: WildFly
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Documentation, Domain Management
>    Affects Versions: 8.1.0.Final
>         Environment: Linux aimobile-sm.servicemesh.com 3.15.7-200.fc20.x86_64 #1 SMP Mon Jul 28 18:50:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Arcadiy Ivanov
>            Assignee: Brian Stansberry
>
> The code inside ReadResourceHandler.doExecuteInternal(OperationContext context, ModelNode operation) goes as follows:
> {noformat}
> final int recursiveDepth = operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).asInt(0);
> final boolean recursive = recursiveDepth > 0 || operation.get(ModelDescriptionConstants.RECURSIVE).asBoolean(false);
> {noformat}
> The [documentation|https://docs.jboss.org/author/display/WFLY8/Global+operations] states:
> recursive-depth – (int) – The depth to which information about child resources should be included *if recursive is {{true}*. If not set, the depth will be unlimited; i.e. all descendant resources will be included.
> The logic, however, as implemented goes - either recursive-depth is greater than zero OR recursive is true.
> The proper implementation should be:
> {noformat}
> final int recursiveDepth = operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).asInt(0);
> final boolean recursive =  operation.get(ModelDescriptionConstants.RECURSIVE).asBoolean(false) && 
>                 (!operation.get(ModelDescriptionConstants.RECURSIVE_DEPTH).isDefined() || recursiveDepth > 0);
> {noformat}
> The above snippet works as follows: recurs IF recursive is set AND (either recursive-depth is not defined OR recursive-depth is greater than 0).
>   



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)



More information about the jboss-jira mailing list