package io.cattle.platform.configitem.exception;
import io.cattle.platform.async.utils.TimeoutException;
import io.cattle.platform.configitem.request.ConfigUpdateItem;
import io.cattle.platform.configitem.request.ConfigUpdateRequest;
import java.util.ArrayList;
import java.util.List;
public class ConfigTimeoutException extends TimeoutException {
private static final long serialVersionUID = -6028393678833505990L;
ConfigUpdateRequest request;
List<ConfigUpdateItem> items;
public ConfigTimeoutException(ConfigUpdateRequest request, List<ConfigUpdateItem> items) {
super(message(request, items));
this.request = request;
this.items = items;
}
public ConfigTimeoutException(String message, Throwable cause) {
super(message, cause);
}
public ConfigTimeoutException(String message) {
super(message);
}
public ConfigTimeoutException(Throwable cause) {
super(cause);
}
private static String message(ConfigUpdateRequest request, List<ConfigUpdateItem> items) {
List<String> names = new ArrayList<String>();
for (ConfigUpdateItem item : items) {
names.add(item.getName());
}
return String.format("Timeout waiting for [%s] to update %s", request.getClient(), names);
}
public ConfigUpdateRequest getRequest() {
return request;
}
public List<ConfigUpdateItem> getItems() {
return items;
}
}