@Override public String toString() { return String.format("ExecuteRequest [%s]", getPath()); }
@Override protected ExecuteResponse doExecute(ExecuteRequest request) { LwM2mPath path = request.getPath(); LwM2mInstanceEnabler instance = instances.get(path.getObjectInstanceId()); if (instance == null) { return ExecuteResponse.notFound(); } return instance.execute(path.getResourceId(), request.getParameters()); }
@Override public void visit(ExecuteRequest request) { coapRequest = Request.newPost(); setTarget(coapRequest, request.getPath()); coapRequest.setPayload(request.getParameters()); }
@Override public synchronized ExecuteResponse execute(ServerIdentity identity, ExecuteRequest request) { LwM2mPath path = request.getPath(); // execute is not supported for bootstrap if (identity.isLwm2mBootstrapServer()) { return ExecuteResponse.methodNotAllowed(); } // execute on security object is forbidden if (id == LwM2mId.SECURITY) { return ExecuteResponse.notFound(); } // only resource could be executed if (!path.isResource()) { return ExecuteResponse.badRequest(null); } // check if the resource is writable ResourceModel resourceModel = objectModel.resources.get(path.getResourceId()); if (resourceModel != null && !resourceModel.operations.isExecutable()) { return ExecuteResponse.methodNotAllowed(); } return doExecute(request); }
@Override public void visit(ExecuteRequest request) { coapRequest = Request.newPost(); setTarget(coapRequest, destination, request.getPath()); coapRequest.setPayload(request.getParameters()); if (request.getContentFormat() != null) { coapRequest.getOptions().setContentFormat(request.getContentFormat().getCode()); } }