public String getProcessedUrlWithHdivState(final StringBuilder sb, final String hdivParameter, final String stateParam) { if (stateParam == null || stateParam.length() <= 0) { getParamProcessedUrl(sb); return sb.toString(); } getParamProcessedUrl(sb); char separator = containsParams() ? '&' : '?'; sb.append(separator).append(hdivParameter).append('=').append(stateParam); if (uriTemplate != null) { sb.append(uriTemplate.replace('?', '&')); } if (anchor != null) { // it could be "" sb.append('#').append(anchor); } return sb.toString(); }
public String getUrlWithOutUriTemplate() { if (hasUriTemplate()) { return originalUrl.replace(getUriTemplate(), ""); } return originalUrl; }
protected String removeURITemplateParams(final UrlDataImpl data) { return data.getUrlWithOutUriTemplate(); }
protected static final String processAnchorAndParameters(String url, final UrlDataImpl urlData, final String hdivParameter) { url = urlData.findAnchor(url); // Remove parameters final int paramInit = url.indexOf('?'); if (paramInit > -1) { urlData.setUrlParams(removeStateParameter(hdivParameter, url.substring(paramInit + 1))); url = url.substring(0, paramInit); } return url; }
public boolean isHdivStateNecessary(final HDIVConfig config) { if (isJS() || !internal || config.isStartPage(urlWithoutContextPath, method) || hasExtensionToExclude(config)) { return false; } boolean validateParamLessUrls = config.isValidationInUrlsWithoutParamsActivated(); // if url is a link (or a GET method form) and has not got parameters, we do not have to include HDIV's state if (isGetMethod() && !validateParamLessUrls && !containsParams()) { return false; } urlObfuscation = config.isUrlObfuscation(); return true; }
private void testObfPath(final String initial, final String expected) { UrlDataImpl data = new UrlDataImpl(initial, Method.GET); data.setContextPathRelativeUrl(initial); data.setUrlWithoutContextPath(initial); data.urlObfuscation = true; StringBuilder sb = new StringBuilder(); data.getParamProcessedUrl(sb); Assert.assertEquals(expected, sb.toString()); }
final String serverName = ctx.getServerName(); final String baseURL = getBaseURL(ctx); final UrlDataImpl urlData = new UrlDataImpl(url, method); url = removeURITemplateParams(urlData); urlData.setServer(serverUrl); urlData.setContextPathRelativeUrl(contextPathRelativeUrl); urlData.setInternal(internal); urlData.setUrlWithoutContextPath(urlWithoutContextPath); urlData.setInternal(false);
public void testCreateUrlDataSimple() { UrlDataImpl urlData = create(urlWithoutUriTemplate); assertEquals(false, urlData.hasUriTemplate()); assertEquals(urlWithoutUriTemplate, urlData.getUrlWithOutUriTemplate()); assertEquals("", urlData.getUriTemplate()); }
public void testJSURLData() { UrlDataImpl data = new UrlDataImpl("javascript:myMethod()", Method.GET); assertEquals(true, data.isJS()); data = new UrlDataImpl("hhhhhhhhhh:myMethod()", Method.GET); assertEquals(false, data.isJS()); } }
@Test public void testProcessActionJsessionId() { final String url = "/testAction.do;jsessionid=67CFB560B6EC2677D51814A2A2B16B24"; final UrlDataImpl data = new UrlDataImpl(url, Method.GET); Assert.assertEquals("/testAction.do", HDIVUtil.stripAndFillSessionData(url, data)); Assert.assertEquals("jsessionid=67CFB560B6EC2677D51814A2A2B16B24", data.getjSessionId()); }
private void testPath(final String initial, final String expected) { UrlDataImpl data = new UrlDataImpl(initial, Method.GET); Assert.assertEquals(expected, data.getUrlWithOutUriTemplate()); }
/** * Generate final url with all parameters and anchor. * * @param url Generating url * @return complete url */ public String getProcessedUrl(final StringBuilder url) { getParamProcessedUrl(url); if (anchor != null) { // it could be "" url.append('#').append(anchor); } return url.toString(); }
public void testCreateUrlDataWithUriTemplate() { UrlDataImpl urlData = create(url); assertEquals(true, urlData.hasUriTemplate()); assertEquals(urlWithoutUriTemplate, urlData.getUrlWithOutUriTemplate()); assertEquals(uriTemplate, urlData.getUriTemplate()); }
@Test public void testShortURLIsJS() { UrlDataImpl data = new UrlDataImpl("short", Method.GET); Assert.assertFalse(data.isJS()); data = new UrlDataImpl("javascript:", Method.GET); Assert.assertTrue(data.isJS()); }
@Test public void testProcessActionJsessionIdParam() { final String url = "/testAction.do;jsessionid=67CFB560B6EC2677D51814A2A2B16B24?params=1"; final UrlDataImpl data = new UrlDataImpl(url, Method.GET); Assert.assertEquals("/testAction.do?params=1", HDIVUtil.stripAndFillSessionData(url, data)); Assert.assertEquals("jsessionid=67CFB560B6EC2677D51814A2A2B16B24", data.getjSessionId()); }
/** * Generate a url with all parameters. * * @param urlData url data object * @return complete url */ @Override void getParamProcessedUrl(final StringBuilder sb) { if (cacheProcessed != null) { sb.setLength(0); sb.append(cacheProcessed); return; } else { super.getParamProcessedUrl(sb); } if (cached > 0) { cacheProcessed = sb.toString(); } }
@Test public void testProcessActionJsessionStartPage() { final String url = "/testing.do;jsessionid=67CFB560B6EC2677D51814A2A2B16B24"; // is a startPage final UrlDataImpl data = new UrlDataImpl(url, Method.GET); Assert.assertEquals("/testing.do", HDIVUtil.stripAndFillSessionData(url, data)); Assert.assertEquals("jsessionid=67CFB560B6EC2677D51814A2A2B16B24", data.getjSessionId()); }