diff options
-rw-r--r-- | client/src/com/vaadin/client/componentlocator/VaadinFinderLocatorStrategy.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/client/src/com/vaadin/client/componentlocator/VaadinFinderLocatorStrategy.java b/client/src/com/vaadin/client/componentlocator/VaadinFinderLocatorStrategy.java index 6337ca7e8c..2bb08a52c9 100644 --- a/client/src/com/vaadin/client/componentlocator/VaadinFinderLocatorStrategy.java +++ b/client/src/com/vaadin/client/componentlocator/VaadinFinderLocatorStrategy.java @@ -410,15 +410,13 @@ public class VaadinFinderLocatorStrategy implements LocatorStrategy { String[] fragments = splitFirstFragmentFromTheRest(path); - List<ComponentConnector> potentialMatches = new ArrayList<ComponentConnector>(); + List<ComponentConnector> connectors = new ArrayList<ComponentConnector>(); for (ComponentConnector parent : parents) { - potentialMatches.addAll(collectPotentialMatches(parent, - fragments[0], findRecursively)); + connectors.addAll(filterMatches( + collectPotentialMatches(parent, fragments[0], + findRecursively), extractPredicates(fragments[0]))); } - List<ComponentConnector> connectors = filterMatches(potentialMatches, - extractPredicates(fragments[0])); - if (!connectors.isEmpty() && fragments.length > 1) { return (findConnectorsByPath(fragments[1], connectors)); } |