
package testingapplication.tree;

import com.softaspects.framework.galileo.components.tree.TreeItemImpl;
import com.softaspects.framework.galileo.components.tree.TreeItem;

/**
 * Title:TreeDataModelBean
 * Description: Data model bean for the Tree component sample
 */
public class TreeDataModelBean extends TreeItemImpl
{
    /**
     * Constructor - model assembling
     */
    public TreeDataModelBean()
    {
        super();
        this.addElement(createTreeStructure());
    }

    /**
     * Tree structure assembling
     * @return com.softaspects.framework.galileo.components.tree.TreeItem
     */
    private TreeItem createTreeStructure()
    {
        TreeItem root = new TreeItemImpl();
        root.setType("folder");
        root.setData("Root");
        root.setDescription("Content");

        TreeItem first = new TreeItemImpl();
        first.setType("document");
        first.setData("First");
        first.setDescription("First");
        root.addElement(first);

        root.addElement(createFirstSubTree());
        root.addElement(createSecondSubTree());
        root.addElement(createThirdSubTree());
        root.addElement(createFourthSubTree());
        return root;
    }


    /**
     * First subtree
     * @return com.softaspects.framework.galileo.components.tree.TreeItem
     */
    private TreeItem createFirstSubTree()
    {
        TreeItem example0 = new TreeItemImpl();
        example0.setType("folder");
        example0.setData("Example0");
        example0.setDescription("Example0");
        example0.setFolderClosedImage("../../repository/images/image.gif");
        example0.setFolderClosedRollOverImage("../../repository/images/rollOver.gif");
        example0.setFolderOpenedImage("../../repository/images/rollOver.gif");
        example0.setFolderOpenedRollOverImage("../../repository/images/image.gif");

        TreeItem example1 = new TreeItemImpl();
        example1.setType("folder");
        example1.setData("Example1");
        example1.setDescription("Example1");

        example0.addElement(example1);

        TreeItem example2 = new TreeItemImpl();
        example2.setType("document");
        example2.setData("Example2");
        example2.setDescription("Example2");
        example1.addElement(example2);

        TreeItem example3 = new TreeItemImpl();
        example3.setType("document");
        example3.setData("Example3");
        example3.setDescription("Example3");
        example1.addElement(example3);

        TreeItem example4 = new TreeItemImpl();
        example4.setType("folder");
        example4.setData("Example4");
        example4.setDescription("Example4");

        example0.addElement(example4);

        TreeItem example5 = new TreeItemImpl();
        example5.setType("document");
        example5.setData("Example5");
        example5.setDescription("Example5");
        example4.addElement(example5);

        TreeItem example6 = new TreeItemImpl();
        example6.setType("document");
        example6.setData("Example6");
        example6.setDescription("Example6");
        example4.addElement(example6);

        return example0;
    }

    /**
     * Second subtree
     * @return com.softaspects.framework.galileo.components.tree.TreeItem
     */
    private TreeItem createSecondSubTree()
    {
        TreeItem example7 = new TreeItemImpl();
        example7.setType("folder");
        example7.setData("Example7");
        example7.setDescription("Example7");
        example7.setFolderClosedImage("../../repository/images/image.gif");
        example7.setFolderClosedRollOverImage("../../repository/images/rollOver.gif");
        example7.setFolderOpenedImage("../../repository/images/rollOver.gif");
        example7.setFolderOpenedRollOverImage("../../repository/images/image.gif");

        TreeItem example8 = new TreeItemImpl();
        example8.setType("document");
        example8.setData("Example8");
        example8.setDescription("Example8");
        example7.addElement(example8);

        TreeItem example9 = new TreeItemImpl();
        example9.setType("document");
        example9.setData("Example9");
        example9.setDescription("Example9");
        example7.addElement(example9);

        TreeItem example10 = new TreeItemImpl();
        example10.setType("document");
        example10.setData("Example10");
        example10.setDescription("Example10");
        example7.addElement(example10);

        TreeItem example11 = new TreeItemImpl();
        example11.setType("document");
        example11.setData("Example11");
        example11.setDescription("Example11");
        example7.addElement(example11);

        TreeItem example12 = new TreeItemImpl();
        example12.setType("document");
        example12.setData("Example12");
        example12.setDescription("Example12");
        example7.addElement(example12);

        return example7;
    }

    /**
     * Third subtree
     * @return com.softaspects.framework.galileo.components.tree.TreeItem
     */
    private TreeItem createThirdSubTree()
    {
        TreeItem example13 = new TreeItemImpl();
        example13.setType("folder");
        example13.setData("Example13");
        example13.setDescription("Example13");
        example13.setFolderClosedImage("../../repository/images/image.gif");
        example13.setFolderClosedRollOverImage("../../repository/images/rollOver.gif");
        example13.setFolderOpenedImage("../../repository/images/rollOver.gif");
        example13.setFolderOpenedRollOverImage("../../repository/images/image.gif");

        TreeItem example14 = new TreeItemImpl();
        example14.setType("document");
        example14.setData("Example14");
        example14.setDescription("Example14");
        example13.addElement(example14);

        TreeItem example15 = new TreeItemImpl();
        example15.setType("document");
        example15.setData("Example15");
        example15.setDescription("Example15");
        example13.addElement(example15);

        return example13;

    }

    /**
     * Fourth subtree
     * @return com.softaspects.framework.galileo.components.tree.TreeItem
     */
    private TreeItem createFourthSubTree()
    {
        TreeItem example16 = new TreeItemImpl();
        example16.setType("folder");
        example16.setData("Example16");
        example16.setDescription("Example16");
        example16.setFolderClosedImage("../../repository/images/image.gif");
        example16.setFolderClosedRollOverImage("../../repository/images/rollOver.gif");
        example16.setFolderOpenedImage("../../repository/images/rollOver.gif");
        example16.setFolderOpenedRollOverImage("../../repository/images/image.gif");

        TreeItem example17 = new TreeItemImpl();
        example17.setType("document");
        example17.setData("Example17");
        example17.setDescription("Example17");
        example16.addElement(example17);

        TreeItem example18 = new TreeItemImpl();
        example18.setType("document");
        example18.setData("Example18");
        example18.setDescription("Example18");
        example16.addElement(example18);

        TreeItem example19 = new TreeItemImpl();
        example19.setType("document");
        example19.setData("Example19");
        example19.setDescription("Example19");
        example16.addElement(example19);
        return example16;
    }

}
