public void testInvokers() throws Exception
{
JBossSessionBeanMetaData original = new JBossSessionBeanMetaData();
original.setEjbName("session");
InvokerBindingsMetaData invokers = new InvokerBindingsMetaData();
InvokerBindingMetaData invoker = new InvokerBindingMetaData();
invoker.setInvokerProxyBindingName("invoker1");
invoker.setJndiName(invoker.getInvokerProxyBindingName() + "Original");
invokers.add(invoker);
invoker = new InvokerBindingMetaData();
invoker.setInvokerProxyBindingName("invoker2");
invoker.setJndiName(invoker.getInvokerProxyBindingName() + "Original");
invokers.add(invoker);
original.setInvokerBindings(invokers);
JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
override.setEjbName("session");
invokers = new InvokerBindingsMetaData();
invoker = new InvokerBindingMetaData();
invoker.setInvokerProxyBindingName("invoker2");
invoker.setJndiName(invoker.getInvokerProxyBindingName() + "Override");
invokers.add(invoker);
invoker = new InvokerBindingMetaData();
invoker.setInvokerProxyBindingName("invoker3");
invoker.setJndiName(invoker.getInvokerProxyBindingName() + "Override");
invokers.add(invoker);
override.setInvokerBindings(invokers);
JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
merged.merge(override, original);
invokers = merged.getInvokerBindings();
assertNotNull(invokers);
assertEquals(3, invokers.size());
invoker = invokers.get("invoker1");
assertNotNull(invoker);
assertEquals(invoker.getInvokerProxyBindingName() + "Original", invoker.getJndiName());
invoker = invokers.get("invoker2");
assertNotNull(invoker);
assertEquals(invoker.getInvokerProxyBindingName() + "Override", invoker.getJndiName());
invoker = invokers.get("invoker3");
assertNotNull(invoker);
assertEquals(invoker.getInvokerProxyBindingName() + "Override", invoker.getJndiName());
}