implement servlet to switch whitelabel setting during testing #5153

This commit is contained in:
Georg Herdt
2020-03-09 14:44:02 +01:00
parent a77cd8babc
commit 7e46168c56
2 changed files with 52 additions and 0 deletions
@@ -42,4 +42,12 @@
<servlet-name>CreateSessionServlet</servlet-name>
<url-pattern>/createSession</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>WhitelabelSwitchServlet</servlet-name>
<servlet-class>com.sap.sailing.server.gateway.test.support.WhitelabelSwitchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WhitelabelSwitchServlet</servlet-name>
<url-pattern>/switch/whitelabel/*</url-pattern>
</servlet-mapping>
</web-app>
@@ -0,0 +1,44 @@
package com.sap.sailing.server.gateway.test.support;
import java.io.IOException;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class WhitelabelSwitchServlet extends HttpServlet {
private static final String COM_SAP_SAILING_DEBRANDING = "com.sap.sailing.debranding";
private static final long serialVersionUID = 7132508855846001729L;
private static final Logger logger = Logger.getLogger(WhitelabelSwitchServlet.class.getName());
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String property = System.getProperty(COM_SAP_SAILING_DEBRANDING);
resp.setContentLength(property != null ? property.getBytes().length : 0);
resp.getWriter().write(property);
resp.setStatus(HttpServletResponse.SC_OK);
}
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String path = req.getPathInfo();
if (path.endsWith("on") || path.endsWith("true")) {
System.setProperty(COM_SAP_SAILING_DEBRANDING, Boolean.toString(true));
resp.setStatus(HttpServletResponse.SC_OK);
} else if (path.endsWith("off") || path.endsWith("false")) {
System.setProperty(COM_SAP_SAILING_DEBRANDING, Boolean.toString(false));
resp.setStatus(HttpServletResponse.SC_OK);
} else {
logger.config("unrecoginzed path " + path);
resp.setStatus(418);
}
}
}