package com.aliyun.odps.exec; import com.aliyun.odps.NotImplementedException; import com.aliyun.odps.counter.Counter; import com.aliyun.odps.exec.InputSplit; import com.aliyun.odps.exec.Reporter; import com.aliyun.odps.udf.ExecutionContext; /** * Reporter implemented by ExecutionContext */ public class ExecutionContextReporter implements Reporter { private ExecutionContext ctx; public ExecutionContextReporter(ExecutionContext ctx) { this.ctx = ctx; } @Override public void setStatus(String status) { throw new NotImplementedException(); } @Override public Counter getCounter(Enum<?> name) { return ctx.getCounter(name); } @Override public Counter getCounter(String group, String name) { return ctx.getCounter(group, name); } @Override public void incrCounter(Enum<?> key, long amount) { Counter cnt = ctx.getCounter(key); cnt.increment(amount); } @Override public void incrCounter(String group, String counter, long amount) { Counter cnt = ctx.getCounter(group, counter); cnt.increment(amount); } @Override public InputSplit getInputSplit() throws UnsupportedOperationException { throw new NotImplementedException(); } @Override public float getProgress() { throw new NotImplementedException(); } @Override public void progress() { ctx.claimAlive(); } }