Search in sources :

Example 1 with Pair

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;
}
Also used : ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Map(java.util.Map) DataTableRow(gherkin.formatter.model.DataTableRow) Pair(org.activityinfo.model.util.Pair)

Example 2 with Pair

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;
}
Also used : DataTableRow(gherkin.formatter.model.DataTableRow) Pair(org.activityinfo.model.util.Pair)

Aggregations

DataTableRow (gherkin.formatter.model.DataTableRow)2 Pair (org.activityinfo.model.util.Pair)2 Map (java.util.Map)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1