| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" |
| xmlns:ext="http://geronimo.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"> |
| |
| <ext:property-placeholder placeholder-prefix="$(" placeholder-suffix=")"/> |
| |
| <ext:property-placeholder placeholder-prefix="$[" placeholder-suffix="]" ignore-missing-locations="true"> |
| <ext:default-properties> |
| <ext:property name="featuresRepositories" value=""/> |
| <ext:property name="featuresBoot" value=""/> |
| </ext:default-properties> |
| <ext:location>file:$(karaf.home)/etc/org.apache.felix.karaf.features.cfg</ext:location> |
| </ext:property-placeholder> |
| |
| <command-bundle xmlns="http://felix.apache.org/karaf/xmlns/gshell/v1.0.0"> |
| <command name="features/addUrl"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.AddUrlCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| </command> |
| <command name="features/listUrl"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.ListUrlCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| </command> |
| <command name="features/removeUrl"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.RemoveUrlCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| <completers> |
| <ref component-id="removeUrlCompleter" /> |
| </completers> |
| </command> |
| <command name="features/refreshUrl"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.RefreshUrlCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| </command> |
| <command name="features/install"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.InstallFeatureCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| <completers> |
| <ref component-id="installFeatureCompleter" /> |
| </completers> |
| </command> |
| <command name="features/uninstall"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.UninstallFeatureCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| <completers> |
| <ref component-id="uninstallFeatureCompleter" /> |
| </completers> |
| </command> |
| <command name="features/list"> |
| <action class="org.apache.felix.karaf.gshell.features.commands.ListFeaturesCommand"> |
| <property name="bundleContext" ref="blueprintBundleContext"/> |
| </action> |
| </command> |
| </command-bundle> |
| |
| <bean id="featuresService" class="org.apache.felix.karaf.gshell.features.internal.FeaturesServiceImpl" init-method="start" destroy-method="stop"> |
| <property name="urls" value="$[featuresRepositories]" /> |
| <property name="boot" value="$[featuresBoot]" /> |
| <property name="configAdmin" ref="configAdmin" /> |
| <property name="preferences" ref="preferences" /> |
| <property name="featuresServiceRegistry" ref="featureServiceRegistry" /> |
| <property name="bundleContext" ref="blueprintBundleContext" /> |
| </bean> |
| |
| <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" /> |
| |
| <reference id="preferences" interface="org.osgi.service.prefs.PreferencesService" availability="optional"/> |
| |
| <service ref="featuresService" interface="org.apache.felix.karaf.gshell.features.FeaturesService" /> |
| |
| <bean id="installFeatureCompleter" class="org.apache.felix.karaf.gshell.features.completers.AvailableFeatureCompleter"> |
| <property name="featuresRegistry" ref="featureServiceRegistry" /> |
| </bean> |
| |
| <bean id="uninstallFeatureCompleter" class="org.apache.felix.karaf.gshell.features.completers.InstalledFeatureCompleter"> |
| <property name="featuresRegistry" ref="featureServiceRegistry" /> |
| </bean> |
| |
| <bean id="removeUrlCompleter" class="org.apache.felix.karaf.gshell.features.completers.FeatureRepositoryCompleter"> |
| <property name="featuresRegistry" ref="featureServiceRegistry" /> |
| </bean> |
| |
| <!-- Management --> |
| |
| <bean id="namingStrategy" class="org.apache.felix.karaf.gshell.features.management.DefaultNamingStrategy"> |
| <property name="jmxDomainName" value="org.apache.felix.karaf" /> |
| </bean> |
| |
| <bean id="managementAgent" class="org.apache.felix.karaf.gshell.features.management.ManagementAgent" destroy-method="destroy"> |
| <property name="mbeanServer" ref="mbeanServer" /> |
| </bean> |
| |
| <bean id="featureServiceRegistry" class="org.apache.felix.karaf.gshell.features.management.ManagedFeaturesRegistry" init-method="init"> |
| <property name="managementAgent" ref="managementAgent" /> |
| <property name="namingStrategy" ref="namingStrategy" /> |
| </bean> |
| |
| <reference id="mbeanServer" interface="javax.management.MBeanServer" availability="optional"> |
| <reference-listener ref="featureServiceRegistry" bind-method="registerMBeanServer" unbind-method="unregisterMBeanServer"/> |
| </reference> |
| |
| </blueprint> |