/* * 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.OemBO; import com.intel.mtwilson.datatypes.OemData; 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; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * REST Web Service * * @author dsmagadx */ @V1 @Path("/WLMService/resources/oem") public class Oem { private Logger log = LoggerFactory.getLogger(getClass()); private OemBO oemBo; /** Creates a new instance of Oem */ public Oem() { oemBo = new OemBO(); } /** * Retrieves representation of list of all instances of com.intel.mountwilson.wlm.rest.OEM * in the database * @return an instance of */ @GET //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oems:search") @Produces("application/json") public List<OemData> listAllOem() { return oemBo.getAllOem(); } /** * Updates the specified OME 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/oem * {"Name":"OME Name ","Version":"Os Version","Description":"Os Description"} * Sample success output: * "true" * Sample error output: * { "error_message":"Unknown error - Error while updating OEM in WLM Service", "error_code":1002 } * * @param oemData record as described * @return */ @PUT //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oems:store") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String updateOem(OemData oemData) { ValidationUtil.validate(oemData); return oemBo.updateOem(oemData, null); // passing in default null for UUID); } /** * Adds the specified Oem 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/oem * {"Name":"Oem Name ","Description":"Oem Description"} * Sample success output: * "true" * Sample error output: * { "error_message":"Unknown error - Error while creating OEM in WLM Service", "error_code":1002 } * * @param oemData record as described * @return */ @POST //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oems:create") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String addOem(OemData oemData) { ValidationUtil.validate(oemData); log.error("OEM Name: " + oemData.getName()); log.error("OEM Description: " + oemData.getDescription()); return oemBo.createOem(oemData, null); // passing in default null for UUID } /** * Deletes the specified Oem in the database. If it can be deleted a success message * is returned. If not, an error message is returned. * Sample request: * PUT http://localhost:8080/WLMService/resources/oem * {"Name":"Oem Name ","Description":"Oem Description"} * Sample success output: * "true" * Sample error output: * { "error_message":"Unknown error - Error while creating OEM in WLM Service", "error_code":1002 } * * @param oemData record as described * @return */ @DELETE //@RolesAllowed({"Whitelist"}) @RequiresPermissions("oems:delete") @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN) public String deleteOem(@QueryParam("Name")String oemName ) { ValidationUtil.validate(oemName); return oemBo.deleteOem(oemName, null); // passing in default null for UUID); } }