Package edu.zzuli.common.security

Source Code of edu.zzuli.common.security.DBUrlSourceManager

package edu.zzuli.common.security;

import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.acegisecurity.ConfigAttributeEditor;
import org.springframework.jdbc.core.JdbcTemplate;

public class DBUrlSourceManager {
 
  private JdbcTemplate acegiJdbcTemplate;

  private String urlFindSql;

  private Map urlMap;

  private String COL_URL = "URL";

  private String COL_JS = "JS";

  public void setAcegiJdbcTemplate(JdbcTemplate acegiJdbcTemplate) {
    this.acegiJdbcTemplate = acegiJdbcTemplate;
  }

  public void setUrlFindSql(String urlFindSql) {
    this.urlFindSql = urlFindSql;
  }

  public void setCOL_URL(String COL_URL) {
    this.COL_URL = COL_URL;
  }

  public void setCOL_JS(String COL_JS) {
    this.COL_JS = COL_JS;
  }

  public Map getUrlMap() {
    if (this.urlMap == null) {
      this.sortMap();
      convertToConfigAttributeDefinition();
      System.out.println("[ConfigAttributeDefinition Map]"+this.urlMap.toString());
    }
    return this.urlMap;
  }

  public void clearUrlMap() {
    this.urlMap = null;
  }

  private void sortMap() {
    this.urlMap = new Hashtable();
    List listUrl = this.acegiJdbcTemplate.queryForList(this.urlFindSql);
    if (listUrl == null)
      return;
    for (int i = 0; i < listUrl.size(); i++) {
      Map qxMap = (Map) listUrl.get(i);
      String strUrl = this.convertUrl((String) qxMap.get(this.COL_URL));
      String strJs = qxMap.get(this.COL_JS).toString();
      String strJs_Former = (String) this.urlMap.get(strUrl);
      if (strJs_Former != null) {
        strJs = strJs_Former + "," + strJs;
      }
      this.urlMap.put(strUrl, strJs);

//      System.out.println(qxMap.toString());
    }
  }
  private void convertToConfigAttributeDefinition () {
    Iterator it = this.urlMap.keySet().iterator();
    while (it.hasNext()) {
      String strUrl = (String)it.next();
      String authStr = (String)this.urlMap.get(strUrl);
      ConfigAttributeEditor configAttrEditor = new ConfigAttributeEditor();
      configAttrEditor.setAsText(authStr);
      this.urlMap.put(strUrl, configAttrEditor.getValue());
    }
  }

  public String convertUrl(String str) {
    if (str.indexOf("/") != -1) {
      int index = str.lastIndexOf("/") + 1;
      str = str.substring(0, index);
    }
    str = "\\A" + str + ".*\\Z";
    return str;
  }
}
TOP

Related Classes of edu.zzuli.common.security.DBUrlSourceManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.