Skip to content

Commit 73a8ec9

Browse files
authored
Merge pull request #5 from vinscom/Refactored-Bridge-Event-Handler
Refactored BridgeEventHandler
2 parents efd2b1e + 5c07267 commit 73a8ec9

File tree

2 files changed

+50
-6
lines changed

2 files changed

+50
-6
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
#/io/vertx/ext/web/handler/sockjs/BridgeEventHandler
2-
$class=io.vertx.reactivex.ext.web.handler.sockjs.DefaultBridgeEventHandler
2+
$class=io.vertx.reactivex.ext.web.handler.sockjs.BridgeEventHandler
3+
4+
addressAllowedToRegister=
5+
addressAllowedToRegisterRegex=

src/main/java/io/vertx/reactivex/ext/web/handler/sockjs/DefaultBridgeEventHandler.java renamed to src/main/java/io/vertx/reactivex/ext/web/handler/sockjs/BridgeEventHandler.java

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
import in.erail.common.FramworkConstants;
44
import io.vertx.core.Handler;
55
import io.vertx.core.json.JsonObject;
6+
import java.util.List;
67

78
/**
89
*
910
* @author vinay
1011
*/
11-
public class DefaultBridgeEventHandler implements Handler<BridgeEvent> {
12+
public class BridgeEventHandler implements Handler<BridgeEvent> {
13+
14+
private List<String> mAddressAllowedToRegister;
15+
private List<String> mAddressAllowedToRegisterRegex;
1216

1317
@Override
1418
public void handle(BridgeEvent pEvent) {
@@ -52,15 +56,52 @@ public void handle(BridgeEvent pEvent) {
5256

5357
}
5458

55-
public void handlePublish(String pAddress, BridgeEvent pEvent) {
56-
pEvent.complete(true);
59+
public void handleRegister(String pAddress, BridgeEvent pEvent) {
60+
if (mAddressAllowedToRegister.isEmpty() && mAddressAllowedToRegisterRegex.isEmpty()) {
61+
pEvent.complete(true);
62+
return;
63+
}
64+
65+
if (!(matchAddress(pAddress) || matchAddressRegex(pAddress))) {
66+
pEvent.fail("Can't subscribe to topic : " + pAddress);
67+
} else {
68+
pEvent.complete(true);
69+
}
5770
}
5871

59-
public void handleRecieve(String pAddress, BridgeEvent pEvent) {
72+
private boolean matchAddress(String pAddress) {
73+
return mAddressAllowedToRegister
74+
.stream()
75+
.anyMatch((allowedAddress) -> (pAddress.equals(allowedAddress)));
76+
}
77+
78+
private boolean matchAddressRegex(String pAddress) {
79+
return mAddressAllowedToRegisterRegex
80+
.stream()
81+
.anyMatch((allowedAddress) -> (pAddress.matches(allowedAddress)));
82+
}
83+
84+
public List<String> getAddressAllowedToRegister() {
85+
return mAddressAllowedToRegister;
86+
}
87+
88+
public void setAddressAllowedToRegister(List<String> pAddressAllowedToRegister) {
89+
this.mAddressAllowedToRegister = pAddressAllowedToRegister;
90+
}
91+
92+
public List<String> getAddressAllowedToRegisterRegex() {
93+
return mAddressAllowedToRegisterRegex;
94+
}
95+
96+
public void setAddressAllowedToRegisterRegex(List<String> pAddressAllowedToRegisterRegex) {
97+
this.mAddressAllowedToRegisterRegex = pAddressAllowedToRegisterRegex;
98+
}
99+
100+
public void handlePublish(String pAddress, BridgeEvent pEvent) {
60101
pEvent.complete(true);
61102
}
62103

63-
public void handleRegister(String pAddress, BridgeEvent pEvent) {
104+
public void handleRecieve(String pAddress, BridgeEvent pEvent) {
64105
pEvent.complete(true);
65106
}
66107

0 commit comments

Comments
 (0)