@Override public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName) throws ODataException { CsdlSchema schema = xmlSchemas.get(entityContainer.getNamespace()); if (schema != null) { return schema.getEntityContainer().getEntitySet(entitySetName); } return null; }
@Override public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName) throws ODataException { CsdlSchema schema = xmlSchemas.get(entityContainer.getNamespace()); if (schema != null) { return schema.getEntityContainer().getEntitySet(entitySetName); } return null; }
/** * This looks for the correct entity set * when the target entity set is part of some other namespace * e.g <NavigationPropertyBinding Path="Products" Target="SomeModel.SomeContainer/SomeSet" /> * @param navBindingTarget * @return String */ private String findLastQualifiedTargetName(String navBindingTarget) { String[] targetPaths = navBindingTarget.split("/"); CsdlEntityContainer csdlContainer = csdlContainersMap.containsKey(new FullQualifiedName(targetPaths[0])) ? csdlContainersMap.get(new FullQualifiedName(targetPaths[0])) : csdlContainersMap.get(fetchCorrectNamespaceFromAlias(new FullQualifiedName(targetPaths[0]))); if (csdlContainer == null) { throw new RuntimeException("Container with FullyQualifiedName " + targetPaths[0] + " not found."); } String targetEntitySetName = targetPaths[1]; CsdlEntitySet csdlEntitySet = csdlContainer.getEntitySet(targetEntitySetName); if (csdlEntitySet == null) { throw new RuntimeException("Target Entity Set mentioned in navigationBindingProperty " + "not found in the container " + csdlContainer.getName()); } FullQualifiedName fqName = csdlEntitySet.getTypeFQN(); if (!(csdlEntityTypesMap.containsKey(fqName))) { fqName = validateCsdlEntityTypeWithAlias(fqName); } return fqName.getFullQualifiedNameAsString(); }
/** * This looks for the correct entity set * when the target entity set is part of some other namespace * e.g <NavigationPropertyBinding Path="Products" Target="SomeModel.SomeContainer/SomeSet" /> * @param navBindingTarget * @return String */ private String findLastQualifiedTargetName(String navBindingTarget) { String[] targetPaths = navBindingTarget.split("/"); CsdlEntityContainer csdlContainer = csdlContainersMap.containsKey(new FullQualifiedName(targetPaths[0])) ? csdlContainersMap.get(new FullQualifiedName(targetPaths[0])) : csdlContainersMap.get(fetchCorrectNamespaceFromAlias(new FullQualifiedName(targetPaths[0]))); if (csdlContainer == null) { throw new RuntimeException("Container with FullyQualifiedName " + targetPaths[0] + " not found."); } String targetEntitySetName = targetPaths[1]; CsdlEntitySet csdlEntitySet = csdlContainer.getEntitySet(targetEntitySetName); if (csdlEntitySet == null) { throw new RuntimeException("Target Entity Set mentioned in navigationBindingProperty " + "not found in the container " + csdlContainer.getName()); } FullQualifiedName fqName = csdlEntitySet.getTypeFQN(); if (!(csdlEntityTypesMap.containsKey(fqName))) { fqName = validateCsdlEntityTypeWithAlias(fqName); } return fqName.getFullQualifiedNameAsString(); }
@Override public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainerFQN, final String entitySetName) throws ODataException { final CsdlEntityContainer container = serviceDocument.getEdmEntityContainer(); if (entityContainerFQN.equals(nameBuilder.buildFQN(container.getName()))) { return container.getEntitySet(entitySetName); } return null; }
try { csdlEntitySet = metadataInfoMap.get(serviceName).getEdmxMetadataProvider().getEntityContainer() .getEntitySet(entitySet); if (csdlEntitySet == null) { return etag;
targetType = findLastQualifiedTargetName(navBindingTarget); } else { if (container.getValue().getEntitySet(navBindingTarget) == null) { if (container.getValue().getSingleton(navBindingTarget) != null) { throw new RuntimeException("Validations of Singletons are not supported: "+ navBindingTarget); FullQualifiedName fqName = container.getValue().getEntitySet(navBindingTarget).getTypeFQN(); if (!(csdlEntityTypesMap.containsKey(fqName))) { fqName = validateCsdlEntityTypeWithAlias(fqName);
targetType = findLastQualifiedTargetName(navBindingTarget); } else { if (container.getValue().getEntitySet(navBindingTarget) == null) { if (container.getValue().getSingleton(navBindingTarget) != null) { throw new RuntimeException("Validations of Singletons are not supported: "+ navBindingTarget); FullQualifiedName fqName = container.getValue().getEntitySet(navBindingTarget).getTypeFQN(); if (!(csdlEntityTypesMap.containsKey(fqName))) { fqName = validateCsdlEntityTypeWithAlias(fqName);
@Override public CsdlEntitySet getEntitySet(FullQualifiedName entityContainer, String entitySetName) throws ODataException { List<CsdlSchema> csdlSchemas = xmlMetadata.getSchemas(); String fqnContainer = null ; for (CsdlSchema csdlSchema : csdlSchemas) { // Only 1 EntityContainer in on Edmx file (V4 SPecification) if (csdlSchema.getEntityContainer() == null) { continue; } fqnContainer = csdlSchema.getNamespace() + (csdlSchema.getEntityContainer() != null ? "." + csdlSchema.getEntityContainer().getName() : ""); if (fqnContainer.equals(entityContainer.getFullQualifiedNameAsString())) { return csdlSchema.getEntityContainer().getEntitySet(entitySetName); } } return null; }
continue; CsdlEntitySet toEntitySet = container.getEntitySet(binding.getTarget()); if (toEntitySet == null) { continue;