public List features()

in deployer/service/src/main/java/org/apache/karaf/cave/deployer/service/DeployerServiceImpl.java [754:784]


    public List<org.apache.karaf.cave.deployer.Feature> features(String connectionName) throws Exception {
        Connection connection = getConnection(connectionName);
        JMXConnector jmxConnector = connect(connection.getJmxUrl(),
                connection.getKarafName(),
                connection.getUser(),
                connection.getPassword());
        try {
            MBeanServerConnection mBeanServerConnection = jmxConnector.getMBeanServerConnection();
            ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=" + connection.getKarafName());
            TabularData tabularData = (TabularData) mBeanServerConnection.getAttribute(name, "Features");
            List<org.apache.karaf.cave.deployer.Feature> result = new ArrayList<>();
            for (Object value : tabularData.values()) {
                CompositeData compositeData = (CompositeData) value;
                String featureName = (String) compositeData.get("Name");
                String featureVersion = (String) compositeData.get("Version");
                boolean featureInstalled = (Boolean) compositeData.get("Installed");
                org.apache.karaf.cave.deployer.Feature feature = new org.apache.karaf.cave.deployer.Feature();
                feature.setName(featureName);
                feature.setVersion(featureVersion);
                if (featureInstalled)
                    feature.setState("Installed");
                else feature.setState("Uninstalled");
                result.add(feature);
            }
            return result;
        } finally {
            if (jmxConnector != null) {
                jmxConnector.close();
            }
        }
    }