in torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueAbstractDynamicRole.java [274:318]
public void update(Connection con) throws TorqueException
{
if (permissionSet != null)
{
Criteria criteria = new Criteria();
/* remove old entries */
criteria.where(TorqueDynamicRolePermissionPeer.ROLE_ID, getEntityId());
TorqueDynamicRolePermissionPeer.doDelete(criteria, con);
for (Permission p : permissionSet)
{
TorqueDynamicRolePermission rp = new TorqueDynamicRolePermission();
rp.setPermissionId((Integer)p.getId());
rp.setRoleId(getEntityId());
rp.save(con);
}
}
if (groupSet != null)
{
Criteria criteria = new Criteria();
/* remove old entries */
criteria.where(TorqueDynamicGroupRolePeer.ROLE_ID, getEntityId());
TorqueDynamicGroupRolePeer.doDelete(criteria, con);
for (Group g : groupSet)
{
TorqueDynamicGroupRole gr = new TorqueDynamicGroupRole();
gr.setGroupId((Integer)g.getId());
gr.setRoleId(getEntityId());
gr.save(con);
}
}
try
{
save(con);
}
catch (Exception e)
{
throw new TorqueException(e);
}
}