<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).
GoodData gd = new GoodData("[email protected]", "Roman1");
gd.logout();List projects, create a project,...
ProjectService projectService = gd.getProjectService();
Collection<Project> projects = projectService.getProjects();
Project project = projectService.createProject(new Project("my project", "MyToken")).get();Create and update the project model, execute MAQL DDL,...
ModelService modelService = gd.getModelService();
ModelDiff diff = modelService.getProjectModelDiff(project, new InputStreamReader(getClass().getResourceAsStream("/model.json"))).get();
modelService.updateProjectModel(project, diff);
modelService.updateProjectModel(project, "MAQL DDL EXPRESSION");Query, create and update project metadata - attributes, facts, metrics, reports,...
MetadataService md = gd.getMetadataService();
String factUri = md.findObjUri(project, Fact.class, Restriction.title("myfact"));
Metric m = md.createObj(project, new Metric("My Sum", "SELECT SUM([" + factUri + "])", "#,##0"));
ReportDefinition definition = GridReportDefinitionContent.create(
"my report",
asList("metricGroup"),
asList(new AttributeInGrid("/gdc/md/PROJECT_ID/obj/ATTR_ID")),
asList(new GridElement("/gdc/md/PROJECT_ID/obj/FACT_ID", "My Sum"))
);
definition = md.createObj(project, definition);
Report report = md.createObj(project, new Report(definition.getTitle(), definition.getUri(), null));Upload data to datasets,..
DatasetService datasetService = gd.getDatasetService();
datasetService.loadDataset(project, "datasetId", new FileInputStream("data.csv")).get();Execute and export reports.
ReportService reportService = gd.getReportService();
String imgUri = reportService.exportReport(reportDef, ReportExportFormat.PNG);Manage files on the data store (currently backed by WebDAV) - user staging area.
DataStoreService dataStoreService = gd.getDataStoreService();
dataStoreService.upload("/dir/file.txt", new FileInputStream("file.txt"));
InputStream stream = dataStoreService.download("/dir/file.txt");
dataStoreService.delete("/dir/file.txt");