From d2cfbb6032d7fd584b5e8cb8109a3f1eb372d5c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@helsinki.fi>
Date: Mon, 3 Feb 2014 14:51:06 +0200
Subject: [PATCH 2/2] Add :lanes: to conditional parsing

---
 .../data/validation/tests/ConditionalKeys.java     |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java b/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java
index 195798c..ce28963 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java
@@ -58,9 +58,13 @@ public class ConditionalKeys extends Test.TagTest {
         return "forward".equals(part) || "backward".equals(part);
     }
 
+    public static boolean isLanes(String part) {
+        return "lanes".equals(part);
+    }
+
     public boolean isKeyValid(String key) {
-        // <restriction-type>[:<transportation mode>][:<direction>]:conditional
-        // -- or --            <transportation mode> [:<direction>]:conditional
+        // <restriction-type>[:<transportation mode>][:lanes][:<direction>]:conditional
+        // -- or --            <transportation mode> [:lanes][:<direction>]:conditional
         if (!key.endsWith(":conditional")) {
             return false;
         }
@@ -71,6 +75,8 @@ public class ConditionalKeys extends Test.TagTest {
         	idx++;
         if (isTransportationMode(parts[idx]))
         	idx++;
+        if (idx > 0 && isLanes(parts[idx]))
+        	idx++;
         if (idx > 0 && isDirection(parts[idx]))
         	idx++;
         return (idx > 0 && idx == parts.length);
-- 
1.7.9.5

