public LeshanClient(final InetSocketAddress clientAddress, final InetSocketAddress serverAddress, final CoapServer serverLocal, final LwM2mClientObjectDefinition... objectDevice) { Validate.notNull(clientAddress); Validate.notNull(serverLocal); Validate.notNull(serverAddress); Validate.notNull(objectDevice); Validate.notEmpty(objectDevice); serverLocal.setMessageDeliverer(new LwM2mServerMessageDeliverer(serverLocal.getRoot())); final Endpoint endpoint = new CoAPEndpoint(clientAddress); serverLocal.addEndpoint(endpoint); clientSideServer = serverLocal; for (final LwM2mClientObjectDefinition def : objectDevice) { if (clientSideServer.getRoot().getChild(Integer.toString(def.getId())) != null) { throw new IllegalArgumentException("Trying to load Client Object of name '" + def.getId() + "' when one was already added."); } final CaliforniumBasedObject clientObject = new CaliforniumBasedObject(def); clientSideServer.add(clientObject); } requestSender = new CaliforniumLwM2mClientRequestSender(serverLocal.getEndpoint(clientAddress), serverAddress, getObjectModel()); }
public LeshanClient(final InetSocketAddress clientAddress, final InetSocketAddress serverAddress, final CoapServer serverLocal, final LwM2mClientObjectDefinition... objectDevice) { Validate.notNull(clientAddress); Validate.notNull(serverLocal); Validate.notNull(serverAddress); Validate.notNull(objectDevice); Validate.notEmpty(objectDevice); serverLocal.setMessageDeliverer(new LwM2mServerMessageDeliverer(serverLocal.getRoot())); final Endpoint endpoint = new CoAPEndpoint(clientAddress); serverLocal.addEndpoint(endpoint); clientSideServer = serverLocal; for (final LwM2mClientObjectDefinition def : objectDevice) { if (clientSideServer.getRoot().getChild(Integer.toString(def.getId())) != null) { throw new IllegalArgumentException("Trying to load Client Object of name '" + def.getId() + "' when one was already added."); } final CaliforniumBasedObject clientObject = new CaliforniumBasedObject(def); clientSideServer.add(clientObject); } requestSender = new CaliforniumLwM2mClientRequestSender(serverLocal.getEndpoint(clientAddress), serverAddress, getObjectModel()); }