lahirujayathilake commented on code in PR #48: URL: https://github.com/apache/airavata-data-catalog/pull/48#discussion_r2012917314
########## data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/impl/PostgresqlMetadataSchemaQueryWriterImpl.java: ########## @@ -219,18 +260,21 @@ String writeCommonTableExpression(UserEntity userEntity, MetadataSchemaEntity me sb.append("from data_product dp_ "); sb.append("inner join data_product_metadata_schema dpms_ on dpms_.data_product_id = dp_.data_product_id "); sb.append("inner join metadata_schema ms_ on ms_.metadata_schema_id = dpms_.metadata_schema_id "); - sb.append("inner join "); - sb.append(sharingManager.getDataProductSharingView()); - sb.append(" dpsv_ on dpsv_.data_product_id = dp_.data_product_id "); - sb.append("and dpsv_.user_id = "); + //sb.append("inner join "); + //sb.append(sharingManager.getDataProductSharingView()); + //sb.append(" dpsv_ on dpsv_.data_product_id = dp_.data_product_id "); + //sb.append("and dpsv_.user_id = "); // TODO: change these to be bound parameters - sb.append(userEntity.getUserId()); - sb.append(" and dpsv_.permission_id in ("); - sb.append(Permission.OWNER.getNumber()); - sb.append(","); - sb.append(Permission.READ_METADATA.getNumber()); - sb.append(") "); - sb.append("where ms_.metadata_schema_id = " + metadataSchemaEntity.getMetadataSchemaId()); + //sb.append(userEntity.getUserId()); + //sb.append(" and dpsv_.permission_id in ("); + // sb.append(Permission.OWNER.getNumber()); + //sb.append(","); + //sb.append(Permission.READ.getNumber()); + //sb.append(") "); + //sb.append("where ms_.metadata_schema_id = " + metadataSchemaEntity.getMetadataSchemaId()); Review Comment: this is not intentional, right? ########## data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/MetadataSchemaQueryExecutor.java: ########## @@ -3,8 +3,10 @@ import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlParseException; import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlValidateException; import org.apache.airavata.datacatalog.api.model.UserEntity; - +import java.util.List; public interface MetadataSchemaQueryExecutor { MetadataSchemaQueryResult execute(UserEntity userEntity, String sql, int page, int pageSize) - throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + MetadataSchemaQueryResult execute(UserEntity userEntity, List<String> groupIds,String sql, int page, int pageSize) + throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; Review Comment: format these codes properly. - put a new line after the imports - a new line between class declaration and methods ########## data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/MetadataSchemaQueryExecutor.java: ########## @@ -3,8 +3,10 @@ import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlParseException; import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlValidateException; import org.apache.airavata.datacatalog.api.model.UserEntity; - +import java.util.List; public interface MetadataSchemaQueryExecutor { MetadataSchemaQueryResult execute(UserEntity userEntity, String sql, int page, int pageSize) - throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + MetadataSchemaQueryResult execute(UserEntity userEntity, List<String> groupIds,String sql, int page, int pageSize) Review Comment: Shouldn't we use the same UserEntity to embed the groups? ########## data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/MetadataSchemaQueryExecutor.java: ########## @@ -3,8 +3,10 @@ import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlParseException; import org.apache.airavata.datacatalog.api.exception.MetadataSchemaSqlValidateException; import org.apache.airavata.datacatalog.api.model.UserEntity; - +import java.util.List; public interface MetadataSchemaQueryExecutor { MetadataSchemaQueryResult execute(UserEntity userEntity, String sql, int page, int pageSize) - throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; + MetadataSchemaQueryResult execute(UserEntity userEntity, List<String> groupIds,String sql, int page, int pageSize) + throws MetadataSchemaSqlParseException, MetadataSchemaSqlValidateException; Review Comment: This comment is valid for the rest of the changes too ########## data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/MetadataSchemaQueryWriter.java: ########## @@ -21,4 +22,11 @@ public interface MetadataSchemaQueryWriter { */ String rewriteQuery(UserEntity userEntity, SqlNode sqlNode, Collection<MetadataSchemaEntity> metadataSchemas, Map<String, String> tableAliases); + String rewriteQuery( + UserEntity userEntity, + SqlNode sqlNode, + Collection<MetadataSchemaEntity> metadataSchemas, + Map<String, String> tableAliases, + List<String> groupIds Review Comment: I believe we thought of extracting the groupIds from the user object -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@airavata.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org