Skip to content

This project contains the API for the communication with the agrirouter. Everything you need for the onboarding process, secure communication and much more.

License

Notifications You must be signed in to change notification settings

larskn/agrirouter-api-java

 
 

Repository files navigation

agrirouter-api-java

Abstract

agrirouter

The agrirouter is a universal data exchange platform for farmers and agricultural contractors that makes it possible to connect machinery and agricultural software, regardless of vendor or manufacturer. Agrirouter does not save data; it transfers data. As a universal data exchange platform, agrirouter fills a gap on the way to Farming 4.0. Its underlying concept unites cross-vendor and discrimination-free data transfer. You retain full control over your data. Even data exchange with service providers (e.g. agricultural contractors) and other partners is uncomplicated: Data are very rapidly transferred via the online connection, and if you wish, is intelligently connected to other datasets.

Supporters & Maintainers

agrirouter

The LMIS AG is a recognised german IT service company, certified according to DIN EN ISO 9001:2015 and based in Osnabrück, Berlin, Friedland and Wuppertal. Our core competence is the individual development, optimisation and support of IT solutions. We also provide professional IT consulting services and training courses. We have been supporting the whole project during the development in the field of test management and are currently responsible for the development support of the platform.

We are active maintainers of the API and are using the API for internal testing purposes as well. Therefore we have a high interest in a stable and usable interface to connect to the agrirouter.

Feel free to get in touch by visiting our website or contacting us via GitHub.

The current project you’re looking at

This project contains the API for the communication with the agrirouter. Everything you need for the onboarding process, secure communication and much more.

Modules

api Module

The api module contains interfaces, common helper classes and DTOs as well as exceptions.

impl Module

The impl module contains the implementation of the given API defined by the api module.

convenience Module

The convenience module contains common implementations for different problems which are not located within the API. Those could be capability setting, MQTT client creation or other common problems that are normally not part of the API.

Project status

Build status

Codacy code quality

Maven integration

If you want to add a Maven dependency feel free to fetch the latest snapshot from Maven Central. Just add the following repository:

<repositories>
    <repository>
        <id>snapshots-repo</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
    </repository>
</repositories>

After adding the snapshot repository feel free to add the Maven dependencies:

<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-api</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk10</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-impl</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk10</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-convenience</artifactId>
    <version>${agrirouter-api-java-convenience.version}</version>
    <classifier>jdk10</classifier>
</dependency>

Currently we are supporting JDK 8, JDK 9, JDK 10 and JDK 11 by using classifiers.

JDK 8

After adding the snapshot repository feel free to add the following Maven dependencies:

<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-api</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk8</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-impl</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk8</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-convenience</artifactId>
    <version>${agrirouter-api-java-convenience.version}</version>
    <classifier>jdk8</classifier>
</dependency>

JDK 9

After adding the snapshot repository feel free to add the following Maven dependencies:

<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-api</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk9</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-impl</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk9</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-convenience</artifactId>
    <version>${agrirouter-api-java-convenience.version}</version>
    <classifier>jdk9</classifier>
</dependency>

JDK 10

After adding the snapshot repository feel free to add the following Maven dependencies:

<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-api</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk10</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-impl</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk10</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-convenience</artifactId>
    <version>${agrirouter-api-java-convenience.version}</version>
    <classifier>jdk10</classifier>
</dependency>

JDK 11

After adding the snapshot repository feel free to add the following Maven dependencies:

<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-api</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk11</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-impl</artifactId>
    <version>${agrirouter-api-java-api.version}</version>
    <classifier>jdk11</classifier>
</dependency>
<dependency>
    <groupId>com.agrirouter.api.lmis</groupId>
    <artifactId>agrirouter-api-java-convenience</artifactId>
    <version>${agrirouter-api-java-convenience.version}</version>
    <classifier>jdk11</classifier>
</dependency>

External resources

Here are some external resources for the development:

About

This project contains the API for the communication with the agrirouter. Everything you need for the onboarding process, secure communication and much more.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 85.5%
  • Kotlin 14.4%
  • Shell 0.1%