/** * get/create token out of placeRequest. * * @return token string */ public final String getToken() { if (placeRequest == null) { return null; } if (placeRequest.getParameterNames() == null || placeRequest.getParameterNames().size() == 0) { return placeRequest.getNameToken(); } final StringBuilder token = new StringBuilder(); token.append(placeRequest.getNameToken()); for (final String param : placeRequest.getParameterNames()) { token.append(';'); token.append(param); token.append('='); token.append(placeRequest.getParameter(param, StringUtils.EMPTY)); } return token.toString(); } }
private String createApplicationLink(String applicationName) { PlaceRequest request = new PlaceRequest(NameTokens.APPLICATIONS_PRESENTER); if (applicationName != null) { request = request.with(NameTokens.APPLICATION_NAME_PARAM, URL.encode(applicationName)); } return _presenter.getPlaceManager().buildRelativeHistoryToken(request, -1); }
@Override public void prepareFromRequest(PlaceRequest request) { this.selectedFederation = request.getParameter("name", null); super.prepareFromRequest(request); }
void setTabAccessible(boolean tabAccessible) { this.tabAccessible = tabAccessible; // If the current place matches dynamic tab presenter, reveal // the place again in order to apply presenter reveal process // after tab accessibility change String currentPlaceToken = placeManager.getCurrentPlaceRequest().getNameToken(); if (getProxy().getTargetHistoryToken().equals(currentPlaceToken)) { placeManager.revealCurrentPlace(); } }
@Override public void onSelection(SelectionEvent<Integer> event) { if (_modifyingTabs) { // add/remove tab may change the selection return; } if (event.getSelectedItem() < 0) { // TODO: WHAT???? return; } final PlaceRequest current = placeManager.getCurrentPlaceRequest(); final String selectedToken = _tabs.get(event.getSelectedItem()).getTargetHistoryToken(); final String currentToken = current == null ? null : current.getNameToken(); if (!selectedToken.equals(currentToken)) { placeManager.revealPlace(new PlaceRequest(selectedToken)); } } });
public PlaceRequest build() { return new PlaceRequest(nameToken, params); } }
public static Set<FragmentParams> getParams(PlaceRequest currentPlace) { return getParams(currentPlace.getParameterNames()); }
@Override public void updateHistory(PlaceRequest request, boolean updateBrowserUrl) { try { // Make sure the request match assert request.hasSameNameToken(getCurrentPlaceRequest()) : "Internal error, PlaceRequest passed to" + "updateHistory doesn't match the tail of the place hierarchy."; placeHierarchy.set(placeHierarchy.size() - 1, request); if (updateBrowserUrl) { String historyToken = tokenFormatter.toHistoryToken(placeHierarchy); String browserHistoryToken = getBrowserHistoryToken(); if (browserHistoryToken == null || !browserHistoryToken.equals(historyToken)) { setBrowserHistoryToken(historyToken, false); } saveHistoryToken(historyToken); } } catch (TokenFormatException e) { // Do nothing. } }
@Override public void prepareFromRequest(PlaceRequest request) { super.prepareFromRequest(request); textToServer = request.getParameter(TokenParameters.TEXT_TO_SERVER, null); }
/** * Update the fragment parameters of the current visible place. This will cause a NEW item to be added to the * browser history so the back button will take you back to the previous fragment parameters on the same place. * @param params key value pairs containing the key and the value of the parameters. Valid keys are defined in * {@link FragmentParams} * @param newItem true to insert new item into History, false to simply replace current URL without adding * to history */ public void setFragmentParameters(Map<String, String> params, boolean newItem) { PlaceRequest request = new PlaceRequest.Builder().nameToken( getCurrentPlaceRequest().getNameToken()).with(params).build(); if (newItem) { History.newItem(buildHistoryToken(request), false); } else { History.replaceItem(buildHistoryToken(request), false); } }
/** * get/create token out of placeRequest. * * @return token string */ public final String getToken() { if (placeRequest == null) { return null; } if (placeRequest.getParameterNames() == null || placeRequest.getParameterNames().size() == 0) { return placeRequest.getNameToken(); } final StringBuilder token = new StringBuilder(); token.append(placeRequest.getNameToken()); for (final String param : placeRequest.getParameterNames()) { token.append(';'); token.append(param); token.append('='); token.append(placeRequest.getParameter(param, StringUtils.EMPTY)); } return token.toString(); } }
@Override public void prepareFromRequest(PlaceRequest request) { super.prepareFromRequest(request); _componentName = request.getParameter(NameTokens.COMPONENT_NAME_PARAM, null); if (_componentName != null) { _componentName = URL.decode(_componentName); } _extensionName = request.getParameter(NameTokens.EXTENSION_NAME_PARAM, null); if (_extensionName != null) { _extensionName = URL.decode(_extensionName); } }
private String createApplicationLink(String applicationName) { PlaceRequest request = new PlaceRequest(NameTokens.APPLICATIONS_PRESENTER); if (applicationName != null) { request = request.with(NameTokens.APPLICATION_NAME_PARAM, URL.encode(applicationName)); } return _presenter.getPlaceManager().buildRelativeHistoryToken(request, -1); }
@Override public void onLockInteraction(LockInteractionEvent event) { // Allow progress indicator to be hidden regardless of the current (non-empty) place boolean emptyPlace = placeManager.getCurrentPlaceRequest().getNameToken() == null; if (!emptyPlace && !event.shouldLock()) { // Use deferred command because some other initialization might happen // right after place transition; therefore we want to hide the loading // indicator only after the browser event loop returns Scheduler.get().scheduleDeferred(() -> hideLoadingIndicator()); } // Set data attribute on body element to indicate the status of the application BodyElement body = Document.get().getBody(); if (event.shouldLock()) { body.setAttribute(APP_STATUS_ATTRIBUTE, APP_STATUS_BUSY); } else { body.setAttribute(APP_STATUS_ATTRIBUTE, APP_STATUS_READY); } }
@Override public String toPlaceToken(final PlaceRequest placeRequest) throws TokenFormatException { String placeToken = placeRequest.getNameToken(); final StringBuilder queryStringBuilder = new StringBuilder(); String querySeparator = StringUtils.EMPTY; for (final String parameterName : placeRequest.getParameterNames()) { final String parameterValue = placeRequest.getParameter(parameterName, null); if (parameterValue != null) { final String encodedParameterValue = urlUtils.encodeQueryString(parameterValue); if (placeToken.contains("/{" + parameterName + "}")) { // route parameter placeToken = placeToken.replace("{" + parameterName + "}", encodedParameterValue); } else { // query parameter queryStringBuilder.append(querySeparator).append(parameterName).append('=') .append(encodedParameterValue); querySeparator = "&"; } } } final String queryString = queryStringBuilder.toString(); if (!queryString.isEmpty()) { placeToken = placeToken + "?" + queryString; // NOPMD } return placeToken; }
@Override public void prepareFromRequest(PlaceRequest request) { super.prepareFromRequest(request); _applicationName = request.getParameter(NameTokens.APPLICATION_NAME_PARAM, null); if (_applicationName != null) { _applicationName = URL.decode(_applicationName); } }
/** * Notifies the presenter that the user has selected an artifact reference. * The presenter will navigate to the artifacts page. * * @param artifact the selected artifact. */ public void onArtifactSelected(ArtifactReference artifact) { PlaceRequest request = new PlaceRequest(NameTokens.ARTIFACTS_PRESENTER); if (artifact != null) { request = request.with(NameTokens.ARTIFACT_REFERENCE_KEY_PARAM, URL.encode(artifact.key())); } _placeManager.revealRelativePlace(request, -1); }
@Override public void onChangeUser(final ChangeUserEvent pevent) { if (tokenEquals(placeManager.getCurrentPlaceRequest().getNameToken(), logoutToken)) { final PlaceRequest loginPlaceRequest = new PlaceRequest.Builder().nameToken(loginToken).build(); placeManager.revealPlace(loginPlaceRequest); } else { if (placeManager.getHierarchyDepth() > 1) { placeManager.revealRelativePlace(-1); } else if (tokenEquals(placeManager.getCurrentPlaceRequest().getNameToken(), loginToken) && pevent.getUser() != null && pevent.getUser().isLoggedIn()) { placeManager.revealDefaultPlace(); } else if (pevent.getUser() == null || !pevent.getUser().isLoggedIn()) { // user not logged in, load page once again, maybe we are no longer allowed to see placeManager.revealCurrentPlace(); } } navigationStructure.buildVisibleNavigation(pevent.getUser()); getView().createNavigation(navigationStructure); }
@Override public String toPlaceToken(PlaceRequest placeRequest) throws TokenFormatException { String placeToken = placeRequest.getNameToken(); StringBuilder queryStringBuilder = new StringBuilder(); String querySeparator = ""; for (String parameterName : placeRequest.getParameterNames()) { String parameterValue = placeRequest.getParameter(parameterName, null); if (parameterValue != null) { String encodedParameterValue = urlUtils.encodeQueryString(parameterValue); if (placeToken.contains("/{" + parameterName + "}")) { // route parameter placeToken = placeToken.replace("{" + parameterName + "}", encodedParameterValue); } else { // query parameter queryStringBuilder.append(querySeparator).append(parameterName).append("=") .append(encodedParameterValue); querySeparator = "&"; } } } String queryString = queryStringBuilder.toString(); if (!queryString.isEmpty()) { placeToken = placeToken + "?" + queryString; } return placeToken; }
@Override public void prepareFromRequest(PlaceRequest request) { super.prepareFromRequest(request); _artifactKey = request.getParameter(NameTokens.ARTIFACT_REFERENCE_KEY_PARAM, null); if (_artifactKey != null) { _artifactKey = URL.decode(_artifactKey); } }