feat: support shell registry for all server

This commit is contained in:
ReaJason
2025-02-23 02:33:09 +08:00
parent 76a78f14e0
commit 358f66ff01
89 changed files with 469 additions and 1180 deletions
@@ -30,9 +30,9 @@ public class ConfigController {
continue;
}
ShellTool[] supportedShellTools = ShellTool.values();
Map<String, List<String>> map = new LinkedHashMap<>(16);
Map<String, Set<String>> map = new LinkedHashMap<>(16);
for (ShellTool shellTool : supportedShellTools) {
List<String> supportedShellTypes = shell.getSupportedShellTypes(shellTool);
Set<String> supportedShellTypes = shell.getSupportedShellTypes(shellTool);
if (supportedShellTypes.isEmpty()) {
continue;
}
@@ -1,6 +1,6 @@
package com.reajason.javaweb.boot.controller;
import com.reajason.javaweb.memshell.GeneratorMain;
import com.reajason.javaweb.memshell.MemShellGenerator;
import com.reajason.javaweb.boot.dto.GenerateRequest;
import com.reajason.javaweb.boot.dto.GenerateResponse;
import com.reajason.javaweb.memshell.config.GenerateResult;
@@ -28,7 +28,7 @@ public class GeneratorController {
ShellConfig shellConfig = request.getShellConfig();
ShellToolConfig shellToolConfig = request.parseShellToolConfig();
InjectorConfig injectorConfig = request.getInjectorConfig();
GenerateResult generateResult = GeneratorMain.generate(shellConfig, injectorConfig, shellToolConfig);
GenerateResult generateResult = MemShellGenerator.generate(shellConfig, injectorConfig, shellToolConfig);
Packer packer = request.getPacker().getInstance();
if (packer instanceof JarPacker) {
return ResponseEntity.ok(new GenerateResponse(generateResult, Base64.getEncoder().encodeToString(((JarPacker) packer).packBytes(generateResult))));