else if(actione.getName().equals("interceptor-ref")){
if(null==interceptorlist){
interceptorlist=new ArrayList<InterceptorInfo>();
}
String infoname=actione.attributeValue("name");
InterceptorInfo interinfo=null;
for(InterceptorInfo info:allinterceptor){
if(infoname.equals(info.getInterceptorname())){
interinfo=info;
break;
}
}
if(interinfo!=null){
//证明没有依赖基石文件,只是依赖了本身的配置文件
//添加拦截参数
List<Element> paramelist=actione.elements();
if(paramelist!=null){
Map<String, String> parammap=new HashMap<String, String>();
for(Element parame:paramelist){
parammap.put(parame.attributeValue("name"), parame.getText());
}
interinfo.setParammap(parammap);
}
interceptorlist.add(interinfo);
}else{
//interinfo为空,需要去基石文件中的拦截器列表去找
List<InterceptorInfo> fatherinterlist=ConstantMVC.DEFAULTMVCINFO.getAllinterceptor();
for(InterceptorInfo info:fatherinterlist){
if(infoname.equals(info.getInterceptorname())){
List<Element> paramelist=actione.elements();
if(paramelist!=null){
Map<String, String> parammap=new HashMap<String, String>();
for(Element parame:paramelist){
parammap.put(parame.attributeValue("name"), parame.getText());
}
info.setParammap(parammap);
}
interceptorlist.add(info);
break;
}
}
}
}
action.setInterceptorlist(interceptorlist);
action.setResultmap(resultmap);
action.setStacklist(stacklist);
}
String key=action.getActionname().split("_")[0];
actionmap.put(key, action);
}
mvc.setIncludefilelist(includefilelist);
mvc.setAllinterceptor(allinterceptor);
mvc.setStackmap(stackmap);
mvc.setPackageobj(pack);
mvc.setActionmap(actionmap);
}
if(null==ConstantMVC.BEIFENGMVCMAP){
ConstantMVC.BEIFENGMVCMAP=new HashMap<String, BeifengMvc>();
ConstantMVC.BEIFENGMVCMAP.put(filelocation, mvc);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}