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; }
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; }
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(); }