Bug 145970 [REGRESSION] Set format in parameter dialog will lose the orginal data set by user.
Reproduce: 1. New a report scalar parameter, "p1", in the initialize dialog, set format to be uppercase. 2. New a data set with query "select * from CLASSICMODELS.CUSTOMERS where CLASSICMODELS.CUSTOMERS.CONTACTFIRSTNAME = ?". And bind the data set parameter to the report parameter "p1". 3. Insert a table into layout view, drag column [CUSTOMERNUMBER], [CONTACTLASTNAME], [CONTACTFIRSTNAME] from Data Explorer into table detail row respectively. 4. Preview. In the pop-up parameter dialog, type "Eric". Press "ok". Actually result: There was no data displayed. Expected result: There is one record whose first name is "Eric" in database.
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/context/ViewerAttributeBean.java
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.api.ScalarParameterHandle;
import org.eclipse.birt.report.model.api.SessionHandle;
import org.eclipse.birt.report.model.api.metadata.ValidationValueException;
import org.eclipse.birt.report.model.api.util.ParameterValidationUtil;
import org.eclipse.birt.report.resource.BirtResources;
import org.eclipse.birt.report.resource.ResourceConstants;
import org.eclipse.birt.report.service.BirtReportServiceFactory;
import org.eclipse.birt.report.service.BirtViewerReportDesignHandle;
import org.eclipse.birt.report.service.ReportEngineService;
import org.eclipse.birt.report.service.api.IViewerReportDesignHandle;
import org.eclipse.birt.report.service.api.IViewerReportService;
import org.eclipse.birt.report.service.api.InputOptions;
import org.eclipse.birt.report.service.api.ReportServiceException;
import org.eclipse.birt.report.utility.ParameterAccessor;
import com.ibm.icu.util.ULocale;
/**
 * Data bean for viewing request. Birt viewer distributes process logic into
 * viewer fragments. Each fragment seperates its front-end and back-end process
 * into jsp page and "code behand" fragment class. Viewer attribute bean serves
 * as:
 * <ol>
 * <li> object that carries the data shared among different fragments</li>
 * <li> object that carries the date shared between front-end jsp page and
 * back-end class</li>
 * </ol>
 * In current implementation, ViewerAttributeBean uses request scope.
 * <p>
 */
public class ViewerAttributeBean extends BaseAttributeBean