Repository: incubator-edgent Updated Branches: refs/heads/master 66b6861f5 -> 82dd45758
[Edgent-370] add static IotProvider.getPreferences() Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/6c434f29 Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/6c434f29 Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/6c434f29 Branch: refs/heads/master Commit: 6c434f297424d3941ba5f719e9f08171a059ceb2 Parents: 66b6861 Author: Dale LaBossiere <dlab...@us.ibm.com> Authored: Mon Jan 23 16:42:21 2017 -0500 Committer: Dale LaBossiere <dlab...@us.ibm.com> Committed: Mon Jan 23 16:42:21 2017 -0500 ---------------------------------------------------------------------- .../edgent/providers/iot/IotProvider.java | 24 ++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/6c434f29/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java ---------------------------------------------------------------------- diff --git a/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java b/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java index 764bc7d..212b623 100644 --- a/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java +++ b/providers/iot/src/main/java/org/apache/edgent/providers/iot/IotProvider.java @@ -68,7 +68,7 @@ import com.google.gson.JsonObject; * <LI>{@link PublishSubscribeService publish-subscribe} - An instance of {@link ProviderPubSub}</LI> * <LI>preferences (optional) - An instance of {@code java.util.pref.Preferences} to store application * and service preferences. A {@code Preferences} node is created if the provider is created with - * a name that is not {@code null}. if the preferences implementation supports persistence + * a name that is not {@code null}. If the preferences implementation supports persistence * then any preferences will be maintained across provider and JVM restarts when creating a * provider with the same name. The {@code Preferences} node is a user node. * </UL> @@ -240,24 +240,30 @@ public class IotProvider implements TopologyProvider, new ProviderPubSub()); } - /** - * @throws BackingStoreException - * - */ protected void registerPreferencesService() { if (getName() == null) return; - Preferences classNode = Preferences.userNodeForPackage(IotProvider.class); - Preferences providerNode = classNode.node(getName()); + Preferences providerNode = getPreferences(getName()); + getServices().addService(Preferences.class, providerNode); try { providerNode.flush(); - getServices().addService(Preferences.class, providerNode); } catch (BackingStoreException e) { - // No preferences available + // TODO log that preference changes may not be persisted ; } } + + /** + * Get the Preferences node that will be used for the IotProvider with the specified name. + * @param providerName The value that will be passed into {@link IotProvider#IotProvider(String, TopologyProvider, DirectSubmitter, Function) IotProvider()} + * @return + */ + public static Preferences getPreferences(String providerName) { + Preferences classNode = Preferences.userNodeForPackage(IotProvider.class); + Preferences providerNode = classNode.node(providerName); + return providerNode; + } protected JsonControlService getControlService() { return controlService;