tree 634747f7c2bd4ad648333c10fc9ce33fda3d0802
parent e18a2ef92e30e4575bb76c06e1e6004d36180e30
author MaoJianwei <maojianwei2012@126.com> 1467643072 +0800
committer Jonathan Hart <jono@onlab.us> 1468338836 +0000

Fix DefaultOvsdbClient Class's getBridges's improper return value

When tableStore or rowStore is null, getBridges() should not return (null),
that will cause NullPointerException in its two usages:

(getBRidges only has these two usages now, but it is very foundational.)

1. OvsdbBridgeConfig.java, line 113-115:

        Set<OvsdbBridge> bridges = client.getBridges();
        return bridges.stream()......

2. OvsdbControllerConfig.java, line 92:

	.filter(cs ->
	 cs.getBridges().stream()
	.anyMatch(b -> dpidMatches(b, ofDeviceId)))
	......

Change-Id: Ice14a8991f5022a5041cf48f5c8431712f946228
