Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.domain.views;

import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.RoleManager;

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

/**
 * @author Jorge Machado
 * @date 2/Mar/2008
 * @time 19:34:49
 * @see pt.estgp.estgweb.domain.views
 */

public class BlogView extends DomainObjectView implements IAddContents, IOwned, IInternal, ITargetRoles
{

    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(BlogView.class);

    public static final int DESC_SIZE = ConfigProperties.getIntProperty("blog.desc.summary.size");

    private long id;
    private 1.5.0/docs/api/java/lang/String.html">String title;
    private 1.5.0/docs/api/java/lang/String.html">String description;
    private List<String> targetRoles;
    private 1.5.0/docs/api/java/awt/Image.html">Image image;
    private GenericUser owner;
    private boolean status;
    private boolean internal;
    private Blog blog;

    public BlogView()
    {
    }

    public BlogView(Blog blog)
    {
        super(blog);
        this.blog = blog;
        this.title = blog.getTitle();
        this.description = blog.getDescription();
        this.image = blog.getImage();
        this.targetRoles = RoleManager.getRolesFromSerial(blog.getTargetRoles());
        this.status = blog.isStatus();
        this.id = blog.getId();
        this.owner = blog.getOwner();
    }

    public void persistViewInObject(Blog blog)
    {
        blog.setTitle(title);
        blog.setDescription(description);
        blog.setTargetRoles(RoleManager.getSerialRoles(targetRoles));
        blog.setImage(image);
        blog.setStatus(status);
    }

    public void setInternal(boolean internal)
    {
        this.internal = internal;
    }

    public long getId()
    {
        return id;
    }

    public void setId(long id)
    {
        this.id = id;
    }

    public boolean isOwnedBy(GenericUser u)
    {
        return blog.isOwnedBy(u);
    }

    public GenericUser getOwner()
    {
        return owner;
    }

    /**
     * Not implemented in announcements
     * @return null
     */

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

    /**
     * Not implemented in announcements
     * @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/lang/String.html">String getTitle()
    {
        return title;
    }

    public void setTitle(1.5.0/docs/api/java/lang/String.html">String title)
    {
        this.title = title;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getDescription()
    {
        return description;
    }

    public void setDescription(1.5.0/docs/api/java/lang/String.html">String description)
    {
        this.description = description;
    }

    public List<String> getTargetRoles()
    {
        return targetRoles;
    }

    public void setTargetRoles(List<String> targetRoles)
    {
        this.targetRoles = targetRoles;
    }

    public 1.5.0/docs/api/java/awt/Image.html">Image getImage()
    {
        return image;
    }

    public void setImage(1.5.0/docs/api/java/awt/Image.html">Image image)
    {
        this.image = image;
    }

    public boolean isStatus()
    {
        return status;
    }

    public void setStatus(boolean status)
    {
        this.status = status;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getDescSummary()
    {
        return getFragment(DESC_SIZE, getDescription());
    }

    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean getHaveAllText()
    {
        return getDescription().length() > DESC_SIZE;
    }

    public 1.5.0/docs/api/java/lang/Class.html">Class getReferenceClass()
    {
        return Blog.class;
    }

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

    public 1.5.0/docs/api/java/lang/String.html">String getOwnerEmail()
    {
        if (owner instanceof User)
            return ((User) owner).getEmail();
        else
            return null;
    }

    public boolean canAddContent(GenericUserImpl u)
    {
        return ((BlogImpl)blog).canAddContent(u);
    }

    public boolean isInternal()
    {
        return internal;
    }

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