Hi
Cristiano,
I'm
sorry about stopping Kura project for two
week. I'm working on that project from three
days and I think I can continue this project
without any disturbances. :)
In
these days, I first look at the example
projects in
https://github.com/eclipse/californium
it gave a clear idea on how to use californium
library.
Then
I analyzed the
org.eclipse.kura.example.publisher project. In
that project I identified several data flows.
For examples
Publisher
→ CloudService → CloudServiceImpl →
CloudClient → CloudClientImpl → DataService
publisher
→ CloudClient → CloudClientImpl → DataService
→ DataServiceImpl → DataStore → DbDataStore
Publisher
→ CloudService → CloudServiceImpl →DataService
→ DataServiceImpl →DataTransportService →
MqttDataTransport
In
this project, communication with the server is
happen through DataTransportService and
MqttDataTransport classes. So that I think we
should start our re implementation of the
transport layer by adding a package called
org.eclipse.kura.core.data.transport.coap in
to the org.eclipse.kura.core bundle.
We
can import californium library to the project
by adding following lines to the poem file of
the bundle.
<dependencies>
<dependency>
<groupId>org.eclipse.californium</groupId>
<artifactId>californium-core</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>californium-releases</id>
<name>Californium
Repository - Releases</name>
<url>https://repo.eclipse.org/content/repositories/californium-releases/</url>
</repository>
<repository>
<id>californium-snapshots</id>
<name>Californium
Repository - Snapshots</name>
<url>https://repo.eclipse.org/content/repositories/californium-snapshots/</url>
</repository>
</repositories>
in
the bundle that I said first i'm going to
implement the CoapDataTransport.java class.
So,
this is my current plan. After implementing
this class we can think about how to connect
this class with the hierarchy.
Please
give me a comment on this implementation plan.
I would be very happy if you can give me an
idea on how we are going to determine the
protocol which we use for the communication in
the application level?
Thank you very
much.