Giter Club home page Giter Club logo

org.eclipse.sensinact.gateway's Introduction

Updating the sensiNact Device API - Prototype

This repository aims to prototype how devices connectors should integrate with sensiNact in a clean way, fitting with the EMF model of the device

Annotation

The annotation module contains the sources for annotations used to define the "code first" connectors

Models

The models module contains the EMF models and the code generated from them

Sensinact-API

The sensinact-api module contains the API for the sensinact core

Examples

The examples project contains examples demonstrating how to use the sensiNact API

org.eclipse.sensinact.gateway's People

Contributors

cmunilla avatar dependabot[bot] avatar gg-dim avatar jandernascimento avatar juergen-albert avatar stbischof avatar tcalmant avatar timothyjward avatar vwfox avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

org.eclipse.sensinact.gateway's Issues

License text for EPL v2.0

Hi,

Since the license headers for existing files were updated from EPL v1 to EPL v2, the license text of EPL v2 be added to source repository. However, the license text for EPL v2 is not available.

Move the Session API to the northbound layer

Currently the session API is part of the core, but actually it exists only to serve northbound providers. A common northbound component should contain the Session management code.

Add strict checks on model/provider/service/resource names

Names used to identify SensiNact concepts (model, provider, service, resource and possibly metadata) must be valid topic segment else we get errors during the notification process.

A possible solution would be to reject concepts containing unsupported characters in their name before registering them in the Nexus.

Here is an example of error we currently get for a resource name containing a dot:

Illegal character 46 at index 52 of topic string: LIFECYCLE/XXXXXXXXXX-airquality-NNNNNNN/pollutant/PM2.5
        at org.apache.aries.typedevent.bus.impl.TypedEventBusImpl.checkTopicSyntax(TypedEventBusImpl.java:495)
        at org.apache.aries.typedevent.bus.impl.TypedEventBusImpl.deliver(TypedEventBusImpl.java:410)
        at org.eclipse.sensinact.prototype.notification.impl.NotificationAccumulatorImpl.lambda$doComplete$5(NotificationAccumulatorImpl.java:316)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
        at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
        at java.base/java.util.TreeMap$ValueSpliterator.forEachRemaining(TreeMap.java:3215)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at org.eclipse.sensinact.prototype.notification.impl.NotificationAccumulatorImpl.doComplete(NotificationAccumulatorImpl.java:316)
        at org.eclipse.sensinact.prototype.notification.impl.AbstractNotificationAccumulatorImpl.completeAndSend(AbstractNotificationAccumulatorImpl.java:98)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.