Example usage for com.liferay.portal.kernel.portlet Route addOverriddenParameter

List of usage examples for com.liferay.portal.kernel.portlet Route addOverriddenParameter

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet Route addOverriddenParameter.

Prototype

public void addOverriddenParameter(String name, String value);

Source Link

Document

Adds an overridden parameter to this route.

Usage

From source file:com.liferay.portlet.PortletBagFactory.java

License:Open Source License

protected Router newFriendlyURLRouter(Portlet portlet) throws Exception {
    if (Validator.isNull(portlet.getFriendlyURLRoutes())) {
        return null;
    }//from ww  w.  j a  v a  2 s .c  o m

    Router router = new RouterImpl();

    String xml = getContent(portlet.getFriendlyURLRoutes());

    Document document = SAXReaderUtil.read(xml, true);

    Element rootElement = document.getRootElement();

    for (Element routeElement : rootElement.elements("route")) {
        String pattern = routeElement.elementText("pattern");

        Route route = router.addRoute(pattern);

        for (Element generatedParameterElement : routeElement.elements("generated-parameter")) {

            String name = generatedParameterElement.attributeValue("name");
            String value = generatedParameterElement.getText();

            route.addGeneratedParameter(name, value);
        }

        for (Element ignoredParameterElement : routeElement.elements("ignored-parameter")) {

            String name = ignoredParameterElement.attributeValue("name");

            route.addIgnoredParameter(name);
        }

        for (Element implicitParameterElement : routeElement.elements("implicit-parameter")) {

            String name = implicitParameterElement.attributeValue("name");
            String value = implicitParameterElement.getText();

            route.addImplicitParameter(name, value);
        }

        for (Element overriddenParameterElement : routeElement.elements("overridden-parameter")) {

            String name = overriddenParameterElement.attributeValue("name");
            String value = overriddenParameterElement.getText();

            route.addOverriddenParameter(name, value);
        }
    }

    return router;
}