43 lines
1.5 KiB
Java
43 lines
1.5 KiB
Java
package li.strolch.plc.rest;
|
|
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonParser;
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.ws.rs.Consumes;
|
|
import jakarta.ws.rs.PUT;
|
|
import jakarta.ws.rs.Path;
|
|
import jakarta.ws.rs.Produces;
|
|
import jakarta.ws.rs.core.Context;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
import jakarta.ws.rs.core.Response;
|
|
import li.strolch.plc.core.service.SendPlcAddressActionService;
|
|
import li.strolch.privilege.model.Certificate;
|
|
import li.strolch.rest.RestfulStrolchComponent;
|
|
import li.strolch.rest.StrolchRestfulConstants;
|
|
import li.strolch.rest.helper.ResponseUtil;
|
|
import li.strolch.service.JsonServiceArgument;
|
|
import li.strolch.service.api.ServiceHandler;
|
|
import li.strolch.service.api.ServiceResult;
|
|
|
|
@Path("plc/addresses")
|
|
public class PlcAddresses {
|
|
|
|
@PUT
|
|
@Consumes(MediaType.APPLICATION_JSON)
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public Response sendAddressAction(@Context HttpServletRequest request, String data) {
|
|
|
|
Certificate cert = (Certificate) request.getAttribute(StrolchRestfulConstants.STROLCH_CERTIFICATE);
|
|
JsonObject jsonObject = JsonParser.parseString(data).getAsJsonObject();
|
|
|
|
SendPlcAddressActionService svc = new SendPlcAddressActionService();
|
|
JsonServiceArgument arg = svc.getArgumentInstance();
|
|
arg.jsonElement = jsonObject;
|
|
|
|
// call service
|
|
ServiceHandler svcHandler = RestfulStrolchComponent.getInstance().getServiceHandler();
|
|
ServiceResult svcResult = svcHandler.doService(cert, svc, arg);
|
|
return ResponseUtil.toResponse(svcResult);
|
|
}
|
|
}
|