/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.smis;
import com.emc.storageos.exceptions.DeviceControllerException;
import com.emc.storageos.svcs.errorhandling.model.ExceptionMessagesProxy;
import com.emc.storageos.svcs.errorhandling.resources.ServiceCode;
/**
* This exception is used to indicate an error while waiting for an asynchronous
* SMIS job to complete.
*
* @see SmisCommandHelper#invokeMethodSynchronously(com.emc.storageos.db.client.model.StorageSystem, javax.cim.CIMObjectPath, String,
* javax.cim.CIMArgument[], javax.cim.CIMArgument[])
* @author elalih
*/
public class SmisException extends DeviceControllerException {
private static final long serialVersionUID = -690567868124567639L;
/** Holds the methods used to create SMIS related exceptions */
public static final SmisExceptions exceptions = ExceptionMessagesProxy.create(SmisExceptions.class);
/** Holds the methods used to create SMIS related error conditions */
public static final SmisErrors errors = ExceptionMessagesProxy.create(SmisErrors.class);
private SmisException(final ServiceCode code,
final Throwable cause, final String detailBase, final String detailKey,
final Object[] detailParams) {
super(code, cause, detailBase, detailKey, detailParams);
}
@Deprecated
public SmisException(String pattern, Object[] parameters) {
super(ServiceCode.SMIS_COMMAND_ERROR, pattern, parameters);
}
@Deprecated
public SmisException(ServiceCode serviceCode, String pattern, Object[] parameters) {
super(serviceCode == ServiceCode.UNFORSEEN_ERROR ? ServiceCode.SMIS_COMMAND_ERROR : serviceCode, pattern, parameters);
}
@Deprecated
public SmisException() {
super(ServiceCode.SMIS_COMMAND_ERROR, "No details available for this error", null);
}
@Deprecated
public SmisException(String msg) {
super(ServiceCode.SMIS_COMMAND_ERROR, msg, null);
}
@Deprecated
public SmisException(Throwable cause) {
super(ServiceCode.SMIS_COMMAND_ERROR, cause, "Caused by: {0}",
new Object[] { cause.getMessage() });
}
@Deprecated
public SmisException(String msg, Throwable cause) {
super(ServiceCode.SMIS_COMMAND_ERROR, cause, "{0}. Caused by: {1}",
new Object[] { msg, cause.getMessage() });
}
}