private void setBaseTypeForEntityType() throws EdmException { for (Entry<FullQualifiedName, EdmEntityType> entity : entityTypesMap.entrySet()) { EdmEntityTypeImpl entityType = (EdmEntityTypeImpl) entity.getValue(); if (entityType.getBaseTypeName() != null && entity.getValue() .getBaseType() == null) { FullQualifiedName fqname = entityType.getBaseTypeName(); if (entityTypesMap.get(entityType.getBaseTypeName()) != null) { entityType.setEdmBaseType(entityTypesMap.get(fqname)); } else if (aliasNamespaceMap.containsKey(fqname.getNamespace())) { FullQualifiedName changedName = new FullQualifiedName( aliasNamespaceMap.get(fqname.getNamespace()), fqname.getName()); entityType.setEdmBaseType(entityTypesMap.get(changedName)); } else {// Adding dummy basetype which will fail during validation EdmEntityTypeImpl newBaseType = new EdmEntityTypeImpl(); newBaseType.setName(fqname.getName()); newBaseType.setNamespace(fqname.getNamespace()); entityType.setEdmBaseType(newBaseType); break; } } } setBaseTypePropertiesForEntityType(entityBaseTypeMap); }