You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/04/03 19:33:54 UTC
[airavata] branch develop updated: AIRAVATA-3002 Specify publishing
service instead of deriving from entity type
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/develop by this push:
new 6134da4 AIRAVATA-3002 Specify publishing service instead of deriving from entity type
6134da4 is described below
commit 6134da4f912da0720a16b2608c4745ef05fa2eea
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Apr 3 15:33:15 2019 -0400
AIRAVATA-3002 Specify publishing service instead of deriving from entity type
---
.../common/utils/DBEventManagerConstants.java | 1 +
.../messaging/core/util/DBEventPublisherUtils.java | 20 ++++++++++++--------
.../messaging/RegistryServiceDBEventHandler.java | 3 ++-
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBEventManagerConstants.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBEventManagerConstants.java
index 3b24155..60e8c25 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBEventManagerConstants.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBEventManagerConstants.java
@@ -69,6 +69,7 @@ public class DBEventManagerConstants {
* @param entityType
* @return
*/
+ @Deprecated
public static String getDbEventServiceName(EntityType entityType) {
for (DBEventService service : DBEventService.values()) {
if (service.name().equals(entityType.name())) {
diff --git a/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/util/DBEventPublisherUtils.java b/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/util/DBEventPublisherUtils.java
index 61b861c..d38154d 100644
--- a/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/util/DBEventPublisherUtils.java
+++ b/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/util/DBEventPublisherUtils.java
@@ -25,7 +25,12 @@ import org.slf4j.LoggerFactory;
public class DBEventPublisherUtils {
private final static Logger logger = LoggerFactory.getLogger(DBEventPublisherUtils.class);
- private static Publisher dbEventPublisher = null;
+ private Publisher dbEventPublisher = null;
+ private DBEventService publisherService;
+
+ public DBEventPublisherUtils(DBEventService dbEventService) {
+ this.publisherService = dbEventService;
+ }
/**
* Publish DB Event for given entity.
@@ -33,10 +38,9 @@ public class DBEventPublisherUtils {
* @param crudType
* @param entityModel
*/
- public static void publish(EntityType entityType, CrudType crudType, TBase entityModel) throws AiravataException {
+ public void publish(EntityType entityType, CrudType crudType, TBase entityModel) throws AiravataException {
- DBEventPublisherUtils.getDbEventPublisher().publish(
- DBEventPublisherUtils.getDBEventMessageContext(entityType, crudType, entityModel),
+ getDbEventPublisher().publish(getDBEventMessageContext(entityType, crudType, entityModel),
DBEventManagerConstants.getRoutingKey(DBEventService.DB_EVENT.toString()));
}
@@ -45,9 +49,9 @@ public class DBEventPublisherUtils {
* @return
* @throws AiravataException
*/
- private static Publisher getDbEventPublisher() throws AiravataException {
+ private Publisher getDbEventPublisher() throws AiravataException {
if(null == dbEventPublisher){
- synchronized (DBEventPublisherUtils.class){
+ synchronized (this){
if(null == dbEventPublisher){
logger.info("Creating DB Event publisher.....");
dbEventPublisher = MessagingFactory.getDBEventPublisher();
@@ -66,7 +70,7 @@ public class DBEventPublisherUtils {
* @return
* @throws AiravataException
*/
- private static MessageContext getDBEventMessageContext(EntityType entityType, CrudType crudType, TBase entityModel) throws AiravataException {
+ private MessageContext getDBEventMessageContext(EntityType entityType, CrudType crudType, TBase entityModel) throws AiravataException {
try {
// set the publisherContext
DBEventMessage dbEventMessage = new DBEventMessage();
@@ -84,7 +88,7 @@ public class DBEventPublisherUtils {
// set dbEventMessage with messageContext
dbEventMessage.setDbEventType(DBEventType.PUBLISHER);
- dbEventMessage.setPublisherService(DBEventManagerConstants.getDbEventServiceName(entityType));
+ dbEventMessage.setPublisherService(this.publisherService.toString());
dbEventMessage.setMessageContext(dbMessageContext);
// construct and return messageContext
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/messaging/RegistryServiceDBEventHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/messaging/RegistryServiceDBEventHandler.java
index 3bbfe25..a099e8f 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/messaging/RegistryServiceDBEventHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/messaging/RegistryServiceDBEventHandler.java
@@ -54,6 +54,7 @@ public class RegistryServiceDBEventHandler implements MessageHandler {
private static final Logger logger = LoggerFactory.getLogger(RegistryServiceDBEventHandler.class);
private final ThriftClientPool<RegistryService.Client> registryClientPool;
+ private DBEventPublisherUtils dbEventPublisherUtils = new DBEventPublisherUtils(DBEventService.REGISTRY);
public RegistryServiceDBEventHandler() throws ApplicationSettingsException, RegistryServiceException {
@@ -142,7 +143,7 @@ public class RegistryServiceDBEventHandler implements MessageHandler {
if (defaultProject != null) {
// Publish new PROJECT event (sharing service will listen for it and register this as a shared Entity)
- DBEventPublisherUtils.publish(EntityType.PROJECT, CrudType.CREATE, defaultProject);
+ dbEventPublisherUtils.publish(EntityType.PROJECT, CrudType.CREATE, defaultProject);
}
logger.info("addUser Replication Success!");
break;