/* * Copyright(c) 2005 Center for E-Commerce Infrastructure Development, The * University of Hong Kong (HKU). All Rights Reserved. * * This software is licensed under the Apache License Version 2.0 [1] * * [1] http://www.apache.org/licenses/LICENSE-2.0.txt */ package hk.hku.cecid.edi.as2.admin.listener; import hk.hku.cecid.edi.as2.AS2PlusProcessor; import hk.hku.cecid.edi.as2.dao.MessageDVO; import hk.hku.cecid.edi.as2.util.AS2MessageStatusReverser; import hk.hku.cecid.piazza.commons.util.PropertyTree; import hk.hku.cecid.piazza.corvus.admin.listener.AdminPageletAdaptor; import javax.servlet.http.HttpServletRequest; import javax.xml.transform.Source; /** * @author Donahue Sze * */ public class ChangeMessageStatusPageletAdaptor extends AdminPageletAdaptor { protected Source getCenterSource(HttpServletRequest request) { // construct the dom tree PropertyTree dom = new PropertyTree(); dom.setProperty("/message_history", ""); try { String messageId = request.getParameter("message_id"); AS2MessageStatusReverser reverser = new AS2MessageStatusReverser(); MessageDVO messageDVO = reverser.updateToSend(messageId); if (null != messageDVO) { setDisplayMessage(dom, messageDVO); } setSearchCriteria(dom); } catch (Exception e) { AS2PlusProcessor.getInstance().getLogger().debug( "Unable to process the pagelet request", e); } return dom.getSource(); } private String checkNullAndReturnEmpty(String value) { if (value == null) { return new String(""); } return value; } private void setDisplayMessage(PropertyTree dom, MessageDVO messageDVO) { dom.setProperty("message[0]/message_id", checkNullAndReturnEmpty(messageDVO.getMessageId())); dom.setProperty("message[0]/message_box", checkNullAndReturnEmpty(messageDVO.getMessageBox())); dom.setProperty("message[0]/as2_from", checkNullAndReturnEmpty(messageDVO.getAs2From())); dom.setProperty("message[0]/as2_to", checkNullAndReturnEmpty(messageDVO.getAs2To())); dom.setProperty("message[0]/time_stamp", messageDVO .getTimeStamp().toString()); dom.setProperty("message[0]/status", checkNullAndReturnEmpty(messageDVO.getStatus())); dom.setProperty("message[0]/is_acknowledged", String .valueOf(messageDVO.isAcknowledged())); dom.setProperty("message[0]/is_receipt", String .valueOf(messageDVO.isReceipt())); dom.setProperty("message[0]/is_receipt_requested", String .valueOf(messageDVO.isReceiptRequested())); } private void setSearchCriteria(PropertyTree dom) { // set the search criteria dom.setProperty("search_criteria/message_id", ""); dom.setProperty("search_criteria/message_box", ""); dom.setProperty("search_criteria/as2_from", ""); dom.setProperty("search_criteria/as2_to", ""); dom.setProperty("search_criteria/status", ""); dom.setProperty("search_criteria/num_of_messages", ""); dom.setProperty("search_criteria/offset", "0"); dom.setProperty("search_criteria/is_detail", ""); //change the message status for message_time dom.setProperty("search_criteria/message_time",""); } }