📄 urlpermissionjdbcdaoimpl.java
字号:
package com.szmx.component.security.acegipro.permissiondetails.jdbc;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.jdbc.object.MappingSqlQuery;
import org.springframework.dao.DataAccessException;
import org.springframework.context.ApplicationContextException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.szmx.component.security.acegipro.permissiondetails.UrlPermissionDetailsService;
import com.szmx.component.security.acegipro.permissiondetails.PermissionDetail;
import com.szmx.component.security.acegipro.permissiondetails.UrlPermissionDetails;
import javax.sql.DataSource;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* ================================================================
* Copyright 2006 szmx
* <p/>
* Change Revision
* ---------------------------------------------------------------
* Date Author Remarks
* Mar 14, 2006 bzhang Create class com.szmx.base.security.acegipro.permissiondetails.jdbc.UrlPermissionJdbcDaoImpl
* ================================================================
*/
public class UrlPermissionJdbcDaoImpl extends JdbcDaoSupport
implements UrlPermissionDetailsService
{
private static final Log logger = LogFactory.getLog(UrlPermissionJdbcDaoImpl.class);
private MappingSqlQuery urlPermissionMapping;
private String urlPermissionMappingQuery;
//~Setter ================================================================
public void setUrlPermissionMappingQuery(String urlPermissionMappingQuery) {
this.urlPermissionMappingQuery = urlPermissionMappingQuery;
}
//~Method ===============================================================
/**
* @see com.szmx.component.security.acegipro.permissiondetails.UrlPermissionDetailsService
*/
public Map loadUrlPermissionDetails() throws DataAccessException {
Map urlPermsMap = new HashMap();
logger.debug("Loading UrlPermissionDetails by SQL =" + urlPermissionMapping.getSql());
List permList = urlPermissionMapping.execute();
if (permList != null) {
for (Iterator iter=permList.iterator(); iter.hasNext(); ) {
PermissionDetail permDetail = (PermissionDetail) iter.next();
String urlPath = permDetail.getResoName();
String roleName = permDetail.getRoleName();
UrlPermissionDetails urlPermissionDetails = (UrlPermissionDetails) urlPermsMap.get(urlPath);
if (urlPermissionDetails == null) {
urlPermissionDetails = new UrlPermissionDetails(urlPath, null);
}
urlPermissionDetails.appendRoleName(roleName);
urlPermsMap.put(urlPath, urlPermissionDetails);
}
}
return urlPermsMap;
}
// Overided the method "initDao" to prepare MappingSqlQuery object
// after population of this instance's bean properties..
protected void initDao() throws ApplicationContextException {
this.urlPermissionMapping = new UrlPermissionMapping(getDataSource());
}
//~ Inner Classes ==========================================================
protected class UrlPermissionMapping extends MappingSqlQuery {
protected UrlPermissionMapping(DataSource datasource) {
super(datasource, urlPermissionMappingQuery);
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -