public static List<LayoutRow> getNotSelectedRows(Layout layout, List<String> selectedRowNames) { LayoutRow[] rows = layout.getRows(); List<LayoutRow> notSelectedRows = new ArrayList<LayoutRow>(); if (rows != null) { for (LayoutRow row : rows) { if (selectedRowNames == null && !row.isSelectedByDefault() && !row.isAlwaysSelected()) { notSelectedRows.add(row); } else if (selectedRowNames != null && !row.isAlwaysSelected() && !selectedRowNames.contains(row.getName())) { notSelectedRows.add(row); } } } return notSelectedRows; }
protected void writeLayoutRow(LayoutRow layoutRow, JsonGenerator jg) throws IOException { jg.writeStartObject(); String name = layoutRow.getName(); if (name != null) { jg.writeStringField("name", name); } // fill selection info only if that's not the default value from the // definition if (layoutRow.isAlwaysSelected()) { jg.writeBooleanField("alwaysSelected", true); } if (!layoutRow.isSelectedByDefault()) { jg.writeBooleanField("selectedByDefault", false); } Map<String, Serializable> properties = layoutRow.getProperties(); if (MapUtils.isNotEmpty(properties)) { writeSerializableMapField("properties", properties, jg); } Widget[] widgets = layoutRow.getWidgets(); if (ArrayUtils.isNotEmpty(widgets)) { jg.writeArrayFieldStart("widgets"); for (Widget widget : widgets) { writeWidget(widget, jg); } jg.writeEndArray(); } jg.writeEndObject(); }
protected void computeWidgetMap() { if (rows == null || rows.length == 0) { return; } for (LayoutRow row : rows) { Widget[] widgets = row.getWidgets(); if (widgets == null || widgets.length == 0) { continue; } for (Widget widget : widgets) { if (widget != null) { widgetMap.put(widget.getName(), widget); } } } }
public static List<String> getDefaultSelectedRowNames(Layout layout, boolean showAlwaysSelected) { List<LayoutRow> selectedRows = getSelectedRows(layout, null, showAlwaysSelected); List<String> selectedRowNames = null; if (selectedRows != null && !selectedRows.isEmpty()) { selectedRowNames = new ArrayList<String>(); for (LayoutRow row : selectedRows) { selectedRowNames.add(row.getName()); } } return selectedRowNames; }
@Override public void setValueName(String valueName) { this.valueName = valueName; // set it on all widgets too if (rows == null || rows.length == 0) { return; } for (LayoutRow row : rows) { Widget[] widgets = row.getWidgets(); if (widgets == null || widgets.length == 0) { continue; } for (Widget widget : widgets) { if (widget != null) { widget.setValueName(valueName); } } } }
public static List<LayoutRow> getSelectedRows(Layout layout, List<String> selectedRowNames, boolean showAlwaysSelected) { LayoutRow[] rows = layout.getRows(); List<LayoutRow> selectedRows = new ArrayList<LayoutRow>(); if (rows != null) { for (LayoutRow row : rows) { if (row.isAlwaysSelected() && showAlwaysSelected) { selectedRows.add(row); } else if (selectedRowNames == null && row.isSelectedByDefault() && !row.isAlwaysSelected()) { selectedRows.add(row); } else if (selectedRowNames != null && selectedRowNames.contains(row.getName())) { selectedRows.add(row); } } } // preserve selected rows order Collections.sort(selectedRows, new LayoutRowsSorter(selectedRowNames)); return selectedRows; }