InterfaceService.java
2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.sitech.ismp.check.interfaces;
import java.util.ArrayList;
import java.util.List;
public class InterfaceService {
private String endSign = InterfacePro.commandEndSign;
private String colsep = "###";
public List<BaseCommand> getShellCommand(String command) {
List<BaseCommand> list = new ArrayList<BaseCommand>();
this.addCommand(list, command, endSign,true);
return list;
}
public List<BaseCommand> getOracleCommand(String command, String dbName,String dbUserName,
String dbPwd) {
if(!command.endsWith(";"))
command += ";";
List<BaseCommand> list = new ArrayList<BaseCommand>();
this.addCommand(list, "sqlplus "+dbUserName+"/"+dbPwd+"@"+dbName, ">", false);
this.addCommand(list, "set colsep "+colsep, ">");
this.addCommand(list, "set heading on", ">");
this.addCommand(list, "set pagesize 0", ">");
this.addCommand(list, "set feedback off", ">");
this.addCommand(list, "set echo off", ">");
this.addCommand(list, "set term off", ">");
this.addCommand(list, "set trims on", ">");
this.addCommand(list, "set linesize 1024", ">");
this.addCommand(list, command, ">", true);
this.addCommand(list, "exit", endSign);
return list;
}
public List<BaseCommand> getParameter(String ip, String userName) {
List<BaseCommand> list = new ArrayList<BaseCommand>();
this.addCommand(list, ip, "Input Protocols Type:", false);
this.addCommand(list, "SSH2", "Input Hostname:", false);
this.addCommand(list, ip, "Input User Prompt:", false);
this.addCommand(list, "null", "Input Password Prompt:", false);
this.addCommand(list, "assword:", "Input User:", false);
this.addCommand(list, userName, "Input Password:", false);
return list;
}
private List<BaseCommand> addCommand(List<BaseCommand> list,String command,String endFlag){
return this.addCommand(list, command, endFlag, false);
}
private List<BaseCommand> addCommand(List<BaseCommand> list,String command,String endFlag,boolean outPut){
if(list==null)
return null;
BaseCommand cmd = new BaseCommand();
cmd.setCommand(command);
cmd.setEnd_flag(endFlag);
cmd.setOut_put(outPut);
list.add(cmd);
return list;
}
public String formatOracleResult(String sql,String result){
result = result.replaceAll("\t", "");
while(result.indexOf(colsep+"\r\n")>=0){
result = result.replaceAll(colsep+"\r\n", colsep+" "+colsep);
}
if(sql.indexOf("*")>0){
return result;
}else{
String temp = sql.substring(sql.toLowerCase().indexOf("select")+6, sql.toLowerCase().indexOf("from"));
String[] columnNames = temp.split(",");
String str = "";
String[] ss = result.split("\r\n\r\n");
if(ss.length==1)
ss = result.split("\r\n");
for(int i=0;i<ss.length;i++){
String[] cols = ss[i].split(colsep);
for(int j=0;j<cols.length;j++){
str += columnNames[j].trim() + "=" + cols[j].trim() + "\n";
}
}
return str;
}
}
}