Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5a99cff

Browse files
committed
parse
1 parent e725304 commit 5a99cff

File tree

16 files changed

+415
-238
lines changed

16 files changed

+415
-238
lines changed
Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.hsjfans.github.config;
22

3+
import lombok.Data;
4+
35
/**
46
* @author hsjfans[hsjfans.scholar@gmail.com]
57
*/
8+
@Data
69
public class Config {
710

811
/**
@@ -15,20 +18,20 @@ public class Config {
1518
*/
1619
private String outPath;
1720

21+
/**
22+
* the path of classes files
23+
*/
24+
private String classPath;
25+
26+
27+
private boolean gradle;
28+
29+
30+
private String gradlePath;
31+
1832

19-
public String getPackageName() {
20-
return packageName;
21-
}
33+
private String mvnPath;
2234

23-
public void setPackageName(String packageName) {
24-
this.packageName = packageName;
25-
}
2635

27-
public String getOutPath() {
28-
return outPath;
29-
}
3036

31-
public void setOutPath(String outPath) {
32-
this.outPath = outPath;
33-
}
3437
}

‎src/main/java/com/hsjfans/github/model/ApiTree.java‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,17 @@ public void insert(Class<?> cl,ControllerClass controllerClass){
3131

3232

3333
/**
34-
*
34+
* @name 测试get
3535
*/
3636
@RequestMapping(value = "/789")
3737
public void get(){
3838
return;
3939
}
4040

4141

42-
42+
/**
43+
* @name 测试set
44+
*/
4345
@RequestMapping("/123-12312")
4446
public void set(){
4547
return;

‎src/main/java/com/hsjfans/github/model/ControllerClass.java‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ public class ControllerClass implements Serializable {
4242
*/
4343
private List<ControllerMethod> controllerMethod;
4444

45+
/**
46+
* author
47+
*/
48+
private String author;
49+
50+
51+
private String description;
4552

4653
@Override
4754
public String toString() {
@@ -52,6 +59,8 @@ public String toString() {
5259
", ignore=" + ignore +
5360
", methods=" + Arrays.toString(methods) +
5461
", controllerMethod=" + controllerMethod +
62+
", author='" + author + '\'' +
63+
", description='" + description + '\'' +
5564
'}';
5665
}
5766
}

‎src/main/java/com/hsjfans/github/model/ControllerMethod.java‎

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.hsjfans.github.model;
22

3+
import com.google.common.collect.Lists;
34
import com.hsjfans.github.util.StringUtil;
45
import lombok.Data;
56
import org.springframework.web.bind.annotation.RequestMethod;
67

78
import java.io.Serializable;
89
import java.lang.reflect.Method;
10+
import java.util.Arrays;
11+
import java.util.List;
12+
import java.util.Set;
913

1014
/**
1115
* @author hsjfans[hsjfans.scholar@gmail.com]
@@ -23,7 +27,7 @@ public class ControllerMethod implements Serializable {
2327
*
2428
* the method url
2529
*/
26-
private String[] url ;
30+
private String[] url =newString[]{""};
2731

2832
/**
2933
* the method name `@name`
@@ -45,7 +49,7 @@ public class ControllerMethod implements Serializable {
4549
/**
4650
* the args
4751
*/
48-
private RequestParam[] params;
52+
private List<RequestParam> params;
4953

5054

5155
/**
@@ -59,22 +63,13 @@ public class ControllerMethod implements Serializable {
5963
*/
6064
private RequestMethod[] methods;
6165

66+
/**
67+
* author
68+
*/
69+
private String author;
6270

63-
public void addRequestMethod(RequestMethod method){
64-
this.methods = new RequestMethod[]{method};
65-
}
66-
67-
68-
public void setRequestMethods(String methods){
71+
private String description;
6972

70-
for (String m: StringUtil.parseUrls(methods)
71-
) {
72-
RequestMethod method = RequestMethod.valueOf(m.trim());
73-
if(method!=null){
74-
// this
75-
}
76-
}
77-
}
7873

7974

8075
}

‎src/main/java/com/hsjfans/github/model/RequestParam.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import lombok.NoArgsConstructor;
66

77
import java.io.Serializable;
8+
import java.util.List;
89

910
/**
1011
*
@@ -64,7 +65,7 @@ public class RequestParam implements Serializable {
6465
/**
6566
* Collection class
6667
*/
67-
private RequestParam[] params;
68+
private List<RequestParam> params;
6869

6970

7071

‎src/main/java/com/hsjfans/github/model/ResponseReturn.java‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.hsjfans.github.model;
22

3+
import lombok.Data;
4+
35
/**
46
* @author hsjfans[hsjfans.scholar@gmail.com]
57
*/
8+
@Data
69
public class ResponseReturn {
710

811
/**
@@ -16,6 +19,11 @@ public class ResponseReturn {
1619
private String description;
1720

1821

22+
/**
23+
* the name
24+
*/
25+
private String name;
26+
1927

2028

2129

‎src/main/java/com/hsjfans/github/model/ReturnItem.java‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.hsjfans.github.model;
22

3+
import lombok.Data;
4+
35
import java.io.Serializable;
46

57
/**
68
* @author hsjfans[hsjfans.scholar@gmail.com]
79
*/
10+
@Data
811
public class ReturnItem implements Serializable {
912

1013
/**

‎src/main/java/com/hsjfans/github/parser/AbstractParser.java‎

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.hsjfans.github.parser;
22

33
import com.github.javaparser.ast.CompilationUnit;
4+
import com.google.common.collect.Sets;
5+
import com.hsjfans.github.config.Config;
46
import com.hsjfans.github.model.ApiTree;
57
import com.hsjfans.github.model.ControllerClass;
8+
import com.hsjfans.github.util.ApiClassLoader;
69
import com.hsjfans.github.util.ClassUtils;
710
import com.hsjfans.github.util.LogUtil;
811

@@ -16,20 +19,30 @@
1619

1720
public abstract class AbstractParser implements Parser {
1821

22+
protected final ClassLoader classLoader ;
23+
24+
protected final Config config;
25+
26+
public AbstractParser(Config config){
27+
this.config = config;
28+
this.classLoader = new ApiClassLoader(config);
29+
}
30+
1931

2032
protected abstract Set<String> supportClassAnnotations();
2133

2234
protected abstract Set<CompilationUnit> getAllControllerClass(Set<File> javaFiles);
2335

24-
protected abstract ControllerClass parseCompilationUnit(CompilationUnit compilationUnit);
36+
protected abstract void parseCompilationUnit(CompilationUnit compilationUnit, Set<ControllerClass> controllerClasses);
2537

2638

2739
@Override
2840
public ApiTree parse(String projectPath, boolean recursive) throws ParserException {
2941
LogUtil.info("开始解析 projectPath# "+projectPath);
3042
Set<File> javaFiles = ClassUtils.scan(projectPath,true);
3143
Set<CompilationUnit> compilationUnits = getAllControllerClass(javaFiles);
32-
compilationUnits.forEach(this::parseCompilationUnit);
44+
Set<ControllerClass> controllerClasses = Sets.newHashSet();
45+
compilationUnits.forEach(compilationUnit -> parseCompilationUnit(compilationUnit,controllerClasses));
3346
return null;
3447
}
3548

‎src/main/java/com/hsjfans/github/parser/ClassCache.java‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.hsjfans.github.parser;
22

33
import com.github.javaparser.ast.CompilationUnit;
4+
import com.github.javaparser.ast.body.TypeDeclaration;
45
import com.google.common.collect.Maps;
56

67
import java.util.Map;
@@ -18,15 +19,15 @@ public class ClassCache {
1819

1920
private static final Map<String,Class<?>> classCache ;
2021

21-
private static final Map<String, CompilationUnit> compilationUnitCache;
22+
private static final Map<String, TypeDeclaration<?>> compilationUnitCache;
2223

2324
static {
2425
classCache = Maps.newHashMap();
2526
compilationUnitCache = Maps.newHashMap();
2627
}
2728

2829

29-
public static void putCompilationUnit(String filePath,CompilationUnit compilationUnit){
30+
public static void putCompilationUnit(String filePath,TypeDeclaration compilationUnit){
3031
boolean contain;
3132
compilationUnitReadWriteLock.readLock().lock();
3233
contain = compilationUnitCache.containsKey(filePath);
@@ -39,8 +40,8 @@ public static void putCompilationUnit(String filePath,CompilationUnit compilatio
3940
compilationUnitReadWriteLock.writeLock().unlock();
4041
}
4142

42-
public static CompilationUnit getCompilationUnit(String filePath){
43-
CompilationUnit compilationUnit;
43+
public static TypeDeclaration<?> getCompilationUnit(String filePath){
44+
TypeDeclaration compilationUnit;
4445
compilationUnitReadWriteLock.readLock().lock();
4546
compilationUnit = compilationUnitCache.get(filePath);
4647
compilationUnitReadWriteLock.readLock().unlock();
@@ -75,7 +76,7 @@ public static Map<String, Class<?>> getClassCache() {
7576
return classCache;
7677
}
7778

78-
public static Map<String, CompilationUnit> getCompilationUnitCache() {
79-
return compilationUnitCache;
79+
public static Map<String, TypeDeclaration<?>> getCompilationUnitCache() {
80+
return getCompilationUnitCache();
8081
}
8182
}

‎src/main/java/com/hsjfans/github/parser/Parser.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.hsjfans.github.parser;
22

33
import com.github.javaparser.ast.CompilationUnit;
4+
import com.hsjfans.github.config.Config;
45
import com.hsjfans.github.model.ApiTree;
56

67
import java.util.List;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /