protected EdmActionImport createActionImport(final String actionImportName) { EdmActionImport actionImport = null; try { final CsdlActionImport providerImport = provider.getActionImport(entityContainerName, actionImportName); if (providerImport != null) { actionImport = new EdmActionImportImpl(edm, this, providerImport); } } catch (ODataException e) { throw new EdmException(e); } return actionImport; }
@Override protected Map<String, String> createAliasToNamespaceInfo() { final Map<String, String> aliasToNamespaceInfos = new HashMap<String, String>(); try { final List<CsdlAliasInfo> aliasInfos = provider.getAliasInfos(); if (aliasInfos != null) { for (CsdlAliasInfo info : aliasInfos) { aliasToNamespaceInfos.put(info.getAlias(), info.getNamespace()); } } } catch (ODataException e) { throw new EdmException(e); } return aliasToNamespaceInfos; }
@Override protected EdmAnnotations createAnnotationGroup(final FullQualifiedName targetName, String qualifier) { try { CsdlAnnotations providerGroup = provider.getAnnotationsGroup(targetName, qualifier); if (providerGroup != null) { return new EdmAnnotationsImpl(this, providerGroup); } return null; } catch (ODataException e) { throw new EdmException(e); } }
@Override public EdmEntityContainer createEntityContainer(final FullQualifiedName containerName) { try { CsdlEntityContainerInfo entityContainerInfo = provider.getEntityContainerInfo(containerName); if (entityContainerInfo != null) { addAnnotations(provider.getEntityContainer(), entityContainerInfo.getContainerName()); return new EdmEntityContainerImpl(this, provider, entityContainerInfo.getContainerName(), provider.getEntityContainer()); } return null; } catch (ODataException e) { throw new EdmException(e); } }
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
/** * @param bindingParameterTypeName * @param parameter * @return * @throws ODataException */ private boolean isEntityPreviousTypeCompatibleToBindingParam(final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter) throws ODataException { return provider.getEntityType(bindingParameterTypeName) != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN() != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN().equals(parameter.getTypeFQN()); }
@Override public EdmComplexType createComplexType(final FullQualifiedName complexTypeName) { try { final CsdlComplexType complexType = provider.getComplexType(complexTypeName); if (complexType != null) { return new EdmComplexTypeImpl(this, complexTypeName, complexType); } return null; } catch (ODataException e) { throw new EdmException(e); } }
@Override protected EdmAction createUnboundAction(final FullQualifiedName actionName) { try { List<CsdlAction> actions = actionsMap.get(actionName); if (actions == null) { actions = provider.getActions(actionName); if (actions == null) { return null; } else { actionsMap.put(actionName, actions); } } // Search for first unbound action for (CsdlAction action : actions) { if (!action.isBound()) { return new EdmActionImpl(this, actionName, action); } } return null; } catch (ODataException e) { throw new EdmException(e); } }
@Override public EdmEnumType createEnumType(final FullQualifiedName enumName) { try { CsdlEnumType enumType = provider.getEnumType(enumName); if (enumType != null) { return new EdmEnumTypeImpl(this, enumName, enumType); } return null; } catch (ODataException e) { throw new EdmException(e); } }
protected EdmEntitySet createEntitySet(final String entitySetName) { EdmEntitySet entitySet = null; try { final CsdlEntitySet providerEntitySet = provider.getEntitySet(entityContainerName, entitySetName); if (providerEntitySet != null) { entitySet = new EdmEntitySetImpl(edm, this, providerEntitySet); } } catch (ODataException e) { throw new EdmException(e); } return entitySet; }
private void loadContainer() { if (container == null) { try { CsdlEntityContainer containerLocal = provider.getEntityContainer(); if (containerLocal == null) { containerLocal = new CsdlEntityContainer().setName(getName()); } container = containerLocal; } catch (ODataException e) { throw new EdmException(e); } } } }
@Override public EdmEntityContainer createEntityContainer(final FullQualifiedName containerName) { try { CsdlEntityContainerInfo entityContainerInfo = provider.getEntityContainerInfo(containerName); if (entityContainerInfo != null) { return new EdmEntityContainerImpl(this, provider, entityContainerInfo); } return null; } catch (ODataException e) { throw new EdmException(e); } }
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
/** * @param bindingParameterTypeName * @param parameter * @return * @throws ODataException */ private boolean isEntityPreviousTypeCompatibleToBindingParam(final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter) throws ODataException { return provider.getEntityType(bindingParameterTypeName) != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN() != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN().equals(parameter.getTypeFQN()); }
private boolean isPropertyComplex(CsdlProperty propertyName) { try { return this.provider.getComplexType(propertyName.getTypeAsFQNObject()) != null ? true : false; } catch (ODataException e) { throw new EdmException(e); } }
@Override protected EdmAction createUnboundAction(final FullQualifiedName actionName) { try { List<CsdlAction> actions = actionsMap.get(actionName); if (actions == null) { actions = provider.getActions(actionName); if (actions == null) { return null; } else { actionsMap.put(actionName, actions); } } // Search for first unbound action for (CsdlAction action : actions) { if (!action.isBound()) { return new EdmActionImpl(this, actionName, action); } } return null; } catch (ODataException e) { throw new EdmException(e); } }
@Override public EdmEnumType createEnumType(final FullQualifiedName enumName) { try { CsdlEnumType enumType = provider.getEnumType(enumName); if (enumType != null) { addAnnotations(enumType, enumName); return new EdmEnumTypeImpl(this, enumName, enumType); } return null; } catch (ODataException e) { throw new EdmException(e); } }
protected EdmEntitySet createEntitySet(final String entitySetName) { EdmEntitySet entitySet = null; try { final CsdlEntitySet providerEntitySet = provider.getEntitySet(entityContainerName, entitySetName); if (providerEntitySet != null) { addAnnotations(providerEntitySet, entityContainerName); entitySet = new EdmEntitySetImpl(edm, this, providerEntitySet); } } catch (ODataException e) { throw new EdmException(e); } return entitySet; }
private void loadContainer() { if (container == null) { try { CsdlEntityContainer containerLocal = provider.getEntityContainer(); if (containerLocal == null) { containerLocal = new CsdlEntityContainer().setName(getName()); } ((EdmProviderImpl)edm).addAnnotations(containerLocal, entityContainerName); container = containerLocal; } catch (ODataException e) { throw new EdmException(e); } } }
@Override public EdmEntityType createEntityType(final FullQualifiedName entityTypeName) { try { CsdlEntityType entityType = provider.getEntityType(entityTypeName); if (entityType != null) { return new EdmEntityTypeImpl(this, entityTypeName, entityType); } return null; } catch (ODataException e) { throw new EdmException(e); } }