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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]