Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder appendEscaped

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder appendEscaped

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder appendEscaped.

Prototype

public SafeHtmlBuilder appendEscaped(String text) 

Source Link

Document

Appends a string after HTML-escaping it.

Usage

From source file:org.kino.client.monitoring.ComonProjectGrid.java

public ComonProjectGrid() {

    final ListStore<MonitoringW.CommonProjectInfo> store = new ListStore<MonitoringW.CommonProjectInfo>(
            new ModelKeyProvider<MonitoringW.CommonProjectInfo>() {

                @Override/*from   w w  w  . java2 s.c o m*/
                public String getKey(MonitoringW.CommonProjectInfo item) {
                    return String.valueOf(item.id);
                }
            });

    /* ColumnConfig<MonitoringW.CommonProjectInfo,MonitoringW.CommonProjectInfo> col_poster = new ColumnConfig<MonitoringW.CommonProjectInfo,MonitoringW.CommonProjectInfo>(new ValueProvider<MonitoringW.CommonProjectInfo,MonitoringW.CommonProjectInfo>() {
        @Override
        public MonitoringW.CommonProjectInfo getValue(MonitoringW.CommonProjectInfo object) {
             return object; 
        }
            
        @Override
        public void setValue(MonitoringW.CommonProjectInfo object, MonitoringW.CommonProjectInfo value) {  }
            
        @Override
        public String getPath() {
            return "poster";
        }
    },100,"?");*/

    ColumnConfig<MonitoringW.CommonProjectInfo, MonitoringW.CommonProjectInfo> col_name = new ColumnConfig<MonitoringW.CommonProjectInfo, MonitoringW.CommonProjectInfo>(
            new IdentityValueProvider<CommonProjectInfo>("name"), 250, "?");
    final ColumnConfig<MonitoringW.CommonProjectInfo, String> col_status = new ColumnConfig<MonitoringW.CommonProjectInfo, String>(
            new ReadOnlyValueProvider<MonitoringW.CommonProjectInfo, String>("status") {

                @Override
                public String getValue(MonitoringW.CommonProjectInfo object) {
                    return object.status;
                }
            }, 100, "?");

    ColumnConfig<MonitoringW.CommonProjectInfo, Double> col_percent = new ColumnConfig<MonitoringW.CommonProjectInfo, Double>(
            new ReadOnlyValueProvider<MonitoringW.CommonProjectInfo, Double>("percent") {

                @Override
                public Double getValue(MonitoringW.CommonProjectInfo object) {
                    return object.percent;
                }

            }, 100, "");

    ColumnConfig<MonitoringW.CommonProjectInfo, Integer> col_client_count = new ColumnConfig<MonitoringW.CommonProjectInfo, Integer>(
            new ReadOnlyValueProvider<MonitoringW.CommonProjectInfo, Integer>("client_count") {

                @Override
                public Integer getValue(CommonProjectInfo object) {
                    return object.client_count; //To change body of generated methods, choose Tools | Templates.
                }
            }, 50, "- /");

    /* ColumnConfig<MonitoringW.CommonProjectInfo,Integer> col_time_left = new ColumnConfig<MonitoringW.CommonProjectInfo, Integer>(new ValueProvider<MonitoringW.CommonProjectInfo,Integer>() {
            
        @Override
        public Integer getValue(MonitoringW.CommonProjectInfo object) {
             return  (Integer)object.time_left ;
        }
            
        @Override
        public void setValue(MonitoringW.CommonProjectInfo object, Integer value) {
                    
        }
            
        @Override
        public String getPath() {
            return "time_left";
        }
    },50,"? ?");*/
    ColumnConfig<MonitoringW.CommonProjectInfo, Date> col_time_create = new ColumnConfig<MonitoringW.CommonProjectInfo, Date>(
            new ValueProvider<MonitoringW.CommonProjectInfo, Date>() {

                @Override
                public Date getValue(MonitoringW.CommonProjectInfo object) {
                    return new Date(object.time_create);
                }

                @Override
                public void setValue(MonitoringW.CommonProjectInfo object, Date value) {

                }

                @Override
                public String getPath() {
                    return "time_total";
                }
            }, 150, " ??");

    List<ColumnConfig<MonitoringW.CommonProjectInfo, ?>> list = new ArrayList<ColumnConfig<MonitoringW.CommonProjectInfo, ?>>();
    list.add(new RowNumberer<MonitoringW.CommonProjectInfo>(
            new IdentityValueProvider<MonitoringW.CommonProjectInfo>()));
    //  list.add(col_poster);
    list.add(col_name);
    list.add(col_client_count);
    list.add(col_percent);
    list.add(col_status);
    list.add(col_time_create);
    col_name.setCell(new AbstractCell<CommonProjectInfo>() {
        @Override
        public void render(Cell.Context context, CommonProjectInfo value, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<b>").appendEscaped(value.rus).appendHtmlConstant("</b><br>")
                    .appendEscaped(value.name == null ? "" : value.name);
        }
    });
    col_name.setComparator(new Comparator<CommonProjectInfo>() {

        @Override
        public int compare(CommonProjectInfo o1, CommonProjectInfo o2) {

            int res = o1.rus.compareTo(o2.rus);
            return res;
        }
    });
    col_status.setCell(new AbstractCell<String>() {

        @Override
        public void render(Cell.Context context, String value, SafeHtmlBuilder sb) {
            String text;
            if (value.equals("init"))
                text = "?";
            else if (value.equals("check"))
                text = "";
            else if (value.equals("ready"))
                text = "";
            else if (value.equals("error"))
                text = "";
            else
                text = "? ? ?? '" + value + "'";

            sb.appendEscaped(text);
        }
    });

    col_time_create.setCell(new DateCell(DateTimeFormat.getFormat("dd/MM/yyyy HH:mm:ss")));

    // list.add(col_error);

    // list.add(col_time_left);
    // list.add(col_time_total);
    /*AbstractCell<MonitoringW.CommonProjectInfo> imgCell = new AbstractCell<MonitoringW.CommonProjectInfo>(){
            
        @Override
        public void render(Cell.Context context, MonitoringW.CommonProjectInfo value, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<img src='image_servlet?project_id="+ value.id+"&w=30&h=30' /> ");
            //super.render(context, value, sb);  .
        }
            
                 
                
    }; 
    col_poster.setCell(imgCell);*/

    ProgressBarCell progress = new ProgressBarCell();
    progress.setWidth(100 - 10);
    progress.setProgressText("{0} %");
    col_percent.setCell(progress);
    //new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")
    /*  TextButtonCell button = new TextButtonCell();
    button.setIcon(Resources.INSTANCE.search_48());
            
    col_poster.setCell(imgCell);
    col_percent.setCell(progress);
            
    */

    ColumnModel<MonitoringW.CommonProjectInfo> cm = new ColumnModel<MonitoringW.CommonProjectInfo>(list);

    grid = new Grid<MonitoringW.CommonProjectInfo>(store, cm);
    /*grid.addCellClickHandler(new CellClickEvent.CellClickHandler() {
            
        @Override
        public void onCellClick(CellClickEvent event) {
            int cellIndex = event.getCellIndex();
            if(!grid.getColumnModel().getColumn(cellIndex).equals(col_status)){
                return;
            }
            CommonProjectInfo selectedItem = grid.getSelectionModel().getSelectedItem();
             final PromptMessageBox box = new PromptMessageBox("Name", "Please enter your name:");
             box.getTextField().setReadOnly(true);
             box.getTextField().setValue(selectedItem.status);
             box.show();
            //Window.alert(selectedItem.status);
        }
    });*/

    grid.addDomHandler(new DoubleClickHandler() {

        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            CommonProjectInfo item = grid.getSelectionModel().getSelectedItem();
            if (item == null)
                return;
            UrlBuilder urlb = Window.Location.createUrlBuilder();
            urlb.setParameter("project", item.id + "");
            Window.open(urlb.buildString(), "_blank", "");
        }
    }, DoubleClickEvent.getType());
    cm.addColumnWidthChangeHandler(new CellColumnResizer(grid, col_percent, progress));

    /* CallbackWithFailureDialog<ArrayList<MonitoringW.CommonProjectInfo>> asyncCallback = new CallbackWithFailureDialog<ArrayList<MonitoringW.CommonProjectInfo>>("? ?    ") {
        @Override
        public void onSuccess(ArrayList<MonitoringW.CommonProjectInfo> result) {
             store.replaceAll(result);
        }
    };*/
    //  GWTServiceAsync.instance.getCommonProjectInfo(asyncCallback);

    // System.out.println("visible grid:"+grid.isVisible());
    // System.out.println("visible grid deep:"+grid.isVisible(true));

    final CallbackWithFailureDialog<ArrayList<CommonProjectInfo>> callback = new CallbackWithFailureDialog<ArrayList<CommonProjectInfo>>(
            "? ?  ") {
        @Override
        public void onSuccess(ArrayList<CommonProjectInfo> result) {

            for (MonitoringW.CommonProjectInfo item : result) {
                MonitoringW.CommonProjectInfo findModelWithKey = store
                        .findModelWithKey(String.valueOf(item.id));
                if (findModelWithKey == null)
                    continue;
                findModelWithKey.percent = item.percent;
                findModelWithKey.time_left = item.time_left;
                findModelWithKey.time_create = item.time_create;
                findModelWithKey.status = item.status;
                if (item.status.equals("error")) {
                    Info.display("",
                            "<font color='red'>  "
                                    + SafeHtmlUtils.htmlEscape(findModelWithKey.name)
                                    + "  </font>");
                    grid.getStore().remove(findModelWithKey);
                }

            }
            grid.getStore()
                    .fireEvent(new StoreUpdateEvent<MonitoringW.CommonProjectInfo>(grid.getStore().getAll()));

            // if(grid.isVisible())

            updateStatusTimer.schedule(MonitoringW.TIMER_REFRESH_TIMEOUT);

        }
    };

    updateStatusTimer = new Timer() {
        @Override
        public void run() {

            //      logger.log(Level.INFO, "update_projects");

            status_request = GWTServiceAsync.instance.getCommonProjectInfo(callback);

        }
    };

    ToolBar bar = new ToolBar();

    TextButton but_refresh = new TextButton("", Resources.INSTANCE.refresh());
    bar.add(but_refresh);
    but_refresh.addSelectHandler(new SelectEvent.SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            loadData();
        }
    });
    final TextButton but_add = new TextButton(" ",
            Resources.INSTANCE.plus_16());
    but_add.setEnabled(false);
    bar.add(but_add);
    but_add.addSelectHandler(new SelectEvent.SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {

            final CommonProjectInfo item = grid.getSelectionModel().getSelectedItem();
            if (item == null)
                return;

            AddTheaterToExistedProjectDialog dlg = new AddTheaterToExistedProjectDialog(item.id) {

                @Override
                public void onAdd(int count) {
                    if (count == 0)
                        return;

                    // UPDATE CLIENT COUNT AND COMMON PERCENT!
                    super.onAdd(count); //To change body of generated methods, choose Tools | Templates.
                    int count_old = item.client_count;
                    double percent_old = item.percent;

                    item.client_count += count;
                    item.percent = (percent_old * count_old) / (count + count_old);
                    grid.getStore().update(item);
                }

            };
            dlg.show();
        }
    });
    final TextButton but_show_detail = new TextButton("", Resources.INSTANCE.search_16());
    bar.add(but_show_detail);
    but_show_detail.setEnabled(false);
    grid.getSelectionModel()
            .addSelectionChangedHandler(new SelectionChangedEvent.SelectionChangedHandler<CommonProjectInfo>() {
                @Override
                public void onSelectionChanged(SelectionChangedEvent<CommonProjectInfo> event) {
                    but_show_detail.setEnabled(grid.getSelectionModel().getSelectedItem() != null);
                    but_add.setEnabled(grid.getSelectionModel().getSelectedItem() != null);
                }
            });

    but_show_detail.addSelectHandler(new SelectEvent.SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            CommonProjectInfo item = grid.getSelectionModel().getSelectedItem();
            if (item == null)
                return;
            UrlBuilder urlb = Window.Location.createUrlBuilder();
            urlb.setParameter("project", item.id + "");
            Window.open(urlb.buildString(), "_blank", "");
        }
    });
    vert.add(bar, new VerticalLayoutContainer.VerticalLayoutData(1, -1));
    vert.add(grid, new VerticalLayoutContainer.VerticalLayoutData(1, 1));
    grid.getView().setEmptyText("? ?");

}

From source file:org.kino.client.monitoring.CurrentProjectsGrid.java

public CurrentProjectsGrid() {

    ListStore<ProjectItem> store = new ListStore<ProjectItem>(new ModelKeyProvider<ProjectItem>() {

        @Override//from ww  w  . j a  v a 2 s . co  m
        public String getKey(ProjectItem item) {
            return String.valueOf(item.id);
        }
    });

    final ColumnConfig<ProjectItem, String> col_name = new ColumnConfig<ProjectItem, String>(
            new ReadOnlyValueProvider<ProjectItem, String>("rus_title") {

                @Override
                public String getValue(ProjectItem object) {
                    return object.rus_name;
                }
            }, 100, "?");

    ColumnConfig<ProjectItem, Date> col_date_accept = new ColumnConfig<ProjectItem, Date>(
            new ReadOnlyValueProvider<ProjectItem, Date>("date_accept") {

                @Override
                public Date getValue(ProjectItem object) {
                    return new Date(object.date_begin);
                }

            }, 100, " ?");
    col_date_accept.setCell(new DateCell(DateTimeFormat.getFormat("dd/MM/yyyy HH:mm:ss")) {

        @Override
        public void render(Cell.Context context, Date value, SafeHtmlBuilder sb) {
            if (value.getTime() == 0)
                sb.appendEscaped("-");
            else
                super.render(context, value, sb); //To change body of generated methods, choose Tools | Templates.
        }
    });
    final ColumnConfig<ProjectItem, ProjectItem> col_time_left = new ColumnConfig<ProjectItem, ProjectItem>(
            new ReadOnlyValueProvider<ProjectItem, ProjectItem>("time_left") {

                @Override
                public ProjectItem getValue(ProjectItem object) {
                    return object;
                }
            }, 100, "??");

    col_time_left.setCell(new AbstractCell<ProjectItem>() {

        @Override
        public void render(Cell.Context context, ProjectItem ob, SafeHtmlBuilder sb) {
            if (ob.status.equals("error") || ob.status.equals("done")) {
                sb.appendEscaped("0");
                return;
            }
            Long value = ob.time_left;
            if (value < 0)
                sb.appendHtmlConstant("<font size='4'>&#8734;</font>");
            else {
                if (value == 0)
                    sb.appendEscaped("0");
                else if (value < 60)
                    sb.appendEscaped(value.toString() + " ?");
                else if (value < 3600)
                    sb.appendEscaped((value / 60) + " ");
                else if (value < 86400) //60*60*24
                    sb.appendEscaped((value / (60 * 60)) + " ");
                else if (value < 2592000)
                    sb.appendEscaped((value / (60 * 60 * 24)) + " ");
                else
                    sb.appendEscaped(" ??");

            }

        }
    });

    final ColumnConfig<ProjectItem, ProjectItem> col_speed = new ColumnConfig<ProjectItem, ProjectItem>(
            new ReadOnlyValueProvider<ProjectItem, ProjectItem>("speed") {

                @Override
                public ProjectItem getValue(ProjectItem object) {
                    return object;
                }
            }, 100, "C?");
    col_speed.setCell(new AbstractCell<ProjectItem>() {
        NumberFormat decimalFormat = NumberFormat.getFormat(".##");

        @Override
        public void render(Cell.Context context, ProjectItem value, SafeHtmlBuilder sb) {
            if (value.status.equals("error") || value.status.equals("ready") || value.status.equals("done")) {
                sb.appendEscaped("0");
                return;
            }
            if (value.is_downloading == false) {
                sb.appendEscaped("0");
                return;
            }

            if (value.speed == 0)
                sb.appendHtmlConstant("0");
            else if (value.speed < 1024)
                sb.appendHtmlConstant(value.speed + " /c");
            else if (value.speed < (1024 * 1024))
                sb.appendHtmlConstant(decimalFormat.format(((double) value.speed) / 1024) + " /c");
            else
                sb.appendHtmlConstant(
                        decimalFormat.format(((double) value.speed) / (1024 * 1024)) + " /c");

        }
    });
    List<ColumnConfig<ProjectItem, ?>> list = new ArrayList<ColumnConfig<ProjectItem, ?>>();
    list.add(new RowNumberer<ProjectItem>(new IdentityValueProvider<ProjectItem>()));
    //list.add(col_poster);
    list.add(col_name);
    list.add(col_date_accept);
    //  list.add(col_client_count);
    list.add(col_time_left);
    list.add(col_speed);

    //  

    ColumnModel<ProjectItem> cm = new ColumnModel<ProjectItem>(list);

    grid = new Grid<ProjectItem>(store, cm);
    ToolBar bar = new ToolBar();
    TextButton but_refresh = new TextButton("", Resources.INSTANCE.refresh());
    bar.add(but_refresh);
    vert.add(bar, new VerticalLayoutContainer.VerticalLayoutData(1, -1));
    vert.add(grid, new VerticalLayoutContainer.VerticalLayoutData(1, 1));
    grid.getView().setEmptyText("? ?");

    but_refresh.addSelectHandler(new SelectEvent.SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {

            loadData();
        }
    });

}

From source file:org.mklab.taskit.client.ui.admin.UserEditorViewImpl.java

License:Apache License

/**
 * {@inheritDoc}//w  w w . j  av a  2 s  .  co m
 */
@Override
protected Widget initContent() {
    this.userList = new CellList<UserProxy>(new AbstractCell<UserProxy>() {

        @Override
        public void render(@SuppressWarnings("unused") com.google.gwt.cell.client.Cell.Context context,
                UserProxy value, SafeHtmlBuilder sb) {
            sb.appendEscaped(value.getAccount().getId());
        }
    });

    final SingleSelectionModel<UserProxy> selectionModel = new SingleSelectionModel<UserProxy>();
    selectionModel.addSelectionChangeHandler(new Handler() {

        @Override
        public void onSelectionChange(@SuppressWarnings("unused") SelectionChangeEvent event) {
            final UserProxy selectedUser = selectionModel.getSelectedObject();
            setEdittingUser(selectedUser);
        }
    });
    this.userList.setSelectionModel(selectionModel);
    this.userType = new ValueListBox<UserType>(new Renderer<UserType>() {

        @Override
        public String render(UserType object) {
            if (object == null)
                return null;
            return object.name();
        }

        @Override
        public void render(UserType object, Appendable appendable) throws IOException {
            appendable.append(render(object));
        }
    });
    this.userType.setAcceptableValues(Arrays.asList(UserType.values()));

    final Binder binder = GWT.create(Binder.class);
    final Widget content = binder.createAndBindUi(this);

    final Messages messages = getClientFactory().getMessages();
    this.userIdLabel.setText(messages.userIdLabel());
    this.passwordLabel.setText(messages.passwordLabel());
    this.nameLabel.setText(messages.userNameLabel());
    this.userInfoCaption.setCaptionText(messages.userInfoLabel());
    this.applyButton.setText(messages.applyLabel());
    this.userTypeLabel.setText(messages.userTypeLabel());
    this.newCheck.setText(messages.newLabel());

    updateEditMode();
    return content;
}

From source file:org.mklab.taskit.client.ui.AttendanceListViewImpl.java

License:Apache License

/**
 * {@inheritDoc}//from w w w  .j a  va2 s.  c  o  m
 */
@Override
protected Widget initContent() {
    this.lectureList = new ValueListBox<LectureListItem>(new Renderer<LectureListItem>() {

        @SuppressWarnings({ "nls", "deprecation" })
        @Override
        public String render(LectureListItem object) {
            if (object == null)
                return null;
            final String number = getClientFactory().getMessages()
                    .numberLabel(String.valueOf(object.getIndex() + 1));
            return number + " " + object.getLecture().getTitle() + " ["
                    + object.getLecture().getDate().toLocaleString() + "]";
        }

        @Override
        public void render(LectureListItem object, Appendable appendable) throws IOException {
            appendable.append(render(object));
        }

    });
    this.lectureList.addValueChangeHandler(new ValueChangeHandler<AttendanceListViewImpl.LectureListItem>() {

        @SuppressWarnings("synthetic-access")
        @Override
        public void onValueChange(ValueChangeEvent<LectureListItem> event) {
            AttendanceListViewImpl.this.presenter.lectureSelectionChanged(event.getValue().getLecture());
        }
    });

    this.table = new DataGrid<AttendanceListItem>();
    final Column<AttendanceListItem, UserProxy> userColumn = new Column<AttendanceListItem, UserProxy>(
            new AbstractCell<UserProxy>() {

                @Override
                public void render(@SuppressWarnings("unused") com.google.gwt.cell.client.Cell.Context context,
                        UserProxy value, SafeHtmlBuilder sb) {
                    sb.appendEscaped(value.getAccount().getId());
                }

            }) {

        @Override
        public UserProxy getValue(AttendanceListItem object) {
            return object.getUser();
        }
    };
    this.table.addColumn(userColumn, getClientFactory().getMessages().studentLabel());
    for (AttendanceType type : AttendanceType.values()) {
        final Column<AttendanceListItem, AttendanceListItem> attendanceCell = new Column<AttendanceListItem, AttendanceListItem>(
                new AttendanceCell(type)) {

            @Override
            public AttendanceListItem getValue(AttendanceListItem object) {
                return object;
            }

        };
        this.table.addColumn(attendanceCell, getLabelOfAttendanceType(getClientFactory().getMessages(), type));
    }
    this.table.setColumnWidth(userColumn, "7em"); //$NON-NLS-1$

    return binder.createAndBindUi(this);
}

From source file:org.mklab.taskit.client.ui.cell.SelectCell.java

License:Apache License

/**
 * {@inheritDoc}/*from w  w  w.  j a  va2 s.  co m*/
 */
@SuppressWarnings("nls")
@Override
public void render(@SuppressWarnings("unused") com.google.gwt.cell.client.Cell.Context context, E value,
        SafeHtmlBuilder sb) {
    if (this.editable) {
        sb.appendHtmlConstant("<select>");
    } else {
        int index = 0;
        for (E option : this.options) {
            final boolean selected = this.comparator.equals(option, value);
            if (selected) {
                final String escapedOption = SafeHtmlUtils.htmlEscape(this.renderer.render(index++, option));
                sb.appendEscaped(escapedOption);
            }
        }
        return;
    }

    int index = 0;
    for (E option : this.options) {
        final boolean selected = this.comparator.equals(option, value);
        final String escapedOption = SafeHtmlUtils.htmlEscape(this.renderer.render(index++, option));
        sb.appendHtmlConstant("<option value='" + escapedOption + "'" + (selected ? " selected" : "") + ">"
                + escapedOption + "</option>");
    }
    sb.appendHtmlConstant("</select>");
}

From source file:org.mklab.taskit.client.ui.cell.TextAreaCell.java

License:Apache License

/**
 * {@inheritDoc}//from   ww  w .j  ava2s. c  o m
 */
@SuppressWarnings({ "nls", "unused" })
@Override
public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) {
    sb.appendHtmlConstant("<textarea rows='2'>");
    if (value != null)
        sb.appendEscaped(value);
    sb.appendHtmlConstant("</textarea>");
}

From source file:org.mklab.taskit.client.ui.cell.TooltipCell.java

License:Apache License

/**
 * {@inheritDoc}//w w w.  j  av a 2 s .c om
 */
@SuppressWarnings({ "nls", "unused" })
@Override
public void render(com.google.gwt.cell.client.Cell.Context context, C value, SafeHtmlBuilder sb) {
    sb.appendHtmlConstant(
            "<a href='#' onclick='return false' style='background-color:#bbb;color:#fff;font-size:0.5em;font-weight:bold;cursor:hand;'>");
    sb.appendEscaped("?");
    sb.appendHtmlConstant("</a>");
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.TableValidationView.java

License:Open Source License

private SafeHtml buildValidationResultsHtml(ValidationResultDto dto) {
    JSONObject rules = (JSONObject) JSONParser.parseStrict(dto.getRules());
    JSONObject failures = (JSONObject) JSONParser.parseStrict(dto.getFailures());

    SafeHtmlBuilder builder = new SafeHtmlBuilder();

    if (rules.size() > 0) {
        Map<String, Set<String>> variableRuleMap = getVariableRuleMap(rules);
        Map<List<String>, List<String>> failedValuesMap = getVariableRuleFailedValuesMap(failures);
        builder.appendHtmlConstant("<h4>").appendEscaped(translations.validationOverviewTitle())
                .appendHtmlConstant("</h4>");
        builder.append(buildValidationSummaryTable(variableRuleMap, failedValuesMap));
        builder.appendHtmlConstant("<h4>").appendEscaped(translations.validationDetailTitle())
                .appendHtmlConstant("</h4>");
        addValidationFailureTable(builder, failedValuesMap);
    } else {/*from   www. ja va2 s . c o  m*/
        builder.appendEscaped("No validation configured");
    }
    return builder.toSafeHtml();
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.TableValidationView.java

License:Open Source License

private void addValidationCell(SafeHtmlBuilder builder, boolean failure) {
    String color = translations.validationOkColor();
    String text = translations.validationOk();
    if (failure) {
        color = translations.validationFailColor();
        text = translations.validationFail();
    }//from  w w w  .  j  a va  2s .c o  m

    builder.appendHtmlConstant("<font color=\"" + color + "\">");
    builder.appendEscaped(text);
    builder.appendHtmlConstant("</font>");
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.TableValidationView.java

License:Open Source License

private void addValidationFailureTable(SafeHtmlBuilder builder,
        Map<List<String>, List<String>> failedValuesMap) {
    builder.appendHtmlConstant(TABLE_TAG);
    builder.appendHtmlConstant("<TR>");
    addTableHeader(builder, translations.variableLabel());
    addTableHeader(builder, translations.constraintLabel());
    addTableHeader(builder, translations.values());
    builder.appendHtmlConstant("</TR>");

    for (List<String> key : failedValuesMap.keySet()) {

        builder.appendHtmlConstant("<TR>");
        builder.appendHtmlConstant("<TD>").appendEscaped(key.get(0)).appendHtmlConstant("</TD>");
        builder.appendHtmlConstant("<TD>").appendEscaped(key.get(1)).appendHtmlConstant("</TD>");
        builder.appendHtmlConstant("<TD>");
        List<String> values = failedValuesMap.get(key);
        for (String value : values) {
            builder.appendEscaped(value).appendHtmlConstant("</BR>");
        }/*from  ww w  .j a va2s  .c o  m*/
        builder.appendHtmlConstant("</TD>");
        builder.appendHtmlConstant("</TR>");
    }

    builder.appendHtmlConstant("</TABLE>");
}