2
2
3
3
import com .shadow .core .asm .dynamic .AsmTransformer ;
4
4
import com .shadow .core .asm .handler .*;
5
- import com .shadow .core .buddy .dynamic .BuddyTransformer ;
6
5
import com .shadow .core .buddy .handler .AbstractBuddyHandler ;
7
6
import com .shadow .core .buddy .handler .IBuddyHandler ;
8
7
import com .shadow .core .javassist .dynamic .JavassistTransformer ;
9
8
import com .shadow .core .javassist .handler .*;
10
9
import com .shadow .utils .CommonConstants ;
11
10
import com .shadow .utils .ParamResolveUtils ;
12
11
import jdk .internal .org .objectweb .asm .tree .MethodNode ;
13
- import net .bytebuddy .ByteBuddy ;
14
12
import net .bytebuddy .agent .builder .AgentBuilder ;
15
13
import net .bytebuddy .agent .builder .ResettableClassFileTransformer ;
16
14
@@ -30,27 +28,27 @@ public static void agentmain(String agentArgs, Instrumentation inst) {
30
28
if (resolveArgs .get (CommonConstants .ORIGIN_JOB_TYPE ) != null &&
31
29
resolveArgs .get (CommonConstants .CONTROLLER_CLASS ) != null &&
32
30
resolveArgs .get (CommonConstants .JOB_TYPE ) != null ) {
33
- CommonConstants .ScheduleTypeEnum originScheduleTypeEnum = CommonConstants .getByJobTypeName (resolveArgs .get (CommonConstants .ORIGIN_JOB_TYPE ));
34
- CommonConstants .ScheduleTypeEnum scheduleTypeEnum = CommonConstants .getByJobTypeName (resolveArgs .get (CommonConstants .JOB_TYPE ));
35
- if (originScheduleTypeEnum != null && scheduleTypeEnum != null ) {
31
+ CommonConstants .JobTypeEnum originJobTypeEnum = CommonConstants .getByJobTypeName (resolveArgs .get (CommonConstants .ORIGIN_JOB_TYPE ));
32
+ CommonConstants .JobTypeEnum jobTypeEnum = CommonConstants .getByJobTypeName (resolveArgs .get (CommonConstants .JOB_TYPE ));
33
+ if (originJobTypeEnum != null && jobTypeEnum != null ) {
36
34
// transformer
37
35
ClassFileTransformer transformer = null ;
38
36
CommonConstants .ProxyTypeEnum proxyTypeEnum = CommonConstants .getByProxyTypeName (resolveArgs .get (CommonConstants .PROXY_TYPE ));
39
37
switch (proxyTypeEnum ) {
40
38
case ASM :
41
39
// handle ASM default args
42
- MethodNode [] methodNodes = handleAsmDefaultArgs (resolveArgs , originScheduleTypeEnum , scheduleTypeEnum );
40
+ MethodNode [] methodNodes = handleAsmDefaultArgs (resolveArgs , originJobTypeEnum , jobTypeEnum );
43
41
transformer = new AsmTransformer (resolveArgs , methodNodes [0 ], methodNodes [1 ]);
44
42
break ;
45
43
case BUDDY :
46
44
// FIXME
47
- //AbstractBuddyHandler handler = handleBuddyDefaultArgs(resolveArgs, originScheduleTypeEnum, scheduleTypeEnum );
45
+ //AbstractBuddyHandler handler = handleBuddyDefaultArgs(resolveArgs, originJobTypeEnum, jobTypeEnum );
48
46
// transformer = new BuddyTransformer(resolveArgs).handle(handler, inst);
49
47
break ;
50
48
case JAVASSIST :
51
49
default :
52
50
// handle Javassist default args
53
- handleJavassistDefaultArgs (resolveArgs , originScheduleTypeEnum , scheduleTypeEnum );
51
+ handleJavassistDefaultArgs (resolveArgs , originJobTypeEnum , jobTypeEnum );
54
52
transformer = new JavassistTransformer (resolveArgs );
55
53
break ;
56
54
}
@@ -73,8 +71,8 @@ public static void agentmain(String agentArgs, Instrumentation inst) {
73
71
}
74
72
75
73
private static MethodNode [] handleAsmDefaultArgs (Map <String , String > resolveArgs ,
76
- CommonConstants .ScheduleTypeEnum originScheduleTypeEnum ,
77
- CommonConstants .ScheduleTypeEnum scheduleTypeEnum ) {
74
+ CommonConstants .JobTypeEnum originJobTypeEnum ,
75
+ CommonConstants .JobTypeEnum jobTypeEnum ) {
78
76
// 1、common args
79
77
handleCommonDefaultArgs (resolveArgs );
80
78
// SPI
@@ -86,7 +84,7 @@ private static MethodNode[] handleAsmDefaultArgs(Map<String, String> resolveArgs
86
84
handlerMap .put (handler .getClass ().getSimpleName ().replace (CommonConstants .ASM_HANDLER_NAME_SUFFIX , "" ).toUpperCase (), (AbstractAsmHandler ) handler );
87
85
}
88
86
// 2、find origin handle for method name
89
- AbstractAsmHandler originHandler = handlerMap .get (originScheduleTypeEnum .name ());
87
+ AbstractAsmHandler originHandler = handlerMap .get (originJobTypeEnum .name ());
90
88
// if args not found method name, set default
91
89
if (resolveArgs .get (CommonConstants .METHOD_NAME ) == null ) {
92
90
resolveArgs .put (CommonConstants .METHOD_NAME , originHandler .getClass ().getSimpleName ().toLowerCase ());
@@ -96,15 +94,15 @@ private static MethodNode[] handleAsmDefaultArgs(Map<String, String> resolveArgs
96
94
// reset args for set CommonConstants.METHOD_NAME
97
95
((AbstractAsmHandler ) handler ).setArgs (resolveArgs );
98
96
}
99
- AbstractAsmHandler currentHandler = handlerMap .get (scheduleTypeEnum .name ());
97
+ AbstractAsmHandler currentHandler = handlerMap .get (jobTypeEnum .name ());
100
98
MethodNode runMethodNode = currentHandler .getAndSetClassMethod (CommonConstants .ASM_API_VERSION );
101
99
MethodNode crudMethodNode = currentHandler .getAndSetCrudClassMethod (CommonConstants .ASM_API_VERSION );
102
100
return new MethodNode []{runMethodNode , crudMethodNode };
103
101
}
104
102
105
103
private static AbstractBuddyHandler handleBuddyDefaultArgs (Map <String , String > resolveArgs ,
106
- CommonConstants .ScheduleTypeEnum originScheduleTypeEnum ,
107
- CommonConstants .ScheduleTypeEnum scheduleTypeEnum ) {
104
+ CommonConstants .JobTypeEnum originJobTypeEnum ,
105
+ CommonConstants .JobTypeEnum jobTypeEnum ) {
108
106
// 1、common args
109
107
handleCommonDefaultArgs (resolveArgs );
110
108
// SPI
@@ -116,7 +114,7 @@ private static AbstractBuddyHandler handleBuddyDefaultArgs(Map<String, String> r
116
114
handlerMap .put (handler .getClass ().getSimpleName ().replace (CommonConstants .BYTEBUDDY_HANDLER_NAME_SUFFIX , "" ).toUpperCase (), (AbstractBuddyHandler ) handler );
117
115
}
118
116
// 2、find origin handle for method name
119
- AbstractBuddyHandler originHandler = handlerMap .get (originScheduleTypeEnum .name ());
117
+ AbstractBuddyHandler originHandler = handlerMap .get (originJobTypeEnum .name ());
120
118
// if args not found method name, set default
121
119
if (resolveArgs .get (CommonConstants .METHOD_NAME ) == null ) {
122
120
resolveArgs .put (CommonConstants .METHOD_NAME , originHandler .getClass ().getSimpleName ().toLowerCase ());
@@ -126,14 +124,14 @@ private static AbstractBuddyHandler handleBuddyDefaultArgs(Map<String, String> r
126
124
// reset args for set CommonConstants.METHOD_NAME
127
125
((AbstractBuddyHandler ) handler ).setArgs (resolveArgs );
128
126
}
129
- AbstractBuddyHandler handler = handlerMap .get (scheduleTypeEnum .name ());
127
+ AbstractBuddyHandler handler = handlerMap .get (jobTypeEnum .name ());
130
128
handler .initOriginHandler (originHandler );
131
129
return handler ;
132
130
}
133
131
134
132
private static void handleJavassistDefaultArgs (Map <String , String > resolveArgs ,
135
- CommonConstants .ScheduleTypeEnum originScheduleTypeEnum ,
136
- CommonConstants .ScheduleTypeEnum scheduleTypeEnum ) {
133
+ CommonConstants .JobTypeEnum originJobTypeEnum ,
134
+ CommonConstants .JobTypeEnum jobTypeEnum ) {
137
135
// 1、common args
138
136
handleCommonDefaultArgs (resolveArgs );
139
137
// SPI
@@ -144,7 +142,7 @@ private static void handleJavassistDefaultArgs(Map<String, String> resolveArgs,
144
142
handlerMap .put (handler .getClass ().getSimpleName ().replace (CommonConstants .JAVASSIST_HANDLER_NAME_SUFFIX , "" ).toUpperCase (), (AbstractJavassistHandler ) handler );
145
143
}
146
144
// 2、find origin handle for method name
147
- AbstractJavassistHandler originHandler = handlerMap .get (originScheduleTypeEnum .name ());
145
+ AbstractJavassistHandler originHandler = handlerMap .get (originJobTypeEnum .name ());
148
146
// if args not found method name, set default
149
147
if (resolveArgs .get (CommonConstants .METHOD_NAME ) == null ) {
150
148
resolveArgs .put (CommonConstants .METHOD_NAME , originHandler .getClass ().getSimpleName ().toLowerCase ());
@@ -154,7 +152,7 @@ private static void handleJavassistDefaultArgs(Map<String, String> resolveArgs,
154
152
// reset args for set CommonConstants.METHOD_NAME
155
153
((AbstractJavassistHandler ) handler ).setArgs (resolveArgs );
156
154
}
157
- AbstractJavassistHandler currentHandler = handlerMap .get (scheduleTypeEnum .name ());
155
+ AbstractJavassistHandler currentHandler = handlerMap .get (jobTypeEnum .name ());
158
156
resolveArgs .put (CommonConstants .METHOD_BODY , currentHandler .getMethodBody ().get ());
159
157
}
160
158
}
0 commit comments