diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4fd66a0..0afb206 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
# Changelog for "event-publisher-portal"
+## [v1.1.1-SNAPSHOT]
+`UserGroupRoleEventPublisher` don't send events if the group is not enabled (#21925)
+
## [v1.1.0]
Added new event publisher for new created and removed `Role`s having "`site`" type (#20896)
diff --git a/pom.xml b/pom.xml
index 8f42d54..b5d2430 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
org.gcube.portal
event-publisher-hook
- 1.1.0
+ 1.1.1-SNAPSHOT
war
@@ -36,7 +36,7 @@
org.gcube.distribution
maven-portal-bom
- 3.6.0
+ 3.6.3-SNAPSHOT
pom
import
@@ -73,13 +73,11 @@
org.gcube.common
event-publisher-library
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
provided
org.gcube.portal
event-publisher-portal
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
provided
diff --git a/src/main/java/org/gcube/portal/event/publisher/lr62/model/UserGroupRoleEventPublisher.java b/src/main/java/org/gcube/portal/event/publisher/lr62/model/UserGroupRoleEventPublisher.java
index 7969796..008a079 100644
--- a/src/main/java/org/gcube/portal/event/publisher/lr62/model/UserGroupRoleEventPublisher.java
+++ b/src/main/java/org/gcube/portal/event/publisher/lr62/model/UserGroupRoleEventPublisher.java
@@ -22,7 +22,7 @@ public class UserGroupRoleEventPublisher extends AbstractEventPublisherBaseModel
public void onAfterCreate(UserGroupRole userGroupRole) throws ModelListenerException {
try {
Group group = userGroupRole.getGroup();
- if (group.isSite()) {
+ if (group.isSite() && group.isActive()) {
log.info("Created a site user's group role");
UserGroupRoleEvent event = UserGroupRoleEvent.newCreatedEvent(userGroupRole, userGroupRole.getUser(),
group, userGroupRole.getRole());
@@ -31,8 +31,10 @@ public class UserGroupRoleEventPublisher extends AbstractEventPublisherBaseModel
log.trace("Event is: " + event);
}
publish(event);
- } else if (log.isDebugEnabled()) {
+ } else if (log.isDebugEnabled() && !group.isSite()) {
log.debug("Created a non-site user's group role");
+ } else if (log.isWarnEnabled() && group.isSite() && !group.isActive()) {
+ log.warn("Created a user's group role for a disabled group");
}
} catch (PortalException | SystemException e) {
log.error("Cannot get related model objects", e);
@@ -44,7 +46,7 @@ public class UserGroupRoleEventPublisher extends AbstractEventPublisherBaseModel
public void onBeforeRemove(UserGroupRole userGroupRole) throws ModelListenerException {
try {
Group group = userGroupRole.getGroup();
- if (group.isSite()) {
+ if (group.isSite() && group.isActive()) {
log.info("Deleted a site user's group role");
UserGroupRoleEvent event = UserGroupRoleEvent.newDeletedEvent(userGroupRole, userGroupRole.getUser(),
group, userGroupRole.getRole());
@@ -53,8 +55,10 @@ public class UserGroupRoleEventPublisher extends AbstractEventPublisherBaseModel
log.trace("Event is: " + event);
}
publish(event);
- } else if (log.isDebugEnabled()) {
+ } else if (log.isDebugEnabled() && !group.isSite()) {
log.debug("Deleted a non-site user's group role");
+ } else if (log.isWarnEnabled() && group.isSite() && !group.isActive()) {
+ log.warn("Deleted a user's group role for a disabled group");
}
} catch (PortalException | SystemException e) {
log.error("Cannot get related model objects", e);