/* * TeleStax, Open Source Cloud Communications Copyright 2012. * and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.mobicents.protocols.ss7.tools.traceparser; import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.beans.XMLDecoder; import java.beans.XMLEncoder; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import javax.swing.AbstractAction; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.border.LineBorder; import org.apache.log4j.BasicConfigurator; import org.mobicents.protocols.ss7.sccp.SccpProtocolVersion; /** * * @author sergey vetyutnev * */ public class TraceParserForm { private SS7TraceParser task = null; private String parseData = ""; private String persistDir = null; private String persistFile = "Ss7ParseParameters.xml"; protected JFrame frmSsTraceParser; private final ButtonGroup buttonGroup = new ButtonGroup(); private JTextField tfFilePath; private JTextField tfApplicationContextFilter; private JTextField tfDialogIdFilter; private JCheckBox cbApplicationContextFilter; private JCheckBox cbDialogIdFilter; private JRadioButton rdbtnTpActerna; private JRadioButton rdbtnTpSimpleSeq; private JRadioButton rdbtnTpPcap; private JRadioButton rdbtnHexStream; private JButton btnStart; private JButton btnStop; private JPanel pnMsgLog; private JCheckBox cbMsgLog; private JButton btnMsgLog; private javax.swing.Timer timer; private int curMsgCount = 0; private JCheckBox cbOpcDpcFilter; private JCheckBox cbRecordingDialogMessageChain; private JButton btnRecordingDialogMessageChain; private static Ss7ParseParameters par = null; private JTextField tfMsgLog; private JLabel lblMessagesPerformed; private JTextField tfMsgCnt; private JCheckBox cbTcapData; private JCheckBox cbDialogDet; private JCheckBox cbCompDet; private JTextField tfDialogIdFilter2; private JPanel panel_3; private JRadioButton rdbtnMap; private JLabel lblProtocol; private JRadioButton rdbtnCap; private JRadioButton rdbtnIsup; private JRadioButton rdbtnITU; private JRadioButton rdbtnANSI; private final ButtonGroup buttonGroup_1 = new ButtonGroup(); private JButton btnGetStatisticInfo; private JTextField tfOpcDpcFilter; private JTextField tfRecordingDialogMessageChain; private final ButtonGroup buttonGroup_2 = new ButtonGroup(); public static void main(String[] args) { setupLog4j(); // trying to read the ini-file try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream("Ss7ParseParameters.xml")); XMLDecoder d = new XMLDecoder(bis); par = (Ss7ParseParameters) d.readObject(); d.close(); } catch (Exception e) { // we ignore exceptions } EventQueue.invokeLater(new Runnable() { public void run() { try { TraceParserForm window = new TraceParserForm(par); window.frmSsTraceParser.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); // MAPTraceParser task = new MAPTraceParser(); // task.parse(new TraceReaderDriverActerna(), "e:\\Java_workspace\\Trace\\Test\\222.p01"); // return; } private static void setupLog4j() { BasicConfigurator.configure(); } /** * Create the application. */ public TraceParserForm(Ss7ParseParameters par) { initialize(); setParameters(par); } /** * Initialize the contents of the frame. */ private void initialize() { frmSsTraceParser = new JFrame(); frmSsTraceParser.setTitle("SS7 Trace Parser"); frmSsTraceParser.setResizable(false); frmSsTraceParser.setBounds(100, 100, 569, 716); frmSsTraceParser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); frmSsTraceParser.getContentPane().add(panel, BorderLayout.SOUTH); btnStart = new JButton("Start"); btnStart.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (tfFilePath.getText() == null || tfFilePath.getText().equals("")) { JOptionPane.showMessageDialog(null, "The FilePath must be set"); return; } // saving parameters Ss7ParseParameters newPar = new Ss7ParseParameters(); if (rdbtnTpActerna.isSelected()) newPar.setFileTypeN(ParseDriverType.Acterna); if (rdbtnTpSimpleSeq.isSelected()) newPar.setFileTypeN(ParseDriverType.SimpleSeq); if (rdbtnTpPcap.isSelected()) newPar.setFileTypeN(ParseDriverType.Pcap); if (rdbtnHexStream.isSelected()) newPar.setFileTypeN(ParseDriverType.HexStream); if (rdbtnMap.isSelected()) newPar.setParseProtocol(ParseProtocol.Map); if (rdbtnCap.isSelected()) newPar.setParseProtocol(ParseProtocol.Cap); if (rdbtnIsup.isSelected()) newPar.setParseProtocol(ParseProtocol.Isup); if (rdbtnITU.isSelected()) newPar.setSccpProtocolVersion(SccpProtocolVersion.ITU); if (rdbtnANSI.isSelected()) newPar.setSccpProtocolVersion(SccpProtocolVersion.ANSI); newPar.setSourceFilePath(tfFilePath.getText()); if (cbApplicationContextFilter.isSelected()) { try { newPar.setApplicationContextFilter(Integer.parseInt(tfApplicationContextFilter.getText())); } catch (NumberFormatException ee) { JOptionPane .showMessageDialog(null, "Can not parse ApplicationContextFilter the value. \nIt should be an Integer.\nParsing without ApplicationContextFilter"); } } if (cbDialogIdFilter.isSelected()) { try { if (!tfDialogIdFilter.getText().equals("")) newPar.setDialogIdFilter(Long.parseLong(tfDialogIdFilter.getText())); } catch (NumberFormatException ee) { JOptionPane .showMessageDialog(null, "Can not parse ApplicationContextFilter the value. \nIt should be an Integer.\nParsing without ApplicationContextFilter"); } try { if (!tfDialogIdFilter2.getText().equals("")) newPar.setDialogIdFilter2(Long.parseLong(tfDialogIdFilter2.getText())); } catch (NumberFormatException ee) { JOptionPane .showMessageDialog(null, "Can not parse ApplicationContextFilter2 the value. \nIt should be an Integer.\nParsing without ApplicationContextFilter2"); } } if (cbOpcDpcFilter.isSelected()) { try { String[] ss = tfOpcDpcFilter.getText().split(","); int ii1 = ss.length; Integer[] ires = new Integer[ii1]; for (int i1 = 0; i1 < ii1; i1++) { String s = ss[i1]; s = s.trim(); ires[i1] = Integer.parseInt(s); } newPar.setOpcDpcFilter(ires); } catch (NumberFormatException ee) { JOptionPane.showMessageDialog(null, "Can not parse OpcDpcFilter the value. \nIt should be a set of Integers.\nParsing without OpcDpcFilter"); } } if (cbMsgLog.isSelected()) { newPar.setMsgLogFilePath(tfMsgLog.getText()); } if (cbTcapData.isSelected()) { newPar.setTcapMsgData(true); } if (cbDialogDet.isSelected()) { newPar.setDetailedDialog(true); } if (cbCompDet.isSelected()) { newPar.setDetailedComponents(true); } if (cbRecordingDialogMessageChain.isSelected()) { newPar.setMessageChainFilePath(tfRecordingDialogMessageChain.getText()); } try { BufferedOutputStream bis = new BufferedOutputStream(new FileOutputStream(persistFile)); XMLEncoder d = new XMLEncoder(bis); d.writeObject(newPar); d.close(); } catch (Exception ee) { ee.printStackTrace(); JOptionPane.showMessageDialog(null, "Failed when saving the parameter file Ss7ParseParameters.xml: " + ee.getMessage()); } btnStart.setEnabled(false); btnGetStatisticInfo.setEnabled(false); btnStop.setEnabled(true); // starting parsing task = new SS7TraceParser(persistDir, newPar); task.parse(); } }); panel.add(btnStart); btnStop = new JButton("Stop"); btnStop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (task != null) task.interrupt(); } }); btnStop.setEnabled(false); panel.add(btnStop); btnGetStatisticInfo = new JButton("Get statistic info"); btnGetStatisticInfo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { getStatisticInfo(); } }); panel.add(btnGetStatisticInfo); JPanel panel_1 = new JPanel(); frmSsTraceParser.getContentPane().add(panel_1, BorderLayout.CENTER); panel_1.setLayout(null); JPanel panel_2 = new JPanel(); panel_2.setBorder(new LineBorder(new Color(0, 0, 0))); panel_2.setBounds(10, 11, 543, 58); panel_1.add(panel_2); panel_2.setLayout(null); rdbtnTpActerna = new JRadioButton("Acterna"); rdbtnTpActerna.setSelected(true); buttonGroup.add(rdbtnTpActerna); rdbtnTpActerna.setBounds(6, 28, 109, 23); panel_2.add(rdbtnTpActerna); JLabel lblSelectAFile = new JLabel("Trace file type"); lblSelectAFile.setBounds(15, 11, 154, 14); panel_2.add(lblSelectAFile); rdbtnTpSimpleSeq = new JRadioButton("Simple sequence"); buttonGroup.add(rdbtnTpSimpleSeq); rdbtnTpSimpleSeq.setBounds(137, 28, 126, 23); panel_2.add(rdbtnTpSimpleSeq); rdbtnTpPcap = new JRadioButton("Pcap"); buttonGroup.add(rdbtnTpPcap); rdbtnTpPcap.setBounds(275, 28, 101, 23); panel_2.add(rdbtnTpPcap); rdbtnHexStream = new JRadioButton("Hex stream"); buttonGroup.add(rdbtnHexStream); rdbtnHexStream.setBounds(380, 27, 127, 25); panel_2.add(rdbtnHexStream); tfFilePath = new JTextField(); tfFilePath.setBounds(20, 187, 481, 20); panel_1.add(tfFilePath); tfFilePath.setColumns(10); JButton btnFilePath = new JButton(". . ."); btnFilePath.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(); String filterName = null; if (rdbtnTpActerna.isSelected()) filterName = "Acterna"; if (rdbtnTpSimpleSeq.isSelected()) filterName = "Simple"; if (rdbtnTpPcap.isSelected()) filterName = "Pcap"; if (rdbtnHexStream.isSelected()) filterName = "HexStream"; TraceFileFilter filter = new TraceFileFilter(filterName); chooser.setFileFilter(filter); chooser.addChoosableFileFilter(filter); File f = new File(tfFilePath.getText()); chooser.setSelectedFile(f); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); int returnVal = chooser.showOpenDialog(frmSsTraceParser); if (returnVal == JFileChooser.APPROVE_OPTION) { File f2 = chooser.getSelectedFile(); if (f2 != null && f2.exists()) tfFilePath.setText(f2.getPath()); else JOptionPane.showMessageDialog(null, "File does not exists - try again"); } } }); btnFilePath.setBounds(511, 186, 52, 23); panel_1.add(btnFilePath); JLabel lblPathToThe = new JLabel("Trace file path"); lblPathToThe.setBounds(20, 172, 153, 14); panel_1.add(lblPathToThe); this.cbApplicationContextFilter = new JCheckBox("ApplicationContext filter"); cbApplicationContextFilter.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { tfApplicationContextFilter.setEnabled(cbApplicationContextFilter.isSelected()); } }); cbApplicationContextFilter.setBounds(20, 216, 210, 23); panel_1.add(cbApplicationContextFilter); cbMsgLog = new JCheckBox("Messages logging"); cbMsgLog.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { btnMsgLog.setEnabled(cbMsgLog.isSelected()); tfMsgLog.setEnabled(cbMsgLog.isSelected()); cbTcapData.setEnabled(cbMsgLog.isSelected()); cbDialogDet.setEnabled(cbMsgLog.isSelected()); cbCompDet.setEnabled(cbMsgLog.isSelected()); } }); cbMsgLog.setBounds(20, 308, 210, 23); panel_1.add(cbMsgLog); tfApplicationContextFilter = new JTextField(); tfApplicationContextFilter.setEnabled(false); tfApplicationContextFilter.setBounds(236, 217, 153, 20); panel_1.add(tfApplicationContextFilter); tfApplicationContextFilter.setColumns(10); cbDialogIdFilter = new JCheckBox("DialogId filter"); cbDialogIdFilter.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { tfDialogIdFilter.setEnabled(cbDialogIdFilter.isSelected()); tfDialogIdFilter2.setEnabled(cbDialogIdFilter.isSelected()); } }); cbDialogIdFilter.setBounds(20, 247, 210, 23); panel_1.add(cbDialogIdFilter); tfDialogIdFilter = new JTextField(); tfDialogIdFilter.setEnabled(false); tfDialogIdFilter.setColumns(10); tfDialogIdFilter.setBounds(236, 248, 153, 20); panel_1.add(tfDialogIdFilter); pnMsgLog = new JPanel(); pnMsgLog.setBorder(new LineBorder(new Color(0, 0, 0))); pnMsgLog.setBounds(10, 338, 553, 136); panel_1.add(pnMsgLog); pnMsgLog.setLayout(null); tfMsgLog = new JTextField(); tfMsgLog.setBounds(10, 27, 433, 20); pnMsgLog.add(tfMsgLog); tfMsgLog.setEnabled(false); tfMsgLog.setColumns(10); JLabel lblMessageLogFile = new JLabel("Message log file path"); lblMessageLogFile.setBounds(10, 11, 153, 14); pnMsgLog.add(lblMessageLogFile); timer = new javax.swing.Timer(100, new ActionListener() { public void actionPerformed(ActionEvent e) { if (task != null) { if (curMsgCount != task.getMsgCount()) { curMsgCount = task.getMsgCount(); String s1 = ((Integer) curMsgCount).toString(); tfMsgCnt.setText(s1); } if (task.isFinished()) { String errorMsg = task.getErrorMessage(); btnStart.setEnabled(true); btnGetStatisticInfo.setEnabled(true); btnStop.setEnabled(false); parseData = task.getStatisticData(); task = null; if (errorMsg != null) JOptionPane.showMessageDialog(null, "Error: " + errorMsg); else JOptionPane.showMessageDialog(null, "Success"); } } } }); timer.start(); btnMsgLog = new JButton(". . ."); btnMsgLog.setEnabled(false); btnMsgLog.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(); File f = new File(tfMsgLog.getText()); chooser.setSelectedFile(f); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); int returnVal = chooser.showOpenDialog(frmSsTraceParser); if (returnVal == JFileChooser.APPROVE_OPTION) { File f2 = chooser.getSelectedFile(); tfMsgLog.setText(f2.getPath()); } } }); btnMsgLog.setBounds(453, 26, 52, 23); pnMsgLog.add(btnMsgLog); cbTcapData = new JCheckBox("Store in the log TCAP message source data"); // cbTcapData.addItemListener(new ItemListener() { // public void itemStateChanged(ItemEvent e) { // cbDialogDet.setEnabled(cbTcapData.isSelected()); // cbCompDet.setEnabled(cbTcapData.isSelected()); // } // }); cbTcapData.setBounds(10, 50, 296, 23); pnMsgLog.add(cbTcapData); cbDialogDet = new JCheckBox("Write dialog portion details"); cbDialogDet.setBounds(10, 76, 296, 23); pnMsgLog.add(cbDialogDet); cbCompDet = new JCheckBox("Write components portion details"); cbCompDet.setBounds(10, 102, 296, 23); pnMsgLog.add(cbCompDet); lblMessagesPerformed = new JLabel("Messages performed"); lblMessagesPerformed.setBounds(10, 592, 140, 14); panel_1.add(lblMessagesPerformed); tfMsgCnt = new JTextField(); tfMsgCnt.setEditable(false); tfMsgCnt.setBounds(160, 589, 86, 20); panel_1.add(tfMsgCnt); tfMsgCnt.setColumns(10); tfDialogIdFilter2 = new JTextField(); tfDialogIdFilter2.setEnabled(false); tfDialogIdFilter2.setColumns(10); tfDialogIdFilter2.setBounds(399, 248, 153, 20); panel_1.add(tfDialogIdFilter2); panel_3 = new JPanel(); panel_3.setBorder(new LineBorder(new Color(0, 0, 0))); panel_3.setLayout(null); panel_3.setBounds(10, 69, 543, 58); panel_1.add(panel_3); rdbtnMap = new JRadioButton("MAP"); buttonGroup_1.add(rdbtnMap); rdbtnMap.setSelected(true); rdbtnMap.setBounds(6, 28, 109, 23); panel_3.add(rdbtnMap); lblProtocol = new JLabel("Protocol"); lblProtocol.setBounds(15, 11, 154, 14); panel_3.add(lblProtocol); rdbtnCap = new JRadioButton("CAP"); buttonGroup_1.add(rdbtnCap); rdbtnCap.setBounds(119, 28, 99, 23); panel_3.add(rdbtnCap); rdbtnIsup = new JRadioButton("ISUP"); buttonGroup_1.add(rdbtnIsup); rdbtnIsup.setBounds(228, 28, 99, 23); panel_3.add(rdbtnIsup); cbOpcDpcFilter = new JCheckBox("Opc / Dpc filter (Ex: \"120,130\")"); cbOpcDpcFilter.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { tfOpcDpcFilter.setEnabled(cbOpcDpcFilter.isSelected()); } }); cbOpcDpcFilter.setBounds(20, 278, 210, 23); panel_1.add(cbOpcDpcFilter); tfOpcDpcFilter = new JTextField(); tfOpcDpcFilter.setEnabled(false); tfOpcDpcFilter.setColumns(10); tfOpcDpcFilter.setBounds(236, 279, 317, 20); panel_1.add(tfOpcDpcFilter); cbRecordingDialogMessageChain = new JCheckBox("Recording of dialog message chains log"); cbRecordingDialogMessageChain.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { tfRecordingDialogMessageChain.setEnabled(cbRecordingDialogMessageChain.isSelected()); btnRecordingDialogMessageChain.setEnabled(cbRecordingDialogMessageChain.isSelected()); } }); cbRecordingDialogMessageChain.setBounds(20, 486, 338, 23); panel_1.add(cbRecordingDialogMessageChain); JPanel pnDialogMessageMessage = new JPanel(); pnDialogMessageMessage.setBorder(new LineBorder(new Color(0, 0, 0))); pnDialogMessageMessage.setBounds(10, 516, 553, 65); panel_1.add(pnDialogMessageMessage); pnDialogMessageMessage.setLayout(null); JLabel lblDialogMessageMessage = new JLabel("Dialog message message chains log file path"); lblDialogMessageMessage.setBounds(10, 11, 265, 14); pnDialogMessageMessage.add(lblDialogMessageMessage); tfRecordingDialogMessageChain = new JTextField(); tfRecordingDialogMessageChain.setBounds(10, 27, 433, 20); pnDialogMessageMessage.add(tfRecordingDialogMessageChain); tfRecordingDialogMessageChain.setEnabled(false); tfRecordingDialogMessageChain.setColumns(10); btnRecordingDialogMessageChain = new JButton(". . ."); btnRecordingDialogMessageChain.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JFileChooser chooser = new JFileChooser(); File f = new File(tfRecordingDialogMessageChain.getText()); chooser.setSelectedFile(f); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); int returnVal = chooser.showOpenDialog(frmSsTraceParser); if (returnVal == JFileChooser.APPROVE_OPTION) { File f2 = chooser.getSelectedFile(); tfRecordingDialogMessageChain.setText(f2.getPath()); } } }); btnRecordingDialogMessageChain.setBounds(453, 26, 52, 23); pnDialogMessageMessage.add(btnRecordingDialogMessageChain); btnRecordingDialogMessageChain.setEnabled(false); JPanel panel_4 = new JPanel(); panel_4.setLayout(null); panel_4.setBorder(new LineBorder(new Color(0, 0, 0))); panel_4.setBounds(10, 128, 543, 37); panel_1.add(panel_4); rdbtnITU = new JRadioButton("ITU-T"); buttonGroup_2.add(rdbtnITU); rdbtnITU.setSelected(true); rdbtnITU.setBounds(200, 7, 109, 23); panel_4.add(rdbtnITU); JLabel lblProtocolMua = new JLabel("Protocol M3ua / SCCP"); lblProtocolMua.setBounds(15, 11, 154, 14); panel_4.add(lblProtocolMua); rdbtnANSI = new JRadioButton("ANSI"); buttonGroup_2.add(rdbtnANSI); rdbtnANSI.setBounds(313, 7, 99, 23); panel_4.add(rdbtnANSI); } private void getStatisticInfo() { StatisticResultFm fm = new StatisticResultFm(frmSsTraceParser, parseData); fm.setVisible(true); } private void setParameters(Ss7ParseParameters par) { if (par != null) { switch (par.getFileTypeN()) { case Acterna: rdbtnTpActerna.setSelected(true); break; case SimpleSeq: rdbtnTpSimpleSeq.setSelected(true); break; case Pcap: rdbtnTpPcap.setSelected(true); break; case HexStream: rdbtnHexStream.setSelected(true); break; } switch (par.getParseProtocol()) { case Map: rdbtnMap.setSelected(true); break; case Cap: rdbtnCap.setSelected(true); break; case Isup: rdbtnIsup.setSelected(true); break; } switch (par.getSccpProtocolVersion()) { case ITU: rdbtnITU.setSelected(true); break; case ANSI: rdbtnANSI.setSelected(true); break; } if (par.getSourceFilePath() != null) { tfFilePath.setText(par.getSourceFilePath()); } if (par.getApplicationContextFilter() != null) { cbApplicationContextFilter.setSelected(true); tfApplicationContextFilter.setText(par.getApplicationContextFilter().toString()); } if (par.getDialogIdFilter() != null || par.getDialogIdFilter2() != null) { cbDialogIdFilter.setSelected(true); if (par.getDialogIdFilter() != null) tfDialogIdFilter.setText(par.getDialogIdFilter().toString()); if (par.getDialogIdFilter2() != null) tfDialogIdFilter2.setText(par.getDialogIdFilter2().toString()); } if (par.getOpcDpcFilter() != null) { cbOpcDpcFilter.setSelected(true); StringBuilder sb = new StringBuilder(); if (par.getOpcDpcFilter() != null) { boolean nonFirst = false; for (Integer I1 : par.getOpcDpcFilter()) { if (I1 != null) { int i1 = I1; if (nonFirst) sb.append(", "); else nonFirst = true; sb.append(i1); } } } tfOpcDpcFilter.setText(sb.toString()); } if (par.getMsgLogFilePath() != null) { cbMsgLog.setSelected(true); tfMsgLog.setText(par.getMsgLogFilePath()); } if (par.getTcapMsgData()) { cbTcapData.setSelected(true); } if (par.getDetailedDialog()) { cbDialogDet.setSelected(true); } if (par.getDetailedComponents()) { cbCompDet.setSelected(true); } if (par.getMessageChainFilePath() != null) { cbRecordingDialogMessageChain.setSelected(true); tfRecordingDialogMessageChain.setText(par.getMessageChainFilePath()); } } } /** * @return the persistenceDir */ public String getPersistDir() { return persistDir; } /** * @param persistenceDir the persistenceDir to set */ public void setPersistDir(String persistDir) { this.persistDir = persistDir; this.persistFile = persistDir + File.separator + "Ss7ParseParameters.xml"; } private class SwingAction extends AbstractAction { public SwingAction() { putValue(NAME, "SwingAction"); putValue(SHORT_DESCRIPTION, "Some short description"); } public void actionPerformed(ActionEvent e) { } } }