use of org.activityinfo.model.util.Pair in project activityinfo by bedatadriven.
the class AliasTable method alias.
public DataTable alias(DataTable dataTable) {
Set<Integer> columnsToAlias = Sets.newHashSet();
Map<Pair<Integer, Integer>, String> aliasMatrix = Maps.newHashMap();
for (int i = 0; i < dataTable.getGherkinRows().size(); i++) {
DataTableRow row = dataTable.getGherkinRows().get(i);
for (int j = 0; j < row.getCells().size(); j++) {
String cell = row.getCells().get(j);
if (i != 0 && columnsToAlias.contains(j) && !isNumber(cell) && !isBoolean(cell)) {
// not header
aliasMatrix.put(Pair.newPair(i, j), getAlias(cell));
}
if (i == 0) {
// only for header
boolean isPartnerField = cell.equalsIgnoreCase(I18N.CONSTANTS.partner() + " " + I18N.CONSTANTS.name());
if (!ChooseColumnsDialog.BUILT_IN_COLUMNS.contains(cell) || isPartnerField) {
columnsToAlias.add(j);
}
if (!ChooseColumnsDialog.BUILT_IN_COLUMNS.contains(cell)) {
aliasMatrix.put(Pair.newPair(i, j), getAlias(cell));
}
}
}
}
for (Map.Entry<Pair<Integer, Integer>, String> entry : aliasMatrix.entrySet()) {
Integer row = entry.getKey().getFirst();
Integer column = entry.getKey().getSecond();
dataTable.getGherkinRows().get(row).getCells().set(column, entry.getValue());
}
return dataTable;
}
use of org.activityinfo.model.util.Pair in project activityinfo by bedatadriven.
the class DataEntryTab method createMapping.
private List<Pair<String, String>> createMapping(DataTable dataTable) {
List<Pair<String, String>> mapping = Lists.newArrayList();
DataTableRow headerRow = dataTable.getGherkinRows().get(0);
for (String cell : headerRow.getCells()) {
mapping.add(Pair.newPair(cell, cell));
}
return mapping;
}
Aggregations