⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputreader.java

📁 著名IT公司ILog的APS高级排产优化引擎
💻 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 + -