public void updateReadFilter(Session session) { disableReadFilter(session); enableReadFilter(session); }
public Object doInHibernate(org.hibernate.Session arg0) throws HibernateException, SQLException { BasicSecuritySystem bss = (BasicSecuritySystem) sec; try { bss.disableReadFilter(arg0); return arg0 .createQuery( "select sh from Session sh " + "join fetch sh.owner " + "where sh.id in (:ids) ") .setParameterList("ids", ids).list(); } finally { bss.enableReadFilter(arg0); } } });
public Object doInHibernate(org.hibernate.Session arg0) throws HibernateException, SQLException { BasicSecuritySystem bss = (BasicSecuritySystem) sec; try { bss.disableReadFilter(arg0); return arg0 .createQuery( "select sh from Share sh " + "join fetch sh.owner " + "where sh.id = :id") .setParameter("id", data.id).uniqueResult(); } finally { bss.enableReadFilter(arg0); } } });
Object retVal = null; try { secSys.enableReadFilter(session); retVal = arg0.proceed(); saveLogs(readOnly, session);
secSys.enableReadFilter(session); // With old context } else if (msg instanceof ContextMessage.Push) { msg.context); secSys.enableReadFilter(session); // With new context
public Object doInHibernate(Session session) throws HibernateException, SQLException { BasicEventContext c = cd.current(); boolean wasAdmin = c.isCurrentUserAdmin(); final Set<AdminPrivilege> oldAdminPrivileges = c.getAdminPrivileges(); ExperimenterGroup oldGroup = c.getGroup(); try { c.setAdmin(true); c.setAdminPrivileges(LightAdminPrivileges.getAllPrivileges()); if (group != null) { c.setGroup(group, group.getDetails().getPermissions()); } disable(MergeEventListener.MERGE_EVENT); enableReadFilter(session); action.runAsAdmin(); } finally { c.setAdmin(wasAdmin); c.setAdminPrivileges(oldAdminPrivileges); if (group != null) { c.setGroup(oldGroup, oldGroup.getDetails().getPermissions()); } enable(MergeEventListener.MERGE_EVENT); enableReadFilter(session); // Now as non-admin } return null; } });