Package com.sparc.knappsack.components.events.sqs

Source Code of com.sparc.knappsack.components.events.sqs.SQSDomainUserAccessRequestConfirmationEvent

package com.sparc.knappsack.components.events.sqs;

import com.sparc.knappsack.components.services.EmailService;
import com.sparc.knappsack.enums.Status;
import com.sparc.knappsack.models.DomainUserRequestModel;
import com.sparc.knappsack.models.EmailModel;
import com.sparc.knappsack.models.GroupModel;
import com.sparc.knappsack.models.UserModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import java.util.Map;

@Component("sqsDomainUserAccessRequestConfirmationEvent")
public class SQSDomainUserAccessRequestConfirmationEvent implements SQSEventDelivery {

    private static final Logger log = LoggerFactory.getLogger(SQSDomainUserAccessRequestConfirmationEvent.class);

    @Qualifier("emailService")
    @Autowired(required = true)
    private EmailService emailService;

    @Override
    public boolean sendNotifications(EmailModel emailModel) {
        boolean success = false;
        if (emailModel != null) {
            try {
                DomainUserRequestModel domainUserRequestModel;
                Map<String, Object> modelMap = (Map<String, Object>) emailModel.getParams().get("domainUserRequestModel");
                if (modelMap != null) {
                    Map<String, Object> groupModelMap = (Map<String, Object>) modelMap.get("domain");
                    if (groupModelMap != null) {
                        domainUserRequestModel = new DomainUserRequestModel();
                        Integer domainUserRequestId = (Integer) modelMap.get("id");
                        if (domainUserRequestId != null) {
                            domainUserRequestModel.setId(domainUserRequestId.longValue());
                        }

                        UserModel userModel = null;
                        Map<String, Object> userModelMap = (Map<String, Object>) modelMap.get("user");
                        if (userModelMap != null) {
                            userModel = new UserModel();
                            userModel.setEmail((String) userModelMap.get("email"));
                            Integer id = (Integer) userModelMap.get("id");
                            if (id != null) {
                                userModel.setId(id.longValue());
                            }
                            userModel.setFirstName((String) userModelMap.get("firstName"));
                            userModel.setLastName((String) userModelMap.get("lastName"));
                            userModel.setUserName((String) userModelMap.get("userName"));

                            domainUserRequestModel.setUser(userModel);
                        }

                        GroupModel groupModel = new GroupModel();
                        Integer groupId = (Integer) groupModelMap.get("id");
                        if (groupId != null) {
                            groupModel.setId(groupId.longValue());
                        }
                        groupModel.setName((String) groupModelMap.get("name"));
                        domainUserRequestModel.setDomain(groupModel);

                        domainUserRequestModel.setStatus(Status.valueOf((String) modelMap.get("status")));
                        if (domainUserRequestModel != null && domainUserRequestModel.getUser() != null) {
                            success = emailService.sendDomainUserAccessConfirmationEmail(domainUserRequestModel);
                        }
                    }
                }

            } catch (ClassCastException e) {
                log.error("Error casting params out of EmailModel:", e);
            }
        }
        return success;    }
}
TOP

Related Classes of com.sparc.knappsack.components.events.sqs.SQSDomainUserAccessRequestConfirmationEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.