You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dl...@apache.org on 2017/01/24 16:05:43 UTC
[1/2] incubator-edgent git commit: [Edgent-370] add static
IotProvider.getPreferences()
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 <dl...@us.ibm.com>
Authored: Mon Jan 23 16:42:21 2017 -0500
Committer: Dale LaBossiere <dl...@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;
[2/2] incubator-edgent git commit: add test of
IotProvider.getProvider()
Posted by dl...@apache.org.
add test of IotProvider.getProvider()
fix testPreferences() to only remove the test's created preference nodes
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/82dd4575
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/82dd4575
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/82dd4575
Branch: refs/heads/master
Commit: 82dd4575882e005057d4c969f6e4e74f8da5ec4b
Parents: 6c434f2
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Mon Jan 23 17:17:50 2017 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Mon Jan 23 17:17:50 2017 -0500
----------------------------------------------------------------------
.../edgent/test/fvt/iot/IotProviderTest.java | 23 ++++++++++++++------
1 file changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/82dd4575/test/fvtiot/src/test/java/org/apache/edgent/test/fvt/iot/IotProviderTest.java
----------------------------------------------------------------------
diff --git a/test/fvtiot/src/test/java/org/apache/edgent/test/fvt/iot/IotProviderTest.java b/test/fvtiot/src/test/java/org/apache/edgent/test/fvt/iot/IotProviderTest.java
index 170dd5d..a55562c 100644
--- a/test/fvtiot/src/test/java/org/apache/edgent/test/fvt/iot/IotProviderTest.java
+++ b/test/fvtiot/src/test/java/org/apache/edgent/test/fvt/iot/IotProviderTest.java
@@ -188,15 +188,23 @@ public class IotProviderTest {
@Test
public void testPreferences() throws BackingStoreException {
+
+ String PP1 = this.getClass().getName() + "-PP1";
+ String PP2 = this.getClass().getName() + "-PP2";
- Preferences.userNodeForPackage(IotProvider.class).removeNode();
+ Preferences.userNodeForPackage(IotProvider.class).node(PP1).removeNode();
+ Preferences.userNodeForPackage(IotProvider.class).node(PP2).removeNode();
{
- IotProvider provider1 = new IotProvider("PP1", EchoIotDevice::new);
- IotProvider provider2 = new IotProvider("PP2", EchoIotDevice::new);
+ Preferences pp1S = IotProvider.getPreferences(PP1);
+ assertNotNull(pp1S);
+
+ IotProvider provider1 = new IotProvider(PP1, EchoIotDevice::new);
+ IotProvider provider2 = new IotProvider(PP2, EchoIotDevice::new);
Preferences pp1 = provider1.getServices().getService(Preferences.class);
assertNotNull(pp1);
+ assertSame(pp1, pp1S);
Preferences pp2 = provider2.getServices().getService(Preferences.class);
assertNotNull(pp2);
@@ -217,22 +225,23 @@ public class IotProviderTest {
pp2.flush();
}
- // Create a new proivder with the same name
+ // Create a new provider with the same name
// it should pick up the previously values.
{
- IotProvider provider1N = new IotProvider("PP1", EchoIotDevice::new);
+ IotProvider provider1N = new IotProvider(PP1, EchoIotDevice::new);
Preferences pp1N = provider1N.getServices().getService(Preferences.class);
assertNotNull(pp1N);
assertEquals("one", pp1N.get("a", "unset"));
}
{
- IotProvider provider2N = new IotProvider("PP2", EchoIotDevice::new);
+ IotProvider provider2N = new IotProvider(PP2, EchoIotDevice::new);
Preferences pp2N = provider2N.getServices().getService(Preferences.class);
assertNotNull(pp2N);
assertEquals("two", pp2N.get("a", "unset"));
}
// Remove the nodes
- Preferences.userNodeForPackage(IotProvider.class).removeNode();
+ Preferences.userNodeForPackage(IotProvider.class).node(PP1).removeNode();
+ Preferences.userNodeForPackage(IotProvider.class).node(PP2).removeNode();
}
}