@@ -0,0 +1,1598 @@
+package es.tid.ps.mobility.jobs;%0A%0Aimport com.twitter.elephantbird.mapreduce.io.ProtobufWritable;%0Aimport java.io.IOException;%0Aimport org.apache.hadoop.io.IntWritable;%0Aimport org.apache.hadoop.mapreduce.Reducer;%0A%0Aimport es.tid.ps.mobility.data.BtsCounterUtil;%0Aimport es.tid.ps.mobility.data.MxProtocol.BtsCounter;%0Aimport es.tid.ps.mobility.data.MxProtocol.NodeBts;%0Aimport es.tid.ps.mobility.data.MxProtocol.TwoInt;%0A%0A/**%0A *%0A * @author dmicol%0A */%0Apublic class MobmxVectorSumGroupcommsReducer extends%0A        Reducer%3CProtobufWritable%3CNodeBts%3E, IntWritable,%0A        ProtobufWritable%3CTwoInt%3E, ProtobufWritable%3CBtsCounter%3E%3E %7B%0A    @Override%0A    protected void reduce(ProtobufWritable%3CNodeBts%3E key,%0A            Iterable%3CIntWritable%3E values, Context context) throws IOException,%0A            InterruptedException %7B%0A        int numberOfCommunications = 0;%0A        for (IntWritable value : values) %7B%0A            numberOfCommunications += value.get();%0A        %7D%0A%0A        NodeBts inNodeBts = key.get();%0A        TwoInt nodeBts = TwoInt.newBuilder()%0A                .setNum1(inNodeBts.getPhone())%0A                .setNum2(inNodeBts.getBts())%0A                .build();%0A        ProtobufWritable%3CTwoInt%3E nodeBtsWrapper =%0A                ProtobufWritable.newInstance(TwoInt.class);%0A        nodeBtsWrapper.set(nodeBts);%0A%0A        ProtobufWritable%3CBtsCounter%3E counterWrapper =%0A                BtsCounterUtil.createAndWrap(%0A                        inNodeBts.getBts(), inNodeBts.getWday(),%0A                        inNodeBts.getRange(), numberOfCommunications);%0A%0A        context.write(nodeBtsWrapper, counterWrapper);%0A    %7D%0A%7D%0A

Add MobmxVectorSumGroupcommsReducer.