Skip to content

Commit c5fd10f

Browse files
authored
Remove the filter on user (#51)
Signed-off-by: Florent MILLOT <[email protected]>
1 parent 5d2064d commit c5fd10f

File tree

2 files changed

+3
-12
lines changed

2 files changed

+3
-12
lines changed

src/main/java/org/gridsuite/study/notification/server/NotificationWebSocketHandler.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ public class NotificationWebSocketHandler implements WebSocketHandler {
5252
static final String QUERY_UPDATE_TYPE = "updateType";
5353
static final String HEADER_USER_ID = "userId";
5454
static final String HEADER_STUDY_UUID = "studyUuid";
55-
static final String HEADER_IS_PUBLIC_STUDY = "isPublicStudy";
5655
static final String HEADER_UPDATE_TYPE = "updateType";
5756
static final String HEADER_TIMESTAMP = "timestamp";
5857
static final String HEADER_ERROR = "error";
@@ -95,14 +94,10 @@ public Consumer<Flux<Message<String>>> consumeNotification() {
9594
* map from the broker flux to the filtered flux for one websocket client, extracting only relevant fields.
9695
*/
9796
private Flux<WebSocketMessage> notificationFlux(WebSocketSession webSocketSession,
98-
String userId,
9997
String filterStudyUuid,
10098
String filterUpdateType) {
10199
return flux.transform(f -> {
102100
Flux<Message<String>> res = f;
103-
if (userId != null) {
104-
res = res.filter(m -> m.getHeaders().get(HEADER_ERROR) == null || userId.equals(m.getHeaders().get(HEADER_USER_ID)));
105-
}
106101
if (filterStudyUuid != null) {
107102
res = res.filter(m -> filterStudyUuid.equals(m.getHeaders().get(HEADER_STUDY_UUID)));
108103
}
@@ -138,6 +133,7 @@ private static Map<String, Object> toResultHeader(Map<String, Object> messageHea
138133
passHeader(messageHeader, resHeader, HEADER_NODES);
139134
passHeader(messageHeader, resHeader, HEADER_NEW_NODE);
140135
passHeader(messageHeader, resHeader, HEADER_MOVED_NODE);
136+
passHeader(messageHeader, resHeader, HEADER_USER_ID); // to filter the display of error messages in the front end
141137

142138
return resHeader;
143139
}
@@ -159,7 +155,6 @@ private Flux<WebSocketMessage> heartbeatFlux(WebSocketSession webSocketSession)
159155
@Override
160156
public Mono<Void> handle(WebSocketSession webSocketSession) {
161157
var uri = webSocketSession.getHandshakeInfo().getUri();
162-
String userId = webSocketSession.getHandshakeInfo().getHeaders().getFirst(HEADER_USER_ID);
163158
MultiValueMap<String, String> parameters = UriComponentsBuilder.fromUri(uri).build(true).getQueryParams();
164159
String filterStudyUuid = parameters.getFirst(QUERY_STUDY_UUID);
165160
if (filterStudyUuid != null) {
@@ -172,7 +167,7 @@ public Mono<Void> handle(WebSocketSession webSocketSession) {
172167
String filterUpdateType = parameters.getFirst(QUERY_UPDATE_TYPE);
173168
LOGGER.debug("New websocket connection for studyUuid={}, updateType={}", filterStudyUuid, filterUpdateType);
174169
return webSocketSession
175-
.send(notificationFlux(webSocketSession, userId, filterStudyUuid, filterUpdateType)
170+
.send(notificationFlux(webSocketSession, filterStudyUuid, filterUpdateType)
176171
.mergeWith(heartbeatFlux(webSocketSession)))
177172
.and(webSocketSession.receive());
178173
}

src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketHandlerTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,8 @@ private void withFilters(String filterStudyUuid, String filterUpdateType) {
152152
List<Map<String, Object>> expected = refMessages.stream()
153153
.filter(m -> {
154154
String studyUuid = (String) m.getHeaders().get(HEADER_STUDY_UUID);
155-
String userId = (String) m.getHeaders().get(HEADER_USER_ID);
156155
String updateType = (String) m.getHeaders().get(HEADER_UPDATE_TYPE);
157-
String headerMessageError = (String) m.getHeaders().get(HEADER_ERROR);
158-
return (headerMessageError == null || connectedUserId.equals(userId))
159-
&& (filterStudyUuid == null || filterStudyUuid.equals(studyUuid))
156+
return (filterStudyUuid == null || filterStudyUuid.equals(studyUuid))
160157
&& (filterUpdateType == null || filterUpdateType.equals(updateType));
161158
})
162159
.map(GenericMessage::getHeaders)
@@ -173,7 +170,6 @@ private void withFilters(String filterStudyUuid, String filterUpdateType) {
173170
assertEquals(expected, actual);
174171
assertNotEquals(0, actual.size());
175172
assertEquals(0, actual.stream().filter(m -> m.get(HEADER_STUDY_UUID).equals("private_" + otherUserId)).count());
176-
assertEquals(0, actual.stream().filter(m -> m.get(HEADER_STUDY_UUID).equals("public_" + otherUserId) && m.get(HEADER_ERROR) != null).count());
177173
}
178174

179175
private Map<String, Object> toResultHeader(Map<String, Object> messageHeader) {

0 commit comments

Comments
 (0)