in data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/impl/PostgresqlMetadataSchemaQueryWriterImpl.java [49:74]
MetadataSchemaFieldEntity resolveMetadataSchemaField(SqlIdentifier sqlIdentifier) {
MetadataSchemaEntity metadataSchema = null;
String fieldName = null;
if (sqlIdentifier.names.size() == 2) {
String tableName = sqlIdentifier.names.get(0);
metadataSchema = resolveMetadataSchema(tableName);
fieldName = sqlIdentifier.names.get(1);
} else if (sqlIdentifier.names.size() == 1) {
// TODO: just pick the first one, but in general we would need
// to look through all of the metadata schemas to find the one
// that this field belongs to
metadataSchema = this.metadataSchemas.iterator().next();
fieldName = sqlIdentifier.names.get(0);
} else {
throw new RuntimeException("Unexpected sqlIdentifier: " + sqlIdentifier);
}
for (MetadataSchemaFieldEntity metadataSchemaField : metadataSchema.getMetadataSchemaFields()) {
if (metadataSchemaField.getFieldName().equals(fieldName)) {
return metadataSchemaField;
}
}
// If none matched, must not be a metadata schema field
return null;
}