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.
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.
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
andgooddata-java-model
).
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.
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
).
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
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>
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>
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
Build the library with mvn package
, see the
Testing page for different testing methods.
For releasing see Releasing How-To.
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.