public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception { final Reference reference = (Reference) obj; final ResourceAdaptorSbbInterfaceRefAddr refAddr = (ResourceAdaptorSbbInterfaceRefAddr) reference.get(0); final ResourceAdaptorTypeID resourceAdaptorTypeID = refAddr.content.resourceAdaptorTypeID; final String raLink = refAddr.content.raLink; final ResourceManagement resourceManagement = SleeContainer.lookupFromJndi().getResourceManagement(); final ResourceAdaptorEntity raEntity = resourceManagement .getResourceAdaptorEntity(resourceManagement .getResourceAdaptorEntityName(raLink)); return raEntity.getResourceAdaptorInterface(resourceAdaptorTypeID); }
public Object getResourceAdaptorInterface(ResourceAdaptorTypeID raTypeID, String raLink) throws NullPointerException, IllegalArgumentException { if (raTypeID == null) { throw new NullPointerException("null ra type id"); } if (raLink == null) { throw new NullPointerException("null ra link"); } if (!sbbObject.getSbbComponent().getDependenciesSet().contains(raTypeID)) { throw new IllegalArgumentException("ra type "+raTypeID+" not referred by the sbb."); } final ResourceManagement resourceManagement = sleeContainer.getResourceManagement(); String raEntityName = null; try { raEntityName = resourceManagement.getResourceAdaptorEntityName(raLink); } catch (UnrecognizedLinkNameException e) { throw new IllegalArgumentException("ra link "+raLink+" not found."); } return resourceManagement.getResourceAdaptorEntity(raEntityName).getResourceAdaptorInterface(raTypeID); }
ResourceAdaptorEntity raEntity = resourceManagement .getResourceAdaptorEntity(resourceManagement .getResourceAdaptorEntityName(linkName));