This is a report of all the roles a given user has in the system. This report has to be used in conjunction with a report template such as the HTML Template.
Meta-Data Script:
import com.urbancode.anthill3.domain.project.*; import com.urbancode.anthill3.domain.reporting.*; import com.urbancode.anthill3.domain.authentication.*; ReportMetaData rmd = new ReportMetaData(); TextParamMetaData userNameParam = new TextParamMetaData(); userNameParam.setName("username"); userNameParam.setLabel("Username"); userNameParam.setDescription("The username to report on."); userNameParam.setRequired(true); rmd.addParameter(userNameParam); AuthenticationRealm[] realms = AuthenticationRealmFactory.getInstance().restoreAllActive(); String[] labels = new String[realms.length]; String[] values = new String[realms.length]; for (int i = 0; i < realms.length; i++) { labels[i] = realms[i].getName(); values[i] = realms[i].getName(); } SelectParamMetaData params = new SelectParamMetaData(); params.setLabels(labels); params.setValues(values); params.setName("realmName"); params.setLabel("Authentication Realm"); params.setDescription("The User Authentication Realm"); params.setRequired(true); rmd.addParameter(params); // Configure columns rmd.addColumn("RoleName"); return rmd;
Report Script:
import com.urbancode.anthill3.domain.security.*; import com.urbancode.anthill3.domain.authentication.*; import com.urbancode.anthill3.domain.reporting.*; import java.util.*; // The output of a report is based on the meta-data ReportOutput output = new ReportOutput(metaData); AuthenticationRealm realm = AuthenticationRealmFactory.getInstance().restore(realmName); User user = UserFactory.getInstance().restoreForNameAndRealm(username, realm); Role[] roles = user.getRoles(); for (int i = 0; i < roles.length; i++) { Role role = roles[i]; ReportRow row = new ReportRow(output, "Row"); row.setColumnValue("RoleName", role.getName()); output.addRow(row); } return output;
Related Content