/** Constructor. */ public ChainingEntitiesDescriptor() throws MetadataProviderException { childDescriptors = new ArrayList<XMLObject>(); for (MetadataProvider provider : getProviders()) { childDescriptors.add(provider.getMetadata()); } }
@Override public EntityDescriptor getEntityDescriptor(String entityID) throws MetadataProviderException { EntityDescriptor descriptor = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { descriptor = provider.getEntityDescriptor(entityID); if (descriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return descriptor; }
/** {@inheritDoc} */ public List<RoleDescriptor> getRole(String entityID, QName roleName) throws MetadataProviderException { List<RoleDescriptor> roleDescriptors = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { roleDescriptors = provider.getRole(entityID, roleName); if (roleDescriptors != null && !roleDescriptors.isEmpty()) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return roleDescriptors; }
public EntitiesDescriptor getEntitiesDescriptor(String name) throws MetadataProviderException { EntitiesDescriptor descriptor = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entities descriptor with name: {}", name); try { descriptor = provider.getEntitiesDescriptor(name); if (descriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return descriptor; }
public void setRequireValidMetadata(boolean requireValidMetadata) { delegate.setRequireValidMetadata(requireValidMetadata); }
public MetadataFilter getMetadataFilter() { return delegate.getMetadataFilter(); }
public EntitiesDescriptor getEntitiesDescriptor(String name) throws MetadataProviderException { return delegate.getEntitiesDescriptor(name); }
/** {@inheritDoc} */ public void setRequireValidMetadata(boolean requireValidMetadata) { super.setRequireValidMetadata(requireValidMetadata); Lock writeLock = providerLock.writeLock(); writeLock.lock(); try { for (MetadataProvider provider : providers) { provider.setRequireValidMetadata(requireValidMetadata); } } finally { writeLock.unlock(); } }
/** {@inheritDoc} */ public List<XMLObject> getOrderedChildren() { ArrayList<XMLObject> descriptors = new ArrayList<>(); try { for (MetadataProvider provider : getProviders()) { descriptors.add(provider.getMetadata()); } } catch (MetadataProviderException e) { log.error("Unable to generate list of child descriptors", e); } return descriptors; }
/** {@inheritDoc} */ public RoleDescriptor getRole(String entityID, QName roleName, String supportedProtocol) throws MetadataProviderException { RoleDescriptor roleDescriptor = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { roleDescriptor = provider.getRole(entityID, roleName, supportedProtocol); if (roleDescriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return roleDescriptor; }
/** {@inheritDoc} */ public EntityDescriptor getEntityDescriptor(String entityID) throws MetadataProviderException { EntityDescriptor descriptor = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { descriptor = provider.getEntityDescriptor(entityID); if (descriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return descriptor; }
/** {@inheritDoc} */ public EntitiesDescriptor getEntitiesDescriptor(String name) throws MetadataProviderException { Lock readLock = providerLock.readLock(); readLock.lock(); EntitiesDescriptor descriptor = null; try { for (MetadataProvider provider : providers) { log.debug("Checking child metadata provider for entities descriptor with name: {}", name); try { descriptor = provider.getEntitiesDescriptor(name); if (descriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } } finally { readLock.unlock(); } return descriptor; }
/** * Adds a metadata provider to the given collection. The new provider is checked to see if it is null, if not the * providers {@link MetadataProvider#requireValidMetadata()} property is set to the value of this metadata * provider's property. If the given metadata provider is an instance of {@link ObservableMetadataProvider} then a * ContainedProviderObserver is added to it as well. * * @param provider provider to be added to the collection * @param providerList collection to which the provider is added */ protected void doAddMetadataProvider(MetadataProvider provider, List<MetadataProvider> providerList) { if (provider != null) { provider.setRequireValidMetadata(requireValidMetadata()); if (provider instanceof ObservableMetadataProvider) { ((ObservableMetadataProvider) provider).getObservers().add(new ContainedProviderObserver()); } providerList.add(provider); } }
@Override protected List<String> parseProvider(MetadataProvider provider) throws MetadataProviderException { List<String> result = new LinkedList<String>(); XMLObject object = provider.getMetadata(); if (object instanceof EntityDescriptor) { addDescriptor(result, (EntityDescriptor) object); } else if (object instanceof EntitiesDescriptor) { addDescriptors(result, (EntitiesDescriptor) object); } return result; }
/** * {@inheritDoc} */ @Override public RoleDescriptor getRole(String entityID, QName roleName, String supportedProtocol) throws MetadataProviderException { RoleDescriptor roleDescriptor = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { roleDescriptor = provider.getRole(entityID, roleName, supportedProtocol); if (roleDescriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return roleDescriptor; }
public EntityDescriptor getEntityDescriptor(String entityID) throws MetadataProviderException { return delegate.getEntityDescriptor(entityID); }
public XMLObject getMetadata() throws MetadataProviderException { return delegate.getMetadata(); }
/** * {@inheritDoc} */ public List<RoleDescriptor> getRole(String entityID, QName roleName) throws MetadataProviderException { List<RoleDescriptor> roleDescriptors = null; for (MetadataProvider provider : getProviders()) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { roleDescriptors = provider.getRole(entityID, roleName); if (roleDescriptors != null && !roleDescriptors.isEmpty()) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } return roleDescriptors; }
/** {@inheritDoc} */ public EntityDescriptor getEntityDescriptor(String entityID) throws MetadataProviderException { Lock readLock = providerLock.readLock(); readLock.lock(); EntityDescriptor descriptor = null; try { for (MetadataProvider provider : providers) { log.debug("Checking child metadata provider for entity descriptor with entity ID: {}", entityID); try { descriptor = provider.getEntityDescriptor(entityID); if (descriptor != null) { break; } } catch (MetadataProviderException e) { log.warn("Error retrieving metadata from provider of type {}, proceeding to next provider", provider.getClass().getName(), e); continue; } } } finally { readLock.unlock(); } return descriptor; }
/** {@inheritDoc} */ public List<XMLObject> getOrderedChildren() { ArrayList<XMLObject> descriptors = new ArrayList<XMLObject>(); try { for (MetadataProvider provider : providers) { descriptors.add(provider.getMetadata()); } } catch (MetadataProviderException e) { log.error("Unable to generate list of child descriptors", e); } return descriptors; }