/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rolemanager.check;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
/**
*
* @author new
*/
public class NoCheckInfo {
static Logger logger = Logger.getLogger(NoCheckInfo.class.getName());
// public static void main(String args[]) {
// String config = "/uml/*";
// String enterUrl = "/uml/dir/umlddafda/udaf.jsp";
// String enterUrl2 = "/uml/dir/qqwwwww/wewee/eeee/udaf.jsp";
// String enterUrl3 = "/uml/dir/uda.jsp";
// String enterUrl4 = "/uml/dir/udaf.jsp";
// String enterUrl5 = "/uml/dir223udaf.jsp";
// String enterUrl6 = "/umdir223udaf.jsp";
// String[] enterUrlList = {enterUrl, enterUrl2, enterUrl3, enterUrl4, enterUrl5, enterUrl6};
// System.out.println(" " + enterUrl2.substring(0,10));
// for(String u:enterUrlList) {
//
// }
//
// }
public static void main(String args[]) {
Logger logger = Logger.getLogger(NoCheckInfo.class.getName());
// for(Map.Entry en:ps.entrySet()) {
// System.out.println("" + en.getKey());
// }
String enterUrl = "/uml/dir/umlddafda/udaf.jsp";
String enterUrl2 = "/uml/dir/qqwwwww/wewee/eeee/udaf.jsp";
String enterUrl3 = "/uml/dir/uda.jsp";
String enterUrl4 = "/uml/dir/udaf.jsp";
String enterUrl5 = "/uml/dir223udaf.jsp";
String enterUrl6 = "/umdir223udaf.jsp";
String enterUrl7 = "/liuqing/uml/ddfdf/umdir223udaf.jsp";
String enterUrl8 = "/liuqing/js/umdir223udaf.jsp";
String enterUrl9 = "/liuqing/js/ddadf/fdaf/umdir223udaf.jsp";
String enterUrl10 = "/login.jsp";
List<String> enterUrlList = new ArrayList<String>();
enterUrlList.add(enterUrl);
enterUrlList.add(enterUrl2);
enterUrlList.add(enterUrl3);
enterUrlList.add(enterUrl4);
enterUrlList.add(enterUrl5);
enterUrlList.add(enterUrl6);
enterUrlList.add(enterUrl7);
enterUrlList.add(enterUrl8);
enterUrlList.add(enterUrl9);
enterUrlList.add(enterUrl10);
//String[] enterUrlList = {enterUrl, enterUrl2, enterUrl3, enterUrl4, enterUrl5, enterUrl6};
for(String en:enterUrlList) {
isPass(en);
}
}
protected static Properties ps = new Properties();
static {
try {
ps.load(NoCheckInfo.class.getResourceAsStream("/com/rolemanager/check/noCheckInfo.properties"));
} catch (IOException ex) {
throw new java.lang.ExceptionInInitializerError(ex);
}
}
public static boolean isPass(String uri) {
if("1".equals(ps.getProperty("startUp")) ) {
//当启动时
for (Map.Entry en : ps.entrySet()) {
//声明配置信息
String config = String.valueOf(en.getValue());
if(String.valueOf(en.getKey()).startsWith("role") ) {
//判断定义的是多文件夹
if (config.endsWith("**")) {
if (uri.startsWith(config.substring(0, config.length() - 2))) {
logger.debug("configurationInfo" + config + "successful " + uri);
return true;
}
} else if (config.endsWith("/*")) {
//用于匹配单星号
String enter[] = uri.split("/");
int enterLength = 0;
for (int i = 0; i < enter.length - 1; i++) {
enterLength += enter[i].length() + 1;
}
if (uri.substring(0, enterLength).equals(config.substring(0, config.length() - 1)) ) {
logger.debug("configurationInfo" + config + "successful " + uri);
return true;
}
} else if(config.equals(uri)) {
logger.debug("configurationInfo" + config + " successful " + uri);
return true;
}
}
logger.debug( config + " configuration no match " + uri);
}
} else if ("0".equals(ps.getProperty("startUp"))){
return true;
}
return false;
}
}