Fixed #FELIX-2644 /cannot disable plugin/
https://issues.apache.org/jira/browse/FELIX-2644
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1027069 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
index 4baaf05..b4688c8 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
@@ -61,7 +61,7 @@
private static final long serialVersionUID = 1L;
private static final String LABEL = "components";
- private static final String TITLE = "%scr.pluginTitle";
+ private static final String TITLE = "%components.pluginTitle";
private static final String CSS[] = { "/res/ui/bundles.css" }; // yes, it's correct!
// actions
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ConfigManager.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ConfigManager.java
index 9b6ec2a..8defdb8 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ConfigManager.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ConfigManager.java
@@ -66,7 +66,7 @@
public class ConfigManager extends ConfigManagerBase
{
private static final String LABEL = "configMgr"; // was name
- private static final String TITLE = "%config.pluginTitle";
+ private static final String TITLE = "%configMgr.pluginTitle";
private static final String CSS[] = { "/res/ui/config.css" };
private static final String PID_FILTER = "pidFilter";
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
index f0b864a..c57a2c8 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
@@ -42,7 +42,7 @@
public class LogServlet extends SimpleWebConsolePlugin implements OsgiManagerPlugin
{
private static final String LABEL = "logs";
- private static final String TITLE = "%log.pluginTitle";
+ private static final String TITLE = "%logs.pluginTitle";
private static final String CSS[] = { "/res/ui/logs.css" };
private final static int MAX_LOGS = 200; //maximum number of log entries
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
index c32920d..33d74a8 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
@@ -47,7 +47,7 @@
{
private static final String LABEL = "deppack";
- private static final String TITLE = "%deployment.pluginTitle";
+ private static final String TITLE = "%deppack.pluginTitle";
private static final String CSS[] = { "/res/ui/deployment.css" };
//
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
index eb4b552..4b1ee96 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
@@ -58,7 +58,7 @@
{ "README", "DISCLAIMER", "LICENSE", "NOTICE", "DEPENDENCIES" };
static final String LABEL = "licenses";
- static final String TITLE = "%license.pluginTitle";
+ static final String TITLE = "%licenses.pluginTitle";
static final String CSS[] = { "/res/ui/license.css" };
// templates
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
index 99a0b26..1cb5380 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
@@ -39,7 +39,7 @@
public class BundleRepositoryRender extends SimpleWebConsolePlugin implements OsgiManagerPlugin
{
private static final String LABEL = "obr";
- private static final String TITLE = "OSGi Repository";
+ private static final String TITLE = "%obr.pluginTitle";
private static final String[] CSS =
{ "/res/ui/obr.css" };
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/ConfigurationListener2.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/ConfigurationListener2.java
index 0bfa367..f01154f 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/ConfigurationListener2.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/ConfigurationListener2.java
@@ -25,7 +25,6 @@
import java.util.ResourceBundle;
import java.util.TreeMap;
-import org.apache.felix.webconsole.AbstractWebConsolePlugin;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ManagedService;
import org.osgi.service.metatype.AttributeDefinition;
@@ -118,29 +117,24 @@
final TreeMap namesByClassName = new TreeMap();
final ClassLoader loader = getClass().getClassLoader();
- final String[] defaultPluginsClasses = OsgiManager.PLUGIN_CLASSES;
+ final String[] defaultPluginsClasses = OsgiManager.PLUGIN_MAP;
for ( int i = 0; i < defaultPluginsClasses.length; i++ )
{
+ final String clazz = defaultPluginsClasses[i++];
+ final String label = defaultPluginsClasses[i];
+ String name = null;
try
{
- final Object plugin = loader.loadClass( defaultPluginsClasses[i] ).newInstance();
- if ( plugin instanceof AbstractWebConsolePlugin )
- {
- String name = ( ( AbstractWebConsolePlugin ) plugin ).getTitle();
- if (name.startsWith("%"))
- {
- final ResourceBundle rb = osgiManager.resourceBundleManager.getResourceBundle(
- ((AbstractWebConsolePlugin) plugin).getBundle(),
- Locale.ENGLISH);
- name = rb.getString(name.substring(1));
- }
- namesByClassName.put( defaultPluginsClasses[i], name );
- }
+ name = label + ".pluginTitle";
+ final ResourceBundle rb = osgiManager.resourceBundleManager.getResourceBundle(osgiManager.getBundleContext().getBundle(), Locale.ENGLISH);
+ name = rb.getString(name);
}
catch ( Throwable t )
{
+ name = label;
// ignore
}
+ namesByClassName.put(clazz, name);
}
final String[] classes = ( String[] ) namesByClassName.keySet().toArray(
new String[namesByClassName.size()] );
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
index 8a5d285..0c5c5f5 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
@@ -53,6 +53,7 @@
import org.apache.felix.webconsole.internal.filter.FilteringResponseWrapper;
import org.apache.felix.webconsole.internal.i18n.ResourceBundleManager;
import org.apache.felix.webconsole.internal.misc.ConfigurationRender;
+import org.apache.felix.webconsole.internal.servlet.PluginHolder.InternalPlugin;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -147,23 +148,27 @@
static final String[] PLUGIN_CLASSES =
{ "org.apache.felix.webconsole.internal.compendium.ComponentConfigurationPrinter",
- "org.apache.felix.webconsole.internal.compendium.ComponentsServlet",
- "org.apache.felix.webconsole.internal.compendium.ConfigManager",
"org.apache.felix.webconsole.internal.compendium.ConfigurationAdminConfigurationPrinter",
- "org.apache.felix.webconsole.internal.compendium.LogServlet",
"org.apache.felix.webconsole.internal.compendium.PreferencesConfigurationPrinter",
"org.apache.felix.webconsole.internal.compendium.WireAdminConfigurationPrinter",
- "org.apache.felix.webconsole.internal.core.BundlesServlet",
"org.apache.felix.webconsole.internal.core.PermissionsConfigurationPrinter",
"org.apache.felix.webconsole.internal.core.ServicesConfigurationPrinter",
- "org.apache.felix.webconsole.internal.core.ServicesServlet",
- "org.apache.felix.webconsole.internal.deppack.DepPackServlet",
- "org.apache.felix.webconsole.internal.misc.LicenseServlet",
- "org.apache.felix.webconsole.internal.misc.ShellServlet",
"org.apache.felix.webconsole.internal.misc.SystemPropertiesPrinter",
"org.apache.felix.webconsole.internal.misc.ThreadPrinter",
- "org.apache.felix.webconsole.internal.obr.BundleRepositoryRender",
- "org.apache.felix.webconsole.internal.system.VMStatPlugin" };
+ };
+
+ static final String[] PLUGIN_MAP = {
+ "org.apache.felix.webconsole.internal.compendium.ComponentsServlet", "components", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.compendium.ConfigManager", "configMgr", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.compendium.LogServlet", "logs", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.core.BundlesServlet", "bundles", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.core.ServicesServlet", "services", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.deppack.DepPackServlet", "deppack", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.misc.LicenseServlet", "licenses", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.misc.ShellServlet", "shell", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.obr.BundleRepositoryRender", "obr", //$NON-NLS-1$ //$NON-NLS-2$
+ "org.apache.felix.webconsole.internal.system.VMStatPlugin", "vmstat", //$NON-NLS-1$ //$NON-NLS-2$
+ };
private BundleContext bundleContext;
@@ -208,6 +213,14 @@
this.bundleContext = bundleContext;
this.holder = new PluginHolder( bundleContext );
+ // new plugins setup
+ for (int i = 0; i < PLUGIN_MAP.length; i++ )
+ {
+ final String pluginClassName = PLUGIN_MAP[i++];
+ final String label = PLUGIN_MAP[i];
+ holder.addInternalPlugin(this, pluginClassName, label);
+ }
+
// setup the included plugins
ClassLoader classLoader = getClass().getClassLoader();
for ( int i = 0; i < PLUGIN_CLASSES.length; i++ )
@@ -219,23 +232,12 @@
Class pluginClass = classLoader.loadClass( pluginClassName );
Object plugin = pluginClass.newInstance();
- // check whether enabled by configuration
- if ( isPluginDisabled( pluginClassName, plugin ) )
- {
- log( LogService.LOG_INFO, "Ignoring plugin " + pluginClassName + ": Disabled by configuration" );
- continue;
- }
-
if ( plugin instanceof OsgiManagerPlugin )
{
( ( OsgiManagerPlugin ) plugin ).activate( bundleContext );
osgiManagerPlugins.add( plugin );
}
- if ( plugin instanceof AbstractWebConsolePlugin )
- {
- holder.addOsgiManagerPlugin( ( AbstractWebConsolePlugin ) plugin );
- }
- else if ( plugin instanceof BrandingPlugin )
+ if ( plugin instanceof BrandingPlugin )
{
AbstractWebConsolePlugin.setBrandingPlugin( ( BrandingPlugin ) plugin );
}
@@ -529,7 +531,7 @@
* @param level The log level at which to log the message
* @param message The message to log
*/
- private void log( int level, String message )
+ void log( int level, String message )
{
if ( logLevel >= level )
{
@@ -552,7 +554,7 @@
* @param message The message to log
* @param t The <code>Throwable</code> to log with the message
*/
- private void log( int level, String message, Throwable t )
+ void log( int level, String message, Throwable t )
{
if ( logLevel >= level )
{
@@ -664,7 +666,7 @@
private static class BrandingServiceTracker extends ServiceTracker
{
- private final OsgiManager osgiManager;
+ private final OsgiManager osgiManager; // FIXME: never read locally
BrandingServiceTracker( OsgiManager osgiManager )
@@ -933,18 +935,14 @@
/**
- * Returns <code>true</code> if the plugin is an
- * {@link AbstractWebConsolePlugin} and a list of enabled plugins is
+ * Returns <code>true</code> if the list of enabled plugins is
* configured but the plugin is not contained in that list.
* <p>
- * This method is intended to be used only for plugins contained in the
- * web console bundle itself, namely plugins listed in the
- * {@value #PLUGIN_CLASSES} list.
+ * This method is intended to be used only for {@link InternalPlugin#isEnabled()}
*/
- private boolean isPluginDisabled( String pluginClass, Object plugin )
+ boolean isPluginDisabled( String pluginClass )
{
- return enabledPlugins != null && !enabledPlugins.contains( pluginClass )
- && ( plugin instanceof AbstractWebConsolePlugin );
+ return enabledPlugins != null && !enabledPlugins.contains( pluginClass );
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
index f4188da..48f1e6f 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
@@ -33,6 +33,7 @@
import org.apache.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.internal.OsgiManagerPlugin;
import org.apache.felix.webconsole.internal.WebConsolePluginAdapter;
import org.apache.felix.webconsole.internal.i18n.ResourceBundleManager;
import org.osgi.framework.Bundle;
@@ -42,6 +43,7 @@
import org.osgi.framework.ServiceEvent;
import org.osgi.framework.ServiceListener;
import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
/**
@@ -149,6 +151,11 @@
this.defaultPluginLabel = defaultPluginLabel;
}
+ void addInternalPlugin( final OsgiManager osgiManager, final String pluginClassName, final String label)
+ {
+ final Plugin plugin = new InternalPlugin(this, osgiManager, pluginClassName, label);
+ addPlugin( label, plugin );
+ }
/**
* Adds an internal Web Console plugin
@@ -232,6 +239,8 @@
for ( int i = 0; i < plugins.length; i++ )
{
final Plugin plugin = plugins[i];
+ if (!plugin.isEnabled() || null == plugin.getConsolePlugin()) continue;
+
final String label = plugin.getLabel();
String title = plugin.getTitle();
if ( title.startsWith( "%" ) )
@@ -316,6 +325,8 @@
/**
* Called when plugin services are registered or unregistered (or modified,
* which is currently ignored)
+ *
+ * @see org.osgi.framework.ServiceListener#serviceChanged(org.osgi.framework.ServiceEvent)
*/
public void serviceChanged( ServiceEvent event )
{
@@ -538,6 +549,9 @@
return consolePlugin;
}
+ protected boolean isEnabled() {
+ return true;
+ }
protected AbstractWebConsolePlugin doGetConsolePlugin()
{
@@ -637,6 +651,7 @@
*/
final void ungetService()
{
+ // FIXME: this method is used by nobody!?!?
dispose();
}
@@ -707,4 +722,63 @@
}
}
+
+ static class InternalPlugin extends Plugin
+ {
+ final String pluginClassName;
+ final OsgiManager osgiManager;
+ AbstractWebConsolePlugin plugin;
+
+ protected InternalPlugin(PluginHolder holder, OsgiManager osgiManager, String pluginClassName, String label)
+ {
+ super(holder, label);
+ this.osgiManager = osgiManager;
+ this.pluginClassName = pluginClassName;
+ }
+
+ protected final boolean isEnabled() {
+ // check if the plugin is enabled
+ return !osgiManager.isPluginDisabled(pluginClassName);
+ }
+
+ protected AbstractWebConsolePlugin doGetConsolePlugin()
+ {
+ if (null == plugin) {
+ if (!isEnabled())
+ {
+ osgiManager.log( LogService.LOG_INFO, "Ignoring plugin " + pluginClassName + ": Disabled by configuration" );
+ return null;
+ }
+
+ try
+ {
+ Class pluginClass = getClass().getClassLoader().loadClass(pluginClassName);
+ plugin = (AbstractWebConsolePlugin) pluginClass.newInstance();
+
+ if (plugin instanceof OsgiManagerPlugin)
+ {
+ ((OsgiManagerPlugin) plugin).activate(getBundle().getBundleContext());
+ }
+
+ }
+ catch (Throwable t)
+ {
+ osgiManager.log( LogService.LOG_WARNING, "Failed to instantiate plugin " + pluginClassName, t );
+ }
+ }
+
+ return plugin;
+ }
+
+ protected void doUngetConsolePlugin(AbstractWebConsolePlugin consolePlugin)
+ {
+ if (consolePlugin == plugin) plugin = null;
+ if (consolePlugin instanceof OsgiManagerPlugin)
+ {
+ ((OsgiManagerPlugin) consolePlugin).deactivate();
+ }
+ super.doUngetConsolePlugin(consolePlugin);
+ }
+
+ }
}
diff --git a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
index f2bd291..387efa6 100644
--- a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
+++ b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
@@ -78,7 +78,7 @@
services.usingBundles=Използващи бъндъли
# Log plugin
-log.pluginTitle=Журнал
+logs.pluginTitle=Журнал
log.status.ok=Log Service е активен.
log.status.missing=Няма активен Log Service.
log.severity.label=Макс. ниво:
@@ -93,7 +93,7 @@
log.level.debug=ДЕТАЙЛИ
# Deployment Admin plugin
-deployment.pluginTitle=Управление на пакети
+deppack.pluginTitle=Управление на пакети
deployment.status.no_data=Няма инсталирани пакети!
deployment.status.no_service=Услугата Deployment Admin не е налична в момента!
deployment.status.ok=Deployment Admin е наличен и по-долу е показан списъка с пакет
@@ -163,7 +163,7 @@
# Components plugin
-scr.pluginTitle=Компоненти
+components.pluginTitle=Компоненти
scr.status.no_service=Declarative Service не е наличен!
scr.status.no_components=Няма инсталирани компонент в момента!
scr.status.ok=Брой инсталирани компоненти: {0}
@@ -185,7 +185,7 @@
# Configuration plugin
-config.pluginTitle=Конфигурации
+configMgr.pluginTitle=Конфигурации
config.status.ok=Configuration Admin Service е достъпен.
config.status.missing=Няма Configuration Admin Service
config.properties=Настройки
@@ -211,7 +211,7 @@
config.bind.error=Грешка: PID "{0}" е асоцииран с "{1}" но улугата е регистриране от бъндъл "{2}"
# License plugin
-license.pluginTitle=Лицензи
+licenses.pluginTitle=Лицензи
license.status.ok=Следните бъндъли съдържат лицензионна информация.
license.status.none=Няма бъндъли съдържащо лицензионна информация
license.resources=Ресурси на бъндъла:
diff --git a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
index 1ea0ad9..ff76151 100644
--- a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
+++ b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
@@ -77,7 +77,7 @@
services.usingBundles=Nutzende Bundles
# Log plugin
-log.pluginTitle=Log Service
+logs.pluginTitle=Log Service
log.status.ok=Log Service ist aktiv.
log.status.missing=Log Service ist nicht installiert/aktiv.
log.severity.label=Minimaler Level:
@@ -92,7 +92,7 @@
log.level.debug=Debug
# Deployment Admin plugin
-deployment.pluginTitle=Deployment Packages
+deppack.pluginTitle=Deployment Packages
deployment.status.no_data=Kein Deployment Package ist installiert!
deployment.status.no_service=Deployment Admin Dienst ist nicht instaliert/aktiv!
deployment.status.ok=Deployment Admin Dienst ist aktiv
@@ -161,7 +161,7 @@
bundles.error.title=Ein Fehler ist aufgetreten während der Ausführung der Bundle Operation!
# Components plugin
-scr.pluginTitle=Komponenten
+components.pluginTitle=Komponenten
scr.status.no_service=Declarative Service ist Voraussetzung für diese Funktionalität!
scr.status.no_components=Zur Zeit sind keine Komponenten installiert!
scr.status.ok=Anzahl installierter Komponenten: {0}
@@ -183,7 +183,7 @@
# Configuration plugin
-config.pluginTitle=Konfiguration
+configMgr.pluginTitle=Konfiguration
config.status.ok=Configuration Admin Dienst ist aktiv.
config.status.missing=Configuration Admin Dienst ist nicht installiert/aktiv.
config.properties=Eigenschaften
@@ -208,7 +208,7 @@
config.title.name=Name
# License plugin
-license.pluginTitle=Lizenzen
+licenses.pluginTitle=Lizenzen
license.status.ok=Die folgenden Bundles enthalten Lizenz Informationen.
license.status.none=Keine Bundles mit Lizenz Informationen installiert
license.resources=Bundle Resourcen:
diff --git a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_ru.properties b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_ru.properties
index b3b4855..d0bb220 100644
--- a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_ru.properties
+++ b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_ru.properties
@@ -48,7 +48,7 @@
services.usingBundles=Используется модулями
# Log plugin
-log.pluginTitle=Журнал
+logs.pluginTitle=Журнал
log.status.ok=Log Service работает.
log.status.missing=Log Service не установлен или не запущен.
log.severity.label=Важность:
@@ -63,7 +63,7 @@
log.level.debug=ОТЛАДКА
# Deployment Admin plugin
-deployment.pluginTitle=Управление пакетами
+deppack.pluginTitle=Управление пакетами
deployment.status.no_data=Нет установочных пакетов!
deployment.status.no_service=Сервис Deployment Admin не установлен или не запущен.
deployment.status.ok=Сервис Deployment Admin работает
@@ -133,7 +133,7 @@
# Components plugin
-scr.pluginTitle=Компоненты
+components.pluginTitle=Компоненты
scr.status.no_service=Сервис Declarative Service не найден!
scr.status.no_components=Нет установленных компонентов!
scr.status.ok=Количество установленных компонентов: {0}
@@ -155,7 +155,7 @@
# Configuration plugin
-config.pluginTitle=Конфигурирование
+configMgr.pluginTitle=Конфигурирование
config.status.ok=Сервис Configuration Admin запущен.
config.status.missing=Сервис Configuration Admin не найден!
config.properties=Настройки
@@ -181,7 +181,7 @@
config.bind.error=Ошибка: PID "{0}" привязан к "{1}", но сервис конфигурирования зарегистрирован модулем "{2}"
# License plugin
-license.pluginTitle=Лицензии
+licenses.pluginTitle=Лицензии
license.status.ok=Модули, содержащие файлы лицензий.
license.status.none=Нет модулей с информацией о лицензиях
license.resources=Ресурсы модуля:
diff --git a/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties b/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
index 7df8e19..1291e87 100644
--- a/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
+++ b/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
@@ -78,7 +78,7 @@
services.usingBundles=Using Bundles
# Log plugin
-log.pluginTitle=Log Service
+logs.pluginTitle=Log Service
log.status.ok=Log Service is running.
log.status.missing=Log Service is not installed/running.
log.severity.label=Severity at least:
@@ -93,7 +93,7 @@
log.level.debug=DEBUG
# Deployment Admin plugin
-deployment.pluginTitle=Deployment Packages
+deppack.pluginTitle=Deployment Packages
deployment.status.no_data=No deployment packages installed!
deployment.status.no_service=Deployment Admin is not installed/running!
deployment.status.ok=Deployment Admin service is running
@@ -163,7 +163,7 @@
# Components plugin
-scr.pluginTitle=Components
+components.pluginTitle=Components
scr.status.no_service=Declarative Service required for this function!
scr.status.no_components=No components installed currently!
scr.status.ok=Number of installed components: {0}
@@ -185,7 +185,7 @@
# Configuration plugin
-config.pluginTitle=Configuration
+configMgr.pluginTitle=Configuration
config.status.ok=Configuration Admin Service is running.
config.status.missing=Configuration Admin Service is not installed/running.
config.properties=Properties
@@ -211,7 +211,7 @@
config.bind.error=Error: the PID "{0}" is bound to "{1}" but the actual managed service is registered from "{2}" bundle
# License plugin
-license.pluginTitle=Licenses
+licenses.pluginTitle=Licenses
license.status.ok=The following bundles contains license files.
license.status.none=No bundles with license files available
license.resources=Bundle Resources: