Fix for Bug 510230 - check existence of nested column is mostly wrong
(cherry picked from commit d486e05359cf0f693edb16d198e4773824fbabd5)
Change-Id: I9e21c75c180452a9495ee120ee0823b4e7e3ecce
diff --git a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/tester/adapter/TableAdapter.java b/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/tester/adapter/TableAdapter.java
index 011a810..525ab76 100644
--- a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/tester/adapter/TableAdapter.java
+++ b/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/tester/adapter/TableAdapter.java
@@ -204,7 +204,6 @@
@Override
public Integer call() throws Exception {
TableView table = getRealComponent();
-
List<String> path = StringParsing.splitToList(colPath,
TestDataConstants.PATH_CHAR_DEFAULT,
TestDataConstants.ESCAPE_CHAR_DEFAULT, false);
@@ -243,7 +242,7 @@
Iterator<String> pathIterator = path.iterator();
String currCol = null;
TableColumn<?, ?> column = null;
- while (pathIterator.hasNext()) {
+ pathIteration: while (pathIterator.hasNext()) {
try {
currCol = pathIterator.next();
int usrIdxCol = Integer.parseInt(currCol);
@@ -269,10 +268,7 @@
column = columns.get(i);
}
} catch (IndexOutOfBoundsException e) {
- throw new StepExecutionException(
- "Invalid Index: " + IndexConverter.toUserIndex(i), //$NON-NLS-1$
- EventFactory.createActionError(
- TestErrorEvent.INVALID_INDEX));
+ return null;
}
}
} catch (NumberFormatException nfe) {
@@ -292,9 +288,10 @@
if (pathIterator.hasNext()) {
columns = c.getColumns();
}
- break;
+ continue pathIteration;
}
}
+ return null;
} catch (IllegalArgumentException iae) {
// do nothing here
}