diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2014-01-08 16:00:55 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <teemusa@vaadin.com> | 2014-01-08 16:00:55 +0200 |
commit | 87652c5642d70c029d9a4e6e31123dbfbc9ac040 (patch) | |
tree | 0597d63dc0e378b6094829178578da546ab219d0 | |
parent | 82164be080b5705e852286a6e4c69fecf21953fb (diff) | |
download | vaadin-framework-87652c5642d70c029d9a4e6e31123dbfbc9ac040.tar.gz vaadin-framework-87652c5642d70c029d9a4e6e31123dbfbc9ac040.zip |
Fix VaadinFinderLocatorStrategy result filtering (#13154)
Change-Id: Ia59fbd4fc5d784423c2fc4da4ed19b81723d6de4
-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)); } |