in services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ExploratoryDAO.java [412:461]
public UpdateResult updateExploratoryFields(ExploratoryStatusDTO dto) {
Document values = new Document(STATUS, dto.getStatus()).append(UPTIME, dto.getUptime());
if (dto.getInstanceId() != null) {
values.append(INSTANCE_ID, dto.getInstanceId());
}
if (dto.getErrorMessage() != null) {
values.append(ERROR_MESSAGE, DateRemoverUtil.removeDateFormErrorMessage(dto.getErrorMessage()));
}
if (dto.getExploratoryId() != null) {
values.append(EXPLORATORY_ID, dto.getExploratoryId());
}
if (dto.getLastActivity() != null) {
values.append(EXPLORATORY_LAST_ACTIVITY, dto.getLastActivity());
}
if (dto.getResourceUrl() != null) {
values.append(EXPLORATORY_URL, dto.getResourceUrl().stream()
.map(url -> {
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put(EXPLORATORY_URL_DESC, url.getDescription());
map.put(EXPLORATORY_URL_URL, url.getUrl());
return map;
}
).collect(Collectors.toList()));
} else if (dto.getPrivateIp() != null) {
UserInstanceDTO inst = fetchExploratoryFields(dto.getUser(), dto.getProject(), dto.getExploratoryName());
if (!inst.getPrivateIp().equals(dto.getPrivateIp()) && inst.getResourceUrl() != null) {
values.append(EXPLORATORY_URL, inst.getResourceUrl().stream()
.map(url -> replaceIp(dto.getPrivateIp(), inst, url))
.collect(Collectors.toList()));
}
}
if (dto.getPrivateIp() != null) {
values.append(EXPLORATORY_PRIVATE_IP, dto.getPrivateIp());
}
if (dto.getExploratoryUser() != null) {
values.append(EXPLORATORY_USER, dto.getExploratoryUser());
}
if (dto.getExploratoryPassword() != null) {
values.append(EXPLORATORY_PASS, dto.getExploratoryPassword());
}
if (dto.getConfig() != null) {
values.append(CLUSTER_CONFIG, dto.getConfig().stream().map(this::convertToBson).collect(toList()));
}
return updateOne(USER_INSTANCES,
exploratoryCondition(dto.getUser(), dto.getExploratoryName(), dto.getProject()),
new Document(SET, values));
}