package app.navigation.regular; import app.navigation.NavigationUtils; import com.vaadin.flow.router.WildcardParameter; import org.springframework.lang.NonNull; import java.util.HashMap; import java.util.Map; import java.util.Optional; class RegularNavigationUtils { private RegularNavigationUtils() { } @NonNull static Map> getParameterMap(@WildcardParameter String param) { Map> map = new HashMap<>(); String[] params = param.split("/"); if (params.length >= 1 && !params[0].equals(NavigationUtils.EDIT)) map.put(RegularNavigationLevel.SEASON, Optional.of(params[0])); if (params.length >= 2 && !params[1].equals(NavigationUtils.EDIT)) map.put(RegularNavigationLevel.MATCHDAY, Optional.of(params[1])); if (params.length >= 3 && !params[2].equals(NavigationUtils.EDIT)) map.put(RegularNavigationLevel.MATCH, Optional.of(params[2])); map.putIfAbsent(RegularNavigationLevel.MATCH, Optional.empty()); map.putIfAbsent(RegularNavigationLevel.MATCHDAY, Optional.empty()); map.putIfAbsent(RegularNavigationLevel.SEASON, Optional.empty()); return map; } }