package samplest.autostartable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import restx.*; import restx.factory.Component; import java.io.IOException; /** * Date: 1/12/13 * Time: 14:21 */ @Component public class AutoStartableTestRoute extends StdRoute { private static final Logger logger = LoggerFactory.getLogger(AutoStartableTestRoute.class); private final AutoStartableTestComponent c; private int called; public AutoStartableTestRoute(AutoStartableTestComponent c) { super("AutoStartableTestRoute", new StdRestxRequestMatcher("GET", "/autostartable/test")); this.c = c; } @Override public void handle(RestxRequestMatch match, RestxRequest req, RestxResponse resp, RestxContext ctx) throws IOException { try { c.call(); resp.setContentType("text/plain"); resp.getWriter().println("called: " + ++called + " - autostartable: called: " + c.getCalled() +" started: " + AutoStartableTestComponent.getStarted() + " closed: " + AutoStartableTestComponent.getClosed() + " instanciated: " + AutoStartableTestComponent.getInstanciated() + " serverId: " + c.getServerId() + " baseUrl: " + c.getBaseUrl() + " routerPresent: " + c.getRouter().isPresent() ); } catch (Throwable t) { logger.error(t.getMessage(), t); } } }