{
final HashMap<String,DrillDownParameter> entries = new HashMap<String,DrillDownParameter>();
final DrillDownParameter[] originalParams = event.getParameter();
for (int i = 0; i < originalParams.length; i++)
{
final DrillDownParameter param = originalParams[i];
param.setType(DrillDownParameter.Type.MANUAL);
entries.put (param.getName(), param);
}
final ReportRenderContext activeContext = getReportDesignerContext().getActiveContext();
final MasterReport masterReportElement = activeContext.getMasterReportElement();
final ReportParameterDefinition reportParams = masterReportElement.getParameterDefinition();
final ParameterDefinitionEntry[] parameterDefinitionEntries = reportParams.getParameterDefinitions();
for (int i = 0; i < parameterDefinitionEntries.length; i++)
{
final ParameterDefinitionEntry entry = parameterDefinitionEntries[i];
if (entries.containsKey(entry.getName()) == false)
{
entries.put(entry.getName(),
new DrillDownParameter(entry.getName(), null, DrillDownParameter.Type.PREDEFINED));
}
else
{
final DrillDownParameter parameter = entries.get(entry.getName());
parameter.setType(DrillDownParameter.Type.PREDEFINED);
}
}
final DrillDownParameter[] parameters = entries.values().toArray(new DrillDownParameter[entries.size()]);
getWrapper().setDrillDownParameter(parameters);