[
https://issues.jboss.org/browse/WFLY-3705?page=com.atlassian.jira.plugin....
]
Brian Stansberry commented on WFLY-3705:
----------------------------------------
For this case:
{code}
T | N, N > 0 | Max depth recursion
{code}
I think N-deep recursion is better, and is OK. It's a behavior change, but it's
much less likely to have a negative impact on an actual user than requiring recursive=true
to get recursion would have. I doubt many, if any users are using
recursive=true,recursive-depth=N and then are actually trying to navigate past N levels.
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)