wip permissions

This commit is contained in:
John Woodlock
2012-11-19 16:57:19 +00:00
parent f326187794
commit 30d4ca7681
5 changed files with 88 additions and 52 deletions
@@ -4,12 +4,17 @@ public class PermissionUsageData {
private final String grouping;
private final String code;
private final String entityName;
private final String actionName;
private final Boolean selected;
public PermissionUsageData(final String grouping, final String code,
final String entityName, final String actionName,
final Boolean selected) {
this.grouping = grouping;
this.code = code;
this.entityName = entityName;
this.actionName = actionName;
this.selected = selected;
}
@@ -21,6 +26,14 @@ public class PermissionUsageData {
return code;
}
public String getEntityName() {
return entityName;
}
public String getActionName() {
return actionName;
}
public Boolean getSelected() {
return selected;
}
@@ -14,11 +14,7 @@ public class Permission extends AbstractPersistable<Long> {
@SuppressWarnings("unused")
@Column(name = "grouping", nullable = false, length=45)
private final String grouping;
@SuppressWarnings("unused")
@Column(name = "order_in_grouping", nullable = false)
private final Integer orderInGrouping;
@Column(name = "code", nullable = false, length=100)
private final String code;
@@ -28,12 +24,22 @@ public class Permission extends AbstractPersistable<Long> {
@Column(name = "default_description", nullable = false, length=500)
private final String defaultDescription;
@SuppressWarnings("unused")
@Column(name = "entity_name", nullable = true, length=100)
private final String entityName;
@SuppressWarnings("unused")
@Column(name = "action_name", nullable = true, length=100)
private final String actionName;
protected Permission() {
this.grouping = null;
this.orderInGrouping = null;
this.code = null;
this.defaultDescription = null;
this.defaultName = null;
this.entityName = null;
this.actionName = null;
}
public boolean hasCode(String checkCode) {
@@ -72,16 +72,18 @@ public class PermissionReadPlatformServiceImpl implements PermissionReadPlatform
final String grouping = rs.getString("grouping");
final String code = rs.getString("code");
final String entityName = rs.getString("entityName");
final String actionName = rs.getString("actionName");
final Boolean selected = rs.getBoolean("selected");
return new PermissionUsageData(grouping, code, selected);
return new PermissionUsageData(grouping, code, entityName, actionName, selected);
}
public String schema() {
return " select p.grouping, p.code, if(isnull(rp.role_id), false, true) as selected " +
" from m_permission p " +
" left join m_role_permission rp on rp.permission_id = p.id and rp.role_id = ? " +
" order by p.grouping, p.order_in_grouping, p.code ";
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, if(isnull(rp.role_id), false, true) as selected " +
"from m_permission p " +
"left join m_role_permission rp on rp.permission_id = p.id and rp.role_id = ? " +
"order by p.grouping, ifnull(entity_name, ''), p.code";
}
}