//$Header: /cvsroot-fuse/mec-as2/39/mendelson/comm/as2/cem/messages/TradingPartnerInfo.java,v 1.1 2012/04/18 14:10:22 heller Exp $ package de.mendelson.comm.as2.cem.messages; import de.mendelson.util.XPathHelper; import java.io.ByteArrayInputStream; import java.util.Date; /* * Copyright (C) mendelson-e-commerce GmbH Berlin Germany * * This software is subject to the license agreement set forth in the license. * Please read and agree to all terms before using this software. * Other product and brand names are trademarks of their respective owners. */ /** * Represents a trading partner info structure * @author S.Heller * @version $Revision: 1.1 $ */ public class TradingPartnerInfo extends CEMStructure { private String senderAS2Id = null; private Date messageOriginated = new Date(); public TradingPartnerInfo() { } /**parses the trust requests from an inbound request and returns them*/ public static TradingPartnerInfo parse(byte[] data, String anchor) throws Exception { TradingPartnerInfo partnerInfo = new TradingPartnerInfo(); ByteArrayInputStream inStream = new ByteArrayInputStream(data); XPathHelper helper = new XPathHelper(inStream); helper.addNamespace("x", "urn:ietf:params:xml:ns:ediintcertificateexchange"); anchor = anchor + "/x:TradingPartnerInfo"; partnerInfo.setSenderAS2Id(helper.getValue(anchor + "/x:Name")); partnerInfo.setMessageOriginated(CEMStructure.parseXMLDate(helper.getValue(anchor + "/x:MessageOriginated"))); inStream.close(); return (partnerInfo); } @Override public String toXML() { if (this.getSenderAS2Id() == null) { throw new RuntimeException("CEM TradingPartnerInfo: senderAS2Id not set."); } if (this.messageOriginated == null) { throw new RuntimeException("CEM TradingPartnerInfo: messageOriginated not set."); } StringBuilder builder = new StringBuilder(); builder.append("\t<TradingPartnerInfo>\n"); builder.append("\t\t<Name qualifier=\"AS2\">").append(this.getSenderAS2Id()).append("</Name>\n"); builder.append("\t\t<MessageOriginated>").append(this.toXMLDate(this.messageOriginated)).append("</MessageOriginated>\n"); builder.append("\t</TradingPartnerInfo>\n"); return (builder.toString()); } /** * @return the senderAS2Id */ public String getSenderAS2Id() { return senderAS2Id; } /** * @param senderAS2Id the senderAS2Id to set */ public void setSenderAS2Id(String senderAS2Id) { this.senderAS2Id = senderAS2Id; } /** * @return the messageOriginated */ public Date getMessageOriginated() { return messageOriginated; } /** * @param messageOriginated the messageOriginated to set */ public void setMessageOriginated(Date messageOriginated) { this.messageOriginated = messageOriginated; } }