Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 12957)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 12958)
@@ -30,5 +30,4 @@
  */
 public abstract class CrossingWays extends Test {
-    protected static final int CROSSING_WAYS = 601;
 
     static final String HIGHWAY = "highway";
@@ -41,8 +40,12 @@
     private final Map<List<Way>, List<WaySegment>> seenWays = new HashMap<>(50);
 
+    private final int code;
+
     /**
      * General crossing ways test.
      */
     public static class Ways extends CrossingWays {
+
+        protected static final int CROSSING_WAYS = 601;
 
         /**
@@ -50,5 +53,5 @@
          */
         public Ways() {
-            super(tr("Crossing ways"));
+            super(tr("Crossing ways"), CROSSING_WAYS);
         }
 
@@ -107,9 +110,11 @@
     public static class Boundaries extends CrossingWays {
 
+        protected static final int CROSSING_BOUNDARIES = 602;
+
         /**
          * Constructs a new crossing {@code Boundaries} test.
          */
         public Boundaries() {
-            super(tr("Crossing boundaries"));
+            super(tr("Crossing boundaries"), CROSSING_BOUNDARIES);
         }
 
@@ -142,4 +147,6 @@
      */
     public static class Barrier extends CrossingWays {
+
+        protected static final int CROSSING_BARRIERS = 603;
 
         /**
@@ -147,5 +154,5 @@
          */
         public Barrier() {
-            super(tr("Crossing barriers"));
+            super(tr("Crossing barriers"), CROSSING_BARRIERS);
         }
 
@@ -170,4 +177,7 @@
      */
     public static class SelfCrossing extends CrossingWays {
+
+        protected static final int CROSSING_SELF = 604;
+
         CrossingWays.Ways normalTest = new Ways();
         CrossingWays.Barrier barrierTest = new Barrier();
@@ -178,5 +188,5 @@
          */
         public SelfCrossing() {
-            super(tr("Self crossing"));
+            super(tr("Self crossing"), CROSSING_SELF);
         }
 
@@ -201,9 +211,11 @@
      * Constructs a new {@code CrossingWays} test.
      * @param title The test title
-     * @since 6691
-     */
-    public CrossingWays(String title) {
+     * @param code The test code
+     * @since 12958
+     */
+    public CrossingWays(String title, int code) {
         super(title, tr("This test checks if two roads, railways, waterways or buildings crosses in the same layer, " +
                 "but are not connected by a node."));
+        this.code = code;
     }
 
@@ -290,5 +302,5 @@
 
                         final String message = createMessage(es1.way, es2.way);
-                        errors.add(TestError.builder(this, Severity.WARNING, CROSSING_WAYS)
+                        errors.add(TestError.builder(this, Severity.WARNING, code)
                                 .message(message)
                                 .primitives(prims)
