/*
* Copyright (c) 2008-2011 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.placement;
import com.emc.storageos.exceptions.FatalClientControllerException;
import com.emc.storageos.svcs.errorhandling.model.ExceptionMessagesProxy;
import com.emc.storageos.svcs.errorhandling.resources.ServiceCode;
/**
* PlacementException is very special, as it subclasses
* FatalClientControllerException (a fatal client) exception.
* This is thrown in code like the BlockStorageScheduler where
* the code is called both from the apisvc and the controllersvc.
* This is done in order to validate placement operations
* in the apisvc before
* initiating the asynchronous controller operations.
*
* @author watson
*/
public class PlacementException extends FatalClientControllerException {
private static final long serialVersionUID = -6826356337754883087L;
public static final PlacementExceptions exceptions =
ExceptionMessagesProxy.create(PlacementExceptions.class);
protected PlacementException(final ServiceCode code, final Throwable cause,
final String detailBase, final String detailKey, final Object[] detailParams) {
super(code, cause, detailBase, detailKey, detailParams);
}
}