'Generates a url for the visualization with `visualization`
for use with the given `target_object` with a query string built
from the configuration data in `param_data`.'

def get_visualization_url(self, trans, target_object, visualization, param_data):

    params = self.get_url_params(trans, target_object, param_data)
    url = None
    if (visualization.name in self.BUILT_IN_VISUALIZATIONS):
        url = url_for(controller='visualization', action=visualization.name, **params)
    elif isinstance(visualization, vis_plugins.InteractiveEnvironmentPlugin):
        url = url_for('interactive_environment_plugin', visualization_name=visualization.name, **params)
    else:
        url = url_for(self.NAMED_ROUTE, visualization_name=visualization.name, **params)
    return url
