ConfigHelper

来源:互联网 发布:阿里云服务器租赁合同 编辑:程序博客网 时间:2024/06/06 02:14

package com.beetle.framework.web.cache;

/**
 * @author Henry Yu 2005-9-27
 *
 */
import java.io.*;
import java.util.*;

import org.dom4j.*;
import org.dom4j.io.*;

public class ConfigHelper {

  private static Map url_cacheObject = new HashMap();
  private static boolean read_flag = false;
  private static ConfigHelper instance = new ConfigHelper();
  private ConfigHelper() {}

  private static String convertPath(String aStr) {
    return "//".concat(aStr.replace('.', '/'));
  }

  public synchronized void readCachePaths(InputStream xmlIs) {
    url_cacheObject.clear();
    SAXReader reader = new SAXReader();
    try {
      Document doc = reader.read(xmlIs);
      Node node = doc.selectSingleNode(convertPath("mappings.caches"));
      if (node != null) {
        Iterator it = node.selectNodes("cItem").iterator();
        while (it.hasNext()) {
         CacheObject cacheObject = new CacheObject();
          Element e = (Element) it.next();
          cacheObject.setUrl(e.valueOf("@name"));
          cacheObject.setScope(e.valueOf("@scope"));
          cacheObject.setTime(toInt(e.valueOf("@time")));
          url_cacheObject.put(cacheObject.getUrl(), cacheObject);
        }
      }
    }
    catch (Exception de) {
      de.printStackTrace();
    }
  }

  private int toInt(String a) {
    return Integer.parseInt(a);
  }

  public static Map getCachePaths(InputStream xmlIs) {
    if (!read_flag) {
      instance.readCachePaths(xmlIs);
      read_flag = true;
    }
    return url_cacheObject;
  }
}
/*
  public static Map getCacheURLs() {
    if (!read_flag) {
      File f = new File(
          ResourceReader.getAPP_HOME() + "config/WebController.xml");
      if (f.exists()) {
        CacheConfig.getInstance().readCacheURLs(f);
      }
      read_flag = true;
    }
    return url_cacheAttr;
  }
 */

原创粉丝点击