/* * 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.ati; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.LineBorder; import java.awt.Color; import javax.swing.JLabel; import javax.swing.JComboBox; import javax.swing.JButton; import org.mobicents.protocols.ss7.map.api.primitives.AddressNature; import org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan; import org.mobicents.protocols.ss7.map.api.service.mobility.subscriberInformation.DomainType; import org.mobicents.protocols.ss7.tools.simulator.common.AddressNatureType; import org.mobicents.protocols.ss7.tools.simulator.level3.NumberingPlanMapType; import org.mobicents.protocols.ss7.tools.simulator.tests.ati.AtiDomainType; import org.mobicents.protocols.ss7.tools.simulator.tests.ati.SubscriberIdentityType; import org.mobicents.protocols.ss7.tools.simulator.tests.ati.TestAtiClientManMBean; import org.mobicents.protocols.ss7.tools.simulatorgui.M3uaForm; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JRadioButton; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JTextField; /** * * @author sergey vetyutnev * */ public class TestAtiClientParamForm extends JDialog { private static final long serialVersionUID = 5106250858311037393L; private TestAtiClientManMBean atiClient; private JComboBox cbAddressNature; private JComboBox cbNumberingPlan; private JRadioButton rbImsi; private JRadioButton rbMsisdn; private final ButtonGroup buttonGroup = new ButtonGroup(); private final ButtonGroup buttonGroup_1 = new ButtonGroup(); private JCheckBox cbLocationInformation; private JCheckBox cbSubscriberState; private JCheckBox cbCurrentLocation; private JRadioButton rbCsDomain; private JRadioButton rbPsDomain; private JCheckBox cbImei; private JCheckBox cbMsClassmark; private JCheckBox cbMnpRequestedInfo; private JTextField tbGsmSCFAddress; private JRadioButton rbDomainType_NoValue; public TestAtiClientParamForm(JFrame owner) { super(owner, true); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setResizable(false); setTitle("ATI test client settings"); setBounds(100, 100, 585, 584); getContentPane().setLayout(null); JPanel panel = new JPanel(); panel.setLayout(null); panel.setBorder(new LineBorder(new Color(0, 0, 0))); panel.setBounds(10, 59, 511, 94); getContentPane().add(panel); JLabel lblParametersForAddresses = new JLabel("Parameters for AddressString creation"); lblParametersForAddresses.setBounds(10, 0, 266, 14); panel.add(lblParametersForAddresses); JLabel lblAddressnature = new JLabel("AddressNature"); lblAddressnature.setBounds(10, 28, 174, 14); panel.add(lblAddressnature); JLabel lblNumberingplan = new JLabel("NumberingPlan"); lblNumberingplan.setBounds(10, 59, 174, 14); panel.add(lblNumberingplan); cbAddressNature = new JComboBox(); cbAddressNature.setBounds(194, 25, 307, 20); panel.add(cbAddressNature); cbNumberingPlan = new JComboBox(); cbNumberingPlan.setBounds(194, 56, 307, 20); panel.add(cbNumberingPlan); JButton button = new JButton("Load default values for side A"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { loadDataA(); } }); button.setBounds(10, 488, 246, 23); getContentPane().add(button); JButton button_1 = new JButton("Load default values for side B"); button_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { loadDataB(); } }); button_1.setBounds(266, 488, 255, 23); getContentPane().add(button_1); JButton button_2 = new JButton("Reload"); button_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { reloadData(); } }); button_2.setBounds(10, 522, 144, 23); getContentPane().add(button_2); JButton button_3 = new JButton("Save"); button_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (saveData()) { getJFrame().dispose(); } } }); button_3.setBounds(180, 522, 117, 23); getContentPane().add(button_3); JButton button_4 = new JButton("Cancel"); button_4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { getJFrame().dispose(); } }); button_4.setBounds(404, 522, 117, 23); getContentPane().add(button_4); JPanel pnSubscriberIdentityType = new JPanel(); pnSubscriberIdentityType.setBounds(10, 11, 511, 37); getContentPane().add(pnSubscriberIdentityType); pnSubscriberIdentityType.setLayout(null); rbImsi = new JRadioButton("IMSI"); buttonGroup.add(rbImsi); rbImsi.setBounds(299, 7, 88, 23); pnSubscriberIdentityType.add(rbImsi); rbMsisdn = new JRadioButton("MSISDN"); buttonGroup.add(rbMsisdn); rbMsisdn.setBounds(405, 7, 88, 23); pnSubscriberIdentityType.add(rbMsisdn); JLabel lblNewLabel = new JLabel("Subscriber identity type"); lblNewLabel.setBounds(10, 11, 243, 14); pnSubscriberIdentityType.add(lblNewLabel); JPanel panel_1 = new JPanel(); panel_1.setLayout(null); panel_1.setBorder(new LineBorder(new Color(0, 0, 0))); panel_1.setBounds(10, 164, 562, 209); getContentPane().add(panel_1); JLabel lblRequestedInfoIn = new JLabel("Requested info in ATI request"); lblRequestedInfoIn.setBounds(10, 0, 266, 14); panel_1.add(lblRequestedInfoIn); cbLocationInformation = new JCheckBox("Location Information"); cbLocationInformation.setBounds(10, 21, 511, 23); panel_1.add(cbLocationInformation); cbSubscriberState = new JCheckBox("Subscriber State"); cbSubscriberState.setBounds(10, 47, 511, 23); panel_1.add(cbSubscriberState); cbCurrentLocation = new JCheckBox("Current Location"); cbCurrentLocation.setBounds(10, 73, 511, 23); panel_1.add(cbCurrentLocation); JLabel lblDomainType = new JLabel("Domain Type"); lblDomainType.setBounds(10, 103, 130, 14); panel_1.add(lblDomainType); rbCsDomain = new JRadioButton("csDomain"); buttonGroup_1.add(rbCsDomain); rbCsDomain.setBounds(236, 99, 88, 23); panel_1.add(rbCsDomain); rbPsDomain = new JRadioButton("psDomain"); buttonGroup_1.add(rbPsDomain); rbPsDomain.setBounds(340, 99, 88, 23); panel_1.add(rbPsDomain); cbImei = new JCheckBox("Imei"); cbImei.setBounds(10, 124, 511, 23); panel_1.add(cbImei); cbMsClassmark = new JCheckBox("Ms Classmark"); cbMsClassmark.setBounds(10, 150, 511, 23); panel_1.add(cbMsClassmark); cbMnpRequestedInfo = new JCheckBox("Mnp Requested Info"); cbMnpRequestedInfo.setBounds(10, 176, 511, 23); panel_1.add(cbMnpRequestedInfo); rbDomainType_NoValue = new JRadioButton("No value"); buttonGroup_1.add(rbDomainType_NoValue); rbDomainType_NoValue.setBounds(132, 99, 88, 23); panel_1.add(rbDomainType_NoValue); JLabel lblGsmScfAddress = new JLabel("Gsm SCF address digits"); lblGsmScfAddress.setBounds(10, 387, 361, 14); getContentPane().add(lblGsmScfAddress); tbGsmSCFAddress = new JTextField(); tbGsmSCFAddress.setColumns(10); tbGsmSCFAddress.setBounds(392, 384, 177, 20); getContentPane().add(tbGsmSCFAddress); } public void setData(TestAtiClientManMBean atiClient) { this.atiClient = atiClient; this.reloadData(); } private JDialog getJFrame() { return this; } private void reloadData() { M3uaForm.setEnumeratedBaseComboBox(cbAddressNature, this.atiClient.getAddressNature()); M3uaForm.setEnumeratedBaseComboBox(cbNumberingPlan, this.atiClient.getNumberingPlan()); if (this.atiClient.getSubscriberIdentityType().intValue() == SubscriberIdentityType.VALUE_IMSI) { this.rbImsi.setSelected(true); } else { this.rbMsisdn.setSelected(true); } this.cbLocationInformation.setSelected(this.atiClient.isGetLocationInformation()); this.cbSubscriberState.setSelected(this.atiClient.isGetSubscriberState()); this.cbCurrentLocation.setSelected(this.atiClient.isGetCurrentLocation()); this.cbImei.setSelected(this.atiClient.isGetImei()); this.cbMsClassmark.setSelected(this.atiClient.isGetMsClassmark()); this.cbMnpRequestedInfo.setSelected(this.atiClient.isGetMnpRequestedInfo()); switch (this.atiClient.getGetRequestedDomain().intValue()) { case AtiDomainType.NO_VALUE: this.rbDomainType_NoValue.setSelected(true); break; case 0: this.rbCsDomain.setSelected(true); break; default: this.rbPsDomain.setSelected(true); break; } this.tbGsmSCFAddress.setText(this.atiClient.getGsmSCFAddress()); } private void loadDataA() { M3uaForm.setEnumeratedBaseComboBox(cbAddressNature, new AddressNatureType(AddressNature.international_number.getIndicator())); M3uaForm.setEnumeratedBaseComboBox(cbNumberingPlan, new NumberingPlanMapType(NumberingPlan.ISDN.getIndicator())); this.rbMsisdn.setSelected(true); this.cbLocationInformation.setSelected(true); this.cbSubscriberState.setSelected(false); this.cbCurrentLocation.setSelected(false); this.cbImei.setSelected(false); this.cbMsClassmark.setSelected(false); this.cbMnpRequestedInfo.setSelected(false); this.rbDomainType_NoValue.setSelected(true); this.tbGsmSCFAddress.setText("000"); } private void loadDataB() { loadDataA(); } private boolean saveData() { this.atiClient.setAddressNature((AddressNatureType) cbAddressNature.getSelectedItem()); this.atiClient.setNumberingPlan((NumberingPlanMapType) cbNumberingPlan.getSelectedItem()); if (this.rbImsi.isSelected()) this.atiClient.setSubscriberIdentityType(new SubscriberIdentityType(SubscriberIdentityType.VALUE_IMSI)); else this.atiClient.setSubscriberIdentityType(new SubscriberIdentityType(SubscriberIdentityType.VALUE_ISDN)); this.atiClient.setGetLocationInformation(this.cbLocationInformation.isSelected()); this.atiClient.setGetSubscriberState(this.cbSubscriberState.isSelected()); this.atiClient.setGetCurrentLocation(this.cbCurrentLocation.isSelected()); this.atiClient.setGetImei(this.cbImei.isSelected()); this.atiClient.setGetMsClassmark(this.cbMsClassmark.isSelected()); this.atiClient.setGetMnpRequestedInfo(this.cbMnpRequestedInfo.isSelected()); if (this.rbDomainType_NoValue.isSelected()) this.atiClient.setGetRequestedDomain(new AtiDomainType(AtiDomainType.NO_VALUE)); else if (this.rbCsDomain.isSelected()) this.atiClient.setGetRequestedDomain(new AtiDomainType(DomainType.csDomain.getType())); else this.atiClient.setGetRequestedDomain(new AtiDomainType(DomainType.psDomain.getType())); this.atiClient.setGsmSCFAddress(this.tbGsmSCFAddress.getText()); return true; } }