Skip to content

Commit 14f42d0

Browse files
refactor: Switch to switch instead of if-else
adapt to switch statements for readability
1 parent 8cae472 commit 14f42d0

File tree

2 files changed

+92
-82
lines changed

2 files changed

+92
-82
lines changed

Diff for: openrouteservice/src/main/java/org/heigit/ors/routing/graphhopper/extensions/SurfaceType.java

+51-43
Original file line numberDiff line numberDiff line change
@@ -39,50 +39,58 @@ public static SurfaceType getFromString(String surface) {
3939
if (surface.contains(";"))
4040
surface = surface.split(";")[0];
4141

42-
if ("paved".equalsIgnoreCase(surface)) {
43-
return SurfaceType.PAVED;
44-
} else if ("unpaved".equalsIgnoreCase(surface)) {
45-
return SurfaceType.UNPAVED;
46-
} else if ("asphalt".equalsIgnoreCase(surface)) {
47-
return SurfaceType.ASPHALT;
48-
} else if ("concrete".equalsIgnoreCase(surface) || "concrete:lanes".equalsIgnoreCase(surface)
49-
|| "concrete:plates".equalsIgnoreCase(surface)) {
50-
return SurfaceType.CONCRETE;
51-
} else if ("paving_stones".equalsIgnoreCase(surface) || "paving_stones:20".equalsIgnoreCase(surface) || "paving_stones:30".equalsIgnoreCase(surface) || "paving_stones:50".equalsIgnoreCase(surface) || "paved_stones".equalsIgnoreCase(surface)) {
52-
return SurfaceType.PAVING_STONE;
53-
} else if ("cobblestone:flattened".equalsIgnoreCase(surface)
54-
|| "sett".equalsIgnoreCase(surface)) {
55-
return SurfaceType.PAVING_STONE;
56-
} else if ("cobblestone".equalsIgnoreCase(surface)) {
57-
return SurfaceType.COBBLESTONE;
58-
} else if ("metal".equalsIgnoreCase(surface)) {
59-
return SurfaceType.METAL;
60-
} else if ("wood".equalsIgnoreCase(surface)) {
61-
return SurfaceType.WOOD;
62-
} else if ("compacted".equalsIgnoreCase(surface) || "pebblestone".equalsIgnoreCase(surface)) {
63-
return SurfaceType.COMPACTED_GRAVEL;
64-
} else if ("fine_gravel".equalsIgnoreCase(surface)) {
65-
return SurfaceType.FINE_GRAVEL;
66-
} else if ("gravel".equalsIgnoreCase(surface)) {
67-
return SurfaceType.GRAVEL;
68-
} else if ("dirt".equalsIgnoreCase(surface)) {
69-
return SurfaceType.DIRT;
70-
} else if ("ground".equalsIgnoreCase(surface) || "earth".equalsIgnoreCase(surface)
71-
|| "mud".equalsIgnoreCase(surface)) {
72-
return SurfaceType.GROUND;
73-
} else if ("ice".equalsIgnoreCase(surface) || "snow".equalsIgnoreCase(surface)) {
74-
return SurfaceType.ICE;
75-
} else if ("sand".equalsIgnoreCase(surface)) {
76-
return SurfaceType.SAND;
77-
} else if ("woodchips".equalsIgnoreCase(surface)) {
78-
return SurfaceType.WOODCHIPS;
79-
} else if ("grass".equalsIgnoreCase(surface)) {
80-
return SurfaceType.GRASS;
81-
} else if ("grass_paver".equalsIgnoreCase(surface)) {
82-
return SurfaceType.GRASS_PAVER;
42+
switch (surface.toLowerCase()) {
43+
case "paved":
44+
return SurfaceType.PAVED;
45+
case "unpaved":
46+
return SurfaceType.UNPAVED;
47+
case "asphalt":
48+
return SurfaceType.ASPHALT;
49+
case "concrete":
50+
case "concrete:lanes":
51+
case "concrete:plates":
52+
return SurfaceType.CONCRETE;
53+
case "paving_stones":
54+
case "paving_stones:20":
55+
case "paving_stones:30":
56+
case "paving_stones:50":
57+
case "paved_stones":
58+
case "cobblestone:flattened":
59+
case "sett":
60+
return SurfaceType.PAVING_STONE;
61+
case "cobblestone":
62+
return SurfaceType.COBBLESTONE;
63+
case "metal":
64+
return SurfaceType.METAL;
65+
case "wood":
66+
return SurfaceType.WOOD;
67+
case "compacted":
68+
case "pebblestone":
69+
return SurfaceType.COMPACTED_GRAVEL;
70+
case "fine_gravel":
71+
return SurfaceType.FINE_GRAVEL;
72+
case "gravel":
73+
return SurfaceType.GRAVEL;
74+
case "dirt":
75+
return SurfaceType.DIRT;
76+
case "ground":
77+
case "earth":
78+
case "mud":
79+
return SurfaceType.GROUND;
80+
case "ice":
81+
case "snow":
82+
return SurfaceType.ICE;
83+
case "sand":
84+
return SurfaceType.SAND;
85+
case "woodchips":
86+
return SurfaceType.WOODCHIPS;
87+
case "grass":
88+
return SurfaceType.GRASS;
89+
case "grass_paver":
90+
return SurfaceType.GRASS_PAVER;
91+
default:
92+
return SurfaceType.UNKNOWN;
8393
}
84-
85-
return SurfaceType.UNKNOWN;
8694
}
8795

8896
@Override

Diff for: openrouteservice/src/main/java/org/heigit/ors/routing/graphhopper/extensions/WayType.java

+41-39
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
/* This file is part of Openrouteservice.
22
*
3-
* Openrouteservice is free software; you can redistribute it and/or modify it under the terms of the
4-
* GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1
3+
* Openrouteservice is free software; you can redistribute it and/or modify it under the terms of the
4+
* GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1
55
* of the License, or (at your option) any later version.
66
7-
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7+
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8+
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
99
* See the GNU Lesser General Public License for more details.
1010
11-
* You should have received a copy of the GNU Lesser General Public License along with this library;
12-
* if not, see <https://www.gnu.org/licenses/>.
11+
* You should have received a copy of the GNU Lesser General Public License along with this library;
12+
* if not, see <https://www.gnu.org/licenses/>.
1313
*/
1414
package org.heigit.ors.routing.graphhopper.extensions;
1515

@@ -27,40 +27,42 @@ public enum WayType implements PropertyType {
2727
CONSTRUCTION;
2828

2929
public static WayType getFromString(String highway) {
30-
if ("primary".equalsIgnoreCase(highway)
31-
|| "primary_link".equalsIgnoreCase(highway)
32-
|| "motorway".equalsIgnoreCase(highway)
33-
|| "motorway_link".equalsIgnoreCase(highway)
34-
|| "trunk".equalsIgnoreCase(highway)
35-
|| "trunk_link".equalsIgnoreCase(highway)) {
36-
return WayType.STATE_ROAD;
37-
} else if ("secondary".equalsIgnoreCase(highway)
38-
|| "secondary_link".equalsIgnoreCase(highway)
39-
|| "tertiary".equalsIgnoreCase(highway)
40-
|| "tertiary_link".equalsIgnoreCase(highway)
41-
|| "road".equalsIgnoreCase(highway)
42-
|| "unclassified".equalsIgnoreCase(highway)) {
43-
return WayType.ROAD;
44-
} else if ("residential".equalsIgnoreCase(highway)
45-
|| "service".equalsIgnoreCase(highway)
46-
|| "living_street".equalsIgnoreCase(highway)) {
47-
return WayType.STREET;
48-
} else if ("path".equalsIgnoreCase(highway)) {
49-
return WayType.PATH;
50-
} else if ("track".equalsIgnoreCase(highway)) {
51-
return WayType.TRACK;
52-
} else if ("cycleway".equalsIgnoreCase(highway)) {
53-
return WayType.CYCLEWAY;
54-
} else if ("footway".equalsIgnoreCase(highway)
55-
|| "pedestrian".equalsIgnoreCase(highway)
56-
|| "crossing".equalsIgnoreCase(highway)) {
57-
return WayType.FOOTWAY;
58-
} else if ("steps".equalsIgnoreCase(highway)) {
59-
return WayType.STEPS;
60-
} else if ("construction".equalsIgnoreCase(highway)) {
61-
return WayType.CONSTRUCTION;
30+
switch(highway.toLowerCase()) {
31+
case "primary":
32+
case "primary_link":
33+
case "motorway":
34+
case "motorway_link":
35+
case "trunk":
36+
case "trunk_link":
37+
return WayType.STATE_ROAD;
38+
case "secondary":
39+
case "secondary_link":
40+
case "tertiary":
41+
case "tertiary_link":
42+
case "road":
43+
case "unclassified":
44+
return WayType.ROAD;
45+
case "residential":
46+
case "service":
47+
case "living_street":
48+
return WayType.STREET;
49+
case "path":
50+
return WayType.PATH;
51+
case "track":
52+
return WayType.TRACK;
53+
case "cycleway":
54+
return WayType.CYCLEWAY;
55+
case "footway":
56+
case "pedestrian":
57+
case "crossing":
58+
return WayType.FOOTWAY;
59+
case "steps":
60+
return WayType.STEPS;
61+
case "construction":
62+
return WayType.CONSTRUCTION;
63+
default:
64+
return WayType.UNKNOWN;
6265
}
63-
return WayType.UNKNOWN;
6466
}
6567

6668
@Override

0 commit comments

Comments
 (0)