@Override public JsonElement serialize(LwM2mResponse src, Type typeOfSrc, JsonSerializationContext context) { JsonObject element = new JsonObject(); element.addProperty("status", src.getCode().toString()); element.addProperty("valid", src.isValid()); element.addProperty("success", src.isSuccess()); element.addProperty("failure", src.isFailure()); if (typeOfSrc instanceof Class<?>) { if (ReadResponse.class.isAssignableFrom((Class<?>) typeOfSrc)) { element.add("content", context.serialize(((ReadResponse) src).getContent())); } else if (DiscoverResponse.class.isAssignableFrom((Class<?>) typeOfSrc)) { element.add("objectLinks", context.serialize(((DiscoverResponse) src).getObjectLinks())); } } return element; } }
@Override public void visit(final DeleteRequest request) { switch (coapResponse.getCode()) { case DELETED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; case UNAUTHORIZED: case NOT_FOUND: case METHOD_NOT_ALLOWED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; default: handleUnexpectedResponseCode(client.getEndpoint(), coapRequest, coapResponse); } }
public static JsonObject jSerialize(LwM2mResponse r) { final JsonObject o = Json.object(); o.add("code", r.getCode().toString()); if (r.isFailure()) { o.add("errorMessage", r.getErrorMessage()); return o; } if (r instanceof ReadResponse) { o.add("kind", "read"); o.add("content", LwM2mNodeSerDes.jSerialize(((ReadResponse) r).getContent())); } else if (r instanceof ObserveResponse) { o.add("kind", "observe"); o.add("content", LwM2mNodeSerDes.jSerialize(((ReadResponse) r).getContent())); } else if (r instanceof DiscoverResponse) { o.add("kind", "discover"); o.add("objectLinks", Link.serialize(((DiscoverResponse) r).getObjectLinks())); } else if (r instanceof DeleteResponse) { o.add("kind", "delete"); } else if (r instanceof ExecuteResponse) { o.add("kind", "execute"); } else if (r instanceof WriteResponse) { o.add("kind", "write"); } else if (r instanceof WriteAttributesResponse) { o.add("kind", "writeAttributes"); } else if (r instanceof CreateResponse) { o.add("kind", "create"); o.add("location", ((CreateResponse) r).getLocation()); } return o; }
@Override public void handleDELETE(CoapExchange exchange) { LOG.debug("DELETE received : {}", exchange.advanced().getRequest()); List<String> uri = exchange.getRequestOptions().getUriPath(); if (uri != null && uri.size() == 2 && RESOURCE_NAME.equals(uri.get(0))) { DeregisterRequest deregisterRequest = new DeregisterRequest(uri.get(1)); LwM2mResponse deregisterResponse = registrationHandler.deregister(deregisterRequest); exchange.respond(fromLwM2mCode(deregisterResponse.getCode())); if (exchange.advanced().getEndpoint() instanceof SecureEndpoint && deregisterResponse.getCode().equals(org.eclipse.leshan.ResponseCode.DELETED)) { // clean the DTLS Session Request request = exchange.advanced().getRequest(); ((SecureEndpoint) exchange.advanced().getEndpoint()).getDTLSConnector().close( new InetSocketAddress(request.getSource(), request.getSourcePort())); } } else { LOG.debug("Invalid deregistration"); exchange.respond(ResponseCode.NOT_FOUND); } }
public static JsonObject jSerialize(LwM2mResponse r) { final JsonObject o = Json.object(); o.add("code", r.getCode().toString()); if (r.isFailure()) { o.add("errorMessage", r.getErrorMessage()); return o; } if (r instanceof ReadResponse) { o.add("kind", "read"); o.add("content", LwM2mNodeSerDes.jSerialize(((ReadResponse) r).getContent())); } else if (r instanceof ObserveResponse) { o.add("kind", "observe"); o.add("content", LwM2mNodeSerDes.jSerialize(((ReadResponse) r).getContent())); } else if (r instanceof DiscoverResponse) { o.add("kind", "discover"); o.add("objectLinks", Link.serialize(((DiscoverResponse) r).getObjectLinks())); } else if (r instanceof DeleteResponse) { o.add("kind", "delete"); } else if (r instanceof ExecuteResponse) { o.add("kind", "execute"); } else if (r instanceof WriteResponse) { o.add("kind", "write"); } else if (r instanceof WriteAttributesResponse) { o.add("kind", "writeAttributes"); } else if (r instanceof CreateResponse) { o.add("kind", "create"); o.add("location", ((CreateResponse) r).getLocation()); } return o; }
exchange.respond(fromLwM2mCode(updateResponse.getCode()));
@Override public void visit(final WriteRequest request) { switch (coapResponse.getCode()) { case CHANGED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; case BAD_REQUEST: case NOT_FOUND: case UNAUTHORIZED: case METHOD_NOT_ALLOWED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; default: handleUnexpectedResponseCode(client.getEndpoint(), coapRequest, coapResponse); } }
@Override public void visit(final WriteAttributesRequest request) { switch (coapResponse.getCode()) { case CHANGED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; case BAD_REQUEST: case NOT_FOUND: case UNAUTHORIZED: case METHOD_NOT_ALLOWED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; default: handleUnexpectedResponseCode(client.getEndpoint(), coapRequest, coapResponse); } }
@Override public void visit(final ExecuteRequest request) { switch (coapResponse.getCode()) { case CHANGED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; case BAD_REQUEST: case UNAUTHORIZED: case NOT_FOUND: case METHOD_NOT_ALLOWED: lwM2mresponse = new LwM2mResponse(fromCoapCode(coapResponse.getCode().value)); break; default: handleUnexpectedResponseCode(client.getEndpoint(), coapRequest, coapResponse); } }