@Override public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException { CsdlSchema schema = xmlSchemas.get(entityTypeName.getNamespace()); if (schema != null) { return schema.getEntityType(entityTypeName.getName()); } return null; }
@Override public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException { CsdlSchema schema = xmlSchemas.get(entityTypeName.getNamespace()); if (schema != null) { return schema.getEntityType(entityTypeName.getName()); } return null; }
private CsdlEntityType getEntityType(XMLMetadata metadata, String name) throws TranslatorException { if(name == null) { return null; } if (name.startsWith("Collection")) { int start = name.indexOf('('); int end = name.indexOf(')'); name = name.substring(start+1, end).trim(); } if (name.contains(".")) { int idx = name.lastIndexOf('.'); String schemaName = name.substring(0, idx); CsdlSchema schema = metadata.getSchema(schemaName); if (schema == null) { throw new TranslatorException(ODataPlugin.Util.gs(ODataPlugin.Event.TEIID17021, schemaName)); } return schema.getEntityType(name.substring(idx+1)); } return getDefaultSchema(metadata).getEntityType(name); }
@Override public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException { for (final CsdlSchema schema : serviceDocument.getEdmSchemas()) { if (schema.getNamespace().equals(entityTypeName.getNamespace())) { return schema.getEntityType(entityTypeName.getName()); } } return null; }
@Override public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) throws ODataException { /*-- Try to fetch the EntityType from the Current Schema --*/ List<CsdlSchema> csdlSchemas = xmlMetadata.getSchemas(); CsdlEntityType csdlEntityType = null; for (CsdlSchema csdlSchema : csdlSchemas) { if (csdlSchema.getNamespace().equals(entityTypeName.getNamespace())) { return csdlSchema.getEntityType(entityTypeName.getName()); } } /*--Fallback: Try to fetch the EntityType from the other Schema(s) --*/ String referenceNamespace = entityTypeName.getNamespace(); String serviceName = ServiceRepository.getInstance().getServicebyNamespace(referenceNamespace); if(serviceName == null || "".equals(serviceName) ){ /*--- No Service found with the namespace(Alias) asked for ---*/ return null; } CDXEdmProvider referenceProvider = ServiceRepository.getInstance().getEdmxMetadataProvider(serviceName); if (referenceProvider != null) { XMLMetadata refXmlMetadata = referenceProvider.getXMLMetadata(); CsdlSchema refSchema = refXmlMetadata.getSchema(referenceNamespace); csdlEntityType = refSchema.getEntityType(entityTypeName.getName()); } return csdlEntityType; }