You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2022/10/05 08:44:26 UTC

[karaf] branch karaf-4.3.x updated: [KARAF-5194] add state column to feature:version-list command

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch karaf-4.3.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.3.x by this push:
     new 6038370e66 [KARAF-5194] add state column to feature:version-list command
6038370e66 is described below

commit 6038370e669dd7b38bcd21d83cbd2713c34bb66b
Author: Aleksy Wróblewski <al...@bbbit.io>
AuthorDate: Wed Sep 21 20:45:05 2022 +0200

    [KARAF-5194] add state column to feature:version-list command
    
    (cherry picked from commit dd91b44cc48cad06328d26fd004c6c5f009b7fae)
---
 .../features/command/ListFeatureVersionsCommand.java      |  4 ++--
 .../test/java/org/apache/karaf/itests/FeatureTest.java    | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java b/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
index 4d69a68c0d..a03384560f 100644
--- a/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
+++ b/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
@@ -45,13 +45,13 @@ public class ListFeatureVersionsCommand extends FeaturesCommandSupport {
         table.column("Version");
         table.column("Repository");
         table.column("Repository URL");
+        table.column("State");
         table.emptyTableText("No versions available for features '" + feature + "'");
              
         for (Repository r : Arrays.asList(admin.listRepositories())) {
             for (Feature f : r.getFeatures()) {
-
                 if (f.getName().equals(feature)) {
-                    table.addRow().addContent(f.getVersion(), r.getName(), r.getURI());
+                    table.addRow().addContent(f.getVersion(), r.getName(), r.getURI(), admin.getState(f.getId()));
                 }
             }
         }
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java b/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
index 8c6d6f3796..467f9636c1 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
@@ -82,6 +82,21 @@ public class FeatureTest extends BaseTest {
         assertTrue(features.size() > 0);
     }
 
+    @Test
+    public void versionListCommand() {
+        executeCommand("feature:install wrapper", new RolePrincipal("admin"));
+        String featureVersionListOutput = executeCommand("feature:version-list wrapper");
+        String[] lines = featureVersionListOutput.split("\\R");
+        String headers = lines[0];
+        assertContains("Version", headers);
+        assertContains("Repository", headers);
+        assertContains("Repository URL", headers);
+        assertContains("State", headers);
+        // lines[1] separates headers and rows
+        String row = lines[2];
+        assertTrue(row.matches("(.*|){3}Started"));
+    }
+
     @Test
     public void installUninstallCommand() throws Exception {
         System.out.println(executeCommand("feature:install -v -r wrapper", new RolePrincipal("admin")));