public void pkgList(List<? extends Package> packagesList) { CommandInfo cmdInfo = cset.newCommandInfo(CommandInfo.CMD_LIST); try { if (packagesList.isEmpty()) { log.info("None"); } else { NuxeoConnectClient.getPackageManager().sort(packagesList); StringBuilder sb = new StringBuilder(); for (Package pkg : packagesList) { newPackageInfo(cmdInfo, pkg); String packageDescription = PackageState.getByValue(pkg.getState()).getLabel(); packageDescription = String.format("%6s %11s\t", pkg.getType(), packageDescription); if (pkg.getState() == PackageState.REMOTE.getValue() && pkg.getType() != PackageType.STUDIO && pkg.getVisibility() != PackageVisibility.PUBLIC && !LogicalInstanceIdentifier.isRegistered()) { packageDescription += "Registration required for "; } packageDescription += String.format("%s (id: %s)\n", pkg.getName(), pkg.getId()); sb.append(packageDescription); } log.info(sb.toString()); } } catch (Exception e) { log.error(e); cmdInfo.exitCode = 1; } }
protected List<String> getAllLocalPackageIdsFromName(String pkgName) { List<String> foundIds = new ArrayList<String>(); for (Package pkg : getPkgList()) { if (pkg.getName().equals(pkgName)) { foundIds.add(pkg.getId()); } } return foundIds; }
protected String getBestIdForNameInList(String pkgName, List<? extends Package> pkgList) { String foundId = null; SortedMap<Version, String> foundPkgs = new TreeMap<Version, String>(); SortedMap<Version, String> matchingPkgs = new TreeMap<Version, String>(); for (Package pkg : pkgList) { if (pkg.getName().equals(pkgName)) { foundPkgs.put(pkg.getVersion(), pkg.getId()); if (Arrays.asList(pkg.getTargetPlatforms()).contains(targetPlatform)) { matchingPkgs.put(pkg.getVersion(), pkg.getId()); } } } if (matchingPkgs.size() != 0) { foundId = matchingPkgs.get(matchingPkgs.lastKey()); } else if (foundPkgs.size() != 0) { foundId = foundPkgs.get(foundPkgs.lastKey()); } return foundId; }