You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by cr...@apache.org on 2019/02/21 05:48:56 UTC
[incubator-dubbo] branch master updated: [Dubbo-3106]Make
getRegistered return unmodifiable collection. #3106 (#3425)
This is an automated email from the ASF dual-hosted git repository.
crazyhzm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new a40c2f8 [Dubbo-3106]Make getRegistered return unmodifiable collection. #3106 (#3425)
a40c2f8 is described below
commit a40c2f851c1fd7119e2803d5b93062e3f3b456dc
Author: kezhenxu94 <ke...@163.com>
AuthorDate: Thu Feb 21 13:48:31 2019 +0800
[Dubbo-3106]Make getRegistered return unmodifiable collection. #3106 (#3425)
* make getRegistered return unmodifiable collection. #3106
* fix ci failure
---
.../org/apache/dubbo/registry/support/AbstractRegistry.java | 7 ++++---
.../apache/dubbo/registry/support/AbstractRegistryTest.java | 12 ++++++++----
.../dubbo/registry/multicast/MulticastRegistryTest.java | 4 +++-
3 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
index 9230951..31cdbf8 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
@@ -37,6 +37,7 @@ import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -118,15 +119,15 @@ public abstract class AbstractRegistry implements Registry {
}
public Set<URL> getRegistered() {
- return registered;
+ return Collections.unmodifiableSet(registered);
}
public Map<URL, Set<NotifyListener>> getSubscribed() {
- return subscribed;
+ return Collections.unmodifiableMap(subscribed);
}
public Map<URL, Map<String, List<URL>>> getNotified() {
- return notified;
+ return Collections.unmodifiableMap(notified);
}
public File getCacheFile() {
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java
index a74e89f..23364d0 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java
@@ -96,7 +96,9 @@ public class AbstractRegistryTest {
abstractRegistry.register(mockUrl);
assert abstractRegistry.getRegistered().contains(mockUrl);
//test multiple urls
- abstractRegistry.getRegistered().clear();
+ for (URL url : abstractRegistry.getRegistered()) {
+ abstractRegistry.unregister(url);
+ }
List<URL> urlList = getList();
for (URL url : urlList) {
abstractRegistry.register(url);
@@ -122,14 +124,16 @@ public class AbstractRegistryTest {
public void testUnregister() throws Exception {
//test one unregister
URL url = new URL("dubbo", "192.168.0.1", 2200);
- abstractRegistry.getRegistered().add(url);
+ abstractRegistry.register(url);
abstractRegistry.unregister(url);
MatcherAssert.assertThat(false, Matchers.equalTo(abstractRegistry.getRegistered().contains(url)));
//test multiple unregisters
- abstractRegistry.getRegistered().clear();
+ for (URL u : abstractRegistry.getRegistered()) {
+ abstractRegistry.unregister(u);
+ }
List<URL> urlList = getList();
for (URL urlSub : urlList) {
- abstractRegistry.getRegistered().add(urlSub);
+ abstractRegistry.register(urlSub);
}
for (URL urlSub : urlList) {
abstractRegistry.unregister(urlSub);
diff --git a/dubbo-registry/dubbo-registry-multicast/src/test/java/org/apache/dubbo/registry/multicast/MulticastRegistryTest.java b/dubbo-registry/dubbo-registry-multicast/src/test/java/org/apache/dubbo/registry/multicast/MulticastRegistryTest.java
index 93c59bc..76eece0 100644
--- a/dubbo-registry/dubbo-registry-multicast/src/test/java/org/apache/dubbo/registry/multicast/MulticastRegistryTest.java
+++ b/dubbo-registry/dubbo-registry-multicast/src/test/java/org/apache/dubbo/registry/multicast/MulticastRegistryTest.java
@@ -92,7 +92,9 @@ public class MulticastRegistryTest {
Set<URL> registered;
// clear first
registered = registry.getRegistered();
- registered.clear();
+ for (URL url : registered) {
+ registry.unregister(url);
+ }
for (int i = 0; i < 2; i++) {
registry.register(serviceUrl);