/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.intel.mtwilson.wlm.rest; import com.intel.mtwilson.wlm.business.OsBO; import com.intel.mtwilson.datatypes.OsData; import java.util.List; //import javax.annotation.security.RolesAllowed; import com.intel.mtwilson.security.annotations.*; import com.intel.dcsg.cpg.validation.ValidationUtil; import com.intel.mtwilson.launcher.ws.ext.V1; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.shiro.authz.annotation.RequiresPermissions; /** * REST Web Service * * @author dsmagadx */ @V1 @Path("/WLMService/resources/os") public class Os { private OsBO osBO; /** Creates a new instance of Os */ public Os() { osBO = new OsBO(); } /** * Retrieves representation of list of all instances of com.intel.mountwilson.wlm.rest.Os * in the database * @return an instance of */ @GET //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oss:search,retrieve") @Produces("application/json") public List<OsData> listAllOs() { return osBO.getAllOs(); } /** * Updates the specified OS in the database. If it can be updated a success message * is returned. If not, an error message is returned. * Sample request: * PUT http://localhost:8080/WLMService/resources/os * {"Name":"OS Name ","Version":"Os Version","Description":"Os Description"} * Sample success output: * "true" * Sample error output: * { "error_message":"Unknown error - Error while creating MLE in WLM Service", "error_code":1002 } * * @param osData record as described * @return */ @PUT //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oss:store") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String updateOs(OsData osData) { ValidationUtil.validate(osData); return osBO.updateOs(osData, null); } /** * Adds the specified OS in the database. If it can be added a success message * is returned. If not, an error message is returned. * Sample request: * PUT http://localhost:8080/WLMService/resources/os * {"Name":"OS Name ","Version":"Os Version","Description":"Os Description"} * Sample success output: * "true" * Sample error output: * { "error_message":"Unknown error - Error while creating MLE in WLM Service", "error_code":1002 } * * @param osData record as described * @return */ @POST //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oss:create") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String addOs(OsData osData) { ValidationUtil.validate(osData); return osBO.createOs(osData, null); } @DELETE //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oss:delete") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String deleteOs(@QueryParam("Name")String osName, @QueryParam("Version")String osVersion ) { ValidationUtil.validate(osName); ValidationUtil.validate(osVersion); return osBO.deleteOs(osName,osVersion, null); } }