@Override protected void doStart() throws Exception { super.doStart(); String path = endpoint.getUri().getPath(); if (path.startsWith("/")) { path = path.substring(1); } Resource cr = endpoint.getCoapServer().getRoot(); while (!path.isEmpty()) { int idx = path.indexOf('/'); String part1 = path; if (idx != -1) { part1 = path.substring(0, idx); path = path.substring(idx + 1); } else { path = ""; } Resource child = cr.getChild(part1); if (child == null) { child = new CamelCoapResource(part1, this); cr.add(child); cr = child; } else if (path.isEmpty()) { ((CamelCoapResource)child).addConsumer(this); } else { cr = child; } } }
for (final Resource clientObject : clientSideServer.getRoot().getChildren()) { if (clientObject instanceof LinkFormattable) { registrationMasterLinkObject.append(((LinkFormattable) clientObject).asLinkFormat()).append(","); final Resource clientObject = clientSideServer.getRoot().getChild(Integer.toString(ids[0]));
for (final Resource clientObject : clientSideServer.getRoot().getChildren()) { if (clientObject instanceof LinkFormattable) { registrationMasterLinkObject.append(((LinkFormattable) clientObject).asLinkFormat()).append(","); final Resource clientObject = clientSideServer.getRoot().getChild(Integer.toString(ids[0]));
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()); }
public ExampleCrossProxy() throws IOException { ForwardingResource coap2coap = new ProxyCoapClientResource(NetworkConfig.getStandard().getLong(NetworkConfig.Keys.HTTP_SERVER_SOCKET_TIMEOUT)); ForwardingResource coap2http = new ProxyHttpClientResource(NetworkConfig.getStandard().getLong(NetworkConfig.Keys.HTTP_SERVER_SOCKET_TIMEOUT)); // Create CoAP Server on PORT with proxy resources form CoAP to CoAP and HTTP coapProxy = new CoapServer(PORT); coapProxy.setMessageDeliverer(new ProxyMessageDeliverer(coapProxy.getRoot(), coap2coap, coap2http)); coapProxy.add(new TargetResource("test")); coapProxy.start(); ProxyHttpServer httpServer = new ProxyHttpServer(coap2coap, HTTP_PORT); System.out.println("CoAP resource \"test\" available over HTTP at: http://localhost:"+HTTP_PORT+"/proxy/coap://localhost:"+PORT+"/test"); }