Skip to content

Instantly share code, notes, and snippets.

View chkal's full-sized avatar

Christian Kaltepoth chkal

View GitHub Profile
@chkal
chkal / krazo.patch
Created May 21, 2021 15:22
Adding Krazo to Eclipse Glassfish
diff --git a/appserver/pom.xml b/appserver/pom.xml
index 1e49f3a9d..75a4d3914 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -161,6 +161,10 @@
<weld.version>4.0.1.SP1</weld.version>
<jboss.classfilewriter.version>1.2.4.Final</jboss.classfilewriter.version>
+ <!-- Jakarta MVC -->
+ <mvc-api.version>2.0.0</mvc-api.version>
@chkal
chkal / RelativeRedirectsFilter.java
Last active May 16, 2020 08:35
Workaround for relative location headers via sendRedirect() for Wildfly and other containers
@WebFilter(urlPatterns = "/*")
public class RelativeRedirectsFilter implements Filter {
@Override
public void doFilter( ServletRequest request, ServletResponse response, FilterChain chain )
throws IOException, ServletException {
chain.doFilter( request, new RelativeRedirectResponse( (HttpServletResponse) response ) );
}
@chkal
chkal / NoopServletFilter.java
Created February 17, 2018 08:46
NoopServletFilter.java
@WebFilter("/*")
public class NoopServletFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// empty
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
@Controller
@Path("/simple")
public class SimpleController {
@GET
public String get() {
return "simple.jsp";
}
}
@chkal
chkal / UserClientIpActivationStrategy.java
Created September 30, 2013 05:48
Example for a custom activation strategy that combines two existing strategies
public class UserClientIpActivationStrategy implements ActivationStrategy {
private final ActivationStrategy userStrategy = new UsernameActivationStrategy();
private final ActivationStrategy ipStrategy = new ClientIpActivationStrategy();
@Override
public String getId() {
return "user-ip";
}
// some interface
public interface Plugin {
// ...
}
// standard bean
public class FirstPlugin implements Plugin {
// ...
}
@chkal
chkal / FeatureServlet.java
Created July 31, 2013 06:19
Simple Servlet to control Togglz features using GET requests
@WebServlet(urlPatterns = "/FeatureServlet")
public class FeatureServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
Feature feature = new NamedFeature( req.getParameter( "feature" ) );
boolean enabled = "on".equals( req.getParameter( "state" ) );
@chkal
chkal / MultiEnumFeatureProvider.java
Created May 21, 2013 13:28
Using multiple feature enums with Togglz
public class MultiEnumFeatureProvider implements FeatureProvider {
private final Set<Feature> features = new LinkedHashSet<>();
public MultiEnumFeatureProvider( Class<? extends Feature>... enumTypes ) {
for( Class<? extends Feature> clazz : enumTypes ) {
for( Feature feature : clazz.getEnumConstants() ) {
features.add( feature );
}
}
@chkal
chkal / Message.java
Last active November 23, 2015 16:24
Draft: MVC 1.0 support for message handling
public class Message implements Serializable {
private static final long serialVersionUID = 2518143831776562527L;
public enum Severity {
INFO,
WARN,
ERROR
}
@chkal
chkal / TogglzManagement.java
Created December 15, 2012 10:39
Demonstrates how to integrate Togglz with JMX
/**
* Implementation of the Management interface
*/
public class TogglzManagement implements TogglzManagementMBean {
@Override
public void toggle(String featureName, boolean enabled) {
// as we only know the name, wrap it into an UntypedFature
UntypedFeature feature = new UntypedFeature(featureName);