added test support for shared Igtimi LiveDataConnection which discovered a few bugs which are now also fixed by this commit

This commit is contained in:
Axel Uhl
2014-01-31 17:12:37 +01:00
parent 454487fd2c
commit 6d7dd6af92
3 changed files with 20 additions and 3 deletions
@@ -31,7 +31,7 @@ public class LiveDataConnectionFactoryImpl implements LiveDataConnectionFactory
public synchronized LiveDataConnection getOrCreateLiveDataConnection(Iterable<String> deviceSerialNumbers) throws Exception {
Set<String> deviceSerialNumbersAsSet = new HashSet<>();
Util.addAll(deviceSerialNumbers, deviceSerialNumbersAsSet);
LiveDataConnection result = dataConnectionsForDeviceSerialNumbers.get(dataConnectionsForDeviceSerialNumbers);
LiveDataConnection result = dataConnectionsForDeviceSerialNumbers.get(deviceSerialNumbersAsSet);
if (result == null) {
result = new WebSocketConnectionManager(connectionFactory, deviceSerialNumbers, account);
dataConnectionsForDeviceSerialNumbers.put(deviceSerialNumbersAsSet, result);
@@ -43,7 +43,7 @@ public class LiveDataConnectionFactoryImpl implements LiveDataConnectionFactory
}
usageCount++;
usageCounts.put(result, usageCount);
return result;
return new LiveDataConnectionWrapper(this, result);
}
public synchronized void stop(LiveDataConnection actualConnection) throws Exception {
@@ -34,4 +34,10 @@ public class LiveDataConnectionWrapper implements LiveDataConnection {
actualConnection.addListener(listener);
}
/**
* Makes the actual connection available to other classes in this package, particularly the test classes in the test fragment of the same package
*/
LiveDataConnection getActualConnection() {
return actualConnection;
}
}