📄 grouplist.java
字号:
package com.ejsun.entapps.presentation.pages.organization;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.contrib.tree.model.ITreeDataModel;
import org.apache.tapestry.contrib.tree.model.ITreeModel;
import org.apache.tapestry.contrib.tree.simple.SimpleTreeDataModel;
import org.apache.tapestry.contrib.tree.simple.SimpleTreeModel;
import com.ejsun.entapps.domain.organization.Group;
import com.ejsun.entapps.domain.organization.User;
import com.ejsun.entapps.presentation.pages.Protected;
import com.ejsun.entapps.service.organization.OrganizationService;
/**
* @author Labor
* @since 2004-4-17
* @version $Rvision: 1.0$
*
*/
public abstract class GroupList extends Protected {
private static final Log log = LogFactory.getLog(GroupList.class);
private ITreeDataModel treeDataModel;
private ITreeModel treeModel;
public abstract OrganizationService getOrganizationService();
public abstract User getTUser();
public abstract User getNUser();
public abstract Group getGroup();
public User[] getUsers() {
return getOrganizationService().findGroupMembers(getSelectedGroup());
}
public User getManager() {
return getOrganizationService().findGroupAdmin(getSelectedGroup());
}
public Group getSelectedGroup() {
Object selectedNode = treeModel.getTreeStateModel().getSelectedNode();
if (selectedNode == null)
return getOrganizationService().findRootGroup();
GroupTreeNode treeNode =
(GroupTreeNode) treeDataModel.getObject(selectedNode);
if (treeNode == null)
return getOrganizationService().findRootGroup();
return treeNode.getGroup();
}
public Group[] getSubGroups(){
List children = getSelectedGroup().getChildren();
return (Group[]) children.toArray(new Group[children.size()]);
}
private void init() {
Group rootGroup = getOrganizationService().findRootGroup();
GroupTreeNode rootNode = new GroupTreeNode(rootGroup);
getSubNode(rootNode);
treeDataModel = new SimpleTreeDataModel(rootNode);
treeModel = new SimpleTreeModel(treeDataModel);
}
private void getSubNode(GroupTreeNode rootNode) {
List subGroups = rootNode.getGroup().getChildren();
if (subGroups == null || subGroups.size() == 0)
return;
for (int i = 0; i < subGroups.size(); i++) {
Group subGroup = (Group) subGroups.get(i);
GroupTreeNode subNode = new GroupTreeNode(subGroup);
rootNode.insert(subNode);
getSubNode(subNode);
}
}
public ITreeModel getTreeModel() {
if (treeModel == null) {
init();
}
return treeModel;
}
public void deleteUser(IRequestCycle cycle) {
getOrganizationService().deleteUser(getTUser());
}
public void assignManager(IRequestCycle cycle) {
getOrganizationService().assignGroupAdmin(
getTUser(),
getSelectedGroup());
}
public void addUser(IRequestCycle cycle) {
if (isInError())
return;
getOrganizationService().createUser(getNUser());
getOrganizationService().addMemberToGroup(
getNUser(),
getSelectedGroup());
}
public void addGroup(IRequestCycle cycle) {
if (isInError())
return;
log.info("add [" + getGroup().getName() + "] to [" + getSelectedGroup().getName() + "]");
getOrganizationService().addChild(getSelectedGroup(), getGroup());
int i=getSelectedGroup().getChildren().size();
Group group=(Group) getSelectedGroup().getChildren().toArray(new Group[i])[i-1];
log.info(group.getName());
init();
treeModel.getTreeStateModel().resetState();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -