public void executeTask(final Supplier<Object> taskSupplier, final int timeOutInMillis) {
CompletableFuture.supplyAsync(taskSupplier::get)
.orTimeout(timeOutInMillis, MILLISECONDS)
- .whenCompleteAsync(
- (responseAsJson, throwable) -> {
- handleTaskCompletion(throwable);
- }
- );
+ .whenCompleteAsync((responseAsJson, throwable) -> handleTaskCompletion(throwable));
}
private void handleTaskCompletion(final Throwable throwable) {
private static final String NCMP_DMI_REGISTRY_ANCHOR = "ncmp-dmi-registry";
+ private static final String XPATH_TO_CM_HANDLE = "/dmi-registry/cm-handles[@id='" + "%s" + "']";
+
private final JsonObjectMapper jsonObjectMapper;
private final CpsDataService cpsDataService;
*/
public CompositeState getCmHandleState(final String cmHandleId) {
final DataNode stateAsDataNode = cpsDataService.getDataNode(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR,
- "/dmi-registry/cm-handles[@id='" + cmHandleId + "']/state",
+ String.format(XPATH_TO_CM_HANDLE, cmHandleId) + "/state",
FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS);
return compositeStateBuilder.fromDataNode(stateAsDataNode).build();
}
final String cmHandleJsonData = String.format("{\"state\":%s}",
jsonObjectMapper.asJsonString(compositeState));
cpsDataService.replaceNodeTree(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR,
- "/dmi-registry/cm-handles[@id='" + cmHandleId + "']",
+ String.format(XPATH_TO_CM_HANDLE, cmHandleId),
cmHandleJsonData, OffsetDateTime.now());
}
}
private DataNode getCmHandleDataNode(final String cmHandle) {
- final String xpathForDmiRegistryToFetchCmHandle = "/dmi-registry/cm-handles[@id='" + cmHandle + "']";
return cpsDataService.getDataNode(NCMP_DATASPACE_NAME,
NCMP_DMI_REGISTRY_ANCHOR,
- xpathForDmiRegistryToFetchCmHandle,
+ String.format(XPATH_TO_CM_HANDLE, cmHandle),
FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS);
}