📄 mycngpdemo1.java
字号:
package demo.cngpdemo;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
//不应使用到com.huawei.insa2包内的类
import com.huawei.smproxy.*;
import com.huawei.smproxy.comm.cngp.CNGPConstant;
import com.huawei.smproxy.comm.cngp.message.*;
import com.huawei.smproxy.util.*;
import demo.cmppdemo20.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.lang.Thread;
import java.text.DateFormat;
public class MyCngpDemo1 extends JFrame{
private static Args args;
/** 短信收发接口*/
private CNGPSMProxy smp = null;
private boolean loginSmProxy = false;
//定义CNGP_Submit_Rep统计消息
int sendMsgSum= 0; //发送消息的总数
int sendSuccessMsgSum = 0; //成功发送消息的总数
int recvDeliverMsgSum = 0; //接收消息的总数
//定义CNGP_Query_Rep统计消息
int mt_tlmsg = 0; //从SP接收消息的总数
int mt_tlusr = 0; //从SP接收的用户总数
int mt_scs =0; //成功转发数量
int mt_wt =0; //待转发数量
int mt_fl=0 ; //转发失败的数量
int mo_scs = 0; //向Sp成功送达的数量
int mo_wt = 0; //向SP待送达数量
int mo_fl = 0; //向SP送达失败的数量
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.sss ");
JLabel jLabel2 = new JLabel();
JTextField service_Id = new JTextField();
JLabel jLabel3 = new JLabel();
JTextField fee_Terminal_Id = new JTextField();
JLabel jLabel4 = new JLabel();
JTextField msg_src = new JTextField();
JLabel jLabel5 = new JLabel();
JTextField src_Terminal_Id = new JTextField();
JLabel jLabel6 = new JLabel();
JTextField dest_Terminal_Id = new JTextField();
JLabel jLabel7 = new JLabel();
JTextField msg_Content = new JTextField();
JButton SendButton = new JButton();
JLabel jLabel8 = new JLabel();
JTextField ThreadNum = new JTextField();
JLabel jLabel9 = new JLabel();
JTextField threadRunInterval = new JTextField();
JLabel jLabel10 = new JLabel();
JTextField QueryDate = new JTextField();
JLabel jLabel11 = new JLabel();
JTextField QueryType = new JTextField();
JLabel jLabel12 = new JLabel();
JTextField QueryCode = new JTextField();
JToggleButton QueryButton = new JToggleButton();
JLabel jLabel13 = new JLabel();
JTextField CancelMsgId = new JTextField();
JButton CancelButton = new JButton();
JLabel jLabel14 = new JLabel();
JLabel jLabel15 = new JLabel();
JTextField SendMsgSum = new JTextField();
JLabel jLabel16 = new JLabel();
JTextField SuccessSendSum = new JTextField();
JLabel jLabel17 = new JLabel();
JTextField RecvMsgSum = new JTextField();
JLabel jLabel21 = new JLabel();
JTextField threadSleepInterval = new JTextField();
JLabel jLabel22 = new JLabel();
JTextField myProxyState = new JTextField();
JLabel jLabel23 = new JLabel();
JTextField loginName = new JTextField();
JLabel jLabel24 = new JLabel();
JTextField loginPass = new JTextField();
JButton loginButton = new JButton();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea allRecvContent = new JTextArea();
JLabel jLabel1 = new JLabel();
JLabel jLabel18 = new JLabel();
JTextField calledFrom = new JTextField();
JTextField calledTo = new JTextField();
public MyCngpDemo1()
{
/**@todo 界面布局。*/
try
{
jbInit();
this.setSize(new Dimension(600,450));
Rectangle r =
GraphicsEnvironment.getLocalGraphicsEnvironment()
.getScreenDevices()[0].getDefaultConfiguration().getBounds();
this.setLocation((int)(r.getWidth()-600)/2,(int)(r.getHeight()-450)/2);
//显示当前软件版本号
showStateMsg("current version: " + getVersion());
}
catch(Exception e)
{
e.printStackTrace();
}
}
private static String version = "infoXV100R001.4D201";
/**
* 获取软件版本号
*/
private static String getVersion() {
return version;
}
/**
* 发送消息线程的线程体,负责发送消息。
*/
public void Task()
{
sendMsgSum ++;
//发送短消息请求,并对返回的消息做解析,生成统计数据
//对于出现的异常则交给SendReqThread去捕获处理.
try
{
ProcessSubmitRep(smp.send(getSubmitMsg()));
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 启动发送短消息请求的线程
* @param threadNum 启动的线程的个数
*/
public void StartSendThread(int threadNum,int timeLong,int sleepInterval)
{
if(smp==null)
{
return ;
}
//启动发送线程
// for(int i = 0;i<threadNum;i++)
// {
// new SendReqThread("test",this,timeLong,sleepInterval).start();
// }
}
/**
* 程序入口。
*/
public static void main(String[] a) throws Exception {
new MyCngpDemo().show();
args = new Cfg("app.xml",false).getArgs("CNGPConnect");
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(204, 230, 210));
this.setDefaultCloseOperation(3);
this.setForeground(Color.black);
this.setResizable(false);
this.setTitle("短消息网关测试程序");
jLabel2.setText("业务类型");
jLabel2.setBounds(new Rectangle(22, 61, 57, 22));
service_Id.setBorder(BorderFactory.createLineBorder(Color.black));
service_Id.setToolTipText("");
service_Id.setText("good news");
service_Id.setBounds(new Rectangle(99, 61, 131, 22));
jLabel3.setText("记费号码");
jLabel3.setBounds(new Rectangle(242, 61, 57, 22));
fee_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
fee_Terminal_Id.setText("075540512345678");
fee_Terminal_Id.setBounds(new Rectangle(305, 61, 131, 22));
jLabel5.setText("主叫地址");
jLabel5.setBounds(new Rectangle(22, 94, 59, 22));
src_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
src_Terminal_Id.setToolTipText("源终端MSISDN号码, 即此短消息的主叫地址");
src_Terminal_Id.setText("106213512345678");
src_Terminal_Id.setBounds(new Rectangle(99, 94, 131, 22));
jLabel6.setText("被叫地址");
jLabel6.setBounds(new Rectangle(242, 94, 58, 22));
dest_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
dest_Terminal_Id.setToolTipText("目的用户手机号码");
dest_Terminal_Id.setText("07551234");
dest_Terminal_Id.setBounds(new Rectangle(305, 94, 70, 24));
jLabel7.setText("短消息内容");
jLabel7.setBounds(new Rectangle(22, 124, 69, 22));
msg_Content.setBorder(BorderFactory.createLineBorder(Color.black));
msg_Content.setToolTipText("输入发送的短消息内容");
msg_Content.setText("this is a test");
msg_Content.setBounds(new Rectangle(99, 124, 483, 22));
SendButton.setBorder(BorderFactory.createEtchedBorder());
SendButton.setText("发送测试请求");
SendButton.setBounds(new Rectangle(492, 161, 91, 22));
SendButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
SendButton_actionPerformed(e);
}
});
jLabel8.setText("线程数");
jLabel8.setBounds(new Rectangle(22, 161, 75, 22));
ThreadNum.setBorder(BorderFactory.createLineBorder(Color.black));
ThreadNum.setToolTipText("启动多个线程测试SmProxy提供的API");
ThreadNum.setText("0");
ThreadNum.setBounds(new Rectangle(99, 161, 76, 22));
jLabel9.setText("执行时长(分)");
jLabel9.setBounds(new Rectangle(180, 161, 76, 22));
threadRunInterval.setBorder(BorderFactory.createLineBorder(Color.black));
threadRunInterval.setToolTipText("调用线程执行发送请求的时间长度");
threadRunInterval.setText("0");
threadRunInterval.setBounds(new Rectangle(257, 161, 56, 22));
jLabel14.setFont(new java.awt.Font("Dialog", 0, 14));
jLabel14.setBorder(BorderFactory.createEtchedBorder());
jLabel14.setText("统计数据");
jLabel14.setBounds(new Rectangle(63, 262, 61, 22));
jLabel15.setText("发送消息总数");
jLabel15.setBounds(new Rectangle(24, 293, 81, 22));
SendMsgSum.setBorder(BorderFactory.createEtchedBorder());
SendMsgSum.setEditable(false);
SendMsgSum.setBounds(new Rectangle(113, 293, 74, 22));
jLabel16.setToolTipText("");
jLabel16.setText("成功发送消息数");
jLabel16.setBounds(new Rectangle(24, 320, 90, 22));
SuccessSendSum.setBorder(BorderFactory.createEtchedBorder());
SuccessSendSum.setEditable(false);
SuccessSendSum.setBounds(new Rectangle(113, 320, 74, 22));
jLabel17.setText("接收消息总数");
jLabel17.setBounds(new Rectangle(24, 347, 85, 22));
RecvMsgSum.setBorder(BorderFactory.createEtchedBorder());
RecvMsgSum.setToolTipText("Smc下发的消息的总素");
RecvMsgSum.setEditable(false);
RecvMsgSum.setBounds(new Rectangle(113, 348, 74, 22));
jLabel21.setToolTipText("");
jLabel21.setText("睡眠时长(秒)");
jLabel21.setBounds(new Rectangle(320, 161, 76, 22));
threadSleepInterval.setBorder(BorderFactory.createLineBorder(Color.black));
threadSleepInterval.setText("0");
threadSleepInterval.setBounds(new Rectangle(397, 161, 56, 22));
jLabel22.setBorder(BorderFactory.createEtchedBorder());
jLabel22.setText("运行状态");
jLabel22.setBounds(new Rectangle(26, 381, 70, 22));
myProxyState.setBorder(BorderFactory.createEtchedBorder());
myProxyState.setEditable(false);
myProxyState.setBounds(new Rectangle(101, 382, 484, 22));
jLabel23.setToolTipText("");
jLabel23.setText("登录帐号");
jLabel23.setBounds(new Rectangle(23, 21, 66, 22));
loginName.setBorder(BorderFactory.createLineBorder(Color.black));
loginName.setText("SP");
loginName.setBounds(new Rectangle(100, 21, 131, 22));
jLabel24.setText("登录密码");
jLabel24.setBounds(new Rectangle(243, 21, 60, 22));
loginPass.setBorder(BorderFactory.createLineBorder(Color.black));
loginPass.setBounds(new Rectangle(306, 21, 131, 22));
loginButton.setBorder(BorderFactory.createEtchedBorder());
loginButton.setText("登录系统");
loginButton.setBounds(new Rectangle(470, 21, 105, 22));
loginButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
loginButton_actionPerformed(e);
}
});
CancelButton.setBorder(BorderFactory.createEtchedBorder());
CancelButton.setToolTipText("");
CancelButton.setText("发送取消请求");
CancelButton.setBounds(new Rectangle(470, 61, 105, 22));
CancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
CancelButton_actionPerformed(e);
}
});
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane1.setBounds(new Rectangle(200, 203, 385, 172));
allRecvContent.setLineWrap(true);
jLabel1.setText("From");
jLabel1.setBounds(new Rectangle(395, 95, 37, 20));
jLabel18.setText("To");
jLabel18.setBounds(new Rectangle(516, 94, 27, 19));
calledFrom.setBorder(BorderFactory.createLineBorder(Color.black));
calledFrom.setText("0");
calledFrom.setBounds(new Rectangle(441, 93, 63, 22));
calledTo.setBorder(BorderFactory.createLineBorder(Color.black));
calledTo.setText("3");
calledTo.setBounds(new Rectangle(547, 92, 62, 25));
this.getContentPane().add(jLabel23, null);
this.getContentPane().add(loginName, null);
this.getContentPane().add(jLabel24, null);
this.getContentPane().add(loginPass, null);
this.getContentPane().add(service_Id, null);
this.getContentPane().add(jLabel2, null);
this.getContentPane().add(jLabel3, null);
this.getContentPane().add(fee_Terminal_Id, null);
this.getContentPane().add(ThreadNum, null);
this.getContentPane().add(jLabel8, null);
this.getContentPane().add(jLabel9, null);
this.getContentPane().add(threadSleepInterval, null);
this.getContentPane().add(threadRunInterval, null);
this.getContentPane().add(jLabel21, null);
this.getContentPane().add(QueryDate, null);
this.getContentPane().add(CancelButton, null);
this.getContentPane().add(jLabel14, null);
this.getContentPane().add(jScrollPane1, null);
jScrollPane1.getViewport().add(allRecvContent, null);
this.getContentPane().add(RecvMsgSum, null);
this.getContentPane().add(jLabel15, null);
this.getContentPane().add(jLabel16, null);
this.getContentPane().add(SuccessSendSum, null);
this.getContentPane().add(SendMsgSum, null);
this.getContentPane().add(jLabel17, null);
this.getContentPane().add(myProxyState, null);
this.getContentPane().add(jLabel22, null);
this.getContentPane().add(dest_Terminal_Id, null);
this.getContentPane().add(src_Terminal_Id, null);
this.getContentPane().add(jLabel6, null);
this.getContentPane().add(jLabel5, null);
this.getContentPane().add(msg_Content, null);
this.getContentPane().add(jLabel7, null);
this.getContentPane().add(SendButton, null);
this.getContentPane().add(jLabel4, null);
this.getContentPane().add(loginButton, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(calledFrom, null);
this.getContentPane().add(jLabel18, null);
this.getContentPane().add(calledTo, null);
}
/**
* 处理用户发送短消息的测试请求.
*/
void SendButton_actionPerformed(ActionEvent e)
{
int threadNum = 0;
int runInterval = 0;
int sleepInterval = 0;
//如果没有成成功登录
if(!loginSmProxy)
{
showStateMsg("系统没有成功登录");
return ;
}
try
{
threadNum= Integer.parseInt(ThreadNum.getText().trim());
runInterval = Integer.parseInt(threadRunInterval.getText().trim());
sleepInterval = Integer.parseInt(threadSleepInterval.getText().trim());
}
catch(Exception ex) //such as 用户没有输入线程数或者是其他非法字符的时候
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -