Example usage for com.google.gwt.user.cellview.client Column setSortable

List of usage examples for com.google.gwt.user.cellview.client Column setSortable

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client Column setSortable.

Prototype

public void setSortable(boolean sortable) 

Source Link

Document

Set whether or not the column can be sorted.

Usage

From source file:org.kie.workbench.common.stunner.client.widgets.notification.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createTypeColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log type..
    final Cell<String> typeCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> typeColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            typeCell) {//from   www . j  a va 2s  . co  m
        @Override
        public String getValue(final Notification object) {
            return getNotificationTypeMessage(object);
        }
    };
    typeColumn.setSortable(true);
    sortHandler.setComparator(typeColumn, (o1, o2) -> o1.getType().compareTo(o2.getType()));

    return typeColumn;
}

From source file:org.kie.workbench.common.stunner.client.widgets.notification.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createContextColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log element's context.
    final Cell<String> contextCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> contextColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            contextCell) {//w w w .jav  a  2s .  c o m
        @Override
        public String getValue(final Notification object) {
            return getNotificationContextMessage(object);
        }
    };
    contextColumn.setSortable(false);

    return contextColumn;
}

From source file:org.kie.workbench.common.stunner.client.widgets.notification.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createMessageColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log message.
    final Cell<String> messageCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> messageColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            messageCell) {//from  ww w  .  ja  va  2 s .c om
        @Override
        public String getValue(final Notification object) {
            return getNotificationSourceMessage(object);
        }
    };
    messageColumn.setSortable(false);

    return messageColumn;
}

From source file:org.kie.workbench.common.stunner.standalone.client.widgets.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createTypeColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log type..
    final Cell<String> typeCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> typeColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            typeCell) {//from  w ww .  ja  v a  2 s. c om
        @Override
        public String getValue(final Notification object) {
            return getNotificationTypeMessage(object);
        }
    };
    typeColumn.setSortable(true);
    sortHandler.setComparator(typeColumn, (o1, o2) -> o1.getType().compareTo(o2.getType()));
    return typeColumn;
}

From source file:org.kie.workbench.common.stunner.standalone.client.widgets.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createContextColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log element's context.
    final Cell<String> contextCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> contextColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            contextCell) {//  w w w.  j  a  va2s.c o  m
        @Override
        public String getValue(final Notification object) {
            return getNotificationContextMessage(object);
        }
    };
    contextColumn.setSortable(false);
    return contextColumn;
}

From source file:org.kie.workbench.common.stunner.standalone.client.widgets.Notifications.java

License:Apache License

private com.google.gwt.user.cellview.client.Column<Notification, String> createMessageColumn(
        ColumnSortEvent.ListHandler<Notification> sortHandler) {
    // Log message.
    final Cell<String> messageCell = new TextCell();
    final com.google.gwt.user.cellview.client.Column<Notification, String> messageColumn = new com.google.gwt.user.cellview.client.Column<Notification, String>(
            messageCell) {/*from  w  ww  .j a va 2 s. c  o m*/
        @Override
        public String getValue(final Notification object) {
            return getNotificationSourceMessage(object);
        }
    };
    messageColumn.setSortable(false);
    return messageColumn;
}

From source file:org.pepstock.jem.gwt.client.panels.gfs.commons.FilesTable.java

License:Open Source License

/**
 * Adds all columns to table, defining the sort columns too.
 * @param table table to show//from  w  ww .  j  a v a  2s .  c  o m
 */
public void loadCellTable(CellTable<GfsFile> table) {

    /*-------------------------+
     | Name      |
     +-------------------------*/
    // construct a column that uses anchorRenderer
    Column<GfsFile, GfsFile> name = null;
    if (isOverviewOnly()) {
        name = new FolderLinkTextColumn() {

            @Override
            public void onClick(int index, GfsFile object) {
                getInspectListener().inspect(object);
            }
        };
        name.setSortable(true);
        table.addColumn(name, "Name");

    } else {
        name = new FullLinkTextColumn() {

            @Override
            public void onClick(int index, GfsFile object) {
                getInspectListener().inspect(object);
            }
        };
        name.setSortable(true);
        table.addColumn(name, "Name");
    }

    /*-------------------------+
     | Size  in bytes          |
     +-------------------------*/
    TextColumn<GfsFile> size = new TextColumn<GfsFile>() {
        @Override
        public String getValue(GfsFile memberSample) {
            long size = memberSample.getLength();
            if (size >= 0) {
                return NumberFormat.getFormat("###,###,###,###,###,##0").format(size);
            } else {
                return "";
            }
        }
    };
    size.setSortable(true);
    table.addColumn(size, "Size (bytes)");

    TextColumn<GfsFile> lastMod = new TextColumn<GfsFile>() {
        @Override
        public String getValue(GfsFile file) {
            return JemConstants.DATE_TIME_FULL.format(new Date(file.getLastModified()));
        }
    };
    lastMod.setSortable(true);
    table.addColumn(lastMod, "Last modified");
}

From source file:org.pepstock.jem.gwt.client.panels.jobs.input.InputTable.java

License:Open Source License

/**
 * Adds all columns to table, defining the sort columns too.
 *//*w  ww.  j  a va 2s . com*/
@Override
public IndexedColumnComparator<Job> initCellTable(CellTable<Job> table) {
    @SuppressWarnings("unchecked")
    final SelectionModel<Job> selectionModel = (SelectionModel<Job>) table.getSelectionModel();
    Column<Job, Boolean> checkColumn = new Column<Job, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Job job) {
            return selectionModel.isSelected(job);
        }
    };

    CheckboxCell headerCheckBox = new CheckboxCell(true, false);
    Header<Boolean> checkHeader = new Header<Boolean>(headerCheckBox) {
        // imposta lo stato dell'header!
        @Override
        public Boolean getValue() {
            // se e' vuoto, niente e' selezionato/selezionabile
            if (getTable().getVisibleItems().isEmpty()) {
                return false;
            }

            // altrimenti testo
            for (Job j : getTable().getVisibleItems()) {
                // se almeno un elemento non e' selezionato, l'header non deve essere selezionato
                if (!getTable().getSelectionModel().isSelected(j)) {
                    return false;
                }
            }
            // altrimenti se arrivo qui, tutti gli elementi sono selezionati
            return true;
        }
    };

    // updater che seleziona o deseleziona tutti gli elementi visibili in base al "valore" dell'header
    checkHeader.setUpdater(new ValueUpdater<Boolean>() {
        @Override
        public void update(Boolean value) {
            for (Job j : getTable().getVisibleItems()) {
                getTable().getSelectionModel().setSelected(j, value);
            }
        }
    });
    table.setColumnWidth(checkColumn, 23, Unit.PX);
    table.addColumn(checkColumn, checkHeader);

    /*-------------------------+
     | NAME                    |
     +-------------------------*/
    // construct a column that uses anchorRenderer
    AnchorTextColumn<Job> name = new AnchorTextColumn<Job>() {
        @Override
        public String getValue(Job object) {
            return object.getName();
        }

        @Override
        public void onClick(int index, Job object, String value) {
            getInspectListener().inspect(object);
        }

    };
    name.setSortable(true);
    if (hasFilterableHeaders()) {
        table.addColumn(name, new TextFilterableHeader("Name", JobFilterFields.NAME.getName()));
    } else {
        table.addColumn(name, "Name");
    }

    /*-------------------------+
     | TYPE                    |
     +-------------------------*/
    TextColumn<Job> type = new TextColumn<Job>() {
        @Override
        public String getValue(Job job) {
            return job.getJcl().getType();
        }
    };
    type.setSortable(true);
    if (hasFilterableHeaders()) {
        table.addColumn(type, new TextFilterableHeader("Type", JobFilterFields.TYPE.getName()));
    } else {
        table.addColumn(type, "Type");
    }

    /*-------------------------+
     | USER                    |
     +-------------------------*/
    TextColumn<Job> userid = new TextColumn<Job>() {
        @Override
        public String getValue(Job job) {
            // if surrogates, use ONLY user in JCL definition
            return (job.isUserSurrogated()) ? job.getJcl().getUser() : job.getUser();
        }
    };
    userid.setSortable(true);
    if (hasFilterableHeaders()) {
        table.addColumn(userid, new TextFilterableHeader("User", JobFilterFields.USER.getName()));
    } else {
        table.addColumn(userid, "User");
    }

    /*-------------------------+
     | ENVIRONMENT             |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.JOBS, Permissions.JOBS_UPDATE)) {
        Column<Job, String> environment = new Column<Job, String>(new EditTextCell()) {
            @Override
            public String getValue(Job object) {
                return object.getJcl().getEnvironment();
            }
        };
        environment.setFieldUpdater(new FieldUpdater<Job, String>() {
            @Override
            public void update(int index, Job job, String value) {
                if (value != null && value.trim().length() > 0) {
                    if (!value.equalsIgnoreCase(job.getJcl().getEnvironment())) {
                        job.getJcl().setEnvironment(value);
                        updateJob(job);
                    }
                    return;
                }
                refresh();
            }
        });
        if (hasFilterableHeaders()) {
            table.addColumn(environment,
                    new TextFilterableHeader("Environment", JobFilterFields.ENVIRONMENT.getName()));
        } else {
            table.addColumn(environment, "Environment");
        }
    } else {
        TextColumn<Job> environment = new TextColumn<Job>() {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return jcl.getEnvironment();
            }
        };
        environment.setSortable(true);
        if (hasFilterableHeaders()) {
            table.addColumn(environment,
                    new TextFilterableHeader("Environment", JobFilterFields.ENVIRONMENT.getName()));
        } else {
            table.addColumn(environment, "Environment");
        }
    }
    /*-------------------------+
     | DOMAIN                  |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.JOBS, Permissions.JOBS_UPDATE)) {
        Column<Job, String> domain = new Column<Job, String>(new EditTextCell()) {
            @Override
            public String getValue(Job object) {
                return object.getJcl().getDomain();
            }
        };
        domain.setSortable(true);
        domain.setFieldUpdater(new FieldUpdater<Job, String>() {
            @Override
            public void update(int index, Job job, String valueParm) {
                String value = valueParm;
                if (value != null) {
                    if (value.trim().length() == 0) {
                        value = Jcl.DEFAULT_DOMAIN;
                    }
                    if (!value.equalsIgnoreCase(job.getJcl().getDomain())) {
                        job.getJcl().setDomain(value);
                        updateJob(job);
                    }
                    return;
                }
                refresh();
            }
        });
        if (hasFilterableHeaders()) {
            table.addColumn(domain, new TextFilterableHeader("Domain", JobFilterFields.DOMAIN.getName()));
        } else {
            table.addColumn(domain, "Domain");
        }
    } else {
        TextColumn<Job> domain = new TextColumn<Job>() {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return jcl.getDomain();
            }
        };
        domain.setSortable(true);
        if (hasFilterableHeaders()) {
            table.addColumn(domain, new TextFilterableHeader("Domain", JobFilterFields.DOMAIN.getName()));
        } else {
            table.addColumn(domain, "Domain");
        }
    }

    /*-------------------------+
     | STATIC AFFINITIES       |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.JOBS, Permissions.JOBS_UPDATE)) {
        Column<Job, String> affinity = new Column<Job, String>(new EditTextCell()) {
            @Override
            public String getValue(Job object) {
                return object.getJcl().getAffinity();
            }
        };
        affinity.setSortable(true);
        affinity.setFieldUpdater(new FieldUpdater<Job, String>() {
            @Override
            public void update(int index, Job job, String valueParm) {
                String value = valueParm;
                if (value != null) {
                    if (value.trim().length() == 0) {
                        value = Jcl.DEFAULT_AFFINITY;
                    }
                    if (!value.equalsIgnoreCase(job.getJcl().getAffinity())) {
                        job.getJcl().setAffinity(value);
                        updateJob(job);
                    }
                    return;
                }
                refresh();
            }
        });
        if (hasFilterableHeaders()) {
            table.addColumn(affinity, new TextFilterableHeader("Affinity", JobFilterFields.AFFINITY.getName()));
        } else {
            table.addColumn(affinity, "Affinity");
        }
    } else {
        TextColumn<Job> affinity = new TextColumn<Job>() {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return jcl.getAffinity();
            }
        };
        affinity.setSortable(true);
        if (hasFilterableHeaders()) {
            table.addColumn(affinity, new TextFilterableHeader("Affinity", JobFilterFields.AFFINITY.getName()));
        } else {
            table.addColumn(affinity, "Affinity");
        }
    }

    /*-------------------------+
     | SUBMITTED DATE          |
     +-------------------------*/
    TextColumn<Job> submittedDate = new TextColumn<Job>() {
        @Override
        public String getValue(Job job) {
            return JemConstants.DATE_TIME_FULL.format(job.getSubmittedTime());
        }
    };
    submittedDate.setSortable(true);
    if (hasFilterableHeaders()) {
        table.addColumn(submittedDate, new TextFilterableHeader("Submitted time",
                JobFilterFields.SUBMITTED_TIME.getName(), JobFilterFields.SUBMITTED_TIME.getPattern()));
    } else {
        table.addColumn(submittedDate, "Submitted time");
    }

    /*-------------------------+
     | PRIORITY                |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.JOBS, Permissions.JOBS_UPDATE)) {
        Column<Job, String> priority = new Column<Job, String>(new EditTextCell()) {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return String.valueOf(jcl.getPriority());
            }
        };
        priority.setSortable(true);
        priority.setFieldUpdater(new FieldUpdater<Job, String>() {
            @Override
            public void update(int index, Job job, String value) {
                if (value != null) {
                    int prio = job.getJcl().getPriority();
                    try {
                        prio = Integer.parseInt(value);
                        if (prio != job.getJcl().getPriority()) {
                            job.getJcl().setPriority(prio);
                            updateJob(job);
                            return;
                        }
                    } catch (Exception e) {
                        LogClient.getInstance().warning(e.getMessage(), e);
                        new Toast(MessageLevel.ERROR, "Value '" + value + "' assigned is NOT valid.",
                                "Priority not changed!").show();
                    }
                }
                refresh();
            }
        });
        if (hasFilterableHeaders()) {
            table.addColumn(priority, new TextFilterableHeader("Priority", JobFilterFields.PRIORITY.getName()));
        } else {
            table.addColumn(priority, "Priority");
        }
    } else {
        TextColumn<Job> priority = new TextColumn<Job>() {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return String.valueOf(jcl.getPriority());
            }
        };
        if (hasFilterableHeaders()) {
            table.addColumn(priority, new TextFilterableHeader("Priority", JobFilterFields.PRIORITY.getName()));
        } else {
            table.addColumn(priority, "Priority");
        }
    }

    /*-------------------------+
     | MEMORY                  |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.JOBS, Permissions.JOBS_UPDATE)) {
        Column<Job, String> memory = new Column<Job, String>(new EditTextCell()) {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return String.valueOf(jcl.getMemory());
            }
        };
        memory.setSortable(true);
        memory.setFieldUpdater(new FieldUpdater<Job, String>() {
            @Override
            public void update(int index, Job job, String value) {
                if (value != null) {
                    int mem = job.getJcl().getMemory();
                    try {
                        mem = Integer.parseInt(value);
                        if (mem != job.getJcl().getMemory()) {
                            job.getJcl().setMemory(mem);
                            updateJob(job);
                            return;
                        }
                    } catch (Exception e) {
                        LogClient.getInstance().warning(e.getMessage(), e);
                        new Toast(MessageLevel.ERROR, "Value '" + value + "' assigned is NOT valid.",
                                "Memory not changed!").show();
                    }
                }
                refresh();
            }
        });
        if (hasFilterableHeaders()) {
            table.addColumn(memory, new TextFilterableHeader("Memory (MB)", JobFilterFields.MEMORY.getName()));
        } else {
            table.addColumn(memory, "Memory (MB)");
        }
    } else {
        TextColumn<Job> memory = new TextColumn<Job>() {
            @Override
            public String getValue(Job job) {
                Jcl jcl = job.getJcl();
                return String.valueOf(jcl.getMemory());
            }
        };
        if (hasFilterableHeaders()) {
            table.addColumn(memory, new TextFilterableHeader("Memory (MB)", JobFilterFields.MEMORY.getName()));
        } else {
            table.addColumn(memory, "Memory (MB)");
        }
    }

    /*-------------------------+
     | HOLD                    |
     +-------------------------*/
    TextColumn<Job> hold = new TextColumn<Job>() {
        @Override
        public String getValue(Job job) {
            Jcl jcl = job.getJcl();
            return (jcl.isHold()) ? "hold" : "";
        }
    };
    hold.setSortable(true);
    table.addColumn(hold, "Hold");

    return new InputJobComparator(1);
}

From source file:org.pepstock.jem.gwt.client.panels.nodes.NodesTable.java

License:Open Source License

/**
 * Adds all columns to table, defining the sort columns too.
 *///w  ww  .  jav a2  s.c om
@Override
public IndexedColumnComparator<NodeInfoBean> initCellTable(final CellTable<NodeInfoBean> table) {
    /*-------------------------+
     | CHECK BOX FOR SELECTION |
     +-------------------------*/
    @SuppressWarnings("unchecked")
    final SelectionModel<NodeInfoBean> selectionModel = (SelectionModel<NodeInfoBean>) table
            .getSelectionModel();
    Column<NodeInfoBean, Boolean> checkColumn = new Column<NodeInfoBean, Boolean>(
            new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(NodeInfoBean nodeInfoBean) {
            return selectionModel.isSelected(nodeInfoBean);
        }
    };

    CheckboxCell headerCheckBox = new CheckboxCell(true, false);
    Header<Boolean> checkHeader = new Header<Boolean>(headerCheckBox) {
        // imposta lo stato dell'header!
        @Override
        public Boolean getValue() {
            // se e' vuoto, niente e' selezionato/selezionabile
            if (getTable().getVisibleItems().isEmpty()) {
                return false;
            }

            // altrimenti testo
            for (NodeInfoBean n : getTable().getVisibleItems()) {
                // se almeno un elemento non e' selezionato, l'header non deve essere selezionato
                if (!getTable().getSelectionModel().isSelected(n)) {
                    return false;
                }
            }
            // altrimenti se arrivo qui, tutti gli elementi sono selezionati
            return true;
        }
    };

    // updater che seleziona o deseleziona tutti gli elementi visibili in base al "valore" dell'header
    checkHeader.setUpdater(new ValueUpdater<Boolean>() {
        @Override
        public void update(Boolean value) {
            for (NodeInfoBean n : getTable().getVisibleItems()) {
                getTable().getSelectionModel().setSelected(n, value);
            }
        }
    });

    table.setColumnWidth(checkColumn, 23, Unit.PX);
    table.addColumn(checkColumn, checkHeader);

    /*-------------------------+
     | IPADDRESS AND PORT      |
     +-------------------------*/
    // construct a column that uses anchorRenderer
    AnchorTextColumn<NodeInfoBean> name = new AnchorTextColumn<NodeInfoBean>() {
        @Override
        public String getValue(NodeInfoBean object) {
            return object.getLabel();
        }

        @Override
        public void onClick(int index, NodeInfoBean object, String value) {
            getInspectListener().inspect(object);
        }
    };
    name.setSortable(true);
    table.addColumn(name, new TextFilterableHeader("Name", NodeFilterFields.NAME.getName()));

    /*-------------------------+
     | HOST NAME               |
     +-------------------------*/
    TextColumn<NodeInfoBean> hostname = new TextColumn<NodeInfoBean>() {
        @Override
        public String getValue(NodeInfoBean nodeInfoBean) {
            return nodeInfoBean.getHostname();
        }
    };
    hostname.setSortable(true);
    table.addColumn(hostname, new TextFilterableHeader("Hostname", NodeFilterFields.HOSTNAME.getName()));

    /*-------------------------+
     | DOMAIN                  |
     +-------------------------*/

    if (ClientPermissions.isAuthorized(Permissions.NODES, Permissions.NODES_UPDATE)) {
        Column<NodeInfoBean, String> domain = new Column<NodeInfoBean, String>(new EditTextCell()) {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return nodeInfoBean.getExecutionEnvironment().getDomain();
            }
        };
        domain.setSortable(true);
        domain.setFieldUpdater(new DomainFieldUpdater());
        table.addColumn(domain, new TextFilterableHeader("Domain", NodeFilterFields.DOMAIN.getName()));
    } else {
        TextColumn<NodeInfoBean> domain = new TextColumn<NodeInfoBean>() {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return nodeInfoBean.getExecutionEnvironment().getDomain();
            }
        };
        domain.setSortable(true);
        table.addColumn(domain, new TextFilterableHeader("Domain", NodeFilterFields.DOMAIN.getName()));
    }

    /*-------------------------+
     | STATIC AFFINITIES       |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.NODES, Permissions.NODES_UPDATE)) {
        Column<NodeInfoBean, String> affinity = new Column<NodeInfoBean, String>(new EditTextCell()) {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return toAffinityString(nodeInfoBean.getExecutionEnvironment().getStaticAffinities());
            }
        };
        affinity.setSortable(true);
        affinity.setFieldUpdater(new FieldUpdater<NodeInfoBean, String>() {
            @Override
            public void update(int index, NodeInfoBean nodeInfoBean, String valueParm) {
                String value = valueParm;
                if (value != null) {
                    if (value.trim().length() == 0) {
                        value = Jcl.DEFAULT_AFFINITY;
                    }
                    nodeInfoBean.getExecutionEnvironment().getStaticAffinities().clear();
                    String[] affinities = value.split(",");
                    for (int i = 0; i < affinities.length; i++) {
                        nodeInfoBean.getExecutionEnvironment().getStaticAffinities().add(affinities[i]);
                    }
                    updateNode(nodeInfoBean);
                    return;
                }
                refresh();
            }
        });
        table.addColumn(affinity,
                new TextFilterableHeader("Static Affinities", NodeFilterFields.STATIC_AFFINITIES.getName()));
    } else {
        TextColumn<NodeInfoBean> affinity = new TextColumn<NodeInfoBean>() {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return toAffinityString(nodeInfoBean.getExecutionEnvironment().getStaticAffinities());
            }
        };
        affinity.setSortable(true);
        table.addColumn(affinity,
                new TextFilterableHeader("Static Affinities", NodeFilterFields.STATIC_AFFINITIES.getName()));
    }

    /*-------------------------+
     | DYNAMIC AFFINITIES      |
     +-------------------------*/
    TextColumn<NodeInfoBean> dynAffinity = new TextColumn<NodeInfoBean>() {
        @Override
        public String getValue(NodeInfoBean nodeInfoBean) {
            return toAffinityString(nodeInfoBean.getExecutionEnvironment().getDynamicAffinities());
        }
    };
    dynAffinity.setSortable(true);
    table.addColumn(dynAffinity,
            new TextFilterableHeader("Dynamic Affinities", NodeFilterFields.DYNAMIC_AFFINITIES.getName()));

    /*-------------------------+
     | STATUS                  |
     +-------------------------*/
    StatusColumn status = new StatusColumn();
    status.setSortable(true);
    table.addColumn(status, new TextFilterableHeader("Status", NodeFilterFields.STATUS.getName()));

    /*-------------------------+
     | OS NAME                 |
     +-------------------------*/
    TextColumn<NodeInfoBean> systemName = new TextColumn<NodeInfoBean>() {
        @Override
        public String getValue(NodeInfoBean nodeInfoBean) {
            return nodeInfoBean.getSystemName();
        }
    };
    systemName.setSortable(true);
    table.addColumn(systemName, new TextFilterableHeader("OS", NodeFilterFields.OS.getName()));

    /*-------------------------+
     | Memory                  |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.NODES, Permissions.NODES_UPDATE)) {
        Column<NodeInfoBean, String> memory = new Column<NodeInfoBean, String>(new EditTextCell()) {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return String.valueOf(nodeInfoBean.getExecutionEnvironment().getMemory());
            }
        };
        memory.setSortable(true);
        memory.setFieldUpdater(new MemoryFieldUpdater());
        table.addColumn(memory, new TextFilterableHeader("Memory (MB)", NodeFilterFields.MEMORY.getName()));
    } else {
        TextColumn<NodeInfoBean> memory = new TextColumn<NodeInfoBean>() {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return String.valueOf(nodeInfoBean.getExecutionEnvironment().getMemory());
            }
        };
        memory.setSortable(true);
        table.addColumn(memory, new TextFilterableHeader("Memory (MB)", NodeFilterFields.MEMORY.getName()));
    }

    /*-------------------------+
     | Parallel jobs           |
     +-------------------------*/
    if (ClientPermissions.isAuthorized(Permissions.NODES, Permissions.NODES_UPDATE)) {
        Column<NodeInfoBean, String> parallelJobs = new Column<NodeInfoBean, String>(new EditTextCell()) {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return String.valueOf(nodeInfoBean.getExecutionEnvironment().getParallelJobs());
            }
        };
        parallelJobs.setSortable(true);
        parallelJobs.setFieldUpdater(new ParallelJobsFieldUpdater());
        table.addColumn(parallelJobs,
                new TextFilterableHeader("Parallel Jobs", NodeFilterFields.PARALLEL_JOBS.getName()));
    } else {
        TextColumn<NodeInfoBean> parallelJobs = new TextColumn<NodeInfoBean>() {
            @Override
            public String getValue(NodeInfoBean nodeInfoBean) {
                return String.valueOf(nodeInfoBean.getExecutionEnvironment().getParallelJobs());
            }
        };
        parallelJobs.setSortable(true);
        table.addColumn(parallelJobs,
                new TextFilterableHeader("Parallel Jobs", NodeFilterFields.PARALLEL_JOBS.getName()));
    }

    /*-------------------------+
     | CURRENT JOB             |
     +-------------------------*/
    TextColumn<NodeInfoBean> currentJob = new TextColumn<NodeInfoBean>() {
        @Override
        public String getValue(NodeInfoBean nodeInfoBean) {
            if (nodeInfoBean.getJobNames().isEmpty()) {
                return "";
            } else if (nodeInfoBean.getJobNames().size() > 1) {
                return String.valueOf(nodeInfoBean.getJobNames().size());
            }
            return nodeInfoBean.getJobNames().get(0);
        }

    };

    currentJob.setSortable(true);
    table.addColumn(currentJob,
            new TextFilterableHeader("Running Jobs", NodeFilterFields.CURRENT_JOB.getName()));

    // adds a cell handler to catch the click on column of running jobs
    // to show the list of jobs
    table.addCellPreviewHandler(new JobsListCellPreviewHandler(table));
    return new NodesComparator(1);

}

From source file:org.pepstock.jem.gwt.client.panels.resources.inspector.widgets.CustomPropertiesTable.java

License:Open Source License

/**
 * Adds all columns to table, defining the sort columns too.
 *//* ww w  .ja  v a2  s. c  om*/
@Override
public IndexedColumnComparator<ResourceProperty> initCellTable(final CellTable<ResourceProperty> table) {
    /*-------------------------+
     | KEY                |
     +-------------------------*/

    Column<ResourceProperty, String> key = new Column<ResourceProperty, String>(new EditTextCell()) {
        @Override
        public String getValue(ResourceProperty property) {
            return property.getName();
        }
    };
    key.setSortable(false);
    key.setFieldUpdater(new KeyFieldUpdater());
    table.addColumn(key, "Key");
    table.setColumnWidth(key, 50, Unit.PCT);

    /*-------------------------+
     | VALUE       |
     +-------------------------*/
    Column<ResourceProperty, String> value = new Column<ResourceProperty, String>(new EditTextCell()) {
        @Override
        public String getValue(ResourceProperty property) {
            return property.getValue();
        }
    };
    value.setSortable(false);
    value.setFieldUpdater(new ValueFieldUpdater());
    table.addColumn(value, "Value");
    table.setColumnWidth(value, 50, Unit.PCT);
    return new CustomPropertiesComparator(1);

}