Skip to content

phong-nguyen-duy/gooddata-java

 
 

Repository files navigation

GoodData Java SDK

Build Status Javadocs Javadocs Model Maven Central Release Stability: Active License

The GoodData Java SDK encapsulates the REST API of the GoodData Platform. 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:

  • The latest major version will receive new functionality and bug fixes. These changes will be applied on top of last released version.

  • GoodData customer support will provide support for the latest major version only.

  • The customers are encouraged to always use the latest version of the Java SDK.

  • In case of using older versions, the user might face API incompatibility, performance or security issues.

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

Modules

The GoodData Java SDK contains following modules:

  • gooddata-java - The GoodData API client (depends on gooddata-java-model).
  • gooddata-java-model - Lightweight library containing only GoodData API structures.
  • gooddata-java-parent - Parent for GoodData Java SDK libraries (just a wrapper around gooddata-java and gooddata-java-model).

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>3.6.0+api3</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:

  • the GoodData HTTP client version 0.9.3 or later
  • the Apache HTTP Client version 4.5 or later (for white-labeled domains at least version 4.3.2 is required)
  • the Spring Framework version 5* (can be used with spring 4.3.* as well)
  • the Jackson JSON Processor version 2.*
  • the Slf4j API version 1.7.*
  • the Java Development Kit (JDK) version 11 or later to build, can run on 8 and later
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.

About

GoodData Java SDK

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 87.2%
  • Groovy 12.6%
  • Shell 0.2%