parent
							
								
									6dcc93ee83
								
							
						
					
					
						commit
						9935a77bfb
					
				@ -0,0 +1,38 @@
 | 
			
		||||
package info.bukova.isspst.ui.workgroups;
 | 
			
		||||
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.LinkedList;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.Constants;
 | 
			
		||||
import info.bukova.isspst.data.JobMapping;
 | 
			
		||||
import info.bukova.isspst.data.Member;
 | 
			
		||||
import info.bukova.isspst.data.Workgroup;
 | 
			
		||||
 | 
			
		||||
import org.zkoss.zul.DefaultTreeModel;
 | 
			
		||||
import org.zkoss.zul.TreeModel;
 | 
			
		||||
import org.zkoss.zul.TreeNode;
 | 
			
		||||
 | 
			
		||||
public class WorkgroupTreeFactory {
 | 
			
		||||
	
 | 
			
		||||
	public TreeModel<TreeNode<Member>> createTreeModel(Workgroup workgroup) {
 | 
			
		||||
		WorkgroupTreeNode root = new WorkgroupTreeNode(null, generateChildren(workgroup));
 | 
			
		||||
						
 | 
			
		||||
		return new DefaultTreeModel<Member>(root);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	private Collection<WorkgroupTreeNode> generateChildren(Member member) {
 | 
			
		||||
		Collection<WorkgroupTreeNode> children = new LinkedList<WorkgroupTreeNode>();
 | 
			
		||||
		Workgroup workgroup = Workgroup.class.cast(member);
 | 
			
		||||
		
 | 
			
		||||
		for (JobMapping jm : workgroup.getMembers()) {
 | 
			
		||||
			if (jm.getRole().getAuthority().equals(Constants.ROLE_USER) && jm.getMember().isHasJob()) {
 | 
			
		||||
				children.add(new WorkgroupTreeNode(jm.getMember()));
 | 
			
		||||
			} else if (jm.getRole().getAuthority().equals(Constants.ROLE_USER)) {
 | 
			
		||||
				children.add(new WorkgroupTreeNode(jm.getMember(), generateChildren(jm.getMember())));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		return children;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
package info.bukova.isspst.ui.workgroups;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Member;
 | 
			
		||||
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
 | 
			
		||||
import org.zkoss.zul.DefaultTreeNode;
 | 
			
		||||
 | 
			
		||||
public class WorkgroupTreeNode extends DefaultTreeNode<Member> {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 
 | 
			
		||||
	 */
 | 
			
		||||
	private static final long serialVersionUID = 465182942358883559L;
 | 
			
		||||
 | 
			
		||||
	public WorkgroupTreeNode(Member data,
 | 
			
		||||
			Collection<WorkgroupTreeNode> children) {
 | 
			
		||||
		super(data, children);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public WorkgroupTreeNode(Member data) {
 | 
			
		||||
		super(data);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue