Skip to content

Commit 001047d

Browse files
Merge pull request #1056 from anusreelakshmi934/Issue#1031
Removed unused unqualified names from WebSocketConstants
2 parents 9272646 + b0ee2e1 commit 001047d

File tree

2 files changed

+21
-59
lines changed

2 files changed

+21
-59
lines changed

src/main/java/io/openliberty/tools/intellij/lsp4jakarta/lsp4ij/websocket/WebSocketConstants.java

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/** Copyright (c) 2022, 2023 IBM Corporation and others.
1+
/** Copyright (c) 2022, 2024 IBM Corporation and others.
22
*
33
* This program and the accompanying materials are made available under the
44
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -19,15 +19,13 @@
1919
import java.util.Arrays;
2020
import java.util.HashSet;
2121
import java.util.Set;
22-
import java.util.stream.Collectors;
2322

2423
public class WebSocketConstants {
2524
public static final String DIAGNOSTIC_SOURCE = "jakarta-websocket";
2625

2726
public static final DiagnosticSeverity ERROR = DiagnosticSeverity.Error;
2827
public static final DiagnosticSeverity WARNING = DiagnosticSeverity.Warning;
29-
30-
public static final String DIAGNOSTIC_ERR_MSG = "Cannot calculate WebSocket diagnostics";
28+
3129

3230
public static final String PATHPARAM_ANNOTATION = "jakarta.websocket.server.PathParam";
3331

@@ -58,26 +56,23 @@ public class WebSocketConstants {
5856
public static final String CLIENT_ENDPOINT_ANNOTATION = "jakarta.websocket.ClientEndpoint";
5957

6058
// Superclass
61-
public static final String ENDPOINT_SUPERCLASS = "Endpoint";
6259
public static final String FQ_ENDPOINT_SUPERCLASS = "jakarta.websocket.Endpoint";
6360
public static final String IS_SUPERCLASS = "isSuperclass";
6461

6562
public static final String[] WS_ANNOTATION_CLASS = { SERVER_ENDPOINT_ANNOTATION, CLIENT_ENDPOINT_ANNOTATION };
6663

64+
public static final String BOOLEAN = "java.lang.Boolean";
65+
public static final String INTEGER = "java.lang.Integer";
66+
public static final String LONG = "java.lang.Long";
67+
public static final String DOUBLE = "java.lang.Double";
68+
public static final String FLOAT = "java.lang.Float";
6769
public static final String STRING_CLASS_LONG = "java.lang.String";
68-
public static final String STRING_CLASS_SHORT = "String";
6970
public static final String READER_CLASS_LONG = "java.io.Reader";
70-
public static final String READER_CLASS_SHORT = "Reader";
7171
public static final String BYTEBUFFER_CLASS_LONG = "java.nio.ByteBuffer";
72-
public static final String BYTEBUFFER_CLASS_SHORT = "ByteBuffer";
7372
public static final String INPUTSTREAM_CLASS_LONG = "java.io.InputStream";
74-
public static final String INPUTSTREAM_CLASS_SHORT = "InputStream";
7573
public static final String PONGMESSAGE_CLASS_LONG = "jakarta.websocket.PongMessage";
76-
public static final String PONGMESSAGE_CLASS_SHORT = "PongMessage";
7774
public static final Set<String> LONG_MESSAGE_CLASSES = new HashSet<>(
7875
Arrays.asList(STRING_CLASS_LONG, READER_CLASS_LONG, BYTEBUFFER_CLASS_LONG, INPUTSTREAM_CLASS_LONG, PONGMESSAGE_CLASS_LONG));
79-
public static final Set<String> SHORT_MESSAGE_CLASSES = new HashSet<>(
80-
Arrays.asList(STRING_CLASS_SHORT, READER_CLASS_SHORT, BYTEBUFFER_CLASS_SHORT, INPUTSTREAM_CLASS_SHORT, PONGMESSAGE_CLASS_SHORT));
8176
public static final String SESSION_CLASS = "jakarta.websocket.Session";
8277

8378
/* Annotations */
@@ -93,18 +88,12 @@ public class WebSocketConstants {
9388
// For OnOpen annotation
9489
public static final Set<String> ON_OPEN_PARAM_OPT_TYPES = new HashSet<>(
9590
Arrays.asList("jakarta.websocket.EndpointConfig", SESSION_CLASS));
96-
public static final Set<String> RAW_ON_OPEN_PARAM_OPT_TYPES = new HashSet<>(
97-
Arrays.asList("EndpointConfig", "Session"));
9891

9992
public static final Set<String> ON_CLOSE_PARAM_OPT_TYPES = new HashSet<>(
10093
Arrays.asList("jakarta.websocket.CloseReason", SESSION_CLASS));
101-
public static final Set<String> RAW_ON_CLOSE_PARAM_OPT_TYPES = new HashSet<>(
102-
Arrays.asList("CloseReason", "Session"));
10394

10495
public static final Set<String> RAW_WRAPPER_OBJS = new HashSet<>(
105-
Arrays.asList("String", "Boolean", "Integer", "Long", "Double", "Float"));
106-
public static final Set<String> WRAPPER_OBJS = RAW_WRAPPER_OBJS.stream().map(raw -> "java.lang.".concat(raw))
107-
.collect(Collectors.toSet());
96+
Arrays.asList(STRING_CLASS_LONG, BOOLEAN, INTEGER, LONG, DOUBLE, FLOAT ));
10897

10998
// Enums
11099
public enum MESSAGE_FORMAT {

src/main/java/io/openliberty/tools/intellij/lsp4jakarta/lsp4ij/websocket/WebSocketDiagnosticsCollector.java

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2022, 2023 IBM Corporation and others.
2+
* Copyright (c) 2022, 2024 IBM Corporation and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -76,19 +76,17 @@ private void invalidParamsCheck(PsiClass type, PsiJavaFile unit, List<Diagnostic
7676
PsiMethod[] allMethods = type.getMethods();
7777
for (PsiMethod method : allMethods) {
7878
PsiAnnotation[] allAnnotations = method.getAnnotations();
79-
Set<String> specialParamTypes = null, rawSpecialParamTypes = null;
79+
Set<String> specialParamTypes = null;
8080

8181
for (PsiAnnotation annotation : allAnnotations) {
8282
String annotationName = annotation.getQualifiedName();
8383
String diagnosticCode = null;
8484

8585
if (isMatchedJavaElement(type, annotationName, WebSocketConstants.ON_OPEN)) {
8686
specialParamTypes = WebSocketConstants.ON_OPEN_PARAM_OPT_TYPES;
87-
rawSpecialParamTypes = WebSocketConstants.RAW_ON_OPEN_PARAM_OPT_TYPES;
8887
diagnosticCode = WebSocketConstants.DIAGNOSTIC_CODE_ON_OPEN_INVALID_PARAMS;
8988
} else if (isMatchedJavaElement(type, annotationName, WebSocketConstants.ON_CLOSE)) {
9089
specialParamTypes = WebSocketConstants.ON_CLOSE_PARAM_OPT_TYPES;
91-
rawSpecialParamTypes = WebSocketConstants.RAW_ON_CLOSE_PARAM_OPT_TYPES;
9290
diagnosticCode = WebSocketConstants.DIAGNOSTIC_CODE_ON_CLOSE_INVALID_PARAMS;
9391
}
9492
if (diagnosticCode != null) {
@@ -188,9 +186,7 @@ private void onMessageWSMessageFormats(PsiClass type, List<Diagnostic> diagnosti
188186

189187
if (typeName != null
190188
&& WebSocketConstants.LONG_MESSAGE_CLASSES.contains(typeName)) {
191-
WebSocketConstants.MESSAGE_FORMAT messageFormat = typeName != null
192-
? getMessageFormat(typeName, true)
193-
: getMessageFormat(typeName, false);
189+
WebSocketConstants.MESSAGE_FORMAT messageFormat = getMessageFormat(typeName);
194190
switch (messageFormat) {
195191
case TEXT:
196192
if (onMessageTextUsed != null) {
@@ -325,8 +321,7 @@ private List<String> findAndProcessEndpointURI(PsiClass type) {
325321
* @return if valueClass is a wrapper object
326322
*/
327323
private boolean isWrapper(String valueClass) {
328-
return WebSocketConstants.WRAPPER_OBJS.contains(valueClass)
329-
|| WebSocketConstants.RAW_WRAPPER_OBJS.contains(valueClass);
324+
return WebSocketConstants.RAW_WRAPPER_OBJS.contains(valueClass);
330325
}
331326

332327
/**
@@ -371,37 +366,15 @@ private boolean isParamPath(PsiClass type, PsiParameter param) {
371366
}
372367
return false;
373368
}
374-
private WebSocketConstants.MESSAGE_FORMAT getMessageFormat(String typeName, boolean longName) {
375-
if (longName) {
376-
switch (typeName) {
377-
case WebSocketConstants.STRING_CLASS_LONG:
378-
return WebSocketConstants.MESSAGE_FORMAT.TEXT;
379-
case WebSocketConstants.READER_CLASS_LONG:
380-
return WebSocketConstants.MESSAGE_FORMAT.TEXT;
381-
case WebSocketConstants.BYTEBUFFER_CLASS_LONG:
382-
return WebSocketConstants.MESSAGE_FORMAT.BINARY;
383-
case WebSocketConstants.INPUTSTREAM_CLASS_LONG:
384-
return WebSocketConstants.MESSAGE_FORMAT.BINARY;
385-
case WebSocketConstants.PONGMESSAGE_CLASS_LONG:
386-
return WebSocketConstants.MESSAGE_FORMAT.PONG;
387-
default:
388-
throw new IllegalArgumentException("Invalid message format type");
389-
}
390-
}
391-
switch (typeName) {
392-
case WebSocketConstants.STRING_CLASS_SHORT:
393-
return WebSocketConstants.MESSAGE_FORMAT.TEXT;
394-
case WebSocketConstants.READER_CLASS_SHORT:
395-
return WebSocketConstants.MESSAGE_FORMAT.TEXT;
396-
case WebSocketConstants.BYTEBUFFER_CLASS_SHORT:
397-
return WebSocketConstants.MESSAGE_FORMAT.BINARY;
398-
case WebSocketConstants.INPUTSTREAM_CLASS_SHORT:
399-
return WebSocketConstants.MESSAGE_FORMAT.BINARY;
400-
case WebSocketConstants.PONGMESSAGE_CLASS_SHORT:
401-
return WebSocketConstants.MESSAGE_FORMAT.PONG;
402-
default:
403-
throw new IllegalArgumentException("Invalid message format type");
404-
}
369+
private WebSocketConstants.MESSAGE_FORMAT getMessageFormat(String typeName) {
370+
return switch (typeName) {
371+
case WebSocketConstants.STRING_CLASS_LONG -> WebSocketConstants.MESSAGE_FORMAT.TEXT;
372+
case WebSocketConstants.READER_CLASS_LONG -> WebSocketConstants.MESSAGE_FORMAT.TEXT;
373+
case WebSocketConstants.BYTEBUFFER_CLASS_LONG -> WebSocketConstants.MESSAGE_FORMAT.BINARY;
374+
case WebSocketConstants.INPUTSTREAM_CLASS_LONG -> WebSocketConstants.MESSAGE_FORMAT.BINARY;
375+
case WebSocketConstants.PONGMESSAGE_CLASS_LONG -> WebSocketConstants.MESSAGE_FORMAT.PONG;
376+
default -> throw new IllegalArgumentException("Invalid message format type");
377+
};
405378
}
406379

407380
private String createParamTypeDiagMsg(Set<String> methodParamOptTypes, String methodAnnotTarget) {

0 commit comments

Comments
 (0)