Search in sources :

Example 6 with EPMapUpgradeToGroupRelation

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);
        }
    }
}
Also used : Policy(org.olat.basesecurity.Policy) EPMapPolicy(org.olat.portfolio.manager.EPMapPolicy) RepositoryEntryUpgrade(org.olat.upgrade.model.RepositoryEntryUpgrade) Group(org.olat.basesecurity.Group) SecurityGroup(org.olat.basesecurity.SecurityGroup) EPMapUpgradeToGroupRelation(org.olat.upgrade.model.EPMapUpgradeToGroupRelation) SecurityGroup(org.olat.basesecurity.SecurityGroup) HashSet(java.util.HashSet)

Aggregations

EPMapUpgradeToGroupRelation (org.olat.upgrade.model.EPMapUpgradeToGroupRelation)6 Date (java.util.Date)4 Group (org.olat.basesecurity.Group)4 SecurityGroup (org.olat.basesecurity.SecurityGroup)4 HashSet (java.util.HashSet)2 Policy (org.olat.basesecurity.Policy)2 EPMapPolicy (org.olat.portfolio.manager.EPMapPolicy)2 InvitationUpgrade (org.olat.upgrade.model.InvitationUpgrade)2 RepositoryEntryUpgrade (org.olat.upgrade.model.RepositoryEntryUpgrade)2