|
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<RegularNavigationLevel, Optional<String>> getParameterMap(@WildcardParameter String param) {
|
|
Map<RegularNavigationLevel, Optional<String>> 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;
|
|
}
|
|
}
|