org.sventon.web.ctrl.DeleteConfigurationController.java Source code

Java tutorial

Introduction

Here is the source code for org.sventon.web.ctrl.DeleteConfigurationController.java

Source

/*
 * ====================================================================
 * Copyright (c) 2005-2012 sventon project. All rights reserved.
 *
 * This software is licensed as described in the file LICENSE, which
 * you should have received as part of this distribution. The terms
 * are also available at http://www.sventon.org.
 * If newer versions of this license are posted there, you may use a
 * newer version instead, at your option.
 * ====================================================================
 */
package org.sventon.web.ctrl;

import org.springframework.util.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;
import org.sventon.appl.Application;
import org.sventon.model.RepositoryName;

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

/**
 * Controller for deleting application configurations.
 *
 * @author jesper@sventon.org
 */
public final class DeleteConfigurationController extends AbstractController {

    /**
     * The application.
     */
    private Application application;

    /**
     * Sets the application.
     *
     * @param application Application
     */
    public void setApplication(final Application application) {
        this.application = application;
    }

    @Override
    protected ModelAndView handleRequestInternal(final HttpServletRequest request,
            final HttpServletResponse response) throws Exception {

        final String repositoryToDelete = ServletRequestUtils.getStringParameter(request, "name", null);

        if (StringUtils.hasText(repositoryToDelete)) {
            final RepositoryName repositoryName = new RepositoryName(repositoryToDelete);
            application.deleteConfiguration(repositoryName);
        }
        return new ModelAndView(new RedirectView("/repos/listconfigs", true));
    }

}