From a76883fc11ba718618c5adb818b5ecdd066f505b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 19 九月 2022 00:26:47 +0800
Subject: [PATCH] 优化代码
---
java110-doc/src/main/java/com/java110/doc/registrar/Java110CmdDocDiscoveryRegistrar.java | 43 +++++++++++++++++++++++++++++--------------
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/java110-doc/src/main/java/com/java110/doc/registrar/Java110CmdDocDiscoveryRegistrar.java b/java110-doc/src/main/java/com/java110/doc/registrar/Java110CmdDocDiscoveryRegistrar.java
index 5b6567a..7671168 100644
--- a/java110-doc/src/main/java/com/java110/doc/registrar/Java110CmdDocDiscoveryRegistrar.java
+++ b/java110-doc/src/main/java/com/java110/doc/registrar/Java110CmdDocDiscoveryRegistrar.java
@@ -1,8 +1,8 @@
package com.java110.doc.registrar;
-import com.java110.doc.annotation.Java110ApiDoc;
import com.java110.doc.annotation.Java110CmdDoc;
import com.java110.doc.annotation.Java110CmdDocDiscovery;
+import com.java110.doc.entity.CmdDocDto;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition;
import org.springframework.beans.factory.config.BeanDefinition;
@@ -28,20 +28,20 @@
* api 鏂囨。 娉ㄥ叆绫�
* Created by wuxw on 2018/7/2.
*/
-public class Java110CmdDocDiscoveryRegistrar implements ImportBeanDefinitionRegistrar,ResourceLoaderAware, BeanClassLoaderAware {
+public class Java110CmdDocDiscoveryRegistrar implements ImportBeanDefinitionRegistrar, ResourceLoaderAware, BeanClassLoaderAware {
private ResourceLoader resourceLoader;
private ClassLoader classLoader;
- public Java110CmdDocDiscoveryRegistrar(){
+ public Java110CmdDocDiscoveryRegistrar() {
}
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
try {
- registerListener(importingClassMetadata,registry);
+ registerListener(importingClassMetadata, registry);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
@@ -63,6 +63,7 @@
/**
* 娉ㄥ唽渚﹀惉
+ *
* @param metadata
* @param registry
*/
@@ -74,14 +75,14 @@
Map<String, Object> attrs = metadata
.getAnnotationAttributes(Java110CmdDocDiscovery.class.getName());
- Object cmdPublishClassObj = attrs.get("cmdPublishClass");
+ Object cmdPublishClassObj = attrs.get("cmdDocClass");
//Assert.notNull(cmdPublishClassObj,"Java110CmdDiscovery 娌℃湁閰嶇疆 cmdPublishClass 灞炴��");
Class<?> cmdPublishClass = (Class<?>) cmdPublishClassObj;
AnnotationTypeFilter annotationTypeFilter = new AnnotationTypeFilter(
- Java110ApiDoc.class);
+ Java110CmdDoc.class);
scanner.addIncludeFilter(annotationTypeFilter);
basePackages = getBasePackages(metadata);
@@ -95,19 +96,33 @@
AnnotatedBeanDefinition beanDefinition = (AnnotatedBeanDefinition) candidateComponent;
AnnotationMetadata annotationMetadata = beanDefinition.getMetadata();
-
Map<String, Object> attributes = annotationMetadata
.getAnnotationAttributes(
Java110CmdDoc.class.getCanonicalName());
- String beanName = getListenerName(attributes,beanDefinition);
- String serviceCode = attributes.get("serviceCode").toString();
+ String beanName = getListenerName(attributes, beanDefinition);
+ CmdDocDto cmdDocDto = new CmdDocDto();
+ Class<?> clazz = null;
+ try {
+ clazz = Class.forName(beanDefinition.getBeanClassName());
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ cmdDocDto.setCmdClass(clazz);
+ cmdDocDto.setDescription(attributes.get("description").toString());
+ cmdDocDto.setAuthor(attributes.get("author").toString());
+ cmdDocDto.setResource(attributes.get("resource").toString());
+ cmdDocDto.setTitle(attributes.get("title").toString());
+ cmdDocDto.setUrl(attributes.get("url").toString());
+ cmdDocDto.setVersion(attributes.get("version").toString());
+ cmdDocDto.setHttpMethod(attributes.get("httpMethod").toString());
+ cmdDocDto.setServiceCode(attributes.get("serviceCode").toString());
/*BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(beanDefinition, beanName);
BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, registry);*/
-// Method method = cmdPublishClass.getMethod("addListener", CmdListenerDto.class);
-// method.invoke(null,new CmdListenerDto(beanName,serviceCode));
+ Method method = cmdPublishClass.getMethod("addCmdDoc", CmdDocDto.class);
+ method.invoke(null, cmdDocDto);
}
}
}
@@ -131,8 +146,7 @@
beanDefinition.getMetadata().getClassName(),
Java110CmdDocDiscoveryRegistrar.this.classLoader);
return !target.isAnnotation();
- }
- catch (Exception ex) {
+ } catch (Exception ex) {
this.logger.error(
"Could not load target class: "
+ beanDefinition.getMetadata().getClassName(),
@@ -173,11 +187,12 @@
/**
* 鑾峰彇鍚嶇О
+ *
* @param listeners
* @param beanDefinition
* @return
*/
- private String getListenerName(Map<String, Object> listeners,AnnotatedBeanDefinition beanDefinition) {
+ private String getListenerName(Map<String, Object> listeners, AnnotatedBeanDefinition beanDefinition) {
if (listeners == null) {
String shortClassName = ClassUtils.getShortName(beanDefinition.getBeanClassName());
return Introspector.decapitalize(shortClassName);
--
Gitblit v1.8.0