}
public void visit(DatabaseEntry key, DatabaseEntry value) throws AMQStoreException
{
//All the information required in binding entries is actually in the *key* not value.
BindingRecord oldBindingRec = _oldBindingTB.entryToObject(key);
AMQShortString queueName = oldBindingRec.getQueueName();
AMQShortString exchangeName = oldBindingRec.getExchangeName();
AMQShortString routingKey = oldBindingRec.getRoutingKey();
FieldTable arguments = oldBindingRec.getArguments();
//if the queue name is in the gathered list then inspect its binding arguments
if (_durableSubQueues.contains(queueName))
{
if(arguments == null)
{
arguments = new FieldTable();
}
if(!arguments.containsKey(_selectorFilterKey))
{
//add the empty string (i.e. 'no selector') value for the selector argument
arguments.put(_selectorFilterKey, "");
}
}
//create the binding in the new store
_newMessageStore.bindQueue(
new BindingRecord(exchangeName, queueName, routingKey, arguments));
}