<dependency>
<groupId>com.gooddata</groupId>
<artifactId>gooddata-java</artifactId>
<version>${gooddata-java.version}</version>
</dependency>The GoodData Java SDK uses the GoodData HTTP client (version 0.8.2 or later) and the Apache HTTP Client (version 4.3 or later).
GoodDatagd = newGoodData("roman@gooddata.com", "Roman1");
gd.logout();List projects, create a project,...
ProjectServiceprojectService = gd.getProjectService();
Collection<Project> projects = projectService.getProjects();
Projectproject = projectService.createProject(newProject("my project", "MyToken"));Create and update the project model, execute MAQL DDL,...
ModelServicemodelService = gd.getModelService();
ModelDiffdiff = modelService.getProjectModelDiff(project, newFileInputStream("model.json");
modelService.updateProjectModel(project, diff);
modelService.updateProjectModel(project, "MAQL DDL EXPRESSION");Query, create and update project metadata - attributes, facts, metrics, reports,...
MetadataServicemd = gd.getMetadataService();
StringfactUri = md.getObjUri(project, Fact.class, Restriction.title("myfact"));
Metricmetric = newMetric("my sum", "SELECT SUM([" + factUri + "])", "#,##0");
Metricm = md.createObj(project, metric);
ReportDefinitiondefinition = GridReportDefinition.create(
"my report",
asList("metricGroup"),
asList(newAttributeItem("/gdc/md/PROJECT_ID/obj/ID")),
asList(newItem("/gdc/md/PROJECT_ID/obj/ID"))
);
md.createMd(project, definition);Upload data to datasets,..
DatasetServicedatasetService = gd.getDatasetService();
datasetService.loadDataset(project, "datasetId", newFileInputStream("data.csv"));Execute and export reports.
ReportServicereportService = gd.getReportService();
StringimgUri = reportService.exportReport(reportDef, "png");Manage files on the data store (currently backed by WebDAV) - user staging area.
DataStoreServicedataStoreService = gd.getDataStoreService();
dataStoreService.upload("/dir/file.txt", newFileInputStream("file.txt"));
InputStreamstream = dataStoreService.download("/dir/file.txt");
dataStoreService.delete("/dir/file.txt");