event = msg.getStringProperty(HCatConstants.HCAT_EVENT);
String format = msg.getStringProperty(HCatConstants.HCAT_MESSAGE_FORMAT);
String version = msg.getStringProperty(HCatConstants.HCAT_MESSAGE_VERSION);
String messageBody = ((TextMessage)msg).getText();
actualMessages.add(event);
MessageDeserializer deserializer = MessageFactory.getDeserializer(format, version);
if (event.equals(HCatConstants.HCAT_CREATE_DATABASE_EVENT)) {
Assert.assertEquals("topic://" + HCatConstants.HCAT_DEFAULT_TOPIC_PREFIX, msg
.getJMSDestination().toString());
CreateDatabaseMessage message = deserializer.getCreateDatabaseMessage(messageBody);
Assert.assertEquals("mydb", message.getDB());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof CreateDatabaseMessage);
Assert.assertEquals("mydb", message2.getDB());
} else if (event.equals(HCatConstants.HCAT_CREATE_TABLE_EVENT)) {
Assert.assertEquals("topic://hcat.mydb", msg.getJMSDestination().toString());
CreateTableMessage message = deserializer.getCreateTableMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof CreateTableMessage);
Assert.assertEquals("mydb", message2.getDB());
Assert.assertEquals("mytbl", ((CreateTableMessage) message2).getTable());
} else if (event.equals(HCatConstants.HCAT_ADD_PARTITION_EVENT)) {
Assert.assertEquals("topic://hcat.mydb.mytbl", msg.getJMSDestination()
.toString());
AddPartitionMessage message = deserializer.getAddPartitionMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
Assert.assertEquals(1, message.getPartitions().size());
Assert.assertEquals("2011", message.getPartitions().get(0).get("b"));
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof AddPartitionMessage);
Assert.assertEquals("mydb", message2.getDB());
Assert.assertEquals("mytbl", ((AddPartitionMessage) message2).getTable());
Assert.assertEquals(1, ((AddPartitionMessage) message2).getPartitions().size());
Assert.assertEquals("2011", ((AddPartitionMessage) message2).getPartitions().get(0).get("b"));
} else if (event.equals(HCatConstants.HCAT_DROP_PARTITION_EVENT)) {
Assert.assertEquals("topic://hcat.mydb.mytbl", msg.getJMSDestination()
.toString());
DropPartitionMessage message = deserializer.getDropPartitionMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
Assert.assertEquals(1, message.getPartitions().size());
Assert.assertEquals("2011", message.getPartitions().get(0).get("b"));
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof DropPartitionMessage);
Assert.assertEquals("mydb", message2.getDB());
Assert.assertEquals("mytbl", ((DropPartitionMessage) message2).getTable());
Assert.assertEquals(1, ((DropPartitionMessage) message2).getPartitions().size());
Assert.assertEquals("2011", ((DropPartitionMessage) message2).getPartitions().get(0).get("b"));
} else if (event.equals(HCatConstants.HCAT_DROP_TABLE_EVENT)) {
Assert.assertEquals("topic://hcat.mydb", msg.getJMSDestination().toString());
DropTableMessage message = deserializer.getDropTableMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof DropTableMessage);
Assert.assertEquals("mydb", message2.getDB());
Assert.assertEquals("mytbl", ((DropTableMessage) message2).getTable());
} else if (event.equals(HCatConstants.HCAT_DROP_DATABASE_EVENT)) {
Assert.assertEquals("topic://" + HCatConstants.HCAT_DEFAULT_TOPIC_PREFIX, msg
.getJMSDestination().toString());
DropDatabaseMessage message = deserializer.getDropDatabaseMessage(messageBody);
Assert.assertEquals("mydb", message.getDB());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof DropDatabaseMessage);
Assert.assertEquals("mydb", message2.getDB());
} else if (event.equals(HCatConstants.HCAT_PARTITION_DONE_EVENT)) {