/**
* 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.Query;
import org.ralasafe.entitle.QueryManager;
import org.ralasafe.group.Node;
public class QueryTreeHandler extends AbstractTreeHandler {
private QueryManager manager;
public QueryTreeHandler(QueryManager manager){
this.manager=manager;
}
public String getCreatePage() {
return "/ralasafe/query/create.jsp";
}
public String getPageTitle(){
return "Query_Tree";
}
public String getModifyPage(){
return "/ralasafe/query/modify.jsp";
}
public String getContextMenuPage(){
return "/ralasafe/query/contextMenu.jsp";
}
public void addNode(Object node) throws EntityExistException{
Query query=(Query)node;
manager.addQuery(query.getPid(), query.getName(), query.getDescription(), query.getIsLeaf());
}
public Node getNode(int id){
return manager.getQuery(id);
}
public void deleteNode(int id){
manager.deleteQuery(id);
}
public Node getNode(HttpServletRequest req){
Query query=new Query();
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);
query.setId(id);
query.setIsLeaf(isLeaf);
query.setName(name);
query.setPid(pid);
query.setDescription(desc);
return query;
}
public Node getNode( String name ) {
Collection nodes=manager.getAllQueries();
for( Iterator iter=nodes.iterator(); iter.hasNext(); ) {
Query node=(Query) iter.next();
if( node.getName().equals( name ) ) {
return node;
}
}
return null;
}
public Collection getAllNodes(){
return manager.getAllQueries();
}
public String getNodeName(Node node ){
Query query=(Query)node;
return query.getName();
}
public void moveNode(int parentId,int id,int position){
manager.moveQuery(id, parentId);
}
public void updateNode(Object node)throws EntityExistException{
Query db=(Query)node;
manager.updateQuery(db.getId(),db.getName(),db.getDescription());
}
public String getTreeType() {
return "query";
}
public void copyNode( Object node ) throws EntityExistException {
Query query=(Query)node;
manager.copyQuery( query.getId(), query.getName(), query.getDescription() );
}
}