Package org.lightfish.business.escalation.boundary

Source Code of org.lightfish.business.escalation.boundary.ScriptingResource

package org.lightfish.business.escalation.boundary;

import java.net.URI;
import java.util.List;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.lightfish.business.escalation.control.ScriptStore;
import org.lightfish.business.escalation.entity.Script;

/**
* @author adam bien, adam-bien.com
*/
@Path("scripts")
@Stateless
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public class ScriptingResource {
    @Inject
    ScriptStore scripting;
   
    @Context
    UriInfo uri;
   
    @GET
    public List<Script> scripts(){
        return scripting.scripts();
    }

    @GET
    @Path("{id}")
    public Script script(@PathParam("id") String id){
        return scripting.getScript(id);
    }
   
    @PUT
    public Response save(Script script){
        Script saved = scripting.save(script);
        URI location = uri.getAbsolutePathBuilder().path(saved.getName()).build();
        return Response.created(location).build();
    }

    @DELETE
    @Path("{name}")
    public Response delete(@PathParam("name") String name){
        scripting.delete(name);
        return Response.ok().build();
    }
}
TOP

Related Classes of org.lightfish.business.escalation.boundary.ScriptingResource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.