Skip to content
This repository was archived by the owner on Dec 4, 2025. It is now read-only.

Commit fc7b8fb

Browse files
authored
Merge pull request #890 from xiangganLuo/hotfix/dubbo-class-cast-exception
fix(rpc): Fix the ClassCastException issue that occurs during the construction of the RPC.
2 parents 71512e7 + 1339f45 commit fc7b8fb

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

src/main/java/com/ly/doc/template/RpcDocBuildTemplate.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,14 @@
2424
import com.ly.doc.constants.DocTags;
2525
import com.ly.doc.constants.DubboAnnotationConstants;
2626
import com.ly.doc.constants.FrameworkEnum;
27-
import com.ly.doc.model.ApiConfig;
28-
import com.ly.doc.model.ApiSchema;
29-
import com.ly.doc.model.RpcJavaMethod;
30-
import com.ly.doc.model.WebSocketDoc;
27+
import com.ly.doc.model.*;
3128
import com.ly.doc.model.annotation.FrameworkAnnotations;
3229
import com.ly.doc.model.rpc.RpcApiDoc;
3330
import com.ly.doc.utils.DocUtil;
3431
import com.ly.doc.utils.JavaClassUtil;
3532
import com.power.common.util.StringUtil;
3633
import com.power.common.util.ValidateUtil;
37-
import com.thoughtworks.qdox.model.DocletTag;
38-
import com.thoughtworks.qdox.model.JavaAnnotation;
39-
import com.thoughtworks.qdox.model.JavaClass;
40-
import com.thoughtworks.qdox.model.JavaType;
34+
import com.thoughtworks.qdox.model.*;
4135
import com.thoughtworks.qdox.model.expression.AnnotationValue;
4236

4337
import java.util.*;
@@ -87,7 +81,7 @@ public ApiSchema<RpcApiDoc> renderApi(ProjectDocConfigBuilder projectBuilder,
8781
setCustomOrder = true;
8882
maxOrder = Math.max(maxOrder, order);
8983
}
90-
List<RpcJavaMethod> apiMethodDocs = (List<RpcJavaMethod>) buildServiceMethod(cls, apiConfig,
84+
List<RpcJavaMethod> apiMethodDocs = (List<RpcJavaMethod>) this.buildServiceMethod(cls, apiConfig,
9185
projectBuilder);
9286
this.handleJavaApiDoc(cls, apiDocList, apiMethodDocs, order, projectBuilder);
9387
}
@@ -228,4 +222,25 @@ private void handleJavaApiDoc(JavaClass cls, List<RpcApiDoc> apiDocList, List<Rp
228222
apiDocList.add(apiDoc);
229223
}
230224

225+
@Override
226+
public JavadocJavaMethod convertToJavadocJavaMethod(ApiConfig apiConfig, JavaMethod method,
227+
Map<String, JavaType> actualTypesMap) {
228+
JavadocJavaMethod javaMethod = IRpcDocTemplate.super.convertToJavadocJavaMethod(apiConfig, method,
229+
actualTypesMap);
230+
return new RpcJavaMethod().setDetail(javaMethod.getDetail())
231+
.setAuthor(javaMethod.getAuthor())
232+
.setMethodDefinition(javaMethod.getMethodDefinition())
233+
.setOrder(javaMethod.getOrder())
234+
.setRequestParams(javaMethod.getRequestParams())
235+
.setResponseParams(javaMethod.getResponseParams())
236+
.setDeprecated((javaMethod.isDeprecated()))
237+
.setVersion((javaMethod.getVersion()))
238+
.setActualTypesMap(javaMethod.getActualTypesMap())
239+
.setName(javaMethod.getName())
240+
.setEscapeMethodDefinition(javaMethod.getEscapeMethodDefinition())
241+
.setMethodId(javaMethod.getMethodId())
242+
.setJavaMethod(javaMethod.getJavaMethod())
243+
.setReturnClassInfo(javaMethod.getReturnClassInfo());
244+
}
245+
231246
}

0 commit comments

Comments
 (0)