package uc.protocols.hub; import helpers.GH; import java.io.IOException; import java.net.ProtocolException; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Set; import uc.protocols.ADCStatusMessage; public class SUP extends AbstractADCHubCommand { //"+(Hub.ZLIF?" ADZLIF":"")+ " //public static final String SUPPORTS = "HSUP ADBASE ADTIGR ADUCMD ADBLOM\n"; // ADUCM0 for usercommands ADADCS private static final String[] SUPPORTS = new String[] {"TIGR","BLOM"}; public void handle(Hub hub,String command) throws ProtocolException, IOException { Set<String> supps = hub.getOthersSupports(); String[] com = space.split(command); for (int i=1; i < com.length; i++ ) { if (com[i].startsWith("AD")) { supps.add(com[i].substring(2)); } else if (com[i].startsWith("RM")) { supps.remove(com[i].substring(2)); } } if (!supps.contains("BASE")) { STA.sendSTAtoHub(hub, new ADCStatusMessage("BASE not supported", ADCStatusMessage.FATAL, ADCStatusMessage.ProtocolRequiredFeatureMissing)); } } public static void sendSupports(Hub hub) { List<String> supports = hub.getSupports(true); supports.addAll(Arrays.asList(SUPPORTS)); Collections.sort(supports); hub.sendUnmodifiedRaw(String.format("HSUP AD%s\n",GH.concat(supports, " AD"))); } }