/** * Get a copy of dataList object * * @param original DataList * @return DataList copy */ public static DataList copyDataList(DataList original) { DataList copy = new DataList(); copy.setTotal(original.getTotal()); copy.setPage(original.getPage()); copy.setRecords(original.getRecords()); copy.setRows((List<Map<String, CellData>>) ((ArrayList<Map<String, CellData>>) original.getRows()).clone()); return copy; }
/** * Add a row * * @param row Row to add */ public void addRow(Map<String, CellData> row) { getRows().add(row); setRecords(getRows().size()); }
/** * Keeps only distinct values of given fields * * @param list DataList * @param sortColumns Sort by field list */ public static void distinct(DataList list, List<SortColumn> sortColumns) { CompareRow comparator = new CompareRow(sortColumns); List<Map<String, CellData>> newRows = new ArrayList<>(); for (Map<String, CellData> row: list.getRows()) { if (!in(newRows, row, comparator)) { newRows.add((Map<String, CellData>) ((HashMap<String, CellData>) row).clone()); } } // Set rows and records list.setRows(newRows); list.setRecords((long) list.getRows().size()); }
/** * Check if path file properties exists * * @return Service data * @throws AWException Error checking path */ public ServiceData checkPath() throws AWException { ServiceData serviceData = new ServiceData(); Properties properties = getPropertiesFile(); String path = properties.getProperty(developerPathProperty); // If path is not valid, set it to blank if (path == null) { updatePath(""); } List<String> paths = Arrays.asList(path); DataList dataList = new DataList(); DataListUtil.addColumn(dataList, "paths", paths, "STRING"); dataList.setRecords(dataList.getRows().size()); serviceData.setDataList(dataList); return serviceData; }
DataList dataList = new DataList(); boolean isWriteQuery = checkWriteQuery(select); boolean isWriteQueryPermission = type.equalsIgnoreCase(SqlExtractorQueriesType.W.name()); dataList.setRows(rows); dataList.setRecords(rows.size());
/** * Returns existing translations corresponding to a code * * @param code Code * @return Translation list * @throws AWException Error retrieving translation list */ public ServiceData getTranslationList(String code) throws AWException { ServiceData serviceData = new ServiceData(); // Get existing Locales Map<String, Map<String, String>> localeList = getElements().getLocales(); // List of loaded languages DataList translations = new DataList(); // Iterate by language for (String codeLang : localeList.keySet()) { // Get language DataList languageData = retrieveLocaleFromFile(code, codeLang.toUpperCase()); translations.getRows().addAll(languageData.getRows()); } serviceData.setDataList(translations); return serviceData; }
/** * Remove the rows whose column value is distinct to the value * * @param list DataList to filter * @param column column to check * @param value value to check */ public static void filter(DataList list, String column, String value) { List<Map<String, CellData>> newRows = new ArrayList<>(); for (Map<String, CellData> row : list.getRows()) { if (row.containsKey(column)) { CellData cell = row.get(column); if (cell.getStringValue().equalsIgnoreCase(value)) { newRows.add(row); } } } // Set the new list list.setRows(newRows); }
/** * Copy constructor * * @param other */ public ServiceData(ServiceData other) throws AWException { this.valid = other.valid; this.type = other.type; this.title = other.title; this.message = other.message; this.data = other.data; this.dataList = other.dataList == null ? null : new DataList(other.dataList); this.clientActionList = ListUtil.copyList(other.clientActionList); this.variableMap = ListUtil.copyMap(other.variableMap); this.resultDetails = ListUtil.copyList(other.resultDetails); }
/** * Returns locale by the locale key and language code * * @param code Code * @param codeLang Language * @return result Array of translations * @throws AWException Error retrieving locale */ private DataList retrieveLocaleFromFile(String code, String codeLang) throws AWException { DataList dataList = new DataList(); List<String> values = new ArrayList<>(); Locales localesFromFile = readLocalesFromFile(codeLang); if (localesFromFile != null) { List<Global> globals = localesFromFile.getLocales(); for (Global locale : globals) { String actualKey = locale.getName(); if (code.equalsIgnoreCase(actualKey)) { // Get matches literals values.add(getElements().parseLocale(locale)); } } DataListUtil.addColumn(dataList, "value", values, "STRING"); DataListUtil.addColumn(dataList, "key", codeLang); DataListUtil.addColumn(dataList, "code", code); dataList.setRecords(dataList.getRows().size()); } return dataList; }
/** * Set column Name and it's value per line * * @param list DataList * @param column Column name * @param rowNumber Row number * @param cell Cell data */ private static void addCellToRow(DataList list, String column, Integer rowNumber, CellData cell) { // If size is lower or equal than current rowId, add one row if (list.getRows().size() <= rowNumber) { list.getRows().add(new HashMap<String, CellData>()); } // Store cell list.getRows().get(rowNumber).put(column, cell); // Set records list.setRecords(list.getRows().size()); }
DataList dataList = new DataList(); dataList.setRecords(dataList.getRows().size());
/** * Returns the HasMap Row by (rowNumber) * * @param list DataList * @param rowNumber Row number * @return Single Hash Map */ public static Map<String, CellData> getRow(DataList list, int rowNumber) { return list.getRows().get(rowNumber); }
/** * Rename column in datalist * @param dataList DataList * @param sourceColumnName Source column name * @param targetColumnName Target column name */ public static void renameColumn(DataList dataList, String sourceColumnName, String targetColumnName) { if (dataList.getRows() != null) { for (Map<String, CellData> row : dataList.getRows()) { row.put(targetColumnName, row.get(sourceColumnName)); row.remove(sourceColumnName); } } }
/** * Sort datalist * * @param list DataList to sort * @param sortList Sort by field list */ public static void sort(DataList list, List<SortColumn> sortList) { Collections.sort(list.getRows(), new CompareRow(sortList)); }
/** * Retrieve a column data * * @param list DataList * @param columnName Column name (alias) * @return Column object list */ public static List<CellData> getColumn(DataList list, String columnName) { List<CellData> columnData = new ArrayList<>(); // Add alias row by row for (Map<String, CellData> row : list.getRows()) { columnData.add(new CellData(row.get(columnName))); } return columnData; }
/** * Returns the datalist as a string array * * @param dataList Datalist * @param columnList Column order * @return DataList as a string array */ public static String[] getDataAsArray(DataList dataList, List<String> columnList) { List<String> list = new ArrayList<>(); for (Map<String, CellData> row : dataList.getRows()) { for (String val : columnList) { CellData cell = row.get(val); list.add(cell != null ? cell.getStringValue() : ""); } } String[] dataArray = new String[list.size()]; return list.toArray(dataArray); }
/** * Sort datalist * * @param list DataList to sort * @param columnId Sort by field list * @param direction Sort direction */ public static void sort(DataList list, String columnId, String direction) { List<SortColumn> sortColumnList = new ArrayList<>(); SortColumn sortColumn = new SortColumn(columnId, direction); sortColumnList.add(sortColumn); Collections.sort(list.getRows(), new CompareRow(sortColumnList)); }
/** * Retrieve dataList column names * * @param list Datalist * @return Column list */ public static List<String> getColumnList(DataList list) { // Variable Definition List<String> columnList = new ArrayList<>(); // Get first row if (!list.getRows().isEmpty()) { Map<String, CellData> row = getRow(list, 0); // Store keyset as columnList columnList.addAll(row.keySet()); } return columnList; }