package org.act.tstream.schedule.default_assign.Selector; import org.act.tstream.schedule.default_assign.ResourceWorkerSlot; import org.act.tstream.schedule.default_assign.TaskGankerContext; public class InputComponentNumSelector extends AbstractSelector { public InputComponentNumSelector(final TaskGankerContext context) { super(context); // TODO Auto-generated constructor stub this.workerComparator = new WorkerComparator() { @Override public int compare(ResourceWorkerSlot o1, ResourceWorkerSlot o2) { // TODO Auto-generated method stub int o1Num = context.getInputComponentNumOnWorker(o1, name); int o2Num = context.getInputComponentNumOnWorker(o2, name); if (o1Num == o2Num) return 0; return o1Num > o2Num ? -1 : 1; } }; this.supervisorComparator = new WorkerComparator() { @Override public int compare(ResourceWorkerSlot o1, ResourceWorkerSlot o2) { // TODO Auto-generated method stub int o1Num = context.getInputComponentNumOnSupervisor( o1.getNodeId(), name); int o2Num = context.getInputComponentNumOnSupervisor( o2.getNodeId(), name); if (o1Num == o2Num) return 0; return o1Num > o2Num ? -1 : 1; } }; } }