in taverna-spreadsheet-import-activity-ui/src/main/java/org/apache/taverna/activities/spreadsheet/views/SpreadsheetImportConfigView.java [901:935]
protected boolean validatePortNames() {
boolean isValid = true;
Range columnRange = SpreadsheetUtils.getRange(newConfiguration.get("columnRange"));
Map<String, String> mapping = new HashMap<>();
if (newConfiguration.has("columnNames")) {
for (JsonNode columnName : newConfiguration.get("columnNames")) {
mapping.put(columnName.get("column").textValue(), columnName.get("port").textValue());
}
}
Set<String> usedNames = new HashSet<String>();
for (Entry<String, String> entry : mapping.entrySet()) {
if (columnRange.contains(SpreadsheetUtils.getColumnIndex(entry.getKey()))) {
String portName = entry.getValue();
if (!usedNames.add(portName)) {
isValid = false;
break;
}
if (portName.matches("[A-Z]+")) {
if (!mapping.containsKey(portName)) {
int columnIndex = SpreadsheetUtils.getColumnIndex(portName);
if (columnRange.contains(columnIndex)) {
isValid = false;
break;
}
}
}
}
}
if (isValid) {
removeErrorMessage(DUPLICATE_PORT_NAME_ERROR_MESSAGE);
} else {
addErrorMessage(DUPLICATE_PORT_NAME_ERROR_MESSAGE);
}
return isValid;
}