This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch custos-integration in repository https://gitbox.apache.org/repos/asf/airavata-data-catalog.git
commit 454ca5a3b25738bdc2924b791bfedde5d5078c0a Author: Isuru Ranawaka <[email protected]> AuthorDate: Tue Feb 14 12:34:21 2023 -0500 Adding custos sharing lib --- data-catalog-api/server/pom.xml | 15 +++++ .../api/DataCatalogApiServiceApplication.java | 7 +++ .../api/sharing/SharingManagerImpl.java | 69 ++++++++++++++++++++++ .../src/main/resources/application.properties | 2 +- pom.xml | 2 +- 5 files changed, 93 insertions(+), 2 deletions(-) diff --git a/data-catalog-api/server/pom.xml b/data-catalog-api/server/pom.xml index d2b0ce1..e4462e6 100644 --- a/data-catalog-api/server/pom.xml +++ b/data-catalog-api/server/pom.xml @@ -52,6 +52,21 @@ <artifactId>data-catalog-api-stubs</artifactId> <version>0.1-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.custos</groupId> + <artifactId>sharing-core-impl</artifactId> + <version>1.1-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>com.mysql</groupId> + <artifactId>mysql-connector-j</artifactId> + </exclusion> + <exclusion> + <groupId>jakarta.persistence</groupId> + <artifactId>jakarta.persistence-api</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>io.hypersistence</groupId> <artifactId>hypersistence-utils-hibernate-60</artifactId> diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/DataCatalogApiServiceApplication.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/DataCatalogApiServiceApplication.java index 5b3fa8e..b330f6c 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/DataCatalogApiServiceApplication.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/DataCatalogApiServiceApplication.java @@ -2,8 +2,15 @@ package org.apache.airavata.datacatalog.api; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +@ComponentScan(basePackages = {"org.apache.airavata.datacatalog.api","org.apache.custos.sharing.core"}) @SpringBootApplication +@EnableJpaRepositories({"org.apache.custos.sharing.core.persistance.repository","org.apache.airavata.datacatalog.api.repository"}) +@EntityScan(basePackages = {"org.apache.airavata.datacatalog.api.model","org.apache.custos.sharing.core.persistance.model"}) public class DataCatalogApiServiceApplication { public static void main(String[] args) { diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/sharing/SharingManagerImpl.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/sharing/SharingManagerImpl.java new file mode 100644 index 0000000..051bc35 --- /dev/null +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/sharing/SharingManagerImpl.java @@ -0,0 +1,69 @@ +package org.apache.airavata.datacatalog.api.sharing; + +import org.apache.airavata.datacatalog.api.DataProduct; +import org.apache.airavata.datacatalog.api.GroupInfo; +import org.apache.airavata.datacatalog.api.Permission; +import org.apache.airavata.datacatalog.api.UserInfo; +import org.apache.airavata.datacatalog.api.model.UserEntity; + +import org.apache.custos.sharing.core.impl.SharingImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class SharingManagerImpl implements SharingManager { + + @Autowired + SharingImpl custosSharingImpl; + + + @Override + public UserEntity resolveUser(UserInfo userInfo) { + return null; + } + + @Override + public boolean userHasAccess(UserInfo userInfo, DataProduct dataProduct, Permission permission) { + return false; + } + + @Override + public String getDataProductSharingView() { + return null; + } + + @Override + public void grantPermissionToUser(UserInfo userInfo, DataProduct dataProduct, Permission permission) { + + } + + @Override + public void revokePermissionFromUser(UserInfo userInfo, DataProduct dataProduct, Permission permission) { + + } + + @Override + public void grantPermissionToGroup(GroupInfo groupInfo, DataProduct dataProduct, Permission permission) { + + } + + @Override + public void revokePermissionFromGroup(GroupInfo groupInfo, DataProduct dataProduct, Permission permission) { + + } + + @Override + public boolean hasPublicAccess(DataProduct dataProduct, Permission permission) { + return false; + } + + @Override + public void grantPublicAccess(DataProduct dataProduct, Permission permission) { + + } + + @Override + public void revokePublicAccess(DataProduct dataProduct, Permission permission) { + + } +} diff --git a/data-catalog-api/server/src/main/resources/application.properties b/data-catalog-api/server/src/main/resources/application.properties index 2064c00..a3d7d14 100644 --- a/data-catalog-api/server/src/main/resources/application.properties +++ b/data-catalog-api/server/src/main/resources/application.properties @@ -1,4 +1,4 @@ -spring.datasource.url=jdbc:postgresql://localhost:5432/data_catalog +spring.datasource.url=jdbc:postgresql://localhost:5431/data_catalog spring.datasource.username=postgres spring.datasource.password=example spring.jpa.hibernate.ddl-auto=update diff --git a/pom.xml b/pom.xml index 2fd997b..c1f2d98 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ under the License. <slf4j.version>2.0.6</slf4j.version> <os.maven.plugin>1.6.2</os.maven.plugin> <protobuf.maven.plugin>0.6.1</protobuf.maven.plugin> - <protobuf.protoc.version>3.21.7</protobuf.protoc.version> + <protobuf.protoc.version>3.21.11</protobuf.protoc.version> <grpc.version>1.52.1</grpc.version> <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version> <tomcat.annotations-api.version>6.0.53</tomcat.annotations-api.version>
