public void updateErrors()

in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/base/errors/CloudErrorMap.java [24:55]


  public void updateErrors(@Nullable final TypedCloudErrorInfo... errors){
    final Map<String, TypedCloudErrorInfo> errorInfoMap = mapFromArray(errors);
    if (errors != null && errorInfoMap.size() > 0) {
      if (errorInfoMap.size() == 1) {
        final TypedCloudErrorInfo err = errorInfoMap.values().iterator().next();
        final String message = err.getMessage();
        final String friendlyErrorMessage = myMessageUpdater.getFriendlyErrorMessage(message);
        final String details;
        if (!friendlyErrorMessage.equals(message)){
          details = message + "\n" + err.getDetails();
        } else {
          details = err.getDetails();
        }
        if (err.getThrowable() != null) {
          myErrorInfo.set(new CloudErrorInfo(friendlyErrorMessage, details, err.getThrowable()));
        } else {
          myErrorInfo.set(new CloudErrorInfo(friendlyErrorMessage, details));
        }
      } else {
        final StringBuilder msgBuilder = new StringBuilder();
        final StringBuilder detailsBuilder = new StringBuilder();
        for (TypedCloudErrorInfo errorInfo : errorInfoMap.values()) {
          msgBuilder.append(",").append(myMessageUpdater.getFriendlyErrorMessage(errorInfo.getMessage()));
          detailsBuilder.append(",\n[").append(errorInfo.getDetails()).append("]");
        }
        myErrorInfo.set(new CloudErrorInfo(msgBuilder.substring(1), detailsBuilder.substring(2)));
      }
    } else {
      myErrorInfo.set(null);
    }

  }