package io.sloeber.core.tools; import java.io.File; import org.eclipse.core.runtime.Path; import io.sloeber.core.api.BoardDescriptor; import io.sloeber.core.api.Defaults; public class Programmers extends TxtFile { private static final String programmersFileName1 = "programmers.txt";//$NON-NLS-1$ private static final String programmersFileName2 = "externalprogrammers.txt";//$NON-NLS-1$ Programmers(String programmersFileName) { super(new File(programmersFileName)); } Programmers(File programmersFile) { super(programmersFile); } public static Programmers[] fromBoards(String boardsFileName) { return fromBoards(new File(boardsFileName)); } public static Programmers[] fromBoards(File boardsFile) { File BoardsFile1 = new Path(boardsFile.getParentFile().toString()).append(programmersFileName1).toFile(); File BoardsFile2 = new Path(boardsFile.getParentFile().toString()).append(programmersFileName2).toFile(); if (BoardsFile1.exists() & BoardsFile2.exists()) { Programmers ret[] = new Programmers[2]; ret[0] = new Programmers(BoardsFile1); ret[1] = new Programmers(BoardsFile2); return ret; } if (BoardsFile1.exists()) { Programmers ret[] = new Programmers[1]; ret[0] = new Programmers(BoardsFile1); return ret; } if (BoardsFile2.exists()) { Programmers ret[] = new Programmers[1]; ret[0] = new Programmers(BoardsFile2); return ret; } return new Programmers[0]; } public static String[] getUploadProtocols(String boardsFileName) { String[] ret = new String[1]; ret[0] = Defaults.getDefaultUploadProtocol(); Programmers allProgrammers[] = fromBoards(new File(boardsFileName)); for (Programmers curprogrammer : allProgrammers) { ret = curprogrammer.getAllNames(ret); } return ret; } public static Programmers[] fromBoards(BoardDescriptor boardsDescriptor) { return fromBoards(boardsDescriptor.getBoardsFile()); } }