if (uniqueId.trim().equals(""))
throw new IllegalArgumentException("UniqueId is empty");
if (!rars.containsKey(uniqueId))
throw new NotFoundException(bundle.keyNotRegistered(uniqueId));
WeakReference<ResourceAdapter> ra = rars.get(uniqueId);
if (ra.get() == null)
throw new NotFoundException(bundle.keyNotRegistered(uniqueId));
if (mdr == null)
throw new IllegalStateException("MDR is null");
ResourceAdapter rar = ra.get();
Connector md = null;
Set<String> mdrKeys = mdr.getResourceAdapters();
Iterator<String> mdrIt = mdrKeys.iterator();
while (md == null && mdrIt.hasNext())
{
String mdrId = mdrIt.next();
try
{
Connector c = mdr.getResourceAdapter(mdrId);
if (c.getResourceadapter() != null && c.getResourceadapter() instanceof ResourceAdapter1516)
{
ResourceAdapter1516 ra1516 = (ResourceAdapter1516)c.getResourceadapter();
String clz = ra1516.getResourceadapterClass();
if (rar.getClass().getName().equals(clz))
md = c;
}
}
catch (Throwable t)
{
throw new NotFoundException(bundle.unableLookupResourceAdapterInMDR(uniqueId), t);
}
}
if (md == null)
throw new NotFoundException(bundle.unableLookupResourceAdapterInMDR(uniqueId));
if (md.getResourceadapter() != null && md.getResourceadapter() instanceof ResourceAdapter1516)
{
ResourceAdapter1516 ra1516 = (ResourceAdapter1516)md.getResourceadapter();