|
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)
(works on Firefox 2 and Internet Explorer 7)
Labels
(None)