Java Code Examples for org.eclipse.birt.core.data.DataTypeUtil#toBigDecimal()

The following examples show how to use org.eclipse.birt.core.data.DataTypeUtil#toBigDecimal() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TemplateMessageServiceBaseImpl.java    From axelor-open-suite with GNU Affero General Public License v3.0 6 votes vote down vote up
private Object convertValue(String type, String value) throws BirtException {

    if (DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals(type)) {
      return DataTypeUtil.toBoolean(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_DATETIME.equals(type)) {
      return DataTypeUtil.toDate(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_DATE.equals(type)) {
      return DataTypeUtil.toSqlDate(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_TIME.equals(type)) {
      return DataTypeUtil.toSqlTime(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_DECIMAL.equals(type)) {
      return DataTypeUtil.toBigDecimal(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_FLOAT.equals(type)) {
      return DataTypeUtil.toDouble(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_STRING.equals(type)) {
      return DataTypeUtil.toLocaleNeutralString(value);
    } else if (DesignChoiceConstants.PARAM_TYPE_INTEGER.equals(type)) {
      return DataTypeUtil.toInteger(value);
    }
    return value;
  }
 
Example 2
Source File: DecimalGroupCalculator.java    From birt with Eclipse Public License 1.0 6 votes vote down vote up
public Object calculate( Object value ) throws BirtException
	{
		if ( value == null )
		{
//			If the  value '-1',grouping interval doesn't work for negative categories .So I change the value to '-Double.MAX_VALUE'.
			return new BigDecimal( -Double.MAX_VALUE);
		}

		BigDecimal dValue = DataTypeUtil.toBigDecimal( value );

		if ( dValue.compareTo( doubleStartValue ) < 0 )
		{
			return new Double( -1 );
		}
		else
		{
			dValue = dValue.subtract( doubleStartValue );
			dValue = dValue.divide(new BigDecimal(intervalRange), 0, BigDecimal.ROUND_FLOOR );
			return dValue;

		}
	}
 
Example 3
Source File: DecimalGroupCalculator.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
/**
	 * 
	 * @param intervalStart
	 * @param intervalRange
	 * @throws BirtException
	 */
	public DecimalGroupCalculator( Object intervalStart, double intervalRange )
			throws BirtException
	{
		super( intervalStart, intervalRange );
		intervalRange = (intervalRange == 0 ? 1 : intervalRange);
		this.intervalRange = intervalRange;
//		If the  value '-1',grouping interval doesn't work for negative categories .So I change the value to '-Double.MAX_VALUE'.
		if ( intervalStart == null )
			doubleStartValue = new BigDecimal(-Double.MAX_VALUE );
		else
			doubleStartValue = DataTypeUtil.toBigDecimal( intervalStart );
	}
 
Example 4
Source File: BigDecimalCalculator.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
public Object getTypedObject( Object obj ) throws DataException
{
	try
	{
		return DataTypeUtil.toBigDecimal( obj );
	}
	catch ( BirtException e )
	{
		throw DataException.wrap( e );
	}
}
 
Example 5
Source File: ReportRunner.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * @param p
 *            the scalar parameter
 * @param expr
 *            the default value expression
 */
protected Object stringToObject( int type, String value )
		throws BirtException
{
	if ( value == null )
	{
		return null;
	}
	switch ( type )
	{
		case IScalarParameterDefn.TYPE_BOOLEAN :
			return DataTypeUtil.toBoolean( value );

		case IScalarParameterDefn.TYPE_DATE :
			return DataTypeUtil.toSqlDate( value );

		case IScalarParameterDefn.TYPE_TIME :
			return DataTypeUtil.toSqlTime( value );
			
		case IScalarParameterDefn.TYPE_DATE_TIME :
			return DataTypeUtil.toDate( value );
		case IScalarParameterDefn.TYPE_DECIMAL :
			return DataTypeUtil.toBigDecimal( value );

		case IScalarParameterDefn.TYPE_FLOAT :
			return DataTypeUtil.toDouble( value );

		case IScalarParameterDefn.TYPE_STRING :
			return DataTypeUtil.toString( value );
		
		case IScalarParameterDefn.TYPE_INTEGER :
			return DataTypeUtil.toInteger( value );
	}
	return null;

}
 
Example 6
Source File: ParameterSelectionChoice.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * 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;
	}
}
 
Example 7
Source File: EngineTask.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
public static Object convertParameterType( Object value, String type )
		throws BirtException
{
	if ( DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals( type ) )
	{
		return DataTypeUtil.toBoolean( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATETIME.equals( type ) )
	{
		return DataTypeUtil.toDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATE.equals( type ) )
	{
		return DataTypeUtil.toSqlDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_TIME.equals( type ) )
	{
		return DataTypeUtil.toSqlTime( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DECIMAL.equals( type ) )
	{
		return DataTypeUtil.toBigDecimal( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_FLOAT.equals( type ) )
	{
		return DataTypeUtil.toDouble( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_STRING.equals( type ) )
	{
		return DataTypeUtil.toLocaleNeutralString( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_INTEGER.equals( type ) )
	{
		return DataTypeUtil.toInteger( value );
	}
	return value;
}
 
Example 8
Source File: DataTypeConvertUtil.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
public static Object convert( Object value, String type )
		throws BirtException
{
	if ( DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals( type ) )
	{
		return DataTypeUtil.toBoolean( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATETIME.equals( type ) )
	{
		return DataTypeUtil.toDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DECIMAL.equals( type ) )
	{
		return DataTypeUtil.toBigDecimal( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_FLOAT.equals( type ) )
	{
		return DataTypeUtil.toDouble( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_STRING.equals( type ) )
	{
		return DataTypeUtil.toString( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_INTEGER.equals( type ) )
	{
		return DataTypeUtil.toInteger( value );
	}
	return value;
}
 
Example 9
Source File: ParameterUtil.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
public static Object convert( Object value, String dataType )
		throws BirtException
{
	if ( DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals( dataType ) )
	{
		return DataTypeUtil.toBoolean( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATETIME.equals( dataType ) )
	{
		return DataTypeUtil.toDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATE.equals( dataType ) )
	{
		return DataTypeUtil.toSqlDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_TIME.equals( dataType ) )
	{
		return DataTypeUtil.toSqlTime( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DECIMAL.equals( dataType ) )
	{
		return DataTypeUtil.toBigDecimal( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_FLOAT.equals( dataType ) )
	{
		return DataTypeUtil.toDouble( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_STRING.equals( dataType ) )
	{
		return DataTypeUtil.toString( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_INTEGER.equals( dataType ) )
	{
		return DataTypeUtil.toInteger( value );
	}
	return value;
}
 
Example 10
Source File: DataUtil.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * Try convert an object to given type Types supported:
 * <p>
 * <ul>
 * <li>IScalarParameterDefn.TYPE_INTEGER</li>
 * <li>IScalarParameterDefn.TYPE_DECIMAL</li>
 * <li>IScalarParameterDefn.TYPE_BOOLEAN</li>
 * <li>IScalarParameterDefn.TYPE_DATE_TIME</li>
 * <li>IScalarParameterDefn.TYPE_FLOAT</li>
 * <li>IScalarParameterDefn.TYPE_STRING</li>
 * <li>IScalarParameterDefn.TYPE_DATE</li>
 * <li>IScalarParameterDefn.TYPE_TIME</li>
 * <ul>
 * </p>
 * 
 * @param source
 * @param toType
 * @return
 * @throws BirtException
 */
public static Object convert( Object source, int toType )
		throws BirtException
{
	if ( source == null )
		return null;

	// if any type, return directly.
	if ( toType == IScalarParameterDefn.TYPE_ANY )
		return source;

	switch ( toType )
	{
		case IScalarParameterDefn.TYPE_INTEGER :
			return DataTypeUtil.toInteger( source );
		case IScalarParameterDefn.TYPE_DECIMAL :
			return DataTypeUtil.toBigDecimal( source );
		case IScalarParameterDefn.TYPE_BOOLEAN :
			return DataTypeUtil.toBoolean( source );
		case IScalarParameterDefn.TYPE_DATE_TIME :
			return DataTypeUtil.toDate( source );
		case IScalarParameterDefn.TYPE_FLOAT :
			return DataTypeUtil.toDouble( source );
		case IScalarParameterDefn.TYPE_STRING :
			return DataTypeUtil.toString( source );
		case IScalarParameterDefn.TYPE_DATE :
			return DataTypeUtil.toSqlDate( source );
		case IScalarParameterDefn.TYPE_TIME :
			return DataTypeUtil.toSqlTime( source );
		default :
			throw new CoreException( "Invalid type." ); //$NON-NLS-1$
	}
}
 
Example 11
Source File: BirtComp.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
/**
 * @param obj1
 * @param obj2
 * @return -1,0 and 1 standing for <,= and > respectively
 * @throws BirtException
 * @throws DataException
 */
private static int compare( Object obj1, Object obj2, Collator collator) throws BirtException
{
	if ( obj1 == null || obj2 == null )
	{
		// all non-null values are greater than null value
		if ( obj1 == null && obj2 != null )
			return -1;
		else if ( obj1 != null && obj2 == null )
			return 1;
		else
			return 0;
	}

	if ( isSameType( obj1, obj2 ) )
	{
		if ( obj1 instanceof Boolean )
		{
			if ( obj1.equals( obj2 ) )
				return 0;

			Boolean bool = (Boolean) obj1;
			if ( bool.equals( Boolean.TRUE ) )
				return 1;
			else
				return -1;
		}
		else if ( obj1 instanceof Comparable )
		{
			if ( obj1 instanceof String )
			{
				if ( collator == null )
                       return ( (String)obj1 ).compareTo( (String)obj2 );
				return compareAsString( obj1, obj2, collator );				
			}				
			else
			{
				return ( (Comparable) obj1 ).compareTo( obj2 );
			}
		}
		// most judgements should end here
		else
		{
			return compareAsString( obj1, obj2, collator );
		}
	}
	else if ( obj1 instanceof BigDecimal || obj2 instanceof BigDecimal )
	{
		BigDecimal a = DataTypeUtil.toBigDecimal( obj1 );
		BigDecimal b = DataTypeUtil.toBigDecimal( obj2 );
		return a.compareTo( b );
	}
	else if ( isNumericOrString( obj1 ) && isNumericOrString( obj2 ) )
	{
		return DataTypeUtil.toDouble( obj1 )
				.compareTo( DataTypeUtil.toDouble( obj2 ) );
	}
	else if ( isTimeOrString( obj1 ) && isTimeOrString( obj2) )
	{
		return DataTypeUtil.toSqlTime( obj1 )
				.compareTo( DataTypeUtil.toSqlTime( obj2 ) );
	}
	else if ( isSQLDateOrString( obj1 ) && isSQLDateOrString( obj2 ))
	{
		return DataTypeUtil.toSqlDate( obj1 )
				.compareTo( DataTypeUtil.toSqlDate( obj2 ) );
	}
	else if ( isDateOrString( obj1 ) && isDateOrString( obj2 ) )
	{
		return DataTypeUtil.toDate( obj1 )
				.compareTo( DataTypeUtil.toDate( obj2 ) );
	}
	else 
	{
		String object1 = null;
		String object2 = null;
		if (obj1 instanceof ScriptableObject)
			object1 = DataTypeUtil.toString(((ScriptableObject) obj1)
					.getDefaultValue(null));
		else
			object1 = DataTypeUtil.toString(obj1);

		if (obj2 instanceof ScriptableObject)
			object2 = DataTypeUtil.toString(((ScriptableObject) obj2)
					.getDefaultValue(null));
		else
			object2 = DataTypeUtil.toString(obj2);
		
		return compare( object1, object2,collator );
	}

}
 
Example 12
Source File: PreparedDummyQuery.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
public BigDecimal getBigDecimal( String name ) throws BirtException
{
	return DataTypeUtil.toBigDecimal( this.getValue( name ) );
}
 
Example 13
Source File: ResultIterator.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
public BigDecimal getBigDecimal( String name ) throws BirtException
{
	return DataTypeUtil.toBigDecimal( getValue( name ) );
}
 
Example 14
Source File: CacheResultIterator.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
public BigDecimal getBigDecimal( String name ) throws BirtException
{
	return DataTypeUtil.toBigDecimal( getValue( name ) );
}
 
Example 15
Source File: ResultIterator.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
public BigDecimal getBigDecimal( String name ) throws BirtException
{
	return DataTypeUtil.toBigDecimal( getValue( name ) );
}
 
Example 16
Source File: ReportLauncher.java    From birt with Eclipse Public License 1.0 4 votes vote down vote up
public static Object convert( Object value, String dataType )
		throws BirtException
{
	if (value == null)
	{
		return value;
	}
	if ( DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals( dataType ) )
	{
		return DataTypeUtil.toBoolean( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATETIME.equals( dataType ) )
	{
		return DataTypeUtil.toDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DATE.equals( dataType ) )
	{
		return DataTypeUtil.toSqlDate( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_TIME.equals( dataType ) )
	{
		return DataTypeUtil.toSqlTime( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_DECIMAL.equals( dataType ) )
	{
		return DataTypeUtil.toBigDecimal( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_FLOAT.equals( dataType ) )
	{
		return DataTypeUtil.toDouble( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_STRING.equals( dataType ) )
	{
		return DataTypeUtil.toString( value );
	}
	else if ( DesignChoiceConstants.PARAM_TYPE_INTEGER.equals( dataType ) )
	{
		return DataTypeUtil.toInteger( value );
	}
	return value;
}