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

fitnesse.responders.ShutdownResponder Maven / Gradle / Ivy

// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package fitnesse.responders;

import java.util.logging.Level;
import java.util.logging.Logger;

import fitnesse.FitNesseContext;
import fitnesse.authentication.AlwaysSecureOperation;
import fitnesse.authentication.SecureOperation;
import fitnesse.authentication.SecureResponder;
import fitnesse.html.template.HtmlPage;
import fitnesse.html.template.PageTitle;
import fitnesse.http.Request;
import fitnesse.http.Response;
import fitnesse.http.SimpleResponse;

public class ShutdownResponder implements SecureResponder {
  private static final Logger LOG = Logger.getLogger(ShutdownResponder.class.getName());

  @Override
  public Response makeResponse(final FitNesseContext context, Request request) throws Exception {
    SimpleResponse response = new SimpleResponse();

    HtmlPage html = context.pageFactory.newPage();
    html.setTitle("Shutdown");
    html.setPageTitle(new PageTitle("Shutdown"));

    html.setMainTemplate("shutdownPage.vm");
    response.setContent(html.html(request));

    Thread shutdownThread = new Thread() {
      @Override
      public void run() {
        try {
          context.fitNesse.stop();
        }
        catch (Exception e) {
          LOG.log(Level.WARNING, "Error while stopping FitNesse", e);
        }
      }
    };
    shutdownThread.start();

    return response;
  }

  @Override
  public SecureOperation getSecureOperation() {
    return new AlwaysSecureOperation();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy