/**
* Copyright (c) 2004-2011 Wang Jinbao(Julian Wong), http://www.ralasafe.com
* Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
*/
package org.ralasafe.servlet;
import java.util.Collection;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import org.ralasafe.EntityExistException;
import org.ralasafe.entitle.UserCategory;
import org.ralasafe.entitle.UserCategoryManager;
import org.ralasafe.group.Node;
public class UserCategoryTreeHandler extends AbstractTreeHandler {
private final UserCategoryManager manager;
public UserCategoryTreeHandler( UserCategoryManager manager ) {
this.manager=manager;
}
public String getCreatePage() {
return "/ralasafe/userCategory/create.jsp";
}
public String getPageTitle() {
return "User_Category_Tree";
}
public String getModifyPage() {
return "/ralasafe/userCategory/modify.jsp";
}
public String getContextMenuPage() {
return "/ralasafe/userCategory/contextMenu.jsp";
}
public void addNode( Object node ) throws EntityExistException {
UserCategory uc=(UserCategory) node;
manager.addUserCategory( uc.getPid(), uc.getName(), uc.getDescription(), uc.getIsLeaf() );
}
public Node getNode( int id ) {
return manager.getUserCategory( id );
}
public void deleteNode( int id ) {
manager.deleteUserCategory( id );
}
public Node getNode( HttpServletRequest req ) {
UserCategory uc=new UserCategory();
int id=getId( req );
int pid=getParentId( req );
String name=req.getParameter( "name" );
String desc=req.getParameter( "description" );
boolean isLeaf=WebUtil.getBooleanParameter( req, "isLeaf", false );
uc.setId( id );
uc.setIsLeaf( isLeaf );
uc.setName( name );
uc.setPid( pid );
uc.setDescription( desc );
return uc;
}
public Node getNode( String name ) {
Collection nodes=manager.getAllUserCategories();
for( Iterator iter=nodes.iterator(); iter.hasNext(); ) {
UserCategory node=(UserCategory) iter.next();
if( node.getName().equals( name ) ) {
return node;
}
}
return null;
}
public Collection getAllNodes() {
return manager.getAllUserCategories();
}
public String getNodeName( Node node ) {
UserCategory uc=(UserCategory) node;
return uc.getName();
}
public void moveNode( int parentId, int id, int position ) {
manager.moveUserCategory( id, parentId );
}
public void updateNode( Object node ) throws EntityExistException {
UserCategory uc=(UserCategory) node;
manager.updateUserCategory( uc.getId(), uc.getName(), uc.getDescription() );
}
public String getTreeType() {
return "userCategory";
}
public void copyNode( Object node ) throws EntityExistException {
UserCategory uc=(UserCategory) node;
manager.copyUserCategory( uc.getId(), uc.getName(), uc.getDescription() );
}
}