Package org.openfaces.testapp.treetable

Source Code of org.openfaces.testapp.treetable.TreeTableTestBean

/*
* OpenFaces - JSF Component Library 2.0
* Copyright (C) 2007-2013, TeamDev Ltd.
* licensing@openfaces.org
* Unless agreed in writing the contents of this file are subject to
* the GNU Lesser General Public License Version 2.1 (the "LGPL" License).
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* Please visit http://openfaces.org/licensing/ for more details.
*/
package org.openfaces.testapp.treetable;

import org.openfaces.util.Faces;
import org.openfaces.component.table.AllNodesCollapsed;
import org.openfaces.component.table.AllNodesExpanded;
import org.openfaces.component.table.ExpansionState;
import org.openfaces.component.table.SeveralLevelsExpanded;
import org.openfaces.testapp.datatable.EmailTableDemoBean;
import org.openfaces.testapp.datatable.User;

import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.StringTokenizer;
import java.util.logging.Logger;

/**
* @author Dmitry Pikhulya
*/
public class TreeTableTestBean {

    Logger logger = Logger.getLogger(TreeTableTestBean.class.getName());

    private Object selectedNodeData1;
    private Object selectedNodeId1;
    private Object selectedNodeData2;
    private Object selectedNodeId2;

    private List selectedNodeIds1;
    private List selectedNodeDatas2;

    private List<ForumMessage> rootMessages = new ArrayList<ForumMessage>();
    private User anonymousUser;

    private ExpansionState forumTreeTableExpansionState;
    private ExpansionState treeTable2ExpansionState;

    private int forumExpansionLevel;

    public TreeTableTestBean() {
        int i = 0;
        User guillaume = new User(String.valueOf(i++), "Guillaume ALLEON", null, null);
        User dan = new User(String.valueOf(i++), "dan", null, null);
        User makc = new User(String.valueOf(i++), "makc.the.great@gmail.com", null, null);
        User u1 = new User(String.valueOf(i++), "peter.the.best@yahoo.com", null, null);
        User u2 = new User(String.valueOf(i++), "Gruber", null, null);
        User u3 = new User(String.valueOf(i++), "Anonymous", null, null);
        anonymousUser = u3;

        rootMessages.add(new ForumMessage("Mesh intersection", EmailTableDemoBean.createDate(2005, 10, 4, 2, 51), guillaume, Arrays.asList(new Object[]{
                new ForumMessage("Re: Mesh intersection", EmailTableDemoBean.createDate(2005, 10, 4, 20, 1), dan, Arrays.asList(new Object[]{
                        new ForumMessage("Re: Mesh intersection", EmailTableDemoBean.createDate(2005, 10, 20, 21, 15), guillaume, null)})),
                new ForumMessage("Re: Mesh intersection", EmailTableDemoBean.createDate(2005, 10, 10, 12, 36), makc, null)})));
        rootMessages.add(new ForumMessage("Re: Multisampling, Supersampling source code for dummies?", EmailTableDemoBean.createDate(2005, 10, 7, 8, 13), u2, Arrays.asList(new Object[]{
                new ForumMessage("Re: Multisampling, Supersampling source code for dummies?", EmailTableDemoBean.createDate(2005, 10, 8, 9, 47), u1, Arrays.asList(new Object[]{
                        new ForumMessage("Re: Multisampling, Supersampling source code for dummies?", EmailTableDemoBean.createDate(2005, 10, 15, 1, 43), u3, Arrays.asList(new Object[]{
                                new ForumMessage("Re: Multisampling, Supersampling source code for dummies?", EmailTableDemoBean.createDate(2005, 11, 3, 0, 12), u2, null)}))}))})));
    }

    public List getNodeChildren() {
        ForumMessage message = getMessage();
        if (message == null)
            return rootMessages;
        else
            return message.getReplies();
    }


    private String masterMessageId;

    public void reply() {
        ForumMessage message = getMessage();
        try {
            masterMessageId = message != null ? (String) message.getId() : "null";
            newMessageSubject = message != null ? "Re: " + message.getSubject() : "";
            FacesContext facesContext = FacesContext.getCurrentInstance();
            facesContext.getExternalContext().redirect("newForumMessage.jsp");
            facesContext.responseComplete();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public void delete() {
        ForumMessage message = getMessage();
        ForumMessage parent = message.getParent();
        if (parent == null)
            rootMessages.remove(message);
        else
            parent.removeReply(message);
    }

    private ForumMessage getMessage() {
        return (ForumMessage) Faces.var("message");
    }

    private String newMessageSubject;

    public String getNewMessageSubject() {
        return newMessageSubject;
    }

    public void setNewMessageSubject(String newMessageSubject) {
        this.newMessageSubject = newMessageSubject;
    }

    public String postNewMessage() {
        if (masterMessageId == null) {
            logger.info("masterMessageId == null");
            return "treeTableDemo";
        }
        ForumMessage masterMessage = ForumMessage.messageById(masterMessageId);
        masterMessageId = null;
        ForumMessage newMessage = new ForumMessage(newMessageSubject, new Date(), anonymousUser, null);
        masterMessage.addReply(newMessage);
        return "treeTableDemo";
    }

    public String cancelNewMessage() {
        new ForumMessage(newMessageSubject, new Date(), anonymousUser, null);
        return "treeTableDemo";
    }

    public String getPageNameFromPageInfo() {
        String pageInfo = (String) Faces.var("pageInfo");
        return (String) new StringTokenizer(pageInfo, "|", false).nextElement();
    }

    public String getPageUrlFromPageInfo() {
        String pageInfo = (String) Faces.var("pageInfo");
        StringTokenizer stringTokenizer = new StringTokenizer(pageInfo, "|", false);
        stringTokenizer.nextElement();
        return (String) stringTokenizer.nextElement();
    }

    public Object getSelectedNodeData1() {
        return selectedNodeData1;
    }

    public void setSelectedNodeData1(Object selectedNodeData1) {
        this.selectedNodeData1 = selectedNodeData1;
    }

    public Object getSelectedNodeId1() {
        return selectedNodeId1;
    }

    public void setSelectedNodeId1(Object selectedNodeId1) {
        this.selectedNodeId1 = selectedNodeId1;
    }

    public Object getSelectedNodeData2() {
        return selectedNodeData2;
    }

    public void setSelectedNodeData2(Object selectedNodeData2) {
        this.selectedNodeData2 = selectedNodeData2;
    }

    public Object getSelectedNodeId2() {
        return selectedNodeId2;
    }

    public void setSelectedNodeId2(Object selectedNodeId2) {
        this.selectedNodeId2 = selectedNodeId2;
    }


    public List getSelectedNodeIds1() {
        return selectedNodeIds1;
    }

    public void setSelectedNodeIds1(List selectedNodeIds1) {
        this.selectedNodeIds1 = selectedNodeIds1;
    }

    public List getSelectedNodeDatas2() {
        return selectedNodeDatas2;
    }

    public void setSelectedNodeDatas2(List selectedNodeDatas2) {
        this.selectedNodeDatas2 = selectedNodeDatas2;
    }

    public ExpansionState getForumTreeTableExpansionState() {
        return forumTreeTableExpansionState;
    }

    public void setForumTreeTableExpansionState(ExpansionState forumTreeTableExpansionState) {
        this.forumTreeTableExpansionState = forumTreeTableExpansionState;
    }

    public ExpansionState getTreeTable2ExpansionState() {
        return treeTable2ExpansionState;
    }

    public void setTreeTable2ExpansionState(ExpansionState treeTable2ExpansionState) {
        this.treeTable2ExpansionState = treeTable2ExpansionState;
    }

    public int getForumExpansionLevel() {
        return forumExpansionLevel;
    }

    public void setForumExpansionLevel(int forumExpansionLevel) {
        this.forumExpansionLevel = forumExpansionLevel;
    }

    public void forumExpandUpToLevel() {
        forumTreeTableExpansionState = new SeveralLevelsExpanded(forumExpansionLevel);
    }

    public void forumExpandAll() {
        forumTreeTableExpansionState = new AllNodesExpanded();
    }

    public void forumCollapseAll() {
        forumTreeTableExpansionState = new AllNodesCollapsed();
    }

    public boolean isAnonymousMessage() {
        ForumMessage message = getMessage();
        String userName = message.getAuthor().getUserName();
        return userName.equals("Anonymous");
    }

    public String getDynamicRowStyle() {
        int level = (Integer) Faces.var("level");
        if (level > 10)
            level = 10;
        double color = 1.0 - (1.0 / 20) * level;
        int intColor = (int) Math.round(color * 255);
        String hexColor = Integer.toString(intColor, 16);
        if (hexColor.length() == 1)
            hexColor = "0" + hexColor;
        String colorStr = "#" + hexColor + hexColor + hexColor;
        return "background: " + colorStr;
    }

    public boolean isTodayPost() {
        ForumMessage message = getMessage();
        Date date = message.getDate();
        Calendar c = GregorianCalendar.getInstance();
        c.setTime(date);
        Calendar todayNight = GregorianCalendar.getInstance();
        todayNight.set(Calendar.HOUR_OF_DAY, 0);
        todayNight.set(Calendar.MINUTE, 0);
        todayNight.set(Calendar.SECOND, 0);
        todayNight.set(Calendar.MILLISECOND, 0);
        return c.after(todayNight);
    }

    private String bigNodesToggleVeritcalAlign = "middle";

    public String getBigNodesToggleVeritcalAlign() {
        return bigNodesToggleVeritcalAlign;
    }

    public void alignTop() {
        bigNodesToggleVeritcalAlign = "top";
    }

    public void alignBottom() {
        bigNodesToggleVeritcalAlign = "bottom";
    }

    public void alignMiddle() {
        bigNodesToggleVeritcalAlign = "middle";
    }

    private boolean booleanSwitch;

    public boolean isBooleanSwitch() {
        return booleanSwitch;
    }

    public void setBooleanSwitch(boolean booleanSwitch) {
        this.booleanSwitch = booleanSwitch;
    }

    public void test() {
        logger.info("test");
    }

    public void linkClicked(ActionEvent event) {
        ForumMessage message = Faces.var("message", ForumMessage.class);
        message.setSubject("-changed-");
    }

}
TOP

Related Classes of org.openfaces.testapp.treetable.TreeTableTestBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.