package com.alimama.mdrill.topology.assignment; import java.util.HashSet; import java.util.Map; import com.alimama.mdrill.topology.MdrillTaskAssignment; public class SupervisorPortType { private HashSet<Integer> msPorts = new HashSet<Integer>(); private HashSet<Integer> rPorts = new HashSet<Integer>(); public void setup(Map topology_conf) { String[] ports = String.valueOf(topology_conf.get(MdrillTaskAssignment.MS_PORTS)).trim().split(","); for (String p : ports) { this.msPorts.add(Integer.parseInt(p.trim())); } } boolean isMergerPort(int p) { return msPorts.contains(p); } boolean isRealTimePort(int p) { return rPorts.contains(p); } public boolean isType(PortTypeEnum t,int p) { if(t.equals(PortTypeEnum.mergerserver)) { return isMergerPort(p); }else if(t.equals(PortTypeEnum.realtime)) { return isRealTimePort(p); } return !isRealTimePort(p)&&!isMergerPort(p); } }