Skip to main content

Example: Query Element Tree

Scenario: Walk all elements under a root node and print their names and IDs. Useful for asset inventory, building element pickers, etc.

import org.openapitools.client.ApiClient;
import org.openapitools.client.api.ElementResourceApi;
import org.openapitools.client.api.ElementResourceApi.ApiV1ElementsGetQueryParams;
import org.openapitools.client.api.UserResourceApi;
import org.openapitools.client.model.*;

public class QueryElementsExample {

public static void main(String[] args) {
// 1. Authenticate
ApiClient apiClient = new ApiClient("Authorization");
apiClient.setBasePath(System.getenv("IDMP_HOST"));

UserResourceApi userApi = apiClient.buildClient(UserResourceApi.class);
LoginReqDTO req = new LoginReqDTO();
req.setLoginName(System.getenv("IDMP_USERNAME"));
req.setPassword(System.getenv("IDMP_PASSWORD"));
apiClient.setBearerToken(userApi.apiV1UsersLoginPost(req).getToken());

// 2. Page through all elements
ElementResourceApi elementApi = apiClient.buildClient(ElementResourceApi.class);
int pageNum = 1;
final int PAGE_SIZE = 100;

while (true) {
ApiV1ElementsGetQueryParams params = new ApiV1ElementsGetQueryParams()
.pageNum(pageNum)
.pageSize(PAGE_SIZE);
PageOfBasicElementDTO result = elementApi.apiV1ElementsGet(params);

for (BasicElementDTO elem : result.getData()) {
System.out.printf("ID: %-30s Name: %s%n", elem.getId(), elem.getName());
}

if (result.getData().size() < PAGE_SIZE) break;
pageNum++;
}
}
}