@Override public List<PlaceRequest> toPlaceRequestHierarchy(final String historyToken) throws TokenFormatException { final List<PlaceRequest> result = new ArrayList<>(); result.add(toPlaceRequest(historyToken)); return result; }
@Override public List<PlaceRequest> toPlaceRequestHierarchy(final String historyToken) throws TokenFormatException { final List<PlaceRequest> result = new ArrayList<>(); result.add(toPlaceRequest(historyToken)); return result; }
@Override public PlaceRequest toPlaceRequest(final String placeToken) throws TokenFormatException { /* * To support the native GWT history as well as HTML pushstate a slash is added when needed. */ if (!placeTokenIsValid(placeToken)) { return toPlaceRequest("/" + placeToken); } final int split = placeToken.indexOf('?'); final String place = (split == -1) ? placeToken : placeToken.substring(0, split); final String query = (split == -1) ? StringUtils.EMPTY : placeToken.substring(split + 1); final RouteMatcher matcher = new RouteMatcher(place); final RouteMatch match = matcher.allMatches.isEmpty() ? new RouteMatch(place, 0, null) : matcher.allMatches.last(); match.parameters = decodeEmbeddedParams(match.parameters); match.parameters = parseQueryString(query, match.parameters); return new PlaceRequest.Builder().nameToken(match.route).with(match.parameters).build(); }
@Override public PlaceRequest toPlaceRequest(final String placeToken) throws TokenFormatException { /* * To support the native GWT history as well as HTML pushstate a slash is added when needed. */ if (!placeTokenIsValid(placeToken)) { return toPlaceRequest("/" + placeToken); } final int split = placeToken.indexOf('?'); final String place = (split == -1) ? placeToken : placeToken.substring(0, split); final String query = (split == -1) ? StringUtils.EMPTY : placeToken.substring(split + 1); final RouteMatcher matcher = new RouteMatcher(place); final RouteMatch match = matcher.allMatches.isEmpty() ? new RouteMatch(place, 0, null) : matcher.allMatches.last(); match.parameters = decodeEmbeddedParams(match.parameters); match.parameters = parseQueryString(query, match.parameters); return new PlaceRequest.Builder().nameToken(match.route).with(match.parameters).build(); }