/** * Request to write a <b>String Single-Instance Resource</b> using the given content format (TEXT, TLV, JSON). * * @exception InvalidRequestException if bad @{link ContentFormat} format was used. */ public WriteRequest(ContentFormat contentFormat, int objectId, int objectInstanceId, int resourceId, String value) throws InvalidRequestException { this(Mode.REPLACE, contentFormat, new LwM2mPath(objectId, objectInstanceId, resourceId), LwM2mSingleResource.newStringResource(resourceId, value)); }
public static ReadResponse success(int resourceId, String value) { return new ReadResponse(ResponseCode.CONTENT, LwM2mSingleResource.newStringResource(resourceId, value), null); }
private LwM2mNode extractLwM2mNode(String target, HttpServletRequest req) throws IOException { String contentType = StringUtils.substringBefore(req.getContentType(), ";"); if ("application/json".equals(contentType)) { String content = IOUtils.toString(req.getInputStream(), req.getCharacterEncoding()); LwM2mNode node; try { node = gson.fromJson(content, LwM2mNode.class); } catch (JsonSyntaxException e) { throw new InvalidRequestException(e, "unable to parse json to tlv:%s", e.getMessage()); } return node; } else if ("text/plain".equals(contentType)) { String content = IOUtils.toString(req.getInputStream(), req.getCharacterEncoding()); int rscId = Integer.valueOf(target.substring(target.lastIndexOf("/") + 1)); return LwM2mSingleResource.newStringResource(rscId, content); } throw new InvalidRequestException("content type %s not supported", req.getContentType()); } }
private LwM2mObjectInstance convertToServerInstance(int instanceId, ServerConfig serverConfig) { Collection<LwM2mResource> resources = new ArrayList<>(); resources.add(LwM2mSingleResource.newIntegerResource(0, serverConfig.shortId)); resources.add(LwM2mSingleResource.newIntegerResource(1, serverConfig.lifetime)); if (serverConfig.defaultMinPeriod != null) resources.add(LwM2mSingleResource.newIntegerResource(2, serverConfig.defaultMinPeriod)); if (serverConfig.defaultMaxPeriod != null) resources.add(LwM2mSingleResource.newIntegerResource(3, serverConfig.defaultMaxPeriod)); if (serverConfig.disableTimeout != null) resources.add(LwM2mSingleResource.newIntegerResource(5, serverConfig.disableTimeout)); resources.add(LwM2mSingleResource.newBooleanResource(6, serverConfig.notifIfDisabled)); if (serverConfig.binding != null) resources.add(LwM2mSingleResource.newStringResource(7, serverConfig.binding.name())); return new LwM2mObjectInstance(instanceId, resources); } }
private LwM2mObjectInstance convertToSecurityInstance(int instanceId, ServerSecurity securityConfig) { Collection<LwM2mResource> resources = new ArrayList<>(); if (securityConfig.uri != null) resources.add(LwM2mSingleResource.newStringResource(0, securityConfig.uri)); resources.add(LwM2mSingleResource.newBooleanResource(1, securityConfig.bootstrapServer)); if (securityConfig.securityMode != null) resources.add(LwM2mSingleResource.newIntegerResource(2, securityConfig.securityMode.code)); if (securityConfig.publicKeyOrId != null) resources.add(LwM2mSingleResource.newBinaryResource(3, securityConfig.publicKeyOrId)); if (securityConfig.serverPublicKey != null) resources.add(LwM2mSingleResource.newBinaryResource(4, securityConfig.serverPublicKey)); if (securityConfig.secretKey != null) resources.add(LwM2mSingleResource.newBinaryResource(5, securityConfig.secretKey)); if (securityConfig.smsSecurityMode != null) resources.add(LwM2mSingleResource.newIntegerResource(6, securityConfig.smsSecurityMode.code)); if (securityConfig.smsBindingKeyParam != null) resources.add(LwM2mSingleResource.newBinaryResource(7, securityConfig.smsBindingKeyParam)); if (securityConfig.smsBindingKeySecret != null) resources.add(LwM2mSingleResource.newBinaryResource(8, securityConfig.smsBindingKeySecret)); if (securityConfig.serverSmsNumber != null) resources.add(LwM2mSingleResource.newStringResource(9, securityConfig.serverSmsNumber)); if (securityConfig.serverId != null) resources.add(LwM2mSingleResource.newIntegerResource(10, securityConfig.serverId)); if (securityConfig.clientOldOffTime != null) resources.add(LwM2mSingleResource.newIntegerResource(11, securityConfig.clientOldOffTime)); if (securityConfig.bootstrapServerAccountTimeout != null) resources.add(LwM2mSingleResource.newIntegerResource(12, securityConfig.bootstrapServerAccountTimeout)); return new LwM2mObjectInstance(instanceId, resources); }
public static LwM2mNode decode(byte[] content, LwM2mPath path, LwM2mModel model) throws CodecException { if (!path.isResource()) throw new CodecException("Invalid path %s : TextDecoder decodes resource only", path); ResourceModel rDesc = model.getResourceModel(path.getObjectId(), path.getResourceId()); String strValue = content != null ? new String(content, StandardCharsets.UTF_8) : ""; if (rDesc != null && rDesc.type != null) { return LwM2mSingleResource.newResource(path.getResourceId(), parseTextValue(strValue, rDesc.type, path), rDesc.type); } else { // unknown resource, returning a default string value return LwM2mSingleResource.newStringResource(path.getResourceId(), strValue); } }
switch (resourceModel.type) { case STRING: return LwM2mSingleResource.newStringResource(resourceModel.id, createDefaultStringValue(objectModel, resourceModel)); case BOOLEAN: