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 ea2a4c62507327ebdffbfa72f24a158ee4e5e3f1
Author: Marcus Christie <[email protected]>
AuthorDate: Tue Apr 25 11:13:00 2023 -0400

    Pick sharing manager implementation based on config
---
 .../datacatalog/api/DataCatalogApiServiceApplication.java         | 8 +++-----
 .../airavata/datacatalog/api/sharing/SharingManagerImpl.java      | 2 +-
 data-catalog-api/server/src/main/resources/application.properties | 3 +++
 3 files changed, 7 insertions(+), 6 deletions(-)

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 fb35723..86a0aa8 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
@@ -1,8 +1,8 @@
 package org.apache.airavata.datacatalog.api;
 
 import org.apache.airavata.datacatalog.api.sharing.SharingManager;
-import org.apache.airavata.datacatalog.api.sharing.SharingManagerImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
@@ -29,9 +29,7 @@ public class DataCatalogApiServiceApplication {
 
     @Bean
     @Primary
-    public SharingManager getSharingManager() {
-        // TODO: externalize bean name to a property
-        // return (SharingManager) 
applicationContext.getBean("simpleSharingManager");
-        return applicationContext.getBean(SharingManagerImpl.class);
+    public SharingManager getSharingManager(@Value("${sharing.manager.bean}") 
String sharingManagerBeanName) {
+        return applicationContext.getBean(sharingManagerBeanName, 
SharingManager.class);
     }
 }
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
index bd7118d..aaf1986 100644
--- 
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
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Component;
 
 import jakarta.annotation.PostConstruct;
 
-@Component
+@Component("custosSharingManager")
 public class SharingManagerImpl implements SharingManager {
 
     private static final Logger logger = 
LoggerFactory.getLogger(SharingManagerImpl.class);
diff --git a/data-catalog-api/server/src/main/resources/application.properties 
b/data-catalog-api/server/src/main/resources/application.properties
index 914f6da..0ef1d54 100644
--- a/data-catalog-api/server/src/main/resources/application.properties
+++ b/data-catalog-api/server/src/main/resources/application.properties
@@ -8,3 +8,6 @@ spring.jpa.show-sql=true
 # 
https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-initialization.using-basic-sql-scripts
 spring.jpa.defer-datasource-initialization=true
 spring.sql.init.mode=always
+
+sharing.manager.bean=simpleSharingManager
+# sharing.manager.bean=custosSharingManager

Reply via email to