diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2013-07-15 11:59:18 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2013-07-15 11:59:18 +0000 |
| commit | c9de50719b7d7566cc4f0f2cae39bbcf824420de (patch) | |
| tree | 9ed4e546a0eced873e77d5f69c46e3f49c77a2e1 /qpid/java/bdbstore | |
| parent | e745b78b3f111daa2c76ddb9cd1afd4ca10417e1 (diff) | |
| download | qpid-python-c9de50719b7d7566cc4f0f2cae39bbcf824420de.tar.gz | |
QPID-4659 : [Java Broker] make message meta data pluggable for different protcol versions
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1503192 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore')
2 files changed, 9 insertions, 8 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MessageMetaDataBinding.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MessageMetaDataBinding.java index 2e6c8d5666..6925c9ee2b 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MessageMetaDataBinding.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MessageMetaDataBinding.java @@ -26,7 +26,8 @@ import com.sleepycat.bind.tuple.TupleBinding; import com.sleepycat.bind.tuple.TupleInput; import com.sleepycat.bind.tuple.TupleOutput; -import org.apache.qpid.server.store.MessageMetaDataType; +import org.apache.qpid.server.plugin.MessageMetaDataType; +import org.apache.qpid.server.store.MessageMetaDataTypeRegistry; import org.apache.qpid.server.store.StorableMessageMetaData; /** @@ -54,10 +55,8 @@ public class MessageMetaDataBinding extends TupleBinding<StorableMessageMetaData ByteBuffer buf = ByteBuffer.wrap(dataAsBytes); buf.position(1); buf = buf.slice(); - MessageMetaDataType type = MessageMetaDataType.values()[dataAsBytes[0]]; - StorableMessageMetaData metaData = type.getFactory().createMetaData(buf); - - return metaData; + MessageMetaDataType type = MessageMetaDataTypeRegistry.fromOrdinal(dataAsBytes[0]); + return type.createMetaData(buf); } @Override diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java index bb37fb0d2e..85deffd8f2 100644 --- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java +++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java @@ -34,13 +34,15 @@ import org.apache.qpid.framing.ProtocolVersion; import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.server.message.AMQMessageHeader; import org.apache.qpid.server.message.EnqueableMessage; +import org.apache.qpid.server.protocol.v0_10.MessageMetaDataType_0_10; import org.apache.qpid.server.protocol.v0_8.MessageMetaData; import org.apache.qpid.server.protocol.v0_10.MessageMetaData_0_10; import org.apache.qpid.server.message.MessageReference; import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.model.UUIDGenerator; +import org.apache.qpid.server.protocol.v0_8.MessageMetaDataType_0_8; import org.apache.qpid.server.store.MessageStoreTest; -import org.apache.qpid.server.store.MessageMetaDataType; +import org.apache.qpid.server.plugin.MessageMetaDataType; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.StorableMessageMetaData; import org.apache.qpid.server.store.StoredMessage; @@ -135,7 +137,7 @@ public class BDBMessageStoreTest extends MessageStoreTest */ StorableMessageMetaData storeableMMD_0_8 = bdbStore.getMessageMetaData(messageid_0_8); - assertEquals("Unexpected message type",MessageMetaDataType.META_DATA_0_8, storeableMMD_0_8.getType()); + assertEquals("Unexpected message type", MessageMetaDataType_0_8.TYPE, storeableMMD_0_8.getType().ordinal()); assertTrue("Unexpected instance type", storeableMMD_0_8 instanceof MessageMetaData); MessageMetaData returnedMMD_0_8 = (MessageMetaData) storeableMMD_0_8; @@ -167,7 +169,7 @@ public class BDBMessageStoreTest extends MessageStoreTest */ StorableMessageMetaData storeableMMD_0_10 = bdbStore.getMessageMetaData(messageid_0_10); - assertEquals("Unexpected message type",MessageMetaDataType.META_DATA_0_10, storeableMMD_0_10.getType()); + assertEquals("Unexpected message type", MessageMetaDataType_0_10.TYPE, storeableMMD_0_10.getType().ordinal()); assertTrue("Unexpected instance type", storeableMMD_0_10 instanceof MessageMetaData_0_10); MessageMetaData_0_10 returnedMMD_0_10 = (MessageMetaData_0_10) storeableMMD_0_10; |
