use of org.olat.upgrade.model.EPMapUpgradeToGroupRelation in project openolat by klemens.
the class OLATUpgrade_10_0_0 method processMap.
private void processMap(EPMapUpgrade map) {
if (hasGroupsRelations(map)) {
return;
}
Set<EPMapUpgradeToGroupRelation> relations = new HashSet<>();
SecurityGroup ownerGroup = map.getOwnerGroup();
if (ownerGroup != null) {
// create default group
RepositoryEntryUpgrade re = findMapRepoEntry(ownerGroup);
if (re != null) {
Group reGroup = repositoryEntryToGroupDAO.getDefaultGroup(re);
if (reGroup != null) {
relations.add(createDefaultGroup(map, reGroup));
}
}
if (relations.isEmpty()) {
Group group = groupDao.createGroup();
relations.add(createDefaultGroup(map, group));
processSecurityGroup(group, GroupRoles.owner.name(), ownerGroup);
}
// create policy -> relation
List<Policy> policies = securityManager.getPoliciesOfResource(map.getOlatResource(), null);
for (Policy policy : policies) {
if (policy.getPermission().contains(Constants.PERMISSION_READ)) {
EPMapUpgradeToGroupRelation policyRelation = processMapPolicy(policy, map);
if (policyRelation != null) {
relations.add(policyRelation);
}
}
}
for (EPMapUpgradeToGroupRelation relation : relations) {
dbInstance.getCurrentEntityManager().persist(relation);
}
}
}
Aggregations