Role Calls

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

AnthillPro Template Reports
Report Templates