Git Product home page Git Product logo

agrirouter-protobuf-toolset's Introduction

ARTS - The AgriRouter ToolSet

Project description

The 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.

The current project you're looking at?

This project contains a simple toolset for working with the agrirouter to ensure easy development, testing and debugging. At this point the project will include sub projects with different approaches.

Command line client

You can run the client by downloading the latest RELEASE | SNAPSHOT and execute java -jar arts-cli-X.X.X.jar for the latest release and java -jar arts-cli-X.X.X-SNAPSHOT.jar for the latest snapshot.

Requirements

No further needs.

Missing something? Something is broken?

Feel free to file a feature request or a bug using the issue tracker.

How to support the project?

If you like the work we are doing, feel free to buy us a coffee. We're open for any kind of contribution, feel free to file issues, feature requests or anything else.

Development

Custom maven settings

To run code coverage add the following snippet to your .m2/settings.xml.

<pluginGroups>
    <pluginGroup>org.openclover</pluginGroup>
</pluginGroups>

This enables the much short usage of mvn clean clover:setup test clover:aggregate clover:clover to generate the coverage reports.

agrirouter-protobuf-toolset's People

Contributors

frank-wiebeler avatar saschadoemer avatar strowk avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

strowk

agrirouter-protobuf-toolset's Issues

Jar with all dependencies / executeable jar

Hi,

currently, I have to add all dependencies manually to execute the command line tool. It would be great to have a single jar. additionally, the resulting jar should be executable.

best regards
Dustin

Encode capabilities fails with java.lang.UnsupportedOperationException

Describe the bug
Trying to encode capabilities message fails with exception on java 11 and newer.

To Reproduce
Steps to reproduce the behavior:

  1. Build using mvn package
  2. Run java -jar ./arts-cli/target/arts-client-cli-0.0.1-SNAPSHOT.jar
  3. Select option 3 ( [3] Encode capabilities message)
  4. Enter anything on next options
  5. There would be an exception:
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at de.saschadoemer.arts.client.commandline.handler.EncodeCapabilitiesHandler.handle(EncodeCapabilitiesHandler.java:55)
    at de.saschadoemer.arts.client.commandline.Main.main(Main.java:32)
    Caused by: java.lang.UnsupportedOperationException: No class provided, and an appropriate one cannot be found.
    at org.apache.logging.log4j.LogManager.callerClass(LogManager.java:576)
    at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:601)
    at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:588)
    at com.dke.data.agrirouter.api.service.LoggingEnabledService.(LoggingEnabledService.java:30)
    ... 2 more

Expected behavior
Encoded capabilities message returned.

Screenshots
image

Desktop (please complete the following information):

  • OS: I tried on both Windows and Linux (via Docker in WSL2)
  • Java: I tried 20 (on Windows), 11, 17 on Linux ( 8 has different issue, but it can be easily bypassed)

Additional context
I believe that this is due to issues with Java 9 modules system. As of agrirouter java sdk 2, log4j is not used anymore and "LoggingEnabledService" does not create issues (as it is removed).
So the right solution would appear to be to update to SDK version 2 (which includes changing some other stuff).

Alternatively (what is also solved issue temporarily) - switching maven-compiler-plugin.target to 8 and running on Java 8, fixes this too (I tried with both building and running using openjdk:8 docker container).

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.