From 1de87db5cee7a3c15d086998f9480f503f0084f7 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Fri, 8 Dec 2006 01:13:37 +0000 Subject: Improved message for UnsupportedTypeException. --- .../amazon/carbonado/UnsupportedTypeException.java | 19 +++++++++++++++++-- .../amazon/carbonado/repo/jdbc/JDBCRepository.java | 2 +- .../repo/replicated/ReplicatedRepository.java | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/java/com/amazon/carbonado/UnsupportedTypeException.java b/src/main/java/com/amazon/carbonado/UnsupportedTypeException.java index fcc576c..7adcdec 100644 --- a/src/main/java/com/amazon/carbonado/UnsupportedTypeException.java +++ b/src/main/java/com/amazon/carbonado/UnsupportedTypeException.java @@ -29,12 +29,27 @@ public class UnsupportedTypeException extends SupportException { private final Class mType; - public UnsupportedTypeException(Class type) { - super("Independent type not supported: " + type.getName()); + public UnsupportedTypeException(String message, Class type) { + super(message); mType = type; } public Class getType() { return mType; } + + @Override + public String getMessage() { + String message = super.getMessage(); + + if (mType != null) { + if (message == null) { + message = mType.getName(); + } else { + message = message + ": " + mType.getName(); + } + } + + return message; + } } diff --git a/src/main/java/com/amazon/carbonado/repo/jdbc/JDBCRepository.java b/src/main/java/com/amazon/carbonado/repo/jdbc/JDBCRepository.java index f9c6d25..522bb2d 100644 --- a/src/main/java/com/amazon/carbonado/repo/jdbc/JDBCRepository.java +++ b/src/main/java/com/amazon/carbonado/repo/jdbc/JDBCRepository.java @@ -212,7 +212,7 @@ public class JDBCRepository synchronized (mAllTxnMgrs) { JDBCStorableInfo info = examineStorable(type); if (!info.isSupported()) { - throw new UnsupportedTypeException(type); + throw new UnsupportedTypeException("Independent type not supported", type); } return new JDBCStorage(JDBCRepository.this, info); } diff --git a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepository.java b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepository.java index 11c11b6..5edc42c 100644 --- a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepository.java +++ b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicatedRepository.java @@ -360,7 +360,7 @@ class ReplicatedRepository if (storageFor(type) instanceof ReplicatedStorage) { trigger = ((ReplicatedStorage) storageFor(type)).getTrigger(); } else { - throw new UnsupportedTypeException(type); + throw new UnsupportedTypeException("Storable type is not replicated", type); } Storage replicaStorage, masterStorage; -- cgit v1.2.3