All Downloads are FREE. Search and download functionalities are using the official Maven repository.

works.lmz.syllabus.apidoc.ApiDocStencil Maven / Gradle / Ivy

package works.lmz.syllabus.apidoc;

import works.lmz.stencil.Path;
import works.lmz.stencil.Stencil;
import works.lmz.stencil.StencilService;

import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;

/**
 * Author: Marnix
 */
@Path("/livedoc")
public class ApiDocStencil implements Stencil {

	/**
	 * Stencil service
	 */
	@Inject private StencilService stencilService;

	@Inject private SyllabusInspector inspector;

	/**
	 * The hook to run when a page has been matched.
	 *
	 * @param request is the httpservletrequest for this particular incoming request
	 * @param response is the httpservletresponse instance for this particular incoming request
	 * @param pathParameters is a key/value-mapping that contains path parameters
	 */
	public void render(HttpServletRequest request, HttpServletResponse response, Map pathParameters) {

		Map modelMap = new HashMap();
		modelMap.put("title", "Live API doc");
		modelMap.put("namespaces", inspector.getNamespaces());
		modelMap.put("endpointsMap", inspector.getEndpointsByNamespace());

		this.stencilService.renderJsp(request, response, "/WEB-INF/jsp/apidoc/apidoc.jsp", modelMap);

	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy