use of org.apache.wicket.util.string.StringValue in project wicket by apache.
the class CryptoMapperTest method homePageWithNonEncryptedQueryParameters.
/**
* Verifies that the home page can be reached with non-encrypted query parameters.
* https://issues.apache.org/jira/browse/WICKET-4345
*
* Also, test that the URL for the home page with non-encrypted parameters is not encrypted, to avoid unnecessary redirects.
*/
@Test
public void homePageWithNonEncryptedQueryParameters() {
String expectedEncrypted = "?namedKey1=namedValue1";
PageParameters expectedParameters = new PageParameters();
expectedParameters.add("namedKey1", "namedValue1");
RenderPageRequestHandler renderPageRequestHandler = new RenderPageRequestHandler(new PageProvider(tester.getApplication().getHomePage(), expectedParameters));
Url url = mapper.mapHandler(renderPageRequestHandler);
assertEquals(expectedEncrypted, url.toString());
Request request = getRequest(url);
IRequestHandler requestHandler = mapper.mapRequest(request);
assertNotNull(requestHandler);
requestHandler = unwrapRequestHandlerDelegate(requestHandler);
assertThat(requestHandler, instanceOf(RenderPageRequestHandler.class));
RenderPageRequestHandler handler = (RenderPageRequestHandler) requestHandler;
assertEquals(tester.getApplication().getHomePage(), handler.getPageClass());
StringValue queryParam = handler.getPageParameters().get("namedKey1");
assertEquals("namedValue1", queryParam.toOptionalString());
}
use of org.apache.wicket.util.string.StringValue in project wicket by apache.
the class PageParametersTest method addStringArrayValue.
/**
* Tests that adding a key with String[] value is properly parsed and there a several
* StringValue's for that key
*/
@Test
public void addStringArrayValue() {
PageParameters parameters = new PageParameters();
String[] input = new String[] { "v1", "v2" };
parameters.add("key", input, INamedParameters.Type.MANUAL);
List<StringValue> stringValue = parameters.getValues("key");
for (String in : input) {
boolean found = false;
for (StringValue value : stringValue) {
if (value.toString().equals(in)) {
found = true;
break;
}
}
if (found == false) {
throw new IllegalStateException("Expected to find a StringValue with value: " + in);
}
}
}
use of org.apache.wicket.util.string.StringValue in project wicket by apache.
the class CombinedRequestParametersAdapterTest method getParameterValuesSameNameSameValue.
/**
* Tests that org.apache.wicket.request.parameter.CombinedRequestParametersAdapter#getParameterValues(java.lang.String)
* will return all values for a given parameter by name.
*
* https://issues.apache.org/jira/browse/WICKET-4417
*
* @throws Exception
*/
@Test
public void getParameterValuesSameNameSameValue() throws Exception {
Url url = Url.parse("?param1=value1¶m1=value1");
UrlRequestParametersAdapter urlAdapter = new UrlRequestParametersAdapter(url);
CombinedRequestParametersAdapter adapter = new CombinedRequestParametersAdapter(urlAdapter);
List<StringValue> values = adapter.getParameterValues("param1");
assertEquals(2, values.size());
}
use of org.apache.wicket.util.string.StringValue in project webanno by webanno.
the class BratAnnotationEditor method actionDoAction.
private Object actionDoAction(AjaxRequestTarget aTarget, IRequestParameters request, JCas jCas, VID paramId) throws IOException {
StringValue layerParam = request.getParameterValue(PARAM_SPAN_TYPE);
if (!layerParam.isEmpty()) {
long layerId = Long.parseLong(layerParam.beforeFirst('_'));
AnnotationLayer layer = annotationService.getLayer(layerId);
if (!StringUtils.isEmpty(layer.getOnClickJavascriptAction())) {
// parse the action
List<AnnotationFeature> features = annotationService.listAnnotationFeature(layer);
AnnotationFS anno = WebAnnoCasUtil.selectByAddr(jCas, paramId.getId());
Map<String, Object> functionParams = OnClickActionParser.parse(layer, features, getModelObject().getDocument(), anno);
// define anonymous function, fill the body and immediately execute
String js = String.format("(function ($PARAM){ %s })(%s)", layer.getOnClickJavascriptAction(), JSONUtil.toJsonString(functionParams));
aTarget.appendJavaScript(js);
}
}
return null;
}
use of org.apache.wicket.util.string.StringValue in project syncope by apache.
the class SecurityQuestionByUsernameResource method newResourceResponse.
@Override
protected AbstractResource.ResourceResponse newResourceResponse(final IResource.Attributes attributes) {
LOG.debug("List available security questions");
ResourceResponse response = new AbstractResource.ResourceResponse();
response.setContentType(MediaType.APPLICATION_JSON);
try {
HttpServletRequest request = (HttpServletRequest) attributes.getRequest().getContainerRequest();
if (!xsrfCheck(request)) {
LOG.error("XSRF TOKEN does not match");
response.setError(Response.Status.BAD_REQUEST.getStatusCode(), "XSRF TOKEN does not match");
return response;
}
PageParameters parameters = attributes.getParameters();
StringValue username = parameters.get("username");
if (!username.isEmpty()) {
final SecurityQuestionTO securityQuestionTO = SyncopeEnduserSession.get().getService(SecurityQuestionService.class).readByUser(username.toString());
response.setWriteCallback(new AbstractResource.WriteCallback() {
@Override
public void writeData(final IResource.Attributes attributes) throws IOException {
attributes.getResponse().write(MAPPER.writeValueAsString(securityQuestionTO));
}
});
}
response.setContentType(MediaType.APPLICATION_JSON);
response.setTextEncoding(StandardCharsets.UTF_8.name());
response.setStatusCode(Response.Status.OK.getStatusCode());
} catch (Exception e) {
LOG.error("Error retrieving security questions", e);
response.setError(Response.Status.BAD_REQUEST.getStatusCode(), new StringBuilder().append("ErrorMessage{{ ").append(e.getMessage()).append(" }}").toString());
}
return response;
}
Aggregations