001: package org.osbl.client.wings.concern;
002:
003: import org.concern.Subject;
004: import org.osbl.agent.gui.DesignContext;
005: import org.osbl.agent.gui.SubjectDesignContext;
006: import org.osbl.agent.gui.TaskDesignContext;
007: import org.osbl.client.wings.shell.AbstractTool;
008: import org.osbl.client.wings.shell.Client;
009: import org.osbl.client.wings.shell.Window;
010: import org.osbl.client.wings.form.*;
011: import org.wings.SComponent;
012: import org.wings.SPanel;
013: import org.wings.session.SessionManager;
014: import org.conform.BeanMeta;
015:
016: import java.util.Map;
017: import java.util.HashMap;
018:
019: public class SubjectList extends GenericObjectList implements
020: FilterableObjectList {
021: protected BeanMeta createBeanMeta() {
022: return Client.getInstance().getBeanMetaProvider().getBeanMeta(
023: Subject.class);
024: }
025:
026: protected ObjectTableModel createModel(BeanMeta beanMeta) {
027: return new SubjectTableModel(beanMeta);
028: }
029:
030: // was protected
031: public Object getRow(int index) {
032: return ((SubjectTableModel) model).getRow(index);
033: }
034:
035: protected Object idOf(Object object) {
036: return ((Subject) object).getSubjectId();
037: }
038:
039: public void setProcesses(String[] processes) {
040: getTableModel().setProcesses(processes);
041: }
042:
043: public void setAssignee(String assignee) {
044: getTableModel().setAssignee(assignee);
045: }
046:
047: public void setOriginators(String[] originators) {
048: getTableModel().setOriginators(originators);
049: }
050:
051: public void setState(int state) {
052: getTableModel().setState(state);
053: }
054:
055: private SubjectTableModel getTableModel() {
056: return (SubjectTableModel) getModel();
057: }
058:
059: public void clearFilters() {
060: super .clearFilters();
061: SubjectTableModel tableModel = getTableModel();
062: tableModel.setFilter(0, null);
063: tableModel.setFilter(1, null);
064: tableModel.setFilter(2, null);
065: tableModel.setState(0);
066: tableModel.setAssignee(null);
067: }
068:
069: public void setFilter(String property, Object value) {
070: super .setFilter(property, value);
071:
072: SubjectTableModel tableModel = getTableModel();
073: if ("subjectLine".equals(property))
074: tableModel.setFilter(0, getFilter("subjectLine"));
075: if ("process".equals(property))
076: tableModel.setFilter(1, getFilter("process"));
077: if ("originator".equals(property))
078: tableModel.setFilter(2,
079: substitute((String) getFilter("originator")));
080: if ("state".equals(property))
081: tableModel.setState(state((Integer) getFilter("state")));
082: if ("assignee".equals(property))
083: tableModel
084: .setAssignee(substitute((String) getFilter("assignee")));
085: }
086:
087: protected void initializeList() {
088: }
089:
090: private int state(Integer integer) {
091: return integer != null ? integer : 0;
092: }
093:
094: private String substitute(String string) {
095: if ("{currentUser}".equals(string))
096: string = SessionManager.getSession().getServletRequest()
097: .getUserPrincipal().getName();
098: return string;
099: }
100: }
|