Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.domain;

import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.Globals;

import java.util.Date;
import java.util.List;
import java.io.Serializable;

import org.apache.log4j.Logger;

/**
 * @author Jorge Machado
 * @date 21/Abr/2008
 * @time 14:37:50
 * @see pt.estgp.estgweb.domain
 */

public class BlogImpl extends Blog implements IAddContents, IOwned, IInternal, ITargetRoles, IValid, ICanLoad
{

    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(BlogImpl.class);


    public BlogImpl()
    {
        super.setType(null);
    }

    public boolean canAddPost(GenericUserImpl user)
    {
        return canAddPost(user,false);
    }

    public boolean canAddPost(GenericUserImpl user, boolean transaction)
    {
        return RoleManager.hasRole(getTargetRolesList(), Globals.ALL_ROLE) || (user != null && (user.hasRole(getTargetRolesList()) || user.isSuperuserOrAdmin())) || isOwnedBy(user,transaction);
    }

    public boolean canAddContent(GenericUserImpl u)
    {
        return canAddPost(u);
    }
    public boolean canAddContent(GenericUserImpl u, boolean transaction)
    {
        return canAddPost(u,transaction);
    }

    public List<String> getTargetRolesList()
    {
        return RoleManager.getRolesFromSerial(getTargetRoles());
    }


    /**
     * Not implemented
     * @return null
     */

    public List<String> getOwnerRoles()
    {
        logger.warn("Invoke not implemented method in class:" + getClass().getName());
        return null;
    }

    /**
     * Not implemented here
     * @return null
     */

    public 1.5.0/docs/api/java/lang/String.html">String getChoosedOwnerRole()
    {
        logger.warn("Invoke not implemented method in class:" + getClass().getName());
        return null;
    }

    public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable()
    {
        return getId();
    }

    public boolean isValid()
    {
        return isStatus();
    }


    public boolean canLoad(GenericUserImpl u)
    {
        return isStatus() || isOwnedBy(u) || (u != null && u.isSuperuserOrAdmin());
    }

    public boolean canLoadInOpenTransaction(GenericUserImpl u)
    {
        return canLoad(u);
    }
}