/** * set parameter choice value. The string value is in English locale, and needs to be parsed back * into object value based on the data type. * * @param value the string value for the object * @param type the parameter data type */ public void setValue(String value, int type) { try { switch (type) { case IScalarParameterDefn.TYPE_BOOLEAN: this.value = DataTypeUtil.toBoolean(value); break; case IScalarParameterDefn.TYPE_DATE_TIME: this.value = DataTypeUtil.toDate(value); break; case IScalarParameterDefn.TYPE_DECIMAL: this.value = DataTypeUtil.toBigDecimal(value); break; case IScalarParameterDefn.TYPE_FLOAT: this.value = DataTypeUtil.toDouble(value); break; case IScalarParameterDefn.TYPE_INTEGER: this.value = DataTypeUtil.toInteger(value); break; case IScalarParameterDefn.TYPE_DATE: this.value = DataTypeUtil.toSqlDate(value); break; case IScalarParameterDefn.TYPE_TIME: this.value = DataTypeUtil.toSqlTime(value); break; case IScalarParameterDefn.TYPE_STRING: default: this.value = DataTypeUtil.toString(value); break; } } catch (BirtException e) { log.log(Level.SEVERE, e.getLocalizedMessage(), e); this.value = null; } }
/** * @param value * @param N * @throws DataException */ private void populateValueListAndRowIdList(Object value, int N) throws DataException { assert N >= 0; int activeCount = N < this.firstPassRowNumberCounter ? N : this.firstPassRowNumberCounter; for (int i = 0; i < activeCount; i++) { if (valueList.get(i) == null) { valueList.set(i, value); rowIdList.set(i, Integer.valueOf(firstPassRowNumberCounter)); break; } else { Object result = this.doCompare(value, valueList.get(i)); try { // filter in if (DataTypeUtil.toBoolean(result).booleanValue() == true) { for (int j = activeCount - 1; j > i; j--) { valueList.set(j, valueList.get(j - 1)); rowIdList.set(j, rowIdList.get(j - 1)); } valueList.set(i, value); rowIdList.set(i, Integer.valueOf(firstPassRowNumberCounter)); break; } } catch (BirtException e) { throw DataException.wrap(e); } } } }
/* * @see org.eclipse.birt.data.engine.api.IResultIterator#getBoolean(java.lang.String) */ public Boolean getBoolean(String name) throws BirtException { return DataTypeUtil.toBoolean(getValue(name)); }