You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ro...@apache.org on 2018/10/04 16:09:40 UTC
svn commit: r1842828 -
/felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
Author: rotty3000
Date: Thu Oct 4 16:09:40 2018
New Revision: 1842828
URL: http://svn.apache.org/viewvc?rev=1842828&view=rev
Log:
FELIX-5951 Automatically add ConfigurationAdmin service as a shell command
Signed-off-by: Raymond Auge <ro...@apache.org>
Modified:
felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
Modified: felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java?rev=1842828&r1=1842827&r2=1842828&view=diff
==============================================================================
--- felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java (original)
+++ felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java Thu Oct 4 16:09:40 2018
@@ -20,6 +20,7 @@ package org.apache.felix.cm.impl;
import java.io.IOException;
+import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.SecureRandom;
@@ -28,6 +29,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Dictionary;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
@@ -183,6 +185,13 @@ public class ConfigurationManager implem
props.put( Constants.SERVICE_PID, "org.apache.felix.cm.ConfigurationAdmin" );
props.put( Constants.SERVICE_DESCRIPTION, "Configuration Admin Service Specification 1.6 Implementation" );
props.put( Constants.SERVICE_VENDOR, "The Apache Software Foundation" );
+ props.put( "osgi.command.scope", "cm" );
+ Set<String> functions = new HashSet<>();
+ for ( Method method : ConfigurationAdmin.class.getDeclaredMethods() )
+ {
+ functions.add(method.getName());
+ }
+ props.put( "osgi.command.function", functions.toArray(new String[0]) );
configurationAdminRegistration = bundleContext.registerService( ConfigurationAdmin.class, caf, props );
// start handling ManagedService[Factory] services