protected ActionableDynamicQuery getRoleActionableDynamicQuery( final PortletDataContext portletDataContext, final boolean export) { ActionableDynamicQuery actionableDynamicQuery = RoleLocalServiceUtil.getExportActionableDynamicQuery(portletDataContext); actionableDynamicQuery.setAddCriteriaMethod( new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { portletDataContext.addDateRangeCriteria(dynamicQuery, "modifiedDate"); long classNameId = PortalUtil.getClassNameId(Team.class); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); dynamicQuery.add(classNameIdProperty.ne(classNameId)); } }); final ActionableDynamicQuery.PerformActionMethod performActionMethod = actionableDynamicQuery.getPerformActionMethod(); actionableDynamicQuery.setPerformActionMethod( new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { if (!export) { return; } Role role = (Role) object; long defaultUserId = UserLocalServiceUtil.getDefaultUserId(portletDataContext.getCompanyId()); if (!portletDataContext.getBooleanParameter(NAMESPACE, "system-roles") && (role.getUserId() == defaultUserId)) { return; } performActionMethod.performAction(object); } }); return actionableDynamicQuery; }