-
-
Save apolichronopoulos/5039d48fca54791f0952799357482a14 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import gr.datamation.swift.common.SwiftMessage; | |
import gr.datamation.swift.corporate.processor.EnvelopeBuilder; | |
import gr.datamation.swift.processor.SwiftMsgProcessor; | |
import gr.datamation.swift.validator.SwiftValidObj; | |
import java.util.Arrays; | |
public class TradeFinanceBuild { | |
private static final String mt770string = | |
"{1:F01COPZBEB0AXXX0377002038}{2:O7701452110804LRLRXXXX4A1100009036611108041652N}{3:{108:MT770 001 OF 001}{433:/NOK/SUSPECT }}{4:\n" + | |
":20:02462\n" + | |
":12:770\n" + | |
":77E:\n" + | |
":27A:1/3\n" + | |
":21A:16XXX\n" + | |
":25F:FINAL\n" + | |
":13E:201410251250\n" + | |
":53C:/APPLCANT ACCOUNT\n" + | |
":24D:TELE\n" + | |
":73A:CHARGES INFORMATION\n" + | |
":71A:OTH\n" + | |
":58A:TESTBICC\n" + | |
":25A:/SETTLEMENT CHARGES ACCOUNT\n" + | |
":71M:BENE\n" + | |
":21E:REFERENCE CONTRACT NUMBER\n" + | |
":29T:OTHR/OTHER TRANSPORT MODE\n" + | |
":45C:UNDERTAKING\n" + | |
"CLAUSE\n" + | |
"OF\n" + | |
"THE\n" + | |
"APPLICANT\n" + | |
":29A:ALEXANDRAKIS ALEXANDROS\n" + | |
"AGIOY GEORGIOY 24\n" + | |
"ZOGRAFOY\n" + | |
"6948212121\n" + | |
":72Z:ADDITIONAL INFORMATION ABOUT\n" + | |
"THE BANK 1\n" + | |
"ADDITIONAL INFORMATION ABOUT\n" + | |
"THE BANK 2\n" + | |
":29S:OTHR/PARTY IDENTIFIER\n" + | |
":23X:EMAL/NARRATIVE\n" + | |
":29U:TESTBICA\n" + | |
":21R:REF121212\n" + | |
"-}{5:{MAC:00000000}{CHK:7500CB09B73B}{TNG:}}{S:{SAC:}{COP:P}}"; | |
private static final String mt700string1 = | |
"{1:F01COPZBEB0AXXX0377002610}{2:O7001511110804LRLRXXXX4A1100009042331108041713N}{3:{108:MT700 004 OF 030}}{4:\n" + | |
":27:1/1\n" + | |
":40A:IRREVOCABLE TRANSFERABLE\n" + | |
":20:02179\n" + | |
":40E:UCP LATEST VERSION\n" + | |
":31D:001118AMSTERDAM\n" + | |
":51A:TESTNLVT\n" + | |
":50:FRANZ HOLZAPFEL GMBH\n" + | |
"WIEN\n" + | |
":59:SAM COOKE\n" + | |
"a48TH STREET\n" + | |
"NEW YORK, N.Y. 10016\n" + | |
":32B:USD105,\n" + | |
":41A:TESTSEVT\n" + | |
"BY PAYMENT\n" + | |
":49:CONFIRM\n" + | |
"-}{5:{MAC:00000000}{CHK:8632214CDF08}{TNG:}}{S:{SAC:}{COP:P}}\n"; | |
public static void main(String[] args) { | |
SwiftMsgProcessor smp = new SwiftMsgProcessor("\n"); | |
try { | |
SwiftMessage indexMessage = smp.ParseMsgStringToObject(mt770string); | |
SwiftMessage detailMessage = smp.ParseMsgStringToObject(mt700string1); | |
EnvelopeBuilder constructor = new EnvelopeBuilder(); | |
// use a SwiftMessage object just to have an easy reference for building block 1 and 2 | |
SwiftMessage envelopeMessage798 = new SwiftMessage(); | |
// Set Tags for block1 | |
envelopeMessage798.setArgApplid("F"); | |
envelopeMessage798.setArgServid("01"); | |
envelopeMessage798.setArgLTaddrBlk1("ISSUGB2LAXXX"); | |
envelopeMessage798.setArgSesno("0000"); | |
envelopeMessage798.setArgOsn("000000"); | |
// Set Tags for block2 | |
envelopeMessage798.setArgInoutind("I"); | |
envelopeMessage798.setArgMsgtype("798"); | |
envelopeMessage798.setArgLTaddrBlk2("REIMUS33AXXX"); | |
envelopeMessage798.setArgMsgprior("N"); | |
constructor.setBlock1(envelopeMessage798.getBlock1()); | |
constructor.setBlock2(envelopeMessage798.getBlock2()); | |
constructor.setIndexMessage(indexMessage); | |
constructor.setTransactionReferenceNumber("TRANS1234"); | |
constructor.setCustomerReferenceNumber("CUSTOMER1234"); | |
constructor.setTag77ELine0("FOLLOWS THE ENCLOSED MESSAGE"); | |
constructor.setDetailEnclosedMessages(Arrays.asList((SwiftMessage) detailMessage)); | |
SwiftValidObj swiftValidObj = constructor.encloseMessages(); | |
if (!swiftValidObj.hasErrors()) { | |
System.out.println("Messages are valid"); | |
System.out.println(new SwiftMsgProcessor("\n").BuildMsgStringFromObject(swiftValidObj.getSwiftMessages().get(0))); | |
System.out.println(new SwiftMsgProcessor("\n").BuildMsgStringFromObject(swiftValidObj.getSwiftMessages().get(1))); | |
} else { | |
System.out.println(swiftValidObj.getValidationErrorList()); | |
} | |
} catch (Exception e) { | |
e.printStackTrace(); | |
System.err.println("Message cannot be parsed"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment