* @return {@link SystemSettings}
*/
@Override
public SystemSettings execute(final ActionContext inActionContext)
{
SystemSettings settings = systemSettingsDAO.execute(null);
if (settings.getSupportStreamGroupShortName() != null
&& settings.getSupportStreamGroupShortName().length() > 0)
{
log.debug("looking for group " + settings.getSupportStreamGroupShortName());
List<DomainGroupModelView> groups = groupByShortNameMapper.execute(Collections.singletonList(settings
.getSupportStreamGroupShortName()));
if (groups.size() == 1)
{
log.debug("setting group website " + groups.get(0).getUrl());
settings.setSupportStreamWebsite(groups.get(0).getUrl());
}
}
if ((inActionContext.getParams() instanceof Boolean) && (Boolean) inActionContext.getParams())
{
log.debug("User wants fully populated system settings - fetch admins and membership criteria.");
List<PersonModelView> adminsList = systemAdminsMapper.execute(null);
log.debug("Found system admins: " + adminsList);
Set<PersonModelView> adminsSet = new HashSet<PersonModelView>();
adminsSet.addAll(adminsList);
// get the people and convert it to a set, which is what the client expects
settings.setSystemAdministrators(adminsSet);
// Load membership criteria dtos.
settings.setMembershipCriteria(membershipCriteriaDAO.execute(null));
// get GalleryTabTemplates.
settings.setGalleryTabTemplates(galleryTabTemplateDAO.findSortedByRecent(0, maxGalleryItems).getPagedSet());
// get themes.
settings.setThemes(themeTransformer.transform(themeDAO.findSortedByRecent(0, maxGalleryItems)
.getPagedSet()));
}
return settings;
}