+ /* TODO wait for core to stop? */
+ try {
+ pluginRespirator.putStore(pluginStore);
+ } catch (DatabaseDisabledException dde1) {
+ logger.log(Level.WARNING, "Could not store plugin store, database is disabled.", dde1);
+ }
+
+ } finally {
+ /* shutdown logger. */
+ Logging.shutdown();
+ }
+ }
+
+ //
+ // INTERFACE FredPluginL10n
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getString(String key) {
+ return l10n.getBase().getString(key);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setLanguage(LANGUAGE newLanguage) {
+ l10n = new PluginL10n(this, newLanguage);
+ }
+
+ //
+ // INTERFACE FredPluginBaseL10n
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getL10nFilesBasePath() {
+ return "i18n";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getL10nFilesMask() {
+ return "sone.${lang}.properties";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getL10nOverrideFilesMask() {
+ return "sone.${lang}.override.properties";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ClassLoader getPluginClassLoader() {
+ return SonePlugin.class.getClassLoader();
+ }
+
+ //
+ // INTERFACE FredPluginVersioned
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getVersion() {
+ return VERSION.toString();