SumTask

  Search Here
Searching XAP 6.0 Documentation

                                               

SumTask
package com.gs.example.query;

import net.jini.core.entry.Entry;
import com.j_spaces.core.IJSpace;


public class SumTask extends AbstractQueryTask 
{

	private static final long	serialVersionUID	= 1L;
	public String _sumFieldName;
	private long  totalSum;
	
	public SumTask()
	{
	}
	
	public SumTask(String sumFieldName, Entry template)
	{
		_template = template;
		_sumFieldName = sumFieldName;
	}
 
	public void execute(IJSpace space)
		throws Exception
	{
		System.out.println("SumTask: Executing custom SUM query");
		Entry[] entries = space.readMultiple(_template,null,Integer.MAX_VALUE);

		Long sum = new Long(0);	
		for (int i = 0; i < entries.length; i++ )
		{
			sum += ((Entity)entries[i]).accountNumber;
		}
		System.out.println("--> sum = "+ sum);
		this.setResult(sum);
		
	}
	
	/* 
	 * This method will perform the agregated result
	 * It will take the result from each member in the cluster
	 * iterate through them and calculate the total sum
	*/
	public void executeOnClient(Entry[] results)
	{
		long sum = 0;
		
		for (int i = 0; i < results.length; i++)
		   sum += (Long)((AbstractQueryTask)results[0])._result;
		
		this.totalSum = sum;

	}

	public long getTotalSum() {
		return totalSum;
	}

	public void setTotalSum(long totalSum) {
		this.totalSum = totalSum;
	}

}


IMPORTANT: This is an old version of GigaSpaces XAP. Click here for the latest version.
GigaSpaces 6.0 Documentation Contents (Current Page in Bold)

    Java

    C++

    .NET

    Middleware Capabilities

    Configuration and Management

Add GigaSpaces wiki search to your browser search engines!
(works on Firefox 2 and Internet Explorer 7)

Labels

 
(None)