Bug 189706 Enhance computed column aggregation function handling in UI.
Due to the issue discussed in 189705, current computed column aggregation builder in data set editor has bugs to extend: 1.When new a computed column, the aggregation argument field cannot be correctly set. 2.The argument field cannot be correct grayed out when user select a aggregation function without arguments 3.The available aggregation function list is incomprehensive 4.Some aggregation function cannot be set to model(say, weightedAve).
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/aggregation/AggregationHelper.java
this.calculate( );
	}
	/**
	 * Makes one pass over the odiResult and calculates values for all aggregate
	 * expressions. odiResult must be open, and cursor placed at first row. Upon
	 * return, odiResult is rewinded to first row. Before calling this method, a
	 * Javascript "row" object must be set up in the passed-in JS context and
	 * bound to the passed in odiResult.
	 */
	private void calculate(  ) throws DataException
	{
		List validAggregations = new ArrayList( );
		boolean[] populateAggrValue = new boolean[this.currentAggrCount];
		int count = 1;
		for ( int i = 0; i < this.currentAggrCount; i++ )
		{
			validAggregations.add( new Integer( i ) );
			if ( this.getAggrInfo( i ).getAggregation( ) instanceof Aggregation
					&& ( (Aggregation) this.getAggrInfo( i ).getAggregation( ) ).getNumberOfPasses( ) > 1 )
				populateAggrValue[i] = false;
			else
				populateAggrValue[i] = true;
			accumulatorManagers[i] = new AccumulatorManager( this.getAggrInfo( i ).getAggregation( ) );
		}
		while ( validAggregations.size( ) > 0 )
		{
			int[] validAggregationArray = new int[validAggregations.size( )];
			for ( int i = 0; i < validAggregations.size( ); i++ )
			{
				validAggregationArray[i] = ( (Integer) validAggregations.get( i ) ).intValue( );