private void deleteViewItem(Item item, ViewGroup vg, ListView lv) { boolean needsSave; synchronized (lv) { needsSave = lv.jobNames.remove(item.getRelativeNameFrom(vg.getItemGroup())); } if (needsSave) { try { lv.save(); } catch (IOException x) { Logger.getLogger(ListView.class.getName()).log(Level.WARNING, null, x); } } } }
/** * Short for {@code getRelativeNameFrom(item.getParent())} * * @return String like "../foo/bar". * {@code null} if one of item parents is not an {@link Item}. * @since 1.419 */ @Nullable default String getRelativeNameFrom(@Nonnull Item item) { return getRelativeNameFrom(item.getParent()); }
private void includeItems(ItemGroup<? extends TopLevelItem> root, Collection<? extends Item> parentItems, SortedSet<String> names) { if (includePattern != null) { for (Item item : parentItems) { if (recurse && item instanceof ItemGroup) { ItemGroup<?> ig = (ItemGroup<?>) item; includeItems(root, ig.getItems(), names); } if (item instanceof TopLevelItem) { String itemName = item.getRelativeNameFrom(root); if (includePattern.matcher(itemName).matches()) { names.add(itemName); } } } } }
/** * Finds an item whose name (when referenced from the specified context) is closest to the given name. * @param <T> the type of item being considered * @param type same as {@code T} * @param name the supplied name * @param context a context to start from (used to compute relative names) * @return the closest available item * @since 1.538 */ public static @CheckForNull <T extends Item> T findNearest(Class<T> type, String name, ItemGroup context) { List<String> names = new ArrayList<>(); for (T item: Jenkins.getInstance().allItems(type)) { names.add(item.getRelativeNameFrom(context)); } String nearest = EditDistance.findNearest(name, names); return Jenkins.getInstance().getItem(nearest, context, type); }
private void deleteViewItem(Item item, ViewGroup vg, ListView lv) { boolean needsSave; synchronized (lv) { needsSave = lv.jobNames.remove(item.getRelativeNameFrom(vg.getItemGroup())); } if (needsSave) { try { lv.save(); } catch (IOException x) { Logger.getLogger(ListView.class.getName()).log(Level.WARNING, null, x); } } } }
private void includeItems(ItemGroup<? extends TopLevelItem> root, Collection<? extends Item> parentItems, SortedSet<String> names) { if (includePattern != null) { for (Item item : parentItems) { if (recurse && item instanceof ItemGroup) { ItemGroup<?> ig = (ItemGroup<?>) item; includeItems(root, ig.getItems(), names); } if (item instanceof TopLevelItem) { String itemName = item.getRelativeNameFrom(root); if (includePattern.matcher(itemName).matches()) { names.add(itemName); } } } } }
/** * Finds an item whose name (when referenced from the specified context) is closest to the given name. * @param <T> the type of item being considered * @param type same as {@code T} * @param name the supplied name * @param context a context to start from (used to compute relative names) * @return the closest available item * @since 1.538 */ public static @CheckForNull <T extends Item> T findNearest(Class<T> type, String name, ItemGroup context) { List<String> names = new ArrayList<>(); for (T item: Jenkins.getInstance().allItems(type)) { names.add(item.getRelativeNameFrom(context)); } String nearest = EditDistance.findNearest(name, names); return Jenkins.getInstance().getItem(nearest, context, type); }
if(! i.hasPermission(Item.READ)) continue; Set<String> names = Sets.newLinkedHashSet(); names.add(i.getRelativeNameFrom(project)); names.add(i.getFullName()); for(String name : names) {
if(item==null){ Item nearest = Items.findNearest(Job.class, projectName, Jenkins.getInstance()); String alternative = nearest != null ? nearest.getRelativeNameFrom(project) : "?"; return FormValidation.error(Messages.BuildTrigger_NoSuchProject(projectName, alternative));