Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

package org.wso2.carbon.identity.api.server.notification.sender.common;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.identity.notification.sender.tenant.config.NotificationSenderManagementService;

Expand All @@ -26,6 +28,8 @@
*/
public class NotificationSenderServiceHolder {

private static final Log log = LogFactory.getLog(NotificationSenderServiceHolder.class);

private NotificationSenderServiceHolder() {}

private static class NotificationSenderManagementServiceHolder {
Expand All @@ -42,6 +46,13 @@ private static class NotificationSenderManagementServiceHolder {
*/
public static NotificationSenderManagementService getNotificationSenderManagementService() {

return NotificationSenderManagementServiceHolder.SERVICE;
if (log.isDebugEnabled()) {
log.debug("Retrieving NotificationSenderManagementService from OSGi service registry.");
}
NotificationSenderManagementService service = NotificationSenderManagementServiceHolder.SERVICE;
if (service == null) {
log.warn("NotificationSenderManagementService is not available in OSGi service registry.");
}
return service;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,22 @@ public NotificationSenderManagementService(
*/
public EmailSender addEmailSender(EmailSenderAdd emailSenderAdd) {

if (log.isDebugEnabled()) {
log.debug("Adding email sender: " + (emailSenderAdd != null ? emailSenderAdd.getName() : "null"));
}

if (emailSenderAdd == null) {
log.error("Email sender add request cannot be null.");
throw new IllegalArgumentException("Email sender add request cannot be null.");
}

EmailSenderDTO dto = buildEmailSenderDTO(emailSenderAdd);
try {
EmailSenderDTO emailSenderDTO = notificationSenderManagementService.addEmailSender(dto);
log.info("Email sender added successfully: " + emailSenderDTO.getName());
return buildEmailSenderFromDTO(emailSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to add email sender: " + emailSenderAdd.getName());
throw handleException(e);
}
}
Expand All @@ -89,11 +100,22 @@ public EmailSender addEmailSender(EmailSenderAdd emailSenderAdd) {
*/
public SMSSender addSMSSender(SMSSenderAdd smsSenderAdd) {

if (log.isDebugEnabled()) {
log.debug("Adding SMS sender: " + (smsSenderAdd != null ? smsSenderAdd.getName() : "null"));
}

if (smsSenderAdd == null) {
log.error("SMS sender add request cannot be null.");
throw new IllegalArgumentException("SMS sender add request cannot be null.");
}

SMSSenderDTO dto = buildSMSSenderDTO(smsSenderAdd);
try {
SMSSenderDTO smsSenderDTO = notificationSenderManagementService.addSMSSender(dto);
log.info("SMS sender added successfully: " + smsSenderDTO.getName());
return buildSMSSenderFromDTO(smsSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to add SMS sender: " + smsSenderAdd.getName());
throw handleException(e);
}
}
Expand All @@ -106,12 +128,23 @@ public SMSSender addSMSSender(SMSSenderAdd smsSenderAdd) {
*/
public PushSender addPushSender(PushSenderAdd pushSenderAdd) {

if (log.isDebugEnabled()) {
log.debug("Adding push sender: " + (pushSenderAdd != null ? pushSenderAdd.getName() : "null"));
}

if (pushSenderAdd == null) {
log.error("Push sender add request cannot be null.");
throw new IllegalArgumentException("Push sender add request cannot be null.");
}

PushSenderDTO dto = buildPushSenderDTO(pushSenderAdd);
try {
PushSenderDTO pushSenderDTO = NotificationSenderServiceHolder.getNotificationSenderManagementService()
.addPushSender(dto);
log.info("Push sender added successfully: " + pushSenderDTO.getName());
return buildPushSenderFromDTO(pushSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to add push sender: " + pushSenderAdd.getName());
throw handleException(e);
}
}
Expand All @@ -123,10 +156,16 @@ public PushSender addPushSender(PushSenderAdd pushSenderAdd) {
*/
public void deleteNotificationSender(String notificationSenderName) {

if (log.isDebugEnabled()) {
log.debug("Deleting notification sender: " + notificationSenderName);
}

try {
notificationSenderManagementService.deleteNotificationSender(notificationSenderName);
log.info("Notification sender deleted successfully: " + notificationSenderName);
} catch (NotificationSenderManagementException e) {
throw handleException(e);
log.error("Failed to delete notification sender: " + notificationSenderName);
throw handleException(e);
}
}

Expand All @@ -138,10 +177,15 @@ public void deleteNotificationSender(String notificationSenderName) {
*/
public EmailSender getEmailSender(String senderName) {

if (log.isDebugEnabled()) {
log.debug("Retrieving email sender: " + senderName);
}

try {
EmailSenderDTO emailSenderDTO = notificationSenderManagementService.getEmailSender(senderName);
return buildEmailSenderFromDTO(emailSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve email sender: " + senderName);
throw handleException(e);
}
}
Expand All @@ -154,10 +198,15 @@ public EmailSender getEmailSender(String senderName) {
*/
public SMSSender getSMSSender(String senderName) {

if (log.isDebugEnabled()) {
log.debug("Retrieving SMS sender: " + senderName);
}

try {
SMSSenderDTO smsSenderDTO = notificationSenderManagementService.getSMSSender(senderName, false);
return buildSMSSenderFromDTO(smsSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve SMS sender: " + senderName);
throw handleException(e);
}
}
Expand All @@ -170,11 +219,16 @@ public SMSSender getSMSSender(String senderName) {
*/
public PushSender getPushSender(String senderName) {

if (log.isDebugEnabled()) {
log.debug("Retrieving push sender: " + senderName);
}

try {
PushSenderDTO pushSenderDTO = NotificationSenderServiceHolder.getNotificationSenderManagementService()
.getPushSender(senderName, false);
return buildPushSenderFromDTO(pushSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve push sender: " + senderName);
throw handleException(e);
}
}
Expand All @@ -186,10 +240,15 @@ public PushSender getPushSender(String senderName) {
*/
public List<EmailSender> getEmailSenders() {

if (log.isDebugEnabled()) {
log.debug("Retrieving all email senders");
}

try {
List<EmailSenderDTO> emailSenders = notificationSenderManagementService.getEmailSenders();
return emailSenders.stream().map(this::buildEmailSenderFromDTO).collect(Collectors.toList());
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve email senders");
throw handleException(e);
}
}
Expand All @@ -201,10 +260,15 @@ public List<EmailSender> getEmailSenders() {
*/
public List<SMSSender> getSMSSenders() {

if (log.isDebugEnabled()) {
log.debug("Retrieving all SMS senders");
}

try {
List<SMSSenderDTO> smsSenders = notificationSenderManagementService.getSMSSenders(false);
return smsSenders.stream().map(this::buildSMSSenderFromDTO).collect(Collectors.toList());
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve SMS senders");
throw handleException(e);
}
}
Expand All @@ -216,11 +280,16 @@ public List<SMSSender> getSMSSenders() {
*/
public List<PushSender> getPushSenders() {

if (log.isDebugEnabled()) {
log.debug("Retrieving all push senders");
}

try {
List<PushSenderDTO> pushSenders = NotificationSenderServiceHolder.getNotificationSenderManagementService()
.getPushSenders(false);
return pushSenders.stream().map(this::buildPushSenderFromDTO).collect(Collectors.toList());
} catch (NotificationSenderManagementException e) {
log.error("Failed to retrieve push senders");
throw handleException(e);
}
}
Expand All @@ -234,11 +303,17 @@ public List<PushSender> getPushSenders() {
*/
public EmailSender updateEmailSender(String senderName, EmailSenderUpdateRequest emailSenderUpdateRequest) {

if (log.isDebugEnabled()) {
log.debug("Updating email sender: " + senderName);
}

EmailSenderDTO dto = buildEmailSenderDTO(senderName, emailSenderUpdateRequest);
try {
EmailSenderDTO emailSenderDTO = notificationSenderManagementService.updateEmailSender(dto);
log.info("Email sender updated successfully: " + senderName);
return buildEmailSenderFromDTO(emailSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to update email sender: " + senderName);
throw handleException(e);
}
}
Expand All @@ -252,11 +327,17 @@ public EmailSender updateEmailSender(String senderName, EmailSenderUpdateRequest
*/
public SMSSender updateSMSSender(String senderName, SMSSenderUpdateRequest smsSenderUpdateRequest) {

if (log.isDebugEnabled()) {
log.debug("Updating SMS sender: " + senderName);
}

SMSSenderDTO dto = buildSMSSenderDTO(senderName, smsSenderUpdateRequest);
try {
SMSSenderDTO smsSenderDTO = notificationSenderManagementService.updateSMSSender(dto);
log.info("SMS sender updated successfully: " + senderName);
return buildSMSSenderFromDTO(smsSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to update SMS sender: " + senderName);
throw handleException(e);
}
}
Expand All @@ -270,12 +351,18 @@ public SMSSender updateSMSSender(String senderName, SMSSenderUpdateRequest smsSe
*/
public PushSender updatePushSender(String senderName, PushSenderUpdateRequest pushSenderUpdateRequest) {

if (log.isDebugEnabled()) {
log.debug("Updating push sender: " + senderName);
}

PushSenderDTO dto = buildPushSenderDTO(senderName, pushSenderUpdateRequest);
try {
PushSenderDTO pushSenderDTO = NotificationSenderServiceHolder.getNotificationSenderManagementService()
.updatePushSender(dto);
log.info("Push sender updated successfully: " + senderName);
return buildPushSenderFromDTO(pushSenderDTO);
} catch (NotificationSenderManagementException e) {
log.error("Failed to update push sender: " + senderName);
throw handleException(e);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

package org.wso2.carbon.identity.api.server.notification.sender.v1.factories;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.identity.api.server.notification.sender.common.NotificationSenderServiceHolder;
import org.wso2.carbon.identity.api.server.notification.sender.v1.core.NotificationSenderManagementService;

Expand All @@ -26,18 +28,27 @@
*/
public class NotificationSenderManagementServiceFactory {

private static final Log log = LogFactory.getLog(NotificationSenderManagementServiceFactory.class);
private static final NotificationSenderManagementService SERVICE;

static {
if (log.isDebugEnabled()) {
log.debug("Initializing NotificationSenderManagementServiceFactory");
}

org.wso2.carbon.identity.notification.sender.tenant.config.NotificationSenderManagementService
notificationSenderManagementService = NotificationSenderServiceHolder
.getNotificationSenderManagementService();

if (notificationSenderManagementService == null) {
log.error("NotificationSenderManagementService is not available from OSGi context.");
throw new IllegalStateException("NotificationSenderManagementService is not available from OSGi context.");
}

SERVICE = new NotificationSenderManagementService(notificationSenderManagementService);
if (log.isDebugEnabled()) {
log.debug("NotificationSenderManagementServiceFactory initialized successfully");
}
}

/**
Expand All @@ -47,6 +58,9 @@ public class NotificationSenderManagementServiceFactory {
*/
public static NotificationSenderManagementService getNotificationSenderManagementService() {

if (log.isDebugEnabled()) {
log.debug("Returning NotificationSenderManagementService instance");
}
return SERVICE;
}

Expand Down
Loading