/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.email; import org.apache.commons.lang.StringUtils; import com.emc.storageos.db.client.model.uimodels.ApprovalRequest; import com.emc.storageos.db.client.model.uimodels.CatalogService; import com.emc.storageos.db.client.model.uimodels.Order; public class OrderSummaryHtml extends TemplateBase { private static final String ORDER_SUMMARY_TEMPLATE = readOrderSummaryTemplate(); private static final String ORDER_SUMMARY_APPROVAL_TEMPLATE = readOrderSummaryApprovalTemplate(); private static final String ORDER_NUMBER = "orderNumber"; private static final String SERVICE_TITLE = "serviceTitle"; private static final String ORDER_STATUS = "orderStatus"; private static final String SUBMITTED_BY = "submittedBy"; private static final String ORDER_APPROVAL = "orderApproval"; private static final String APPROVAL_STATUS = "approvalStatus"; private static final String APPROVED_BY = "approvedBy"; public OrderSummaryHtml(Order order, CatalogService catalogService, ApprovalRequest approvalRequest) { setParameter(ORDER_NUMBER, order.getOrderNumber()); setParameter(ORDER_STATUS, messages.get("OrderStatus." + order.getOrderStatus())); setParameter(SUBMITTED_BY, order.getSubmittedByUserId()); setParameter(SERVICE_TITLE, catalogService.getTitle()); if (approvalRequest != null && (approvalRequest.approved() || approvalRequest.rejected())) { setParameter(APPROVAL_STATUS, messages.get("notification.approval.by." + approvalRequest.getApprovalStatus())); setParameter(APPROVED_BY, approvalRequest.getApprovedBy()); } } protected String getOrderSummary() { if (hasApproval()) { setParameter(ORDER_APPROVAL, getOrderSummaryApproval()); } return evaluate(ORDER_SUMMARY_TEMPLATE); } protected String getOrderSummaryApproval() { return evaluate(ORDER_SUMMARY_APPROVAL_TEMPLATE); } protected boolean hasApproval() { return StringUtils.isNotBlank(getParameter(APPROVAL_STATUS)) || StringUtils.isNotBlank(getParameter(APPROVED_BY)); } private static String readOrderSummaryTemplate() { return readTemplate("OrderSummary.html"); } private static String readOrderSummaryApprovalTemplate() { return readTemplate("OrderSummaryApproval.html"); } }