if (!destination.canAdd(item)) { throw new IllegalArgumentException(); String oldFullName = item.getFullName(); File destDir = destination.getRootDirFor(item); FileUtils.forceMkdir(destDir.getParentFile()); FileUtils.moveDirectory(item.getRootDir(), destDir); oldParent.remove(item); I newItem = destination.add(item, name); item.movedTo(destination, newItem, destDir); ItemListener.fireLocationChange(newItem, oldFullName);
/** * Auto-completion for the "copy from" field in the new job page. */ @Restricted(DoNotUse.class) public AutoCompletionCandidates doAutoCompleteCopyNewItemFrom(@QueryParameter final String value, @AncestorInPath ItemGroup<?> container) { AutoCompletionCandidates candidates = AutoCompletionCandidates.ofJobNames(TopLevelItem.class, value, container); if (container instanceof DirectlyModifiableTopLevelItemGroup) { DirectlyModifiableTopLevelItemGroup modifiableContainer = (DirectlyModifiableTopLevelItemGroup) container; Iterator<String> it = candidates.getValues().iterator(); while (it.hasNext()) { TopLevelItem item = Jenkins.getInstance().getItem(it.next(), container, TopLevelItem.class); if (item == null) { continue; // ? } if (!modifiableContainer.canAdd(item)) { it.remove(); } } } return candidates; }
@Override public <II extends TopLevelItem> II add(DirectlyModifiableTopLevelItemGroup target, II item) throws IOException { II _item = target.add(item, item.getName()); _item.onLoad(target, item.getName()); return _item; }
@Override public void remove(DirectlyModifiableTopLevelItemGroup target, TopLevelItem item) throws IOException { target.remove(item); }
oldDir = ((DirectlyModifiableTopLevelItemGroup) oldParent).getRootDirFor((TopLevelItem) item); oldDir = new File (oldDir.getParentFile(), oldSimpleName);
@Override public <II extends TopLevelItem> boolean canAdd(DirectlyModifiableTopLevelItemGroup target, II item) { return target.canAdd(item); }
@Override public <II extends TopLevelItem> II add(DirectlyModifiableTopLevelItemGroup target, II item) throws IOException { II _item = target.add(item, item.getName()); _item.onLoad(target, item.getName()); return _item; }
@Override public void remove(DirectlyModifiableTopLevelItemGroup target, TopLevelItem item) throws IOException { target.remove(item); }
if (!destination.canAdd(item)) { throw new IllegalArgumentException(); String oldFullName = item.getFullName(); File destDir = destination.getRootDirFor(item); FileUtils.forceMkdir(destDir.getParentFile()); FileUtils.moveDirectory(item.getRootDir(), destDir); oldParent.remove(item); I newItem = destination.add(item, name); item.movedTo(destination, newItem, destDir); ItemListener.fireLocationChange(newItem, oldFullName);
@Override public <II extends TopLevelItem> boolean canAdd(DirectlyModifiableTopLevelItemGroup target, II item) { return target.canAdd(item); }
private boolean permitted(Item item, DirectlyModifiableTopLevelItemGroup itemGroup) { return itemGroup == item.getParent() || itemGroup.canAdd((TopLevelItem) item) && ((AccessControlled) itemGroup).hasPermission(Job.CREATE); }
private boolean permitted(Item item, DirectlyModifiableTopLevelItemGroup itemGroup) { return itemGroup == item.getParent() || itemGroup.canAdd((TopLevelItem) item) && ((AccessControlled) itemGroup).hasPermission(Job.CREATE); }
/** * Auto-completion for the "copy from" field in the new job page. */ @Restricted(DoNotUse.class) public AutoCompletionCandidates doAutoCompleteCopyNewItemFrom(@QueryParameter final String value, @AncestorInPath ItemGroup<?> container) { // TODO do we need a permissions check here? AutoCompletionCandidates candidates = AutoCompletionCandidates.ofJobNames(TopLevelItem.class, value, container); if (container instanceof DirectlyModifiableTopLevelItemGroup) { DirectlyModifiableTopLevelItemGroup modifiableContainer = (DirectlyModifiableTopLevelItemGroup) container; Iterator<String> it = candidates.getValues().iterator(); while (it.hasNext()) { TopLevelItem item = Jenkins.getInstance().getItem(it.next(), container, TopLevelItem.class); if (item == null) { continue; // ? } if (!modifiableContainer.canAdd(item)) { it.remove(); } } } return candidates; }