You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

31 lines
1.2 KiB

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;
}
}