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

📄 cb8583config.java

📁 8583 pack and unpack 8583 pro
💻 JAVA
字号:
package com.szzt.trade.zsbank;

import com.szzt.controller.context.RequestContext;
import com.szzt.controller.context.HttpRequestContext;
import com.szzt.common.xml.XmlProcessor;

import org.jdom.Document;
import org.jdom.Element;
import org.apache.log4j.Logger;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import com.szzt.common.SysFunction;
import com.szzt.trade.tradestruct.*;
import com.szzt.common.*;


public class CB8583Config {
  private static final String SERVICE_NAME="boc";
  public String hostIP = null;
  public int    hostPort = -1;
  public int    connectTimeout = 60;
  public String acqInstID = null;
  public String termID = null;
  public String identifyCode = null;
  public Map tradeList = new HashMap();

  protected static CB8583Config singletonInstance = null;

  public CB8583Config() {
    loadTradeConfig();
  }

  public static CB8583Config getInstance() {
        if(singletonInstance == null){
             singletonInstance = new CB8583Config();
        }
        return singletonInstance;
  }

  public void loadTradeConfig()
   {
     clear();
     Document xmlDoc = null;
     Element rootElement = null;
     List serviceElements = null;
     Element serviceElement = null;
     List tradeChildElements = null;
     Element tradeChildElement = null;
     List tradeParamChildElements = null;
     Element tradeParamChildElement = null;
     List nextTradeChildElements = null;
     Element nextTradeChildElement = null;
     try{
       xmlDoc = XmlProcessor.readDocument(SysFunction.getRootPath()+Constants.TRADE_CONFIG_FILE);
       rootElement = xmlDoc.getRootElement();
       serviceElements = rootElement.getChildren("tradeservice");
       for(int i = 0; i < serviceElements.size(); i++)
       {
         serviceElement = null;
         serviceElement = (Element)serviceElements.get(i);
         if(serviceElement.getAttributeValue("name").compareToIgnoreCase(SERVICE_NAME) == 0)
         {
             if(serviceElement.hasChildren()){
                 tradeChildElements = serviceElement.getChildren();
                 for(int j = 0; j < tradeChildElements.size(); j++){
                     tradeChildElement = (Element)tradeChildElements.get(j);
                     if(tradeChildElement.getName().equals("parameter")){
                         String paramName = tradeChildElement.getAttributeValue("name");
                         if(paramName!=null && paramName.trim().equals("acqInstID")){
                             acqInstID = tradeChildElement.getAttributeValue("value").trim();
                         }
                         else if(paramName!=null && paramName.trim().equals("termID")){
                             termID = tradeChildElement.getAttributeValue("value").trim();
                         }
                         else if(paramName!=null && paramName.trim().equals("identifyCode")){
                             identifyCode = tradeChildElement.getAttributeValue("value").trim();
                         }
                     }
                     else if (tradeChildElement.getName().equals("trade")) {
                         TradeParam tradeParam = new TradeParam();
                         tradeParam.tradeCode = tradeChildElement.getAttributeValue("code");
                         tradeParam.tradeToCode = tradeChildElement.getAttributeValue("tocode");
                         tradeParam.tradeName = tradeChildElement.getAttributeValue("name");
                         tradeParam.tradeType = tradeChildElement.getAttributeValue("type");
                         if(tradeChildElement.hasChildren()){
                            tradeParamChildElements = tradeChildElement.getChildren();
                            for(int k=0; k<tradeParamChildElements.size(); k++){
                                tradeParamChildElement = (Element)tradeParamChildElements.get(k);
                                String tradeParamChildName = tradeParamChildElement.getName();
                                if(tradeParamChildName.equals("parameter")){
                                  tradeParam.paramList.put(tradeParamChildElement.getAttributeValue("name").trim(),tradeParamChildElement.getAttributeValue("value").trim());
                                }
                                else if(tradeParamChildName.equals("next")){
                                  SerialTradeParam nextTrade = new SerialTradeParam();
                                  nextTrade.from = tradeParamChildElement.getAttributeValue("from").trim();
                                  nextTrade.validValue = tradeParamChildElement.getAttributeValue("valid").trim();
                                  nextTrade.maxTradeNum = Integer.parseInt(tradeParamChildElement.getAttributeValue("maxtradenum").trim());

                                  if(tradeParamChildElement.hasChildren()){
                                    nextTradeChildElements = tradeParamChildElement.getChildren();
                                    for(int l=0; l<nextTradeChildElements.size(); l++){
                                        nextTradeChildElement = (Element)nextTradeChildElements.get(l);
                                        SerialTradeParamHelper nextTradeHelper = new SerialTradeParamHelper();
                                        nextTradeHelper.from = nextTradeChildElement.getAttributeValue("from").trim();
                                        nextTradeHelper.to = nextTradeChildElement.getAttributeValue("to").trim();
                                        nextTrade.paramList.add(nextTradeHelper);
                                    }
                                  }
                                  tradeParam.serialTrade = nextTrade;
                                }
                            }
                         }
                         tradeList.put(tradeParam.tradeCode,tradeParam);
                     }
                 }
             }
             break;
         }
       }
     }finally{
       if (serviceElements != null)
         serviceElements.clear();
       if (tradeChildElements != null)
         tradeChildElements.clear();
       if (tradeParamChildElements != null)
         tradeParamChildElements.clear();
       if (nextTradeChildElements != null)
         nextTradeChildElements.clear();
       nextTradeChildElement = null;
       nextTradeChildElements = null;
       tradeParamChildElement = null;
       tradeParamChildElements = null;
       tradeChildElement = null;
       tradeChildElements = null;
       serviceElement = null;
       serviceElements = null;
       rootElement = null;
       xmlDoc = null;
      }
  }

  public TradeParam getTradeParam(String tradeCode){
    if (tradeList.get(tradeCode) == null)
      return null;
    TradeParam tradeParam = (TradeParam)tradeList.get(tradeCode);
    if (tradeParam.paramList == null)
      return null;
    return tradeParam;
  }


  public void clear(){
       if(tradeList != null){
          Iterator keyList = tradeList.keySet().iterator();
          while(keyList.hasNext()){
             String key = (String)keyList.next();
             ((TradeParam)tradeList.get(key)).clear();
          }
          tradeList.clear();
       }
  }




}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -