gooddata / gooddata-java

GoodData Java SDK
Other
19 stars 62 forks source link

GoodData Java SDK

Build Status Coverage Status Stability: Active License FOSSA Status

Javadocs Javadocs Model Maven Central Release

The GoodData Java SDK encapsulates the REST API of the GoodData Platform.

The project is currently NOT in "active development". Meaning that feature request may or may not be implemented. You are welcomed to contribute your code and create an issue.

The first version was implemented during the All Data Hackathon April 10 - 11 2014. It is free and open-source software provided "as-is" under the BSD License as an official project by GoodData Corporation.

Supported versions

In order to make the user experience with integrating GoodData Java SDK as smooth and secure as possible and to ensure that the SDK is using the latest features of the platform, we only provide support to the most recent major version of Java SDK.

The most recent major will be supported in the following mode:

Please follow the upgrade instructions to update to the newest version.

Modules

The GoodData Java SDK contains following modules:

Usage

The GoodData Java SDK is available in Maven Central Repository, to use it from Maven add to pom.xml:

<dependency>
    <groupId>com.gooddata</groupId>
    <artifactId>gooddata-java</artifactId>
    <version>{MAJOR}.{MINOR}.{PATCH}+api{API}</version>
</dependency>

See releases page for information about versions and notable changes, the Upgrading Guide will navigate you through changes between major versions.

See Javadocs or Wiki for Code Examples and Extensibility How-To.

API version

Since GoodData Java SDK version 2.32.0 API versioning is supported. The API version, GoodData Java is compatible with, is marked in artifact version using +api<NUMBER> suffix (i.e. 2.32.0+api1 is compatible with API version 1).

Dependencies

The GoodData Java SDK uses:

Retry of failed API calls

You can retry your failed requests since version 2.34.0. Turn it on by configuring RetrySettings and add Spring retry to your classpath:

        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
            <version>${spring.retry.version}</version>
        </dependency>

Logging

The GoodData Java SDK logs using slf4j-api. Please adjust your logging configuration for com.gooddata.sdk.* loggers or alternatively turn the logging off using following dependency:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
</dependency>

Date/Time

The GoodData Java SDK is using Java 8 Date/Time API (JSR 310) for all Date / Time / Zone public facing types. Good SO thread about differences between various types in Java Date/Time API: https://stackoverflow.com/a/32443004

Development

Build the library with mvn package, see the Testing page for different testing methods.

For releasing see Releasing How-To.

Contribute

Found a bug? Please create an issue. Missing functionality? Contribute your code. Any questions about GoodData or this library? Check out the GoodData community website.