}
private void printResourcesForContext( String contextName, OutputStream out, HttpServletRequest request,
boolean printCssOnly ) throws IOException {
IPluginManager pluginManager = PentahoSystem.get( IPluginManager.class );
Encoder encoder = ESAPI.encoder();
HttpServletRequest req = ( (HttpServletRequest) request );
String reqStr = "";
Map paramMap = req.getParameterMap();
// Fix for BISERVER-7613, BISERVER-7614, BISERVER-7615
// Make sure that parameters in the URL are encoded for Javascript safety since they'll be
// added to Javascript fragments that get executed.
if ( paramMap.size() > 0 ) {
StringBuilder sb = new StringBuilder();
Map.Entry<String, String[]> me = null;
char sep = '?'; // first separator is '?'
Iterator<Map.Entry<String, String[]>> it = paramMap.entrySet().iterator();
int i;
while ( it.hasNext() ) {
me = it.next();
for ( i = 0; i < me.getValue().length; i++ ) {
sb.append( sep ).append( encoder.encodeForJavaScript( me.getKey().toString() ) ).append( "=" ).append(
encoder.encodeForJavaScript( me.getValue()[ i ] ) );
}
if ( sep == '?' ) {
sep = '&'; // change the separator
}
}
reqStr = sb.toString(); // get the request string.
}
List<String> externalResources = pluginManager.getExternalResourcesForContext( contextName );
out.write( ( "<!-- Injecting web resources defined in by plugins as external-resources for: "
+ encoder.encodeForHTML(
contextName ) + "-->\n" ).getBytes() ); //$NON-NLS-1$ //$NON-NLS-2$
if ( externalResources != null ) {