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.
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.0.1+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.
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.
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.