/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core; import java.util.Map; import com.enonic.cms.core.structure.menuitem.MenuItemRequestParameter; public class RequestParametersMerger { public static RequestParameters mergeWithMenuItemRequestParameters( RequestParameters requestParameters, Map<String, MenuItemRequestParameter> menuItemRequestParameterMap ) { RequestParameters mergedRequestParams = new RequestParameters(); for ( MenuItemRequestParameter param : menuItemRequestParameterMap.values() ) { if ( !param.isEmpty() ) { mergedRequestParams.addParameterValue( param.getName(), param.getValue() ); } } for ( RequestParameters.Param param : requestParameters.getParameters() ) { MenuItemRequestParameter pageRequestParam = menuItemRequestParameterMap.get( param.getName() ); if ( pageRequestParam == null || pageRequestParam.isOverridableByRequest() ) { if ( !param.isEmpty() ) { mergedRequestParams.setParameterValues( param.getName(), param.getValues() ); } } } return mergedRequestParams; } }