methodpermissionjdbcdaoimpl.java
来自「一个关于tlms的一个小程序 看看能否帮助到别人」· Java 代码 · 共 92 行
JAVA
92 行
package com.szmx.component.security.acegipro.permissiondetails.jdbc;
import com.szmx.component.security.acegipro.permissiondetails.MethodPermissionDetailsService;
import com.szmx.component.security.acegipro.permissiondetails.PermissionDetail;
import com.szmx.component.security.acegipro.permissiondetails.MethodPermissionDetails;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Iterator;
import java.sql.SQLException;
import java.sql.ResultSet;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.object.MappingSqlQuery;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.context.ApplicationContextException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.sql.DataSource;
/**
* ================================================================
* Copyright 2006 szmx
* <p/>
* Change Revision
* ---------------------------------------------------------------
* Date Author Remarks
* Mar 14, 2006 bzhang Create class com.szmx.base.security.acegipro.permissiondetails.jdbc.MethodPermissionJdbcDaoImpl
* ================================================================
*/
public class MethodPermissionJdbcDaoImpl extends JdbcDaoSupport
implements MethodPermissionDetailsService
{
private static final Log logger = LogFactory.getLog(MethodPermissionJdbcDaoImpl.class);
private MappingSqlQuery methodPermissionMapping;
private String methodPermissionMappingQuery;
//~Setter ================================================================
public void setMethodPermissionMappingQuery(String methodPermissionMappingQuery) {
this.methodPermissionMappingQuery = methodPermissionMappingQuery;
}
//~Method ===============================================================
/**
* @see com.szmx.component.security.acegipro.permissiondetails.MethodPermissionDetailsService
*/
public Map loadMethodPermissionDetails() throws DataAccessException {
Map methodPermsMap = new HashMap();
logger.debug("Loading MethodPermissionDetails by SQL =" + methodPermissionMapping.getSql());
List permList = methodPermissionMapping.execute();
if (permList != null) {
for (Iterator iter=permList.iterator(); iter.hasNext(); ) {
PermissionDetail permDetail = (PermissionDetail) iter.next();
String method = permDetail.getResoName();
String roleName = permDetail.getRoleName();
MethodPermissionDetails methodPermissionDetails = (MethodPermissionDetails) methodPermsMap.get(method);
if (methodPermissionDetails == null) {
methodPermissionDetails = new MethodPermissionDetails(method, null);
}
methodPermissionDetails.appendRoleName(roleName);
methodPermsMap.put(method, methodPermissionDetails);
}
}
return methodPermsMap;
}
// Overided the method "initDao" to prepare MappingSqlQuery object
// after population of this instance's bean properties..
protected void initDao() throws ApplicationContextException {
this.methodPermissionMapping = new MethodPermissionMapping(getDataSource());
}
//~ Inner Classes ==========================================================
protected class MethodPermissionMapping extends MappingSqlQuery {
protected MethodPermissionMapping(DataSource datasource) {
super(datasource, methodPermissionMappingQuery);
compile();
}
// @return PermissionDetail Object
protected Object mapRow(ResultSet rs, int rownum) throws SQLException {
PermissionDetail permDetail = new PermissionDetail();
permDetail.setResoName( rs.getString(1) );
permDetail.setRoleName( rs.getString(2) );
return permDetail;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?