Index: /applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/utils/RouteUtils.java
===================================================================
--- /applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/utils/RouteUtils.java	(revision 33726)
+++ /applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/utils/RouteUtils.java	(revision 33727)
@@ -14,5 +14,5 @@
  * Utils class for routes
  *
- * @author darya
+ * @author darya, giacomo, polyglot
  *
  */
@@ -144,4 +144,35 @@
 
     /**
+     * Checks if the given way has tags that make it oneway for bicycles
+     * The test does not check whether the way violates those
+     * restrictions.
+     *
+     * @return 0 if the way is not oneway for bicycles, 1 if the way is
+     *         oneway for bicycles, -1 if the way is reversely oneway
+     *         for bicycles
+     */
+    public static int isOnewayForBicycles(Way way) {
+
+        if (OsmUtils.isTrue(way.get("oneway"))
+                || OsmUtils.isReversed(way.get("oneway"))
+                || way.hasTag("junction", "roundabout")) {
+
+            if (!way.hasTag("busway", "lane")
+                    && !way.hasTag("cycleway", "opposite_lane")
+                    && !way.hasTag("cycleway:left", "lane")
+                    && !way.hasTag("cycleway:right", "lane")
+                    && !way.hasTag("oneway:bicycle", "no")) {
+
+                if (OsmUtils.isReversed(way.get("oneway"))) {
+                    return -1;
+                }
+                return 1;
+            }
+        }
+        return 0;
+    }
+
+
+    /**
      * Checks if the ways have a common node
      *
