package org.primefaces.examples.view;
import java.io.Serializable;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.primefaces.model.TreeNode;
import org.primefaces.examples.domain.Document;
import org.primefaces.model.CheckboxTreeNode;
public class TreeCheckboxBean implements Serializable {
private static final Logger logger = Logger.getLogger(TreeCheckboxBean.class.getName());
private TreeNode root;
private TreeNode root2;
private TreeNode[] selectedNodes;
public TreeCheckboxBean() {
root = new CheckboxTreeNode(new Document("Files", "-", "Folder"), null);
TreeNode documents = new CheckboxTreeNode(new Document("Documents", "-", "Folder"), root);
TreeNode pictures = new CheckboxTreeNode(new Document("Pictures", "-", "Folder"), root);
TreeNode movies = new CheckboxTreeNode(new Document("Movies", "-", "Folder"), root);
TreeNode work = new CheckboxTreeNode(new Document("Work", "-", "Folder"), documents);
TreeNode primefaces = new CheckboxTreeNode(new Document("PrimeFaces", "-", "Folder"), documents);
//Documents
TreeNode expenses = new CheckboxTreeNode("document", new Document("Expenses.doc", "30 KB", "Word Document"), work);
TreeNode resume = new CheckboxTreeNode("document", new Document("Resume.doc", "10 KB", "Word Document"), work);
TreeNode refdoc = new CheckboxTreeNode("document", new Document("RefDoc.pages", "40 KB", "Pages Document"), primefaces);
//Pictures
TreeNode barca = new CheckboxTreeNode("picture", new Document("barcelona.jpg", "30 KB", "JPEG Image"), pictures);
TreeNode primelogo = new CheckboxTreeNode("picture", new Document("logo.jpg", "45 KB", "JPEG Image"), pictures);
TreeNode optimus = new CheckboxTreeNode("picture", new Document("optimusprime.png", "96 KB", "PNG Image"), pictures);
//Movies
TreeNode pacino = new CheckboxTreeNode(new Document("Al Pacino", "-", "Folder"), movies);
TreeNode deniro = new CheckboxTreeNode(new Document("Robert De Niro", "-", "Folder"), movies);
TreeNode scarface = new CheckboxTreeNode("mp3", new Document("Scarface", "15 GB", "Movie File"), pacino);
TreeNode carlitosWay = new CheckboxTreeNode("mp3", new Document("Carlitos' Way", "24 GB", "Movie File"), pacino);
TreeNode goodfellas = new CheckboxTreeNode("mp3", new Document("Goodfellas", "23 GB", "Movie File"), deniro);
TreeNode untouchables = new CheckboxTreeNode("mp3", new Document("Untouchables", "17 GB", "Movie File"), deniro);
root2 = new CheckboxTreeNode("Root", null);
TreeNode node0 = new CheckboxTreeNode("Node 0", root2);
TreeNode node1 = new CheckboxTreeNode("Node 1", root2);
TreeNode node2 = new CheckboxTreeNode("Node 2", root2);
TreeNode node00 = new CheckboxTreeNode("Node 0.0", node0);
TreeNode node01 = new CheckboxTreeNode("Node 0.1", node0);
TreeNode node10 = new CheckboxTreeNode("Node 1.0", node1);
TreeNode node11 = new CheckboxTreeNode("Node 1.1", node1);
TreeNode node000 = new CheckboxTreeNode("Node 0.0.0", node00);
TreeNode node001 = new CheckboxTreeNode("Node 0.0.1", node00);
TreeNode node010 = new CheckboxTreeNode("Node 0.1.0", node01);
TreeNode node100 = new CheckboxTreeNode("Node 1.0.0", node10);
}
public TreeNode getRoot() {
return root;
}
public void setRoot(TreeNode root) {
this.root = root;
}
public TreeNode getRoot2() {
return root2;
}
public void setRoot2(TreeNode root2) {
this.root2 = root2;
}
public TreeNode[] getSelectedNodes() {
return selectedNodes;
}
public void setSelectedNodes(TreeNode[] selectedNodes) {
this.selectedNodes = selectedNodes;
}
public void displaySelectedMultiple() {
if(selectedNodes != null && selectedNodes.length > 0) {
StringBuilder builder = new StringBuilder();
for(TreeNode node : selectedNodes) {
builder.append(node.getData().toString());
builder.append("<br />");
}
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected", builder.toString());
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
}