forked from TrueCloudLab/frostfs-sdk-java
29 lines
811 B
Java
29 lines
811 B
Java
package info.frostfs.sdk.mappers;
|
|
|
|
import frostfs.status.Types;
|
|
import info.frostfs.sdk.dto.Status;
|
|
import info.frostfs.sdk.enums.StatusCode;
|
|
|
|
import static java.util.Objects.isNull;
|
|
|
|
public class StatusMapper {
|
|
private static final String ERROR_UNKNOWN_VALUE_TEMPLATE = "Unknown StatusCode. Value: %s.";
|
|
|
|
private StatusMapper() {
|
|
}
|
|
|
|
public static Status toModel(Types.Status status) {
|
|
if (isNull(status)) {
|
|
return new Status(StatusCode.SUCCESS);
|
|
}
|
|
|
|
var statusCode = StatusCode.get(status.getCode());
|
|
if (isNull(statusCode)) {
|
|
throw new IllegalArgumentException(
|
|
String.format(ERROR_UNKNOWN_VALUE_TEMPLATE, status.getCode())
|
|
);
|
|
}
|
|
|
|
return new Status(statusCode, status.getMessage());
|
|
}
|
|
}
|