private Map<String, EntityContainer> getEntityContainerMap() throws ODataException { Map<String, EntityContainer> name2Container = new HashMap<String, EntityContainer>(); List<Schema> schemas = edm.edmProvider.getSchemas(); for (Schema schema : schemas) { List<EntityContainer> containers = schema.getEntityContainers(); for (EntityContainer container : containers) { name2Container.put(container.getName(), container); } } return name2Container; }
@Override protected EdmAssociation createAssociation(final FullQualifiedName fqName) throws ODataException { Association association = edmProvider.getAssociation(fqName); if (association == null) { return null; } return new EdmAssociationImplProv(this, association, fqName.getNamespace()); }
@Override protected EdmComplexType createComplexType(final FullQualifiedName fqName) throws ODataException { ComplexType complexType = edmProvider.getComplexType(fqName); if (complexType == null) { return null; } return new EdmComplexTypeImplProv(this, complexType, fqName.getNamespace()); }
@Override protected EdmEntityType createEntityType(final FullQualifiedName fqName) throws ODataException { EntityType entityType = edmProvider.getEntityType(fqName); if (entityType == null) { return null; } return new EdmEntityTypeImplProv(this, entityType, fqName.getNamespace()); }
@Override public EdmEntitySet getEntitySet(final String name) throws EdmException { EdmEntitySet edmEntitySet = edmEntitySets.get(name); if (edmEntitySet != null) { return edmEntitySet; } EntitySet entitySet; try { entitySet = edm.edmProvider.getEntitySet(entityContainer.getName(), name); } catch (ODataException e) { throw new EdmException(EdmException.PROVIDERPROBLEM, e); } if (entitySet != null) { edmEntitySet = createEntitySet(entitySet); edmEntitySets.put(name, edmEntitySet); } else if (edmExtendedEntityContainer != null) { edmEntitySet = edmExtendedEntityContainer.getEntitySet(name); if (edmEntitySet != null) { edmEntitySets.put(name, edmEntitySet); } } return edmEntitySet; }
@Override public EdmFunctionImport getFunctionImport(final String name) throws EdmException { EdmFunctionImport edmFunctionImport = edmFunctionImports.get(name); if (edmFunctionImport != null) { return edmFunctionImport; } FunctionImport functionImport; try { functionImport = edm.edmProvider.getFunctionImport(entityContainerInfo.getName(), name); } catch (ODataException e) { throw new EdmException(EdmException.PROVIDERPROBLEM, e); } if (functionImport != null) { edmFunctionImport = createFunctionImport(functionImport); edmFunctionImports.put(name, edmFunctionImport); } else if (edmExtendedEntityContainer != null) { edmFunctionImport = edmExtendedEntityContainer.getFunctionImport(name); if (edmFunctionImport != null) { edmFunctionImports.put(name, edmFunctionImport); } } return edmFunctionImport; }
public void includeAssociationSet(Schema targetSchema, EntityContainer targetContainer, IServiceInfo service, String entityContainerName, FullQualifiedName association, String sourceEntitySetName, String sourceEntitySetRole) throws ODataException { EdmProvider provider = getEdmProvider(service); AssociationSet sourceSet = provider.getAssociationSet( entityContainerName, association, sourceEntitySetName, sourceEntitySetRole); if (sourceSet == null) { throw new ODataException("association set " + association.getName() + "/" + sourceEntitySetName + "/" + sourceEntitySetRole + " not defined"); } includeAssociationSet(targetSchema, targetContainer, service, sourceSet); }
@Override protected Map<String, String> createAliasToNamespaceInfo() throws ODataException { List<AliasInfo> aliasInfos = edmProvider.getAliasInfos(); Map<String, String> aliasToNamespaceInfo = new HashMap<String, String>(); if (aliasInfos != null) { for (AliasInfo info : aliasInfos) { aliasToNamespaceInfo.put(info.getAlias(), info.getNamespace()); } } return aliasToNamespaceInfo; } }
@Override protected EdmEntityContainer createEntityContainer(final String name) throws ODataException { EntityContainerInfo enitityContainerInfo = edmProvider.getEntityContainerInfo(name); if (enitityContainerInfo == null) { return null; } return new EdmEntityContainerImplProv(this, enitityContainerInfo); }
@Override protected EdmEntityType createEntityType(final FullQualifiedName fqName) throws ODataException { EntityType entityType = edmProvider.getEntityType(fqName); if (entityType == null) { return null; } return new EdmEntityTypeImplProv(this, entityType, fqName.getNamespace()); }
public void includeEntitySet(Schema targetSchema, EntityContainer targetContainer, IServiceInfo service, String entityContainerName, String entitySetName) throws ODataException { EdmProvider provider = getEdmProvider(service); EntitySet sourceEntitySet = provider.getEntitySet(entityContainerName, entitySetName); if (sourceEntitySet == null) { throw new ODataException("entity set " + entitySetName + " not defined"); } includeEntitySet(targetSchema, targetContainer, service, sourceEntitySet); }
@Override public EdmFunctionImport getFunctionImport(final String name) throws EdmException { EdmFunctionImport edmFunctionImport = edmFunctionImports.get(name); if (edmFunctionImport != null) { return edmFunctionImport; } FunctionImport functionImport; try { functionImport = edm.edmProvider.getFunctionImport(entityContainerInfo.getName(), name); } catch (ODataException e) { throw new EdmException(EdmException.PROVIDERPROBLEM, e); } if (functionImport != null) { edmFunctionImport = createFunctionImport(functionImport); edmFunctionImports.put(name, edmFunctionImport); } else if (edmExtendedEntityContainer != null) { edmFunctionImport = edmExtendedEntityContainer.getFunctionImport(name); if (edmFunctionImport != null) { edmFunctionImports.put(name, edmFunctionImport); } } return edmFunctionImport; }
try { associationSet = edm.edmProvider.getAssociationSet(entityContainer.getName(), associationFQName, entitySetName, entitySetFromRole); } catch (ODataException e) {
@Override protected Map<String, String> createAliasToNamespaceInfo() throws ODataException { List<AliasInfo> aliasInfos = edmProvider.getAliasInfos(); Map<String, String> aliasToNamespaceInfo = new HashMap<String, String>(); if (aliasInfos != null) { for (AliasInfo info : aliasInfos) { aliasToNamespaceInfo.put(info.getAlias(), info.getNamespace()); } } return aliasToNamespaceInfo; } }
@Override protected EdmEntityContainer createEntityContainer(final String name) throws ODataException { EntityContainerInfo enitityContainerInfo = edmProvider.getEntityContainerInfo(name); if (enitityContainerInfo == null) { return null; } return new EdmEntityContainerImplProv(this, enitityContainerInfo); }
private Map<String, EntityContainer> getEntityContainerMap() throws ODataException { Map<String, EntityContainer> name2Container = new HashMap<String, EntityContainer>(); List<Schema> schemas = edm.edmProvider.getSchemas(); for (Schema schema : schemas) { List<EntityContainer> containers = schema.getEntityContainers(); for (EntityContainer container : containers) { name2Container.put(container.getName(), container); } } return name2Container; }
@Override protected EdmAssociation createAssociation(final FullQualifiedName fqName) throws ODataException { Association association = edmProvider.getAssociation(fqName); if (association == null) { return null; } return new EdmAssociationImplProv(this, association, fqName.getNamespace()); }
@Override protected EdmComplexType createComplexType(final FullQualifiedName fqName) throws ODataException { ComplexType complexType = edmProvider.getComplexType(fqName); if (complexType == null) { return null; } return new EdmComplexTypeImplProv(this, complexType, fqName.getNamespace()); }
@Override protected EdmEntityType createEntityType(final FullQualifiedName fqName) throws ODataException { EntityType entityType = edmProvider.getEntityType(fqName); if (entityType == null) { return null; } return new EdmEntityTypeImplProv(this, entityType, fqName.getNamespace()); }
@Override public EdmEntitySet getEntitySet(final String name) throws EdmException { EdmEntitySet edmEntitySet = edmEntitySets.get(name); if (edmEntitySet != null) { return edmEntitySet; } EntitySet entitySet; try { entitySet = edm.edmProvider.getEntitySet(entityContainerInfo.getName(), name); } catch (ODataException e) { throw new EdmException(EdmException.PROVIDERPROBLEM, e); } if (entitySet != null) { edmEntitySet = createEntitySet(entitySet); } else if (edmExtendedEntityContainer != null) { edmEntitySet = edmExtendedEntityContainer.getEntitySet(name); if (edmEntitySet != null) { edmEntitySets.put(name, edmEntitySet); } } return edmEntitySet; }