/** * @return a list of hidden packs */ private List<Pack> getHiddenPacks() { List<Pack> hiddenPacks = new ArrayList<Pack>(); for (Pack availablePack : installData.getAvailablePacks()) { if (availablePack.isHidden()) { hiddenPacks.add(availablePack); } } return hiddenPacks; }
/** * @return a list of visible packs */ public List<Pack> getVisiblePacks() { List<Pack> visiblePacks = new ArrayList<Pack>(); for (Pack availablePack : installData.getAvailablePacks()) { if (!availablePack.isHidden()) { visiblePacks.add(availablePack); } } return visiblePacks; }
@Override public void createInstallationRecord(InstallData installData, IXMLElement panelRoot) { // We add each pack to the panelRoot element for (int i = 0; i < installData.getAvailablePacks().size(); i++) { Pack pack = installData.getAvailablePacks().get(i); IXMLElement packElement = new XMLElementImpl("pack", panelRoot); packElement.setAttribute("index", Integer.toString(i)); packElement.setAttribute("name", pack.getName()); Boolean selected = installData.getSelectedPacks().contains(pack); packElement.setAttribute("selected", selected.toString()); panelRoot.addChild(packElement); } }
@Override public void runAutomated(InstallData idata, IXMLElement panelRoot) { IXMLElement group = panelRoot.getFirstChildNamed("group"); if (group != null) { String name = group.getAttribute("name"); idata.getSelectedPacks().clear(); List<IXMLElement> packs = group.getChildrenNamed("pack"); logger.fine(name + " pack count: " + packs.size()); logger.fine("Available pack count: " + idata.getAvailablePacks().size()); for (IXMLElement xpack : packs) { String packName = xpack.getContent(); for (Pack pack: idata.getAvailablePacks()) { if (pack.getName().equals(packName)) { idata.getSelectedPacks().add(pack); logger.fine("Added pack: " + pack.getName()); break; } } } logger.fine("Set selectedPacks to: " + idata.getSelectedPacks()); } }
/** * Runs the panel using the specified console. * * @param installData the installation data * @param console the console * @return <tt>true</tt> if the panel ran successfully, otherwise <tt>false</tt> */ @Override public boolean run(InstallData installData, Console console) { printHeadLine(installData, console); out(Type.INFORMATION, installData.getMessages().get("PacksPanel.info")); out(Type.INFORMATION, ""); selectedPacks = new LinkedList<Pack>(); computePacks(installData.getAvailablePacks()); for (String key : names.keySet()) { drawHelper(key); } out(Type.INFORMATION, "Done!"); installData.setSelectedPacks(selectedPacks); if (selectedPacks.isEmpty()) { out(Type.WARNING, "You have not selected any packs!"); return promptRerunPanel(installData, console); } return promptEndPanel(installData, console); }
for (Pack pack : idata.getAvailablePacks()) final int indexOfAvailablePack = idata.getAvailablePacks().indexOf(pack); for (PInfo packInfo : autoinstallPackInfoList)
public PacksModel(InstallData idata) { this.installData = idata; this.rules = idata.getRules(); try{ this.messages = idata.getMessages().newMessages(Resources.PACK_TRANSLATIONS_RESOURCE_NAME); } catch(ResourceNotFoundException ex){ this.messages=idata.getMessages(); } this.variables = idata.getVariables(); this.packsToInstall = idata.getSelectedPacks(); this.modifyInstallation = Boolean.valueOf(idata.getVariable(InstallData.MODIFY_INSTALLATION)); this.installedPacks = loadInstallationInformation(modifyInstallation); this.packs = getVisiblePacks(); this.hiddenPacks = getHiddenPacks(); this.nameToRow = getNametoRowMapping(packs); this.nameToPack = getNametoPackMapping(idata.getAvailablePacks()); this.packs = setPackProperties(packs, nameToPack); this.checkValues = initCheckValues(packs, packsToInstall); updateConditions(true); updatePacksToInstall(); }