public static String expandUrlString ( final String urlString , final MultiDataContext < ContextView , DataContext > dataContext , final String nodename ) { final int qindex = urlString . indexOf ( ' ' ) ; final StringBuilder builder = new StringBuilder ( ) ; builder . append ( SharedDataContextUtils . replaceDataReferences ( qindex > 0 ? urlString . substring ( 0 , qindex ) : urlString , dataContext , ContextView . node ( nodename ) , ContextView :: nodeStep , urlPathEncoder , true , false ) ) ; if ( qindex > 0 ) { builder . append ( "?" ) ; if ( qindex < urlString . length ( ) - 1 ) { builder . append ( SharedDataContextUtils . replaceDataReferences ( urlString . substring ( qindex + 1 ) , dataContext , ContextView . node ( nodename ) , ContextView :: nodeStep , urlQueryEncoder , true , false ) ) ; } } return builder . toString ( ) ; }
Expand data references in a URL string using proper encoding for path and query parts .