All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.simpleemail.model.transform.SendBounceRequestMarshaller Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.simpleemail.model.transform;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.amazonaws.AmazonClientException;
import com.amazonaws.Request;
import com.amazonaws.DefaultRequest;
import com.amazonaws.internal.ListWithAutoConstructFlag;
import com.amazonaws.services.simpleemail.model.*;
import com.amazonaws.transform.Marshaller;
import com.amazonaws.util.StringUtils;

/**
 * Send Bounce Request Marshaller
 */
public class SendBounceRequestMarshaller implements Marshaller, SendBounceRequest> {

    public Request marshall(SendBounceRequest sendBounceRequest) {

        if (sendBounceRequest == null) {
            throw new AmazonClientException("Invalid argument passed to marshall(...)");
        }

        Request request = new DefaultRequest(sendBounceRequest, "AmazonSimpleEmailService");
        request.addParameter("Action", "SendBounce");
        request.addParameter("Version", "2010-12-01");

        if (sendBounceRequest.getOriginalMessageId() != null) {
            request.addParameter("OriginalMessageId", StringUtils.fromString(sendBounceRequest.getOriginalMessageId()));
        }
        if (sendBounceRequest.getBounceSender() != null) {
            request.addParameter("BounceSender", StringUtils.fromString(sendBounceRequest.getBounceSender()));
        }
        if (sendBounceRequest.getExplanation() != null) {
            request.addParameter("Explanation", StringUtils.fromString(sendBounceRequest.getExplanation()));
        }
        MessageDsn messageDsnMessageDsn = sendBounceRequest.getMessageDsn();
        if (messageDsnMessageDsn != null) {
            if (messageDsnMessageDsn.getReportingMta() != null) {
                request.addParameter("MessageDsn.ReportingMta", StringUtils.fromString(messageDsnMessageDsn.getReportingMta()));
            }
            if (messageDsnMessageDsn.getArrivalDate() != null) {
                request.addParameter("MessageDsn.ArrivalDate", StringUtils.fromDate(messageDsnMessageDsn.getArrivalDate()));
            }

            java.util.List extensionFieldsList = messageDsnMessageDsn.getExtensionFields();
            int extensionFieldsListIndex = 1;

            for (ExtensionField extensionFieldsListValue : extensionFieldsList) {
                ExtensionField extensionFieldMember = extensionFieldsListValue;
                if (extensionFieldMember != null) {
                    if (extensionFieldMember.getName() != null) {
                        request.addParameter("MessageDsn.ExtensionFields.member." + extensionFieldsListIndex + ".Name", StringUtils.fromString(extensionFieldMember.getName()));
                    }
                    if (extensionFieldMember.getValue() != null) {
                        request.addParameter("MessageDsn.ExtensionFields.member." + extensionFieldsListIndex + ".Value", StringUtils.fromString(extensionFieldMember.getValue()));
                    }
                }

                extensionFieldsListIndex++;
            }
        }

        java.util.List bouncedRecipientInfoListList = sendBounceRequest.getBouncedRecipientInfoList();
        int bouncedRecipientInfoListListIndex = 1;

        for (BouncedRecipientInfo bouncedRecipientInfoListListValue : bouncedRecipientInfoListList) {
            BouncedRecipientInfo bouncedRecipientInfoMember = bouncedRecipientInfoListListValue;
            if (bouncedRecipientInfoMember != null) {
                if (bouncedRecipientInfoMember.getRecipient() != null) {
                    request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".Recipient", StringUtils.fromString(bouncedRecipientInfoMember.getRecipient()));
                }
                if (bouncedRecipientInfoMember.getRecipientArn() != null) {
                    request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientArn", StringUtils.fromString(bouncedRecipientInfoMember.getRecipientArn()));
                }
                if (bouncedRecipientInfoMember.getBounceType() != null) {
                    request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".BounceType", StringUtils.fromString(bouncedRecipientInfoMember.getBounceType()));
                }
                RecipientDsnFields recipientDsnFieldsRecipientDsnFields = bouncedRecipientInfoMember.getRecipientDsnFields();
                if (recipientDsnFieldsRecipientDsnFields != null) {
                    if (recipientDsnFieldsRecipientDsnFields.getFinalRecipient() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.FinalRecipient", StringUtils.fromString(recipientDsnFieldsRecipientDsnFields.getFinalRecipient()));
                    }
                    if (recipientDsnFieldsRecipientDsnFields.getAction() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.Action", StringUtils.fromString(recipientDsnFieldsRecipientDsnFields.getAction()));
                    }
                    if (recipientDsnFieldsRecipientDsnFields.getRemoteMta() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.RemoteMta", StringUtils.fromString(recipientDsnFieldsRecipientDsnFields.getRemoteMta()));
                    }
                    if (recipientDsnFieldsRecipientDsnFields.getStatus() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.Status", StringUtils.fromString(recipientDsnFieldsRecipientDsnFields.getStatus()));
                    }
                    if (recipientDsnFieldsRecipientDsnFields.getDiagnosticCode() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.DiagnosticCode", StringUtils.fromString(recipientDsnFieldsRecipientDsnFields.getDiagnosticCode()));
                    }
                    if (recipientDsnFieldsRecipientDsnFields.getLastAttemptDate() != null) {
                        request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.LastAttemptDate", StringUtils.fromDate(recipientDsnFieldsRecipientDsnFields.getLastAttemptDate()));
                    }

                    java.util.List extensionFieldsList = recipientDsnFieldsRecipientDsnFields.getExtensionFields();
                    int extensionFieldsListIndex = 1;

                    for (ExtensionField extensionFieldsListValue : extensionFieldsList) {
                        ExtensionField extensionFieldMember = extensionFieldsListValue;
                        if (extensionFieldMember != null) {
                            if (extensionFieldMember.getName() != null) {
                                request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.ExtensionFields.member." + extensionFieldsListIndex + ".Name", StringUtils.fromString(extensionFieldMember.getName()));
                            }
                            if (extensionFieldMember.getValue() != null) {
                                request.addParameter("BouncedRecipientInfoList.member." + bouncedRecipientInfoListListIndex + ".RecipientDsnFields.ExtensionFields.member." + extensionFieldsListIndex + ".Value", StringUtils.fromString(extensionFieldMember.getValue()));
                            }
                        }

                        extensionFieldsListIndex++;
                    }
                }
            }

            bouncedRecipientInfoListListIndex++;
        }
        if (sendBounceRequest.getBounceSenderArn() != null) {
            request.addParameter("BounceSenderArn", StringUtils.fromString(sendBounceRequest.getBounceSenderArn()));
        }

        return request;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy