AnnotationEdmProvider extends EdmProvider { @Override public List<Schema> getSchemas() throws ODataException { return new ArrayList<>(namespace2Schema.values()); } AnnotationEdmProvider(final Collection<Class<?>> annotatedClasses);  AnnotationEdmProvider(final String packageToScan); @Override Association getAssociation(final FullQualifiedName edmFQName); @Override AssociationSet getAssociationSet(final String entityContainer, final FullQualifiedName association,
      final String sourceEntitySetName, final String sourceEntitySetRole); @Override ComplexType getComplexType(final FullQualifiedName edmFQName); @Override EntityContainerInfo getEntityContainerInfo(final String name); @Override EntitySet getEntitySet(final String entityContainer, final String name); @Override EntityType getEntityType(final FullQualifiedName edmFQName); @Override FunctionImport getFunctionImport(final String entityContainer, final String name); @Override List<Schema> getSchemas();  }
@Test public void schemaBasic() throws Exception { assertNotNull(aep); List<Schema> schemas = aep.getSchemas(); assertEquals(1, schemas.size()); Schema schema = schemas.get(0); List<EntityContainer> containers = schema.getEntityContainers(); assertEquals(1, containers.size()); EntityContainer container = containers.get(0); assertEquals(ModelSharedConstants.CONTAINER_1, container.getName()); final List<EntitySet> entitySets = container.getEntitySets(); assertEquals(6, entitySets.size()); List<Association> associations = schema.getAssociations(); assertEquals(5, associations.size()); for (Association association : associations) { assertNotNull(association.getName()); validateAssociation(association); } }