public static ObserveResponse notAcceptable() { return new ObserveResponse(ResponseCode.NOT_ACCEPTABLE, null, null, null, null); }
@Override public void onResponse(Observation observation, Registration registration, ObserveResponse response) { handleNotification(observation, response.getContent()); }
LwM2mObjectInstance getLwM2mObjectInstance(int instanceid, LwM2mInstanceEnabler instance, ServerIdentity identity, boolean observe) { List<LwM2mResource> resources = new ArrayList<>(); for (ResourceModel resourceModel : getObjectModel().resources.values()) { // check, if internal request (SYSTEM) or readable if (identity.isSystem() || resourceModel.operations.isReadable()) { if (observe) { ObserveResponse response = instance.observe(resourceModel.id); if (response.getCode() == ResponseCode.CONTENT && response.getContent() instanceof LwM2mResource) resources.add((LwM2mResource) response.getContent()); } else { ReadResponse response = instance.read(resourceModel.id); if (response.getCode() == ResponseCode.CONTENT && response.getContent() instanceof LwM2mResource) resources.add((LwM2mResource) response.getContent()); } } } return new LwM2mObjectInstance(instanceid, resources); }
ObserveRequest observeRequest = new ObserveRequest(URI); ObserveResponse response = nodeEnabler.observe(identity, observeRequest); if (response.getCode() == org.eclipse.leshan.ResponseCode.CONTENT) { LwM2mPath path = new LwM2mPath(URI); LwM2mNode content = response.getContent(); LwM2mModel model = new LwM2mModel(nodeEnabler.getObjectModel()); ContentFormat format = getContentFormat(observeRequest, requestedContentFormat); return; } else { exchange.respond(toCoapResponseCode(response.getCode()), response.getErrorMessage()); return;
@Override protected ObserveResponse doObserve(final ServerIdentity identity, final ObserveRequest request) { final LwM2mPath path = request.getPath(); // Manage Object case if (path.isObject()) { List<LwM2mObjectInstance> lwM2mObjectInstances = new ArrayList<>(); for (Entry<Integer, LwM2mInstanceEnabler> entry : instances.entrySet()) { lwM2mObjectInstances.add(getLwM2mObjectInstance(entry.getKey(), entry.getValue(), identity, true)); } return ObserveResponse.success(new LwM2mObject(getId(), lwM2mObjectInstances)); } // Manage Instance case final LwM2mInstanceEnabler instance = instances.get(path.getObjectInstanceId()); if (instance == null) return ObserveResponse.notFound(); if (path.getResourceId() == null) { return ObserveResponse .success(getLwM2mObjectInstance(path.getObjectInstanceId(), instance, identity, true)); } // Manage Resource case return instance.observe(path.getResourceId()); }
private void sendNotification(String ticket, LwM2mNode value) { try (Jedis j = pool.getResource()) { JsonObject m = Json.object(); m.add("ticket", ticket); m.add("rep", ResponseSerDes.jSerialize(ObserveResponse.success(value))); j.publish(RESPONSE_CHANNEL, m.toString()); } }
@Override public synchronized ObserveResponse observe(ServerIdentity identity, ObserveRequest request) { LwM2mPath path = request.getPath(); // observe is not supported for bootstrap if (identity.isLwm2mBootstrapServer()) return ObserveResponse.methodNotAllowed(); if (!identity.isSystem()) { // observe or read of the security object is forbidden if (id == LwM2mId.SECURITY) return ObserveResponse.notFound(); // check if the resource is readable. if (path.isResource()) { ResourceModel resourceModel = objectModel.resources.get(path.getResourceId()); if (resourceModel != null && !resourceModel.operations.isReadable()) return ObserveResponse.methodNotAllowed(); } } return doObserve(identity, request); }
private void sendResponse(String ticket, LwM2mResponse response) { if (response instanceof ObserveResponse) { Observation observation = ((ObserveResponse) response).getObservation(); observatioIdToTicket.put(new KeyId(observation.getId()), ticket); } try (Jedis j = pool.getResource()) { JsonObject m = Json.object(); m.add("ticket", ticket); m.add("rep", ResponseSerDes.jSerialize(response)); j.publish(RESPONSE_CHANNEL, m.toString()); } }
private void sendNotification(String ticket, LwM2mNode value) { try (Jedis j = pool.getResource()) { JsonObject m = Json.object(); m.add("ticket", ticket); m.add("rep", ResponseSerDes.jSerialize(ObserveResponse.success(value))); j.publish(RESPONSE_CHANNEL, m.toString()); } }
private void sendResponse(String ticket, LwM2mResponse response) { if (response instanceof ObserveResponse) { Observation observation = ((ObserveResponse) response).getObservation(); observatioIdToTicket.put(new KeyId(observation.getId()), ticket); } try (Jedis j = pool.getResource()) { JsonObject m = Json.object(); m.add("ticket", ticket); m.add("rep", ResponseSerDes.jSerialize(response)); j.publish(RESPONSE_CHANNEL, m.toString()); } }
public static ObserveResponse internalServerError(String errorMessage) { return new ObserveResponse(ResponseCode.INTERNAL_SERVER_ERROR, null, null, null, errorMessage); } }
@Override public void onResponse(Observation observation, Registration registration, ObserveResponse response) { handleNotification(observation, response.getContent()); }
public static ObserveResponse success(LwM2mNode content) { return new ObserveResponse(ResponseCode.CONTENT, content, null, null, null); }
@Override public void onResponse(Observation observation, Registration registration, ObserveResponse response) { if (LOG.isDebugEnabled()) { LOG.debug("Received notification from [{}] containing value [{}]", observation.getPath(), response.getContent().toString()); } if (registration != null) { String data = new StringBuilder("{\"ep\":\"").append(registration.getEndpoint()).append("\",\"res\":\"") .append(observation.getPath().toString()).append("\",\"val\":") .append(gson.toJson(response.getContent())).append("}").toString(); sendEvent(EVENT_NOTIFICATION, data, registration.getEndpoint()); } }
public static ObserveResponse unauthorized() { return new ObserveResponse(ResponseCode.UNAUTHORIZED, null, null, null, null); }
public static ObserveResponse success(List<TimestampedLwM2mNode> timestampedValues) { return new ObserveResponse(ResponseCode.CONTENT, null, timestampedValues, null, null); }
public static ObserveResponse notFound() { return new ObserveResponse(ResponseCode.NOT_FOUND, null, null, null, null); }
public static ObserveResponse methodNotAllowed() { return new ObserveResponse(ResponseCode.METHOD_NOT_ALLOWED, null, null, null, null); }
public static ObserveResponse badRequest(String errorMessage) { return new ObserveResponse(ResponseCode.BAD_REQUEST, null, null, null, errorMessage); }