diff --git a/cli/src/main/java/org/jboss/as/cli/handlers/ReadAttributeHandler.java b/cli/src/main/java/org/jboss/as/cli/handlers/ReadAttributeHandler.java index a178d76bae0..fd03f7be1fe 100644 --- a/cli/src/main/java/org/jboss/as/cli/handlers/ReadAttributeHandler.java +++ b/cli/src/main/java/org/jboss/as/cli/handlers/ReadAttributeHandler.java @@ -116,8 +116,12 @@ public boolean canAppearNext(CommandContext ctx) throws CommandFormatException { op.get(Util.ADDRESS).setEmptyList(); } else { final ModelNode addrNode = op.get(Util.ADDRESS); - for(OperationRequestAddress.Node node : address) { - addrNode.add(node.getType(), node.getName()); + for (OperationRequestAddress.Node node : address) { + if (!(node.getName() == null)) { + addrNode.add(node.getType(), node.getName()); + } else { + addrNode.add(node.getType(), "*"); + } } } @@ -219,6 +223,7 @@ public ModelNode buildRequestWithoutHeaders(CommandContext ctx) throws CommandFo return req; } + @Override protected void handleResponse(CommandContext ctx, ModelNode response, boolean composite) throws CommandFormatException { if (!Util.isSuccess(response)) { throw new CommandFormatException(Util.getFailureDescription(response)); diff --git a/testsuite/standalone/src/test/java/org/jboss/as/test/integration/management/cli/CliCompletionTestCase.java b/testsuite/standalone/src/test/java/org/jboss/as/test/integration/management/cli/CliCompletionTestCase.java index a7ba18c78f7..1331b3bbba5 100644 --- a/testsuite/standalone/src/test/java/org/jboss/as/test/integration/management/cli/CliCompletionTestCase.java +++ b/testsuite/standalone/src/test/java/org/jboss/as/test/integration/management/cli/CliCompletionTestCase.java @@ -118,6 +118,36 @@ public void complexOperationWithObjectAsAttributeTest() { assertEquals(candidates.toString(), Arrays.asList(","), candidates); } } + /** + * Checks CLI completion for "read-attribute " command + */ + @Test + public void readAttributeWithSpaceTest() { + for (List candidates : getCandidatesLists("read-attribute ", null)) { + assertTrue(candidates.contains("--resolve-expressions")); + assertTrue(candidates.contains("management-major-version")); + assertFalse(candidates.contains("--admin-only")); + } + } + /** + * Checks CLI completion for "read-a" command + */ + @Test + public void readAttributeWithUnfinishedCmdTest() { + for (List candidates : getCandidatesLists("read-a", true)) { + assertTrue(candidates.contains("read-attribute")); + } + } + /** + * Checks CLI completion for "read-attribute --" command + */ + @Test + public void readAttributeWithUnfinishedArgumentTest() { + for (List candidates : getCandidatesLists("read-attribute --", false)) { + assertTrue(candidates.contains("--resolve-expressions")); + assertTrue(candidates.contains("--verbose")); + } + } /** * Checks CLI completion for "help" command