public static Registration deserialize(JsonObject jObj) { Registration.Builder b = new Registration.Builder(jObj.getString("regId", null), jObj.getString("ep", null), IdentitySerDes.deserialize(jObj.get("identity").asObject()), new InetSocketAddress(jObj.getString("regAddr", null), jObj.getInt("regPort", 0))); b.bindingMode(BindingMode.valueOf(jObj.getString("bnd", null))); b.lastUpdate(new Date(jObj.getLong("lastUp", 0))); b.lifeTimeInSec(jObj.getLong("lt", 0)); b.lwM2mVersion(jObj.getString("ver", "1.0")); b.registrationDate(new Date(jObj.getLong("regDate", 0))); if (jObj.get("sms") != null) { b.smsNumber(jObj.getString("sms", "")); linkObjs[i] = o; b.objectLinks(linkObjs); Map<String, String> addAttr = new HashMap<>(); JsonObject o = (JsonObject) jObj.get("addAttr"); addAttr.put(k, o.getString(k, "")); b.additionalRegistrationAttributes(addAttr); return b.build();
public static Registration deserialize(JsonObject jObj) { Registration.Builder b = new Registration.Builder(jObj.getString("regId", null), jObj.getString("ep", null), IdentitySerDes.deserialize(jObj.get("identity").asObject()), new InetSocketAddress(jObj.getString("regAddr", null), jObj.getInt("regPort", 0))); b.bindingMode(BindingMode.valueOf(jObj.getString("bnd", null))); b.lastUpdate(new Date(jObj.getLong("lastUp", 0))); b.lifeTimeInSec(jObj.getLong("lt", 0)); b.lwM2mVersion(jObj.getString("ver", "1.0")); b.registrationDate(new Date(jObj.getLong("regDate", 0))); if (jObj.get("sms") != null) { b.smsNumber(jObj.getString("sms", "")); linkObjs[i] = o; b.objectLinks(linkObjs); Map<String, String> addAttr = new HashMap<>(); JsonObject o = (JsonObject) jObj.get("addAttr"); addAttr.put(k, o.getString(k, "")); b.additionalRegistrationAttributes(addAttr); return b.build();
public SendableResponse<RegisterResponse> register(Identity sender, RegisterRequest registerRequest, InetSocketAddress serverEndpoint) { Registration.Builder builder = new Registration.Builder( registrationIdProvider.getRegistrationId(registerRequest), registerRequest.getEndpointName(), sender, serverEndpoint); builder.lwM2mVersion(registerRequest.getLwVersion()).lifeTimeInSec(registerRequest.getLifetime()) .bindingMode(registerRequest.getBindingMode()).objectLinks(registerRequest.getObjectLinks()) .smsNumber(registerRequest.getSmsNumber()).registrationDate(new Date()).lastUpdate(new Date()) .additionalRegistrationAttributes(registerRequest.getAdditionalAttributes()); final Registration registration = authorizer.isAuthorized(registerRequest, builder.build(), sender); if (registration == null) { return new SendableResponse<>(RegisterResponse.forbidden(null));
/** * Returns an updated version of the registration. * * @param registration the registration to update * @return the updated registration */ public Registration update(Registration registration) { Identity identity = this.identity != null ? this.identity : registration.getIdentity(); Link[] linkObject = this.objectLinks != null ? this.objectLinks : registration.getObjectLinks(); long lifeTimeInSec = this.lifeTimeInSec != null ? this.lifeTimeInSec : registration.getLifeTimeInSec(); BindingMode bindingMode = this.bindingMode != null ? this.bindingMode : registration.getBindingMode(); String smsNumber = this.smsNumber != null ? this.smsNumber : registration.getSmsNumber(); Map<String, String> additionalAttributes = this.additionalAttributes.isEmpty() ? registration.getAdditionalRegistrationAttributes() : updateAdditionalAttributes(registration.getAdditionalRegistrationAttributes()); // this needs to be done in any case, even if no properties have changed, in order // to extend the client registration time-to-live period ... Date lastUpdate = new Date(); Registration.Builder builder = new Registration.Builder(registration.getId(), registration.getEndpoint(), identity, registration.getRegistrationEndpointAddress()); builder.lwM2mVersion(registration.getLwM2mVersion()).lifeTimeInSec(lifeTimeInSec).smsNumber(smsNumber) .bindingMode(bindingMode).objectLinks(linkObject).registrationDate(registration.getRegistrationDate()) .lastUpdate(lastUpdate).additionalRegistrationAttributes(additionalAttributes); return builder.build(); }
@Override public T buildResponse(Response coapResponse) { // TODO we need to fix that by removing the Client dependency from LwM2MResponseBuilder or by creating a // LwM2mBootstrapResponseBuilder Registration registration = new Registration.Builder("fakeregistrationid", endpointName, destination, destination.isSecure() ? secureEndpoint.getAddress() : nonSecureEndpoint.getAddress()).build(); // Build LwM2m response LwM2mResponseBuilder<T> lwm2mResponseBuilder = new LwM2mResponseBuilder<>(coapRequest, coapResponse, registration, model, null, decoder); request.accept(lwm2mResponseBuilder); return lwm2mResponseBuilder.getResponse(); } };
@Override public T buildResponse(Response coapResponse) { // TODO we need to fix that by removing the Client dependency from LwM2MResponseBuilder or by creating a // LwM2mBootstrapResponseBuilder Registration registration = new Registration.Builder("fakeregistrationid", endpointName, destination, destination.isSecure() ? secureEndpoint.getAddress() : nonSecureEndpoint.getAddress()).build(); // Build LwM2m response LwM2mResponseBuilder<T> lwm2mResponseBuilder = new LwM2mResponseBuilder<>(coapRequest, coapResponse, registration, model, null, decoder); request.accept(lwm2mResponseBuilder); return lwm2mResponseBuilder.getResponse(); } };