/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.vipr.client.exceptions; import com.emc.storageos.model.errorhandling.ServiceErrorRestRep; import java.util.ArrayList; import java.util.List; public class ServiceErrorsException extends ViPRException { private static final long serialVersionUID = 1L; private List<ServiceErrorRestRep> serviceErrors; public ServiceErrorsException() { this(new ArrayList<ServiceErrorRestRep>()); } public ServiceErrorsException(List<ServiceErrorRestRep> serviceErrors) { this.serviceErrors = serviceErrors; } @Override public String getLocalizedMessage() { StringBuilder sb = new StringBuilder(); // Printf-style format strings should not lead to unexpected behavior at runtime // using %n instead of \n sb.append(String.format("%s Error%s occurred%n", serviceErrors.size(), serviceErrors.size() > 1 ? "s" : "")); for (ServiceErrorRestRep error : serviceErrors) { sb.append(String.format("Error %s: %s. %s%n", error.getCode(), error.getCodeDescription(), error.getDetailedMessage())); } return sb.toString(); } @Override public String getMessage() { return getLocalizedMessage(); } public List<ServiceErrorRestRep> getServiceErrors() { return serviceErrors; } }