/*
* 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.simulatorgui.tests.sms;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.management.Notification;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.mobicents.protocols.ss7.tools.simulator.tests.sms.TestSmsServerManMBean;
import org.mobicents.protocols.ss7.tools.simulatorgui.TestingForm;
/**
*
* @author sergey vetyutnev
*
*/
public class TestSmsServerForm extends TestingForm {
private static final long serialVersionUID = 7219729321344799776L;
private TestSmsServerManMBean smsServer;
private JTextField tbMessage;
private JTextField tbDestIsdnNumber;
private JTextField tbOrigIsdnNumber;
private JTextField tbImsi;
private JTextField tbVlrNumber;
private JLabel lbMessage;
private JLabel lbResult;
private JLabel lbState;
public TestSmsServerForm(JFrame owner) {
super(owner);
JPanel panel = new JPanel();
panel_c.add(panel, BorderLayout.CENTER);
GridBagLayout gbl_panel = new GridBagLayout();
gbl_panel.columnWidths = new int[] { 0, 0, 0 };
gbl_panel.rowHeights = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
gbl_panel.columnWeights = new double[] { 0.0, 1.0, Double.MIN_VALUE };
gbl_panel.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, Double.MIN_VALUE };
panel.setLayout(gbl_panel);
JLabel label = new JLabel("Message text");
GridBagConstraints gbc_label = new GridBagConstraints();
gbc_label.insets = new Insets(0, 0, 5, 5);
gbc_label.anchor = GridBagConstraints.EAST;
gbc_label.gridx = 0;
gbc_label.gridy = 0;
panel.add(label, gbc_label);
tbMessage = new JTextField();
tbMessage.setColumns(10);
GridBagConstraints gbc_tbMessage = new GridBagConstraints();
gbc_tbMessage.insets = new Insets(0, 0, 5, 0);
gbc_tbMessage.fill = GridBagConstraints.HORIZONTAL;
gbc_tbMessage.gridx = 1;
gbc_tbMessage.gridy = 0;
panel.add(tbMessage, gbc_tbMessage);
JLabel lblDestinationIsdmNumber = new JLabel("Destination ISDN number");
GridBagConstraints gbc_lblDestinationIsdmNumber = new GridBagConstraints();
gbc_lblDestinationIsdmNumber.anchor = GridBagConstraints.EAST;
gbc_lblDestinationIsdmNumber.insets = new Insets(0, 0, 5, 5);
gbc_lblDestinationIsdmNumber.gridx = 0;
gbc_lblDestinationIsdmNumber.gridy = 1;
panel.add(lblDestinationIsdmNumber, gbc_lblDestinationIsdmNumber);
tbDestIsdnNumber = new JTextField();
tbDestIsdnNumber.setColumns(10);
GridBagConstraints gbc_tbDestIsdnNumber = new GridBagConstraints();
gbc_tbDestIsdnNumber.insets = new Insets(0, 0, 5, 0);
gbc_tbDestIsdnNumber.fill = GridBagConstraints.HORIZONTAL;
gbc_tbDestIsdnNumber.gridx = 1;
gbc_tbDestIsdnNumber.gridy = 1;
panel.add(tbDestIsdnNumber, gbc_tbDestIsdnNumber);
JLabel lblOriginationIsdnNumber = new JLabel("Origination ISDN number");
GridBagConstraints gbc_lblOriginationIsdnNumber = new GridBagConstraints();
gbc_lblOriginationIsdnNumber.anchor = GridBagConstraints.EAST;
gbc_lblOriginationIsdnNumber.insets = new Insets(0, 0, 5, 5);
gbc_lblOriginationIsdnNumber.gridx = 0;
gbc_lblOriginationIsdnNumber.gridy = 2;
panel.add(lblOriginationIsdnNumber, gbc_lblOriginationIsdnNumber);
tbOrigIsdnNumber = new JTextField();
tbOrigIsdnNumber.setColumns(10);
GridBagConstraints gbc_tbOrigIsdnNumber = new GridBagConstraints();
gbc_tbOrigIsdnNumber.insets = new Insets(0, 0, 5, 0);
gbc_tbOrigIsdnNumber.fill = GridBagConstraints.HORIZONTAL;
gbc_tbOrigIsdnNumber.gridx = 1;
gbc_tbOrigIsdnNumber.gridy = 2;
panel.add(tbOrigIsdnNumber, gbc_tbOrigIsdnNumber);
JLabel lblImsi = new JLabel("IMSI");
GridBagConstraints gbc_lblImsi = new GridBagConstraints();
gbc_lblImsi.anchor = GridBagConstraints.EAST;
gbc_lblImsi.insets = new Insets(0, 0, 5, 5);
gbc_lblImsi.gridx = 0;
gbc_lblImsi.gridy = 3;
panel.add(lblImsi, gbc_lblImsi);
tbImsi = new JTextField();
tbImsi.setColumns(10);
GridBagConstraints gbc_tbImsi = new GridBagConstraints();
gbc_tbImsi.insets = new Insets(0, 0, 5, 0);
gbc_tbImsi.fill = GridBagConstraints.HORIZONTAL;
gbc_tbImsi.gridx = 1;
gbc_tbImsi.gridy = 3;
panel.add(tbImsi, gbc_tbImsi);
JLabel lblVlrNumber = new JLabel("VLR number");
GridBagConstraints gbc_lblVlrNumber = new GridBagConstraints();
gbc_lblVlrNumber.anchor = GridBagConstraints.EAST;
gbc_lblVlrNumber.insets = new Insets(0, 0, 5, 5);
gbc_lblVlrNumber.gridx = 0;
gbc_lblVlrNumber.gridy = 4;
panel.add(lblVlrNumber, gbc_lblVlrNumber);
tbVlrNumber = new JTextField();
tbVlrNumber.setColumns(10);
GridBagConstraints gbc_tbVlrNumber = new GridBagConstraints();
gbc_tbVlrNumber.insets = new Insets(0, 0, 5, 0);
gbc_tbVlrNumber.fill = GridBagConstraints.HORIZONTAL;
gbc_tbVlrNumber.gridx = 1;
gbc_tbVlrNumber.gridy = 4;
panel.add(tbVlrNumber, gbc_tbVlrNumber);
lbState = new JLabel("-");
GridBagConstraints gbc_lbState = new GridBagConstraints();
gbc_lbState.insets = new Insets(0, 0, 5, 5);
gbc_lbState.gridx = 1;
gbc_lbState.gridy = 8;
panel.add(lbState, gbc_lbState);
JPanel panel_1 = new JPanel();
panel_1.setLayout(null);
GridBagConstraints gbc_panel_1 = new GridBagConstraints();
gbc_panel_1.insets = new Insets(0, 0, 5, 0);
gbc_panel_1.fill = GridBagConstraints.BOTH;
gbc_panel_1.gridx = 1;
gbc_panel_1.gridy = 5;
panel.add(panel_1, gbc_panel_1);
JButton btnSendSriforsm = new JButton("Send SRIForSM");
btnSendSriforsm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendSRIForSM();
}
});
btnSendSriforsm.setBounds(0, 0, 164, 23);
panel_1.add(btnSendSriforsm);
JButton btnSendSriforsmmtforwardsm = new JButton("Send SRIForSM + MtForwardSM");
btnSendSriforsmmtforwardsm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendSRIForSM_Mtforwardsm();
}
});
btnSendSriforsmmtforwardsm.setBounds(174, 0, 234, 23);
panel_1.add(btnSendSriforsmmtforwardsm);
JButton btnSendMtforwardsm = new JButton("Send MtForwardSM");
btnSendMtforwardsm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendMtforwardsm();
}
});
btnSendMtforwardsm.setBounds(414, 0, 180, 23);
panel_1.add(btnSendMtforwardsm);
JLabel label_1 = new JLabel("Operation result");
GridBagConstraints gbc_label_1 = new GridBagConstraints();
gbc_label_1.insets = new Insets(0, 0, 5, 5);
gbc_label_1.gridx = 0;
gbc_label_1.gridy = 6;
panel.add(label_1, gbc_label_1);
lbResult = new JLabel("-");
GridBagConstraints gbc_lbResult = new GridBagConstraints();
gbc_lbResult.insets = new Insets(0, 0, 5, 0);
gbc_lbResult.gridx = 1;
gbc_lbResult.gridy = 6;
panel.add(lbResult, gbc_lbResult);
JLabel label_2 = new JLabel("Message received");
GridBagConstraints gbc_label_2 = new GridBagConstraints();
gbc_label_2.insets = new Insets(0, 0, 0, 5);
gbc_label_2.gridx = 0;
gbc_label_2.gridy = 7;
panel.add(label_2, gbc_label_2);
lbMessage = new JLabel("-");
GridBagConstraints gbc_lbMessage = new GridBagConstraints();
gbc_lbMessage.gridx = 1;
gbc_lbMessage.gridy = 7;
panel.add(lbMessage, gbc_lbMessage);
}
public void setData(TestSmsServerManMBean smsServer) {
this.smsServer = smsServer;
}
private void sendSRIForSM() {
this.lbMessage.setText("");
String msg = this.tbDestIsdnNumber.getText();
String res = this.smsServer.performSRIForSM(msg);
this.lbResult.setText(res);
}
private void sendMtforwardsm() {
this.lbMessage.setText("");
String msg = this.tbMessage.getText();
String destImsi = this.tbImsi.getText();
String vlrNumber = this.tbVlrNumber.getText();
String origIsdnNumber = this.tbOrigIsdnNumber.getText();
String res = this.smsServer.performMtForwardSM(msg, destImsi, vlrNumber, origIsdnNumber);
this.lbResult.setText(res);
}
private void sendSRIForSM_Mtforwardsm() {
this.lbMessage.setText("");
String msg = this.tbMessage.getText();
String destIsdnNumber = this.tbDestIsdnNumber.getText();
String origIsdnNumber = this.tbOrigIsdnNumber.getText();
String res = this.smsServer.performSRIForSM_MtForwardSM(msg, destIsdnNumber, origIsdnNumber);
this.lbResult.setText(res);
}
@Override
public void sendNotif(Notification notif) {
super.sendNotif(notif);
// if (notif.getMessage().startsWith("CurDialog: Rcvd: procUnstrSsReq: ")) {
// String s1 = notif.getMessage().substring(17);
// this.lbMessage.setText(s1);
// }
//
// if (notif.getMessage().startsWith("CurDialog: Rcvd: unstrSsResp: ")) {
// String s1 = notif.getMessage().substring(17);
// this.lbMessage.setText(s1);
// }
}
@Override
public void refreshState() {
super.refreshState();
String s1 = this.smsServer.getCurrentRequestDef();
this.lbState.setText(s1);
}
}