📄 inputreader.java
字号:
package com.power.pipeengine.InputData;
import java.net.*;
import java.io.*;
import javax.swing.*;
import netscape.javascript.*;
import com.power.util.Message.*;
import com.power.util.urltools.*;
import com.power.pipe.*;
import com.power.pipeengine.*;
import java.util.ResourceBundle;
public class InputReader {
public InputReader() {
}
protected String getFileName() {
return null;
}
static ResourceBundle res = ResourceBundle.getBundle(
"com.power.pipeengine.Res",
EngineConfig.getInstance().getLocale());
private HttpURLConnection urlconn = null;
private BufferedReader getReaderForURL() throws Exception {
String urlAddr = GlobalConfig.getInstance().getURL();
URL url = new URL(urlAddr + "?cmd=LoadInput&fileName=" + getFileName() +
".csv");
BufferedReader d = null;
InputStream in = null;
try {
urlconn = (HttpURLConnection) (url.openConnection());
urlconn.setRequestMethod("GET");
in = urlconn.getInputStream();
d = new BufferedReader(new InputStreamReader(in));
if (isSessionExpired(d)) {
return null;
}
}
catch (Exception e) {
System.out.println(res.getString("Error_openning_URL") +
e.getMessage());
MessageArea.getInstance().addMessage(res.getString("Engine1050") +
getFileName() + "\n");
return null;
}
return d;
}
private BufferedReader getReaderForFile() throws Exception {
FileInputStream r = new FileInputStream(GlobalConfig.getInstance().
getInputDirectory()
+ getFileName()
+ ".csv");
BufferedReader d = new BufferedReader(new InputStreamReader(r));
return d;
}
protected BufferedReader getReader() throws Exception {
BufferedReader d = null;
d = URLFileReader.getInstance().getReaderForURL(
GlobalConfig.getInstance().getFileReadWriteURL(),
"ReadModel",
GlobalConfig.getInstance().getDirectInputDir() +
getFileName() + ".csv");
/*if( GlobalConfig.getInstance().isStandAloneApp() == false ) {
d = getReaderForURL();
} else {
d = getReaderForFile();
}*/
publishFileReadingMsg();
return d;
}
protected void closeURLConnection() {
/*if( urlconn != null ) {
urlconn.disconnect();
}*/
URLFileReader.getInstance().closeURLConnection();
}
protected void publishFileReadingMsg() {
MessageArea.getInstance().addMessage(res.getString("Engine1001") +
res.getString(getFileName()) + "\n");
}
private boolean isSessionExpired(BufferedReader b) {
//read First Line from return Input Stream of 'ParaServlet' urlconnection
try {
b.mark(1024);
}
catch (IOException e) {
MessageArea.getInstance().addMessage(
res.getString("Engine6000"));
MessageArea.getInstance().addMessage(res.getString("Engine9000_Operation"));
return true;
}
String aLine = null;
try {
aLine = b.readLine();
}
catch (IOException e) {
MessageArea.getInstance().addMessage(
res.getString("Engine60001"));
MessageArea.getInstance().addMessage(res.getString("Engine9000_Operation"));
return true;
}
String subString;
//do when Session timeout
if (aLine.indexOf("*error*") == 0) {
//get Javascript String following
subString = aLine.substring("*error*".length());
//get page Window by applet self
JSObject _jsObj = JSObject.getWindow(EngineConfig.getInstance().
getEngineApplet());
//call Javascript function in 'pipeenginedlg.htm'
String _jsPara[] = {
subString};
_jsObj.call("linkLogin", _jsPara);
//maybe return here
try {
b.close();
}
catch (IOException e) {
MessageArea.getInstance().addMessage(
res.getString("Engine60002"));
MessageArea.getInstance().addMessage(res.getString(
"Engine9000_Operation"));
}
return true;
}
//return to the beginning of the stream
try {
b.reset();
}
catch (IOException e) {
MessageArea.getInstance().addMessage(
res.getString("Engine60003"));
MessageArea.getInstance().addMessage(res.getString("Engine9000_Operation"));
return true;
}
return false;
}
protected void reportError(String fieldName, String fieldValue, String aLine) {
MessageArea.getInstance().addMessage("\tDataError: " + fieldName +
"\t" + fieldValue +
" is not defined\n");
MessageArea.getInstance().addMessage("\tRecord discarded: " + aLine + "\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -