releaseVersion.get(ADDRESS).setEmptyList();
steps.add(releaseVersion);
operation.get(STEPS).set(steps);
final BootstrapContext bootstrap = control.getContext();
dispatcher.execute(new DMRAction(operation), new AsyncCallback<DMRResponse>() {
@Override
public void onFailure(Throwable caught) {
bootstrap.setlastError(caught);
Log.error(caught.getMessage());
control.abort();
}
@Override
public void onSuccess(DMRResponse result) {
ModelNode response = result.get();
if(response.isFailure())
{
bootstrap.setlastError(new RuntimeException(response.getFailureDescription()));
control.abort();
}
else
{
// capture exec mode
ModelNode execResult = response.get(RESULT).get("step-1");
boolean isServer = execResult.get(RESULT).asString().equals("Server");
bootstrap.setProperty(BootstrapContext.STANDALONE, Boolean.valueOf(isServer).toString());
ModelNode prodVersionResult = response.get(RESULT).get("step-2");
String prodVersion = prodVersionResult.get(RESULT).isDefined() ?
prodVersionResult.get(RESULT).asString() : "";
ModelNode releaseResult = response.get(RESULT).get("step-3");
String releaseVersion = releaseResult.get(RESULT).isDefined() ?
releaseResult.get(RESULT).asString() : "";
bootstrap.setReleaseVersion(releaseVersion);
bootstrap.setProdVersion(prodVersion);
control.proceed();
}