*/
package org.opendaylight.controller.cluster.datastore.exceptions;
+import com.google.common.base.Strings;
+import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier;
+
/**
* Exception indicating a shard has no current leader.
*
public class NoShardLeaderException extends RuntimeException {
private static final long serialVersionUID = 1L;
- public NoShardLeaderException(String message){
+ public NoShardLeaderException(final String message) {
super(message);
}
+
+ public NoShardLeaderException(final String message, final String shardName) {
+ super(String.format("%sShard %s currently has no leader. Try again later.",
+ Strings.isNullOrEmpty(message) ? "" : message + ". ", shardName));
+ }
+
+ public NoShardLeaderException(final ShardIdentifier shardId) {
+ this("Shard " + shardId + " currently has no leader. Try again later.");
+ }
}