📄 pipemain.java
字号:
package com.power.pipeengine;
import java.awt.*;
import java.io.*;
import java.text.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;
import com.power.util.Message.*;
import com.power.util.urltools.*;
import com.power.pipeengine.Constraint.*;
import com.power.pipeengine.Entity.*;
import com.power.pipeengine.InputData.*;
import com.power.pipeengine.LPModel.*;
import com.power.pipeengine.Report.*;
import com.power.pipeengine.Variable.*;
import com.power.pipeengine.EngineUI.*;
import com.power.pipeengine.DispatchReport.*;
import com.power.lpsolver.LPSolve.*;
import java.util.ResourceBundle;
import com.power.pipe.*;
/**
* This class can take a variable number of parameters on the command
* line. Program execution begins with the main() method. The class
* constructor is not invoked unless an object of type 'Class1'
* created in the main() method.
*/
public class PIPEMain
extends Thread {
private String errMsg = "**Error";
private int INTERVAL = 30; //secends
/**
* The main entry point for the application.
*
* @param args Array of parameters passed to the application
* via the command line.
*/
static ResourceBundle res = ResourceBundle.getBundle(
"com.power.pipeengine.Res",
EngineConfig.getInstance().getLocale());
private static final PIPEMain INSTANCE =
new PIPEMain();
// Private constructor supresses
// default public constructor
private PIPEMain() {
}
public static PIPEMain getInstance() {
return INSTANCE;
}
private boolean runPIPE = true;
private boolean isWait;
private boolean db2CSVError = false;
private boolean csv2DBError = false;
private JApplet engineApplet;
public void setEngineApplet(JApplet anApplet) {
engineApplet = anApplet;
}
public void runpipe() {
while (true) {
if (EngineConfig.getInstance().getRunFlag() == true) {
EngineConfig.getInstance().setRunFlag(false);
runpipe();
}
try {
isWait = true;
waitThread wT = new waitThread(2);
wT.start();
while (isWait) {}
;
//this.sleep( 1000 );
}
catch (Exception e) {
MessageArea.getInstance().addMessage("Error while waiting: " +
e.getMessage() + "\n");
}
}
}
public void extractDataFromDB(String fileName) {
String urlAddr = GlobalConfig.getInstance().getLPServerURL() +
"com.power.pipeengine.LP_ConvertData";
URL url = null;
HttpURLConnection urlconn = null;
BufferedReader d = null;
InputStream in = null;
try {
url = new URL(urlAddr + "?" +
"cmd=DB-CSV&" +
"FileName=c:\\paraster\\script\\" + fileName + "&" +
"Folder=c:\\paraster\\input");
urlconn = (HttpURLConnection) (url.openConnection());
urlconn.setRequestMethod("GET");
in = urlconn.getInputStream();
d = new BufferedReader(new InputStreamReader(in));
String tmpStr;
while ( (tmpStr = d.readLine()) != null) {
if (tmpStr.length() >= errMsg.length() &&
tmpStr.substring(0, errMsg.length()).equals(errMsg)) {
MessageArea.getInstance().addMessage(
"Error writing file through URL: " + tmpStr + "\n");
db2CSVError = true;
break;
}
else
MessageArea.getInstance().addSvrSideMsg(tmpStr + "\n");
}
}
catch (Exception e) {
MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
}
finally {
try {
d.close();
in.close();
}
catch (Exception e) {
MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
}
}
}
public void writeDispatchListToDB(String csvName, String tblName) {
/**** CSV to DB ****/
String urlAddr = GlobalConfig.getInstance().getLPServerURL() +
//String urlAddr = "http://127.0.0.1/ChangRong/servlet" +
"com.power.pipeengine.LP_ConvertData";
URL url = null;
HttpURLConnection urlconn = null;
BufferedReader d = null;
InputStream in = null;
try {
url = new URL(urlAddr + "?" +
"cmd=CSV-DB&" +
"FileName=c:\\paraster\\output\\" + csvName + "&" +
"TableName=" + tblName);
urlconn = (HttpURLConnection) (url.openConnection());
urlconn.setRequestMethod("POST");
in = urlconn.getInputStream();
d = new BufferedReader(new InputStreamReader(in));
String tmpStr;
while ( (tmpStr = d.readLine()) != null) {
if (tmpStr.length() >= errMsg.length() &&
tmpStr.substring(0, errMsg.length()).equals(errMsg)) {
MessageArea.getInstance().addMessage(
"Error writing file through URL: " + tmpStr + "\n");
csv2DBError = true;
break;
}
else
MessageArea.getInstance().addSvrSideMsg(tmpStr + "\n");
}
}
catch (Exception e) {
MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
}
finally {
try {
d.close();
in.close();
}
catch (Exception e) {
MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
}
}
}
private SimpleDateFormat sdfInput = new SimpleDateFormat(
"yyyy/MM/dd hh:mm:ss");
public void run() {
MessageArea.getInstance().addMessage(res.getString("EngineStartTime"));
Date startDate = new Date(), endDate;
MessageArea.getInstance().addMessage(sdfInput.format(startDate) + "\n");
EngineRunTime.getInstance().start();
try {
MessageArea.getInstance().addMessage(res.getString("GeneratingDataModel") +
"\n");
/**** DB to CSV ****/
String fileName = "normalDBtoCSV.txt";
if (EngineConfig.getInstance().isATPScheduling()) {
fileName = "atpDBtoCSV.txt";
}
extractDataFromDB(fileName);
if (db2CSVError == true) {
//do some cleanup and return
MessageArea.getInstance().addMessage(res.getString("db2CSVError"));
cleanup();
return;
}
String msg = res.getString("Engine0999");
MessageArea.getInstance().addMessage(msg);
/*DataModel dataModel = DataModel.getInstance();
dataModel.createModel();
if (EngineConfig.getInstance().isDataSufficient() == false) {
MessageArea.getInstance().addMessage(
res.getString("Engine1750"));
return;
}
buildConstraints();
System.gc();
MPSFileWriter.getInstance().write("c:\\paraster\\work\\model.mps");
solve();
Solution.getInstance().createSolution();
//build routing network.
createRoutingNetwork();*/
//createReports();
//DispatchList.getInstance().createReport();
SimpleDispatchRule.getInstance().createReport();
if (!EngineConfig.getInstance().isATPScheduling()) {
writeDispatchListToDB("dispatchlist.csv", "tbl_QADispatchList");
}
//if(true) return;
/*writeDispatchListToDB("plansummary.csv", "tbl_PlanSummary");
writeDispatchListToDB("plandetails.csv", "tbl_PlanDetails");
writeDispatchListToDB("nextop.csv", "tbl_QANextOperator");
if (csv2DBError == true) {
//do some cleanup and return
MessageArea.getInstance().addMessage(res.getString("csv2DBError"));
cleanup();
return;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -