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

eu.ginere.base.web.services.ShowInfoServlet Maven / Gradle / Ivy

package eu.ginere.base.web.services;


import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import eu.ginere.base.web.connectors.rights.RightInterface;
import eu.ginere.base.web.listener.AbstractWebContextListener;
import eu.ginere.base.web.listener.ContextInitializedException;
import eu.ginere.base.web.servlet.JSONServlet;
import eu.ginere.base.web.servlet.MainServlet;
import eu.ginere.base.web.servlet.info.ServletArgs;
import eu.ginere.base.web.servlet.info.ServletInfo;


public class ShowInfoServlet extends MainServlet{

	private static final String URI = "/servlet/util/ShowInfoServlet";
	private static final String DESCRIPTION = "Returns the information of all the servlet loaded into the context. The servlet are loaded the when the first call is done";

	@Override
	protected ServletArgs[] getArgs() {
		return new ServletArgs[]{
				ServletArgs.getStringParameter("The servlet ID to clear or to print exception","id"),
				ServletArgs.getStringParameter("The action to do: exception,clear","action"),
		};	
	}
	
	@Override
	protected void doService(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String id=getStringParameter(request, "id",null);
		String accion=getStringParameter(request, "action",null);
		
		response.setCharacterEncoding(JSONServlet.CHARSET);
		response.setContentType("text/html");
		
		PrintWriter writer=response.getWriter();
		
		
		if ("exception".equals(accion)){
			writer.println("");
			MainServlet servlet=AbstractWebContextListener.getServlet(id);
			Exception e=servlet.getInfo().getLastException();
			if (e!=null){
				printException(writer,e);
			} else {
				writer.println("No hay excepcion");
			}
			writer.println("");
			return ;
		} else if ("clear".equals(accion)){
			MainServlet servlet=AbstractWebContextListener.getServlet(id);
			servlet.getInfo().clear();
			return;
		} else {
			writer.println("");
			
			if (id==null){
				List list=AbstractWebContextListener.getServletList();
				for (MainServlet servlet:list){
					printServlet(request,writer,servlet);
					writer.println("

"); } } else { MainServlet servlet=AbstractWebContextListener.getServlet(id); if (servlet==null){ writer.println("Not Found:

"); writer.println(id); writer.println("

"); } else { printServlet(request,writer,servlet); writer.println("

"); } } writer.println(""); } } private static void printServlet(HttpServletRequest request,PrintWriter writer,MainServlet servlet){ ServletInfo info=servlet.getInfo(); ServletArgs args[]=servlet.getServletArgs(); writer.println(""); writer.print(""); printInfo(request,writer,servlet); writer.println("
"); writer.print(servlet.getServletUri()); writer.print(" ["); writer.print(info.getServletClass().getName()); writer.print("]

"); writer.print(servlet.getServletDescription()); writer.print("

"); writer.print("Arguments:

"); // Ther argumens if (args==null){ writer.print(" - no Args

"); } else { for (ServletArgs arg:args){ writer.print(arg); writer.print("

"); } } writer.print("Servlet Return:

"); String servletReturn=servlet.getServletReturn(); // Ther argumens if (servletReturn==null){ writer.print(" - No Def

"); } else { writer.print("
");
			writer.print(servletReturn);
			writer.print("

"); } printRights(request,writer,servlet); writer.print("
"); } private static void printRights(HttpServletRequest request,PrintWriter writer,MainServlet servlet){ RightInterface[] rights=servlet.getServletRights(); writer.print("Access:

"); if (rights==null){ writer.print(" - Public Access

"); } else if ( rights.length == 0){ writer.print(" - For users logged only

"); } else { for (RightInterface right:rights){ writer.print(" - "); writer.print(right.getId()); writer.print(" - "); writer.print(right.getName()); writer.print(" - "); writer.print(right.getDescription()); } writer.println(""); } } private static void printInfo(HttpServletRequest request,PrintWriter writer,MainServlet servlet){ ServletInfo info=servlet.getInfo(); writer.println(""); writer.println("RunningCall:"); writer.println("  "); writer.println(info.getRunningCall()); writer.println(""); writer.println(""); writer.println("AverageTime:"); writer.println("  "); writer.println(info.getAverageTime()); writer.println(""); writer.println(""); writer.println("ExceptionNumber:"); writer.println("  "); writer.println(info.getExceptionNumber()); writer.println(""); writer.println(""); writer.println("Call Number:"); writer.println("  "); writer.println(info.getTotalNumber()); writer.println(""); writer.println(""); writer.println("Max Call Time:"); writer.println("  "); writer.println(info.getMaxTime()); writer.println(""); writer.println(""); writer.println("Total Consumed Time:"); writer.println("  "); writer.println(info.getTotalTime()); writer.println(""); if (info.getLastException()==null){ writer.println(""); writer.println(" No Exceptions "); writer.println("  "); writer.println(""); } else { writer.println(""); writer.println(" Exception "); writer.println("  "); writer.print(""); writer.print(info.getLastException().getMessage()); writer.print(""); writer.println(""); } writer.println(""); writer.println("Clear"); writer.println("  "); writer.print("clear"); writer.println(""); } private static void printException(PrintWriter writer,Throwable e){ writer.println("Message:"); writer.println(e.getMessage()); writer.println("

"); writer.println("Trace:

"); writer.println("
");
		e.printStackTrace(writer);
		writer.println("

"); Throwable cause=e.getCause(); if (cause!=null){ writer.println("Causa:"); printException(writer,cause); writer.println("

"); } } @Override protected RightInterface[] getRights() throws ContextInitializedException { // return new RightInterface[]{AbstractWebContextListener.ADMIN_TECH_RIGHT}; return AbstractWebContextListener.SUPER_ADMIN_TECH; } @Override protected String getUri() { return URI; } @Override protected String getDescription() { return DESCRIPTION; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy