/* Copyright (c) 2011-2014, OpenIoT
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL"). If you do not alter this
* notice, a recipient may use your version of this file under the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL for
* the specific language governing rights and limitations.
*
* Contact: OpenIoT mailto: info@openiot.eu
*/
package org.openiot.security.oauth;
import org.jasig.cas.CentralAuthenticationService;
import org.restlet.Context;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.data.Status;
import org.restlet.resource.Resource;
import org.restlet.resource.ResourceException;
import org.restlet.resource.Variant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Implementation of a Restlet resource for deleting a TicketGrantingTicket.
*
* @author Mehdi Riahi
*/
public final class TicketGrantingTicketResource extends Resource {
private final static Logger log = LoggerFactory.getLogger(TicketGrantingTicketResource.class);
@Autowired
private CentralAuthenticationService centralAuthenticationService;
private String ticketGrantingTicketId;
public void init(final Context context, final Request request, final Response response) {
super.init(context, request, response);
this.ticketGrantingTicketId = (String) request.getAttributes().get("ticketGrantingTicketId");
this.getVariants().add(new Variant(MediaType.APPLICATION_WWW_FORM));
}
public boolean allowDelete() {
return true;
}
public void removeRepresentations() throws ResourceException {
log.debug("Removing TGT: {}", ticketGrantingTicketId);
this.centralAuthenticationService.destroyTicketGrantingTicket(this.ticketGrantingTicketId);
getResponse().setStatus(Status.SUCCESS_OK);
}
}