private void buildSbbTree( SbbID sbbID, Set<SbbID> result, ComponentRepository componentRepository) { result.add(sbbID); SbbComponent sbbComponent = componentRepository.getComponentByID(sbbID); for (ComponentID componentID : sbbComponent.getDependenciesSet()) { if (componentID instanceof SbbID) { SbbID anotherSbbID = (SbbID) componentID; if (!result.contains(anotherSbbID)) { buildSbbTree(anotherSbbID, result, componentRepository); } } } }
/** * Retrieves the set of ra entity links referenced by the sbbs related with the service. * * @param componentRepository * @return */ public Set<String> getResourceAdaptorEntityLinks(ComponentRepository componentRepository) { Set<String> result = new HashSet<String>(); for (SbbID sbbID : getSbbIDs(componentRepository)) { SbbComponent sbbComponent = componentRepository.getComponentByID(sbbID); for (ResourceAdaptorTypeBindingDescriptor raTypeBinding : sbbComponent.getDescriptor().getResourceAdaptorTypeBindings()) { for (ResourceAdaptorEntityBindingDescriptor raEntityBinding : raTypeBinding.getResourceAdaptorEntityBinding()) { result.add(raEntityBinding.getResourceAdaptorEntityLink()); } } } return result; }