Changeset 8812 in josm for trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
- Timestamp:
- 2015-10-01T21:06:17+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
r8811 r8812 28 28 import org.openstreetmap.josm.data.osm.RelationMember; 29 29 import org.openstreetmap.josm.data.osm.Way; 30 import org.openstreetmap.josm.gui.mappaint.Environment; 31 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource; 32 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector; 33 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.MapCSSParser; 34 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException; 30 35 import org.openstreetmap.josm.tools.Geometry; 31 36 import org.openstreetmap.josm.tools.Predicate; … … 1424 1429 */ 1425 1430 public static Match compile(SearchAction.SearchSetting setting) throws ParseError { 1431 if (setting.mapCSSSearch) { 1432 return compileMapCSS(setting.text); 1433 } 1426 1434 return new SearchCompiler(setting.caseSensitive, setting.regexSearch, 1427 1435 new PushbackTokenizer( 1428 1436 new PushbackReader(new StringReader(setting.text)))) 1429 1437 .parse(); 1438 } 1439 1440 static Match compileMapCSS(String mapCSS) throws ParseError { 1441 try { 1442 final Selector selector = new MapCSSParser(new StringReader(mapCSS)).selector(); 1443 return new Match() { 1444 @Override 1445 public boolean match(OsmPrimitive osm) { 1446 return selector.matches(new Environment(osm)); 1447 } 1448 }; 1449 } catch (ParseException e) { 1450 throw new ParseError(tr("Failed to parse MapCSS selector"), e); 1451 } 1430 1452 } 1431 1453
Note:
See TracChangeset
for help on using the changeset viewer.