Subversion Repositories bacoAlunos

Rev

Rev 1306 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.domain;

import pt.estgp.estgweb.utils.RoleManager;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public abstract class UserManagedRoleImpl extends UserImpl
{

    public static List<CourseUnit> getUnitsSemestre(1.5.0/docs/api/java/lang/String.html">String semestre, List<CourseUnit> s1)
    {
        if(s1 != null)
        {
            s1 = new ArrayList<CourseUnit>(s1);
            1.5.0/docs/api/java/util/Iterator.html">Iterator iter = s1.iterator();
            while (iter.hasNext())
            {
                CourseUnit courseUnit = (CourseUnit) iter.next();
                if(courseUnit.getSemestre() == null || !courseUnit.getSemestre().equals(semestre))
                    iter.remove();
            }
            return s1;
        }
        return s1;
    }

    public UserManagedRoleImpl()
    {

    }

    /**
     *
     * @return the managed role of implementation object
     */

    public abstract 1.5.0/docs/api/java/lang/String.html">String getManagedRole();

    /**
     *
     * @return roles of student check first if has student role
     */

    public 1.5.0/docs/api/java/lang/String.html">String getRoles()
    {
        1.5.0/docs/api/java/lang/String.html">String managedRole = getManagedRole();
        if(managedRole != null)
        {
            if(super.getRoles() == null)
                super.setRoles(getManagedRole());
            else
            {
                List<String> roles = RoleManager.getRolesFromSerial(managedRole);
                for(1.5.0/docs/api/java/lang/String.html">String role:roles)
                {
                    if(super.getRoles().indexOf(role) < 0)
                    {
                        addRole(getManagedRole());
                    }
                }
            }
        }

        return super.getRoles();
    }
}