Skip to content

Commit 87eacf9

Browse files
committed
fix: supportedShellTools not right
1 parent 882bad0 commit 87eacf9

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,10 @@ public static void addToolMapping(String shellTool, ToolMapping toolMapping) {
235235
}
236236
toolMappingBuilder.addShellClass(shellType, shellClass);
237237
}
238-
server.addToolMapping(shellTool, toolMappingBuilder.build());
238+
ToolMapping mapping = toolMappingBuilder.build();
239+
if (mapping.isNotEmpty()) {
240+
server.addToolMapping(shellTool, mapping);
241+
}
239242
}
240243
}
241244

generator/src/main/java/com/reajason/javaweb/memshell/server/ToolMapping.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ public ToolMapping(Map<String, Class<?>> shellClassMap) {
2424
this.shellClassMap = new LinkedHashMap<>(shellClassMap);
2525
}
2626

27+
public boolean isNotEmpty() {
28+
return !shellClassMap.isEmpty();
29+
}
30+
2731
public Set<String> getSupportedShellTypes() {
2832
return shellClassMap.keySet();
2933
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.reajason.javaweb.memshell;
2+
3+
import com.reajason.javaweb.Server;
4+
import com.reajason.javaweb.memshell.server.AbstractServer;
5+
import org.junit.jupiter.api.Test;
6+
7+
import java.util.Set;
8+
9+
import static org.junit.jupiter.api.Assertions.assertEquals;
10+
import static org.junit.jupiter.api.Assertions.assertTrue;
11+
12+
/**
13+
* @author ReaJason
14+
* @since 2025/8/25
15+
*/
16+
class ServerFactoryTest {
17+
18+
@Test
19+
void testSupportedTools() {
20+
AbstractServer server = ServerFactory.getServer(Server.XXLJOB);
21+
Set<String> supportedShellTools = server.getSupportedShellTools();
22+
assertEquals(2, supportedShellTools.size());
23+
assertTrue(supportedShellTools.contains(ShellTool.Command));
24+
assertTrue(supportedShellTools.contains(ShellTool.Godzilla));
25+
}
26+
27+
}

0 commit comments

Comments
 (0)