Example usage for org.apache.wicket.request IRequestParameters getParameterValues

List of usage examples for org.apache.wicket.request IRequestParameters getParameterValues

Introduction

In this page you can find the example usage for org.apache.wicket.request IRequestParameters getParameterValues.

Prototype

List<StringValue> getParameterValues(String name);

Source Link

Document

Returns list of values for parameter with specified name.

Usage

From source file:org.efaps.ui.wicket.components.gridx.behaviors.SubmitModalBehavior.java

License:Apache License

@Override
protected void onSubmit(final AjaxRequestTarget _target) {
    super.onSubmit(_target);

    try {// ww  w  .j a va 2  s .c  o m
        final IRequestParameters para = getComponent().getRequest().getRequestParameters();
        final StringValue rid = para.getParameterValue("rid");
        final UIGrid uiGrid = (UIGrid) getComponent().getPage().getDefaultModelObject();
        final Long cmdId = uiGrid.getID4Random(rid.toString());
        final Command cmd = Command.get(cmdId);
        final List<StringValue> oidValues = para.getParameterValues("selectedRow");
        boolean check = false;
        if (cmd.getSubmitSelectedRows() > -1) {
            if (cmd.getSubmitSelectedRows() > 0) {
                check = oidValues == null ? false : oidValues.size() == cmd.getSubmitSelectedRows();
            } else {
                check = oidValues == null ? false : !oidValues.isEmpty();
            }
        } else {
            check = true;
        }
        if (check) {
            final ModalWindowContainer modal = getComponent().getPage()
                    .visitChildren(ModalWindowContainer.class, new ModalVisitor());
            modal.show(_target);
        } else {
            getComponent().getPage().visitChildren(ModalWindowContainer.class,
                    new IVisitor<ModalWindowContainer, Void>() {

                        @Override
                        public void component(final ModalWindowContainer _modal, final IVisit<Void> _visit) {
                            _modal.setPageCreator(new ModalWindow.PageCreator() {

                                private static final long serialVersionUID = 1L;

                                @Override
                                public Page createPage() {
                                    return new DialogPage(getComponent().getPage().getPageReference(),
                                            "SubmitSelectedRows.fail" + cmd.getSubmitSelectedRows(), false,
                                            false);
                                }
                            });
                            _modal.setInitialHeight(150);
                            _modal.setInitialWidth(350);
                            _modal.show(_target);
                            _visit.stop();
                        }
                    });
        }
    } catch (final Exception e) {
        SubmitModalBehavior.LOG.error("Catched", e);
    }
}

From source file:org.efaps.ui.wicket.EFapsSession.java

License:Apache License

/**
 * Method that opens a new Context in eFaps, setting the User, the Locale,
 * the Attributes of this Session {@link #sessionAttributes} and the
 * RequestParameters for the Context./*from   w  w w.  ja  va2 s .  c om*/
 *
 * @see #attach()
 */
public void openContext() {
    if (isLogedIn()) {
        try {
            if (!Context.isTMActive()) {
                final ServletWebRequest request = (ServletWebRequest) RequestCycle.get().getRequest();
                if (request instanceof EFapsRequest || request instanceof EFapsMultipartRequest) {
                    final Map<String, String[]> parameters = new HashMap<>();
                    final IRequestParameters reqPara = request.getRequestParameters();
                    for (final String name : reqPara.getParameterNames()) {
                        final List<StringValue> values = reqPara.getParameterValues(name);
                        final String[] valArray;
                        if (values == null) {
                            valArray = ArrayUtils.EMPTY_STRING_ARRAY;
                        } else {
                            valArray = new String[values.size()];
                            int i = 0;
                            for (final StringValue value : values) {
                                valArray[i] = value.toString();
                                i++;
                            }
                        }
                        parameters.put(name, valArray);
                    }

                    Context.begin(this.userName, super.getLocale(), this.sessionAttributes, parameters, null,
                            Context.Inheritance.Inheritable);
                    // set the locale in the context and in the session
                    setLocale(Context.getThreadContext().getLocale());
                    setAttribute(UserAttributesSet.CONTEXTMAPKEY,
                            Context.getThreadContext().getUserAttributes());
                    Context.getThreadContext().setPath(request.getContextPath());
                }
            }
        } catch (final EFapsException e) {
            EFapsSession.LOG.error("could not initialise the context", e);
            throw new RestartResponseException(new ErrorPage(e));
        }
    }
}

From source file:org.efaps.ui.wicket.request.EFapsRequestParametersAdapter.java

License:Apache License

/**
 * @param _parameters paramters to work on
 *///from  ww w.  j a va  2s . c o  m
public EFapsRequestParametersAdapter(final IRequestParameters... _parameters) {
    for (final IRequestParameters p : _parameters) {
        for (final String name : p.getParameterNames()) {
            final List<StringValue> values = p.getParameterValues(name);
            this.parameters.put(name, values);
            EFapsRequestParametersAdapter.LOG.trace("adding parameter from request. Name: '{}', value: {}",
                    name, values);
        }
    }
}

From source file:org.efaps.ui.wicket.util.ParameterUtil.java

License:Apache License

/**
 * Get an array for the StringValues./*from   w  ww  .  jav a  2s  .c o m*/
 *
 * @param _parameters IRequestParameters
 * @param _parameterName name of the Paramaters
 * @return always StringArray, if parameter does not exist an empty
 *         StringArray
 */
public static String[] parameter2Array(final IRequestParameters _parameters, final String _parameterName) {
    final List<StringValue> values = _parameters.getParameterValues(_parameterName);
    return ParameterUtil.stringValues2Array(values);
}

From source file:org.hippoecm.frontend.Main.java

License:Apache License

@Override
protected void init() {
    super.init();

    addRequestCycleListeners();//from   w w w .  java 2s. com

    registerSessionListeners();

    getPageSettings().setVersionPagesByDefault(false);
    //        getPageSettings().setAutomaticMultiWindowSupport(false);

    //        getSessionSettings().setPageMapEvictionStrategy(new LeastRecentlyAccessedEvictionStrategy(1));

    getApplicationSettings().setPageExpiredErrorPage(PageExpiredErrorPage.class);
    try {
        String cfgParam = getConfigurationParameter(MAXUPLOAD_PARAM, null);
        if (cfgParam != null && cfgParam.trim().length() > 0) {
            getApplicationSettings().setDefaultMaximumUploadSize(Bytes.valueOf(cfgParam));
        }
    } catch (StringValueConversionException ex) {
        log.warn("Unable to parse number as specified by " + MAXUPLOAD_PARAM, ex);
    }
    final IClassResolver originalResolver = getApplicationSettings().getClassResolver();
    getApplicationSettings().setClassResolver(new IClassResolver() {

        @Override
        public Class resolveClass(String name) throws ClassNotFoundException {
            if (Session.exists()) {
                UserSession session = UserSession.get();
                ClassLoader loader = session.getClassLoader();
                if (loader != null) {
                    return session.getClassLoader().loadClass(name);
                }
            }
            return originalResolver.resolveClass(name);
        }

        @Override
        public Iterator<URL> getResources(String name) {
            List<URL> resources = new LinkedList<>();
            for (Iterator<URL> iter = originalResolver.getResources(name); iter.hasNext();) {
                resources.add(iter.next());
            }
            if (Session.exists()) {
                UserSession session = UserSession.get();
                ClassLoader loader = session.getClassLoader();
                if (loader != null) {
                    try {
                        for (Enumeration<URL> resourceEnum = session.getClassLoader()
                                .getResources(name); resourceEnum.hasMoreElements();) {
                            resources.add(resourceEnum.nextElement());
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            return resources.iterator();
        }

        @Override
        public ClassLoader getClassLoader() {
            return Main.class.getClassLoader();
        }
    });

    final IResourceSettings resourceSettings = getResourceSettings();

    // replace current loaders with own list, starting with component-specific
    List<IStringResourceLoader> loaders = resourceSettings.getStringResourceLoaders();
    loaders.add(new ClassFromKeyStringResourceLoader());
    loaders.add(new IStringResourceLoader() {

        @Override
        public String loadStringResource(final Class<?> clazz, final String key, final Locale locale,
                final String style, final String variation) {
            return null;
        }

        @Override
        public String loadStringResource(final Component component, String key, final Locale locale,
                final String style, final String variation) {
            if (key.contains(",")) {
                key = key.substring(0, key.lastIndexOf(','));
                return resourceSettings.getLocalizer().getStringIgnoreSettings(key, component, null, locale,
                        style, variation);
            }
            return null;
        }
    });

    if (RuntimeConfigurationType.DEVELOPMENT.equals(getConfigurationType())) {
        resourceSettings.setCachingStrategy(new NoOpResourceCachingStrategy());
    } else {
        resourceSettings.setCachingStrategy(
                new FilenameWithVersionResourceCachingStrategy(new LastModifiedResourceVersion()));
    }

    mount(new MountMapper("binaries", new IMountedRequestMapper() {

        @Override
        public IRequestHandler mapRequest(final Request request, final MountParameters mountParams) {
            String path = Strings.join("/", request.getUrl().getSegments());
            try {
                javax.jcr.Session subSession = UserSession.get().getJcrSession();
                Node node = ((HippoWorkspace) subSession.getWorkspace()).getHierarchyResolver()
                        .getNode(subSession.getRootNode(), path);
                // YUCK: no exception!
                if (node == null) {
                    log.info("no binary found at " + path);
                } else {
                    if (node.isNodeType(HippoNodeType.NT_DOCUMENT)) {
                        node = (Node) JcrHelper.getPrimaryItem(node);
                    }
                    return new JcrResourceRequestHandler(node);
                }
            } catch (PathNotFoundException e) {
                log.info("binary not found " + e.getMessage());
            } catch (javax.jcr.LoginException ex) {
                log.warn(ex.getMessage());
            } catch (RepositoryException ex) {
                log.error(ex.getMessage());
            }
            return null;
        }

        @Override
        public int getCompatibilityScore(final Request request) {
            return 1;
        }

        @Override
        public Mount mapHandler(final IRequestHandler requestHandler) {
            return null;
        }
    }));

    String applicationName = getPluginApplicationName();

    if (PLUGIN_APPLICATION_VALUE_CMS.equals(applicationName)) {

        // the following is only applicable and needed for the CMS application, not the Console

        /*
         * HST SAML kind of authentication handler needed for Template Composer integration
         *
         */
        cmsContextService = (CmsInternalCmsContextService) HippoServiceRegistry
                .getService(CmsContextService.class);
        if (cmsContextService == null) {
            cmsContextServiceImpl = new CmsContextServiceImpl();
            cmsContextService = cmsContextServiceImpl;
            HippoServiceRegistry.registerService(cmsContextServiceImpl,
                    new Class[] { CmsContextService.class, CmsInternalCmsContextService.class });
        }
        mount(new MountMapper("auth", new IMountedRequestMapper() {

            @Override
            public IRequestHandler mapRequest(final Request request, final MountParameters mountParams) {

                IRequestHandler requestTarget = new RenderPageRequestHandler(
                        new PageProvider(getHomePage(), null), RedirectPolicy.AUTO_REDIRECT);

                IRequestParameters requestParameters = request.getRequestParameters();
                final List<StringValue> cmsCSIDParams = requestParameters.getParameterValues("cmsCSID");
                final List<StringValue> destinationPathParams = requestParameters
                        .getParameterValues("destinationPath");
                final String destinationPath = destinationPathParams != null && !destinationPathParams.isEmpty()
                        ? destinationPathParams.get(0).toString()
                        : null;

                PluginUserSession userSession = (PluginUserSession) Session.get();
                final UserCredentials userCredentials = userSession.getUserCredentials();

                HttpSession httpSession = ((ServletWebRequest) request).getContainerRequest().getSession();
                final CmsSessionContext cmsSessionContext = CmsSessionContext.getContext(httpSession);

                if (destinationPath != null && destinationPath.startsWith("/")
                        && (cmsSessionContext != null || userCredentials != null)) {

                    requestTarget = new IRequestHandler() {

                        @Override
                        public void respond(IRequestCycle requestCycle) {
                            String destinationUrl = RequestUtils.getFarthestUrlPrefix(request)
                                    + destinationPath;
                            WebResponse response = (WebResponse) RequestCycle.get().getResponse();
                            String cmsCSID = cmsCSIDParams == null ? null
                                    : cmsCSIDParams.get(0) == null ? null : cmsCSIDParams.get(0).toString();
                            if (!cmsContextService.getId().equals(cmsCSID)) {
                                // redirect to destinationURL and include marker that it is a retry. This way
                                // the destination can choose to not redirect for SSO handshake again if it still does not
                                // have a key
                                if (destinationUrl.contains("?")) {
                                    response.sendRedirect(destinationUrl + "&retry");
                                } else {
                                    response.sendRedirect(destinationUrl + "?retry");
                                }
                                return;
                            }
                            String cmsSessionContextId = cmsSessionContext != null ? cmsSessionContext.getId()
                                    : null;
                            if (cmsSessionContextId == null) {
                                CmsSessionContext newCmsSessionContext = cmsContextService.create(httpSession);
                                CmsSessionUtil.populateCmsSessionContext(cmsContextService,
                                        newCmsSessionContext, userSession);
                                cmsSessionContextId = newCmsSessionContext.getId();

                            }
                            if (destinationUrl.contains("?")) {
                                response.sendRedirect(destinationUrl + "&cmsCSID=" + cmsContextService.getId()
                                        + "&cmsSCID=" + cmsSessionContextId);
                            } else {
                                response.sendRedirect(destinationUrl + "?cmsCSID=" + cmsContextService.getId()
                                        + "&cmsSCID=" + cmsSessionContextId);
                            }
                        }

                        @Override
                        public void detach(IRequestCycle requestCycle) {
                            //Nothing to detach.
                        }
                    };
                }
                return requestTarget;
            }

            @Override
            public int getCompatibilityScore(final Request request) {
                return 0;
            }

            @Override
            public Mount mapHandler(final IRequestHandler requestHandler) {
                return null;
            }
        }));
    }

    // caching resource stream locator implementation that allows the class argument to be null.
    final IResourceStreamLocator resourceStreamLocator = resourceSettings.getResourceStreamLocator();
    resourceSettings.setResourceStreamLocator(new IResourceStreamLocator() {
        @Override
        public IResourceStream locate(Class<?> clazz, final String path) {
            if (clazz == null) {
                clazz = CACHING_RESOURCE_STREAM_LOCATOR_CLASS;
            }
            return resourceStreamLocator.locate(clazz, path);
        }

        @Override
        public IResourceStream locate(Class<?> clazz, final String path, final String style,
                final String variation, final Locale locale, final String extension, final boolean strict) {
            if (clazz == null) {
                clazz = CACHING_RESOURCE_STREAM_LOCATOR_CLASS;
            }
            return resourceStreamLocator.locate(clazz, path, style, variation, locale, extension, strict);
        }

        @Override
        public IResourceNameIterator newResourceNameIterator(final String path, final Locale locale,
                final String style, final String variation, final String extension, final boolean strict) {
            return resourceStreamLocator.newResourceNameIterator(path, locale, style, variation, extension,
                    strict);
        }
    });

    if (RuntimeConfigurationType.DEVELOPMENT.equals(getConfigurationType())) {
        // disable cache
        resourceSettings.getLocalizer().setEnableCache(false);

        final long timeout = NumberUtils.toLong(
                getConfigurationParameter(DEVELOPMENT_REQUEST_TIMEOUT_PARAM, null),
                DEFAULT_DEVELOPMENT_REQUEST_TIMEOUT_MS);

        if (timeout > 0L) {
            log.info("Setting wicket request timeout to {} ms.", timeout);
            getRequestCycleSettings().setTimeout(Duration.milliseconds(timeout));
        }

        // render comments with component class names
        getDebugSettings().setOutputMarkupContainerClassName(true);

        // do not render Wicket-specific markup since it can break CSS
        getMarkupSettings().setStripWicketTags(true);
    } else {
        // don't serialize pages for performance
        setPageManagerProvider(new DefaultPageManagerProvider(this) {

            @Override
            protected IPageStore newPageStore(final IDataStore dataStore) {
                return new AmnesicPageStore();
            }
        });

        // don't throw on missing resource
        resourceSettings.setThrowExceptionOnMissingResource(false);

        // don't show exception page
        getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettings.SHOW_NO_EXCEPTION_PAGE);

        final long timeout = NumberUtils
                .toLong(getConfigurationParameter(DEPLOYMENT_REQUEST_TIMEOUT_PARAM, null));

        if (timeout > 0L) {
            log.info("Setting wicket request timeout to {} ms.", timeout);
            getRequestCycleSettings().setTimeout(Duration.milliseconds(timeout));
        }
    }

    String outputWicketpaths = obtainOutputWicketPathsParameter();

    if (outputWicketpaths != null && "true".equalsIgnoreCase(outputWicketpaths)) {
        getDebugSettings().setOutputComponentPath(true);
    }

    final IContextProvider<AjaxRequestTarget, Page> ajaxRequestTargetProvider = getAjaxRequestTargetProvider();
    setAjaxRequestTargetProvider(context -> new PluginRequestTarget(ajaxRequestTargetProvider.get(context)));

    setPageRendererProvider(new IPageRendererProvider() {

        @Override
        public PageRenderer get(final RenderPageRequestHandler context) {
            return new WebPageRenderer(context) {

                @Override
                protected BufferedWebResponse renderPage(final Url targetUrl, final RequestCycle requestCycle) {
                    IRequestHandler scheduled = requestCycle.getRequestHandlerScheduledAfterCurrent();
                    if (scheduled == null) {
                        IRequestablePage page = getPage();
                        if (page instanceof Home) {
                            Home home = (Home) page;
                            home.processEvents();
                            home.render(null);
                        }
                    }
                    return super.renderPage(targetUrl, requestCycle);
                }
            };
        }
    });

    // don't allow public access to any package resource (empty whitelist) by default
    resourceSettings.setPackageResourceGuard(new WhitelistedClassesResourceGuard());

    if (log.isInfoEnabled()) {
        log.info("Hippo CMS application " + applicationName + " has started");
    }
}

From source file:org.jaulp.wicket.base.util.parameter.PageParametersUtils.java

License:Apache License

/**
 * Gets a map with all parameters. Looks in the query and post parameters. Migration method from
 * 1.4.* to 1.5.*./* w w w  .  j  a  v  a2s . c  o m*/
 * 
 * @param request
 *            the request
 * @return a map with all parameters.
 */
public static Map<String, String[]> getParameterMap(Request request) {
    IRequestParameters parameters = request.getRequestParameters();
    final Map<String, String[]> map = new HashMap<>();
    Set<String> parameterNames = parameters.getParameterNames();
    for (String parameterName : parameterNames) {
        List<StringValue> parameterValues = parameters.getParameterValues(parameterName);
        String[] stringArray = {};
        if (parameterValues != null && !parameterValues.isEmpty()) {
            stringArray = new String[parameterValues.size()];
            for (int i = 0; i < parameterValues.size(); i++) {
                stringArray[i] = parameterValues.get(i).toString();
            }
        }
        map.put(parameterName, stringArray);
    }
    return map;
}

From source file:org.openengsb.ui.admin.xlink.ToolChooserPage.java

License:Apache License

/**
 * Returns the Requestparameter as a Map. 
 *//* w ww . j  a v a 2s .c  o m*/
private Map<String, String[]> getRequestParametersAsAMap() {
    Map<String, String[]> parameterMap = new HashMap<String, String[]>();
    IRequestParameters parameters = getRequest().getQueryParameters();
    for (String key : parameters.getParameterNames()) {
        List<StringValue> values = parameters.getParameterValues(key);
        List<String> valuesAsString = new ArrayList<String>();
        for (StringValue stringvalue : values) {
            valuesAsString.add(stringvalue.toString());
        }
        parameterMap.put(key, (String[]) valuesAsString.toArray(new String[0]));
    }
    return parameterMap;
}

From source file:org.wicketstuff.js.ext.ExtEventAjaxBehavior.java

License:Apache License

@Override
protected final void respond(AjaxRequestTarget target) {
    String[] parameters = getParameters();
    IRequestParameters parameterMap = RequestCycle.get().getRequest().getQueryParameters();
    Map<String, JSONArray> filtered = new HashMap<String, JSONArray>();
    for (String parameter : parameters) {
        List<StringValue> values = parameterMap.getParameterValues(parameter);
        if (values == null) {
            continue;
        }/*from w  w w  .j  a  va2  s. c  om*/
        JSONArray jsonObjects = new JSONArray();
        try {
            for (StringValue stringValue : values) {
                String value = stringValue.toString();
                if (value.startsWith("[")) {
                    JSONTokener tokener = new JSONTokener(value);
                    JSONArray subVals = new JSONArray(tokener);
                    for (int i = 0; i < subVals.length(); i++) {
                        jsonObjects.put(subVals.get(i));
                    }
                } else if (value.startsWith("{")) {
                    JSONTokener tokener = new JSONTokener(value);
                    jsonObjects.put(new JSONObject(tokener));
                } else if ("null".equals(value)) {
                    jsonObjects.put(JSONObject.NULL);
                } else {
                    jsonObjects.put(value);
                }
            }
        } catch (JSONException e) {
            log.error("Could not parse request parameters", e);
        }
        filtered.put(parameter, jsonObjects);
    }
    handle(target, filtered);
}