private void locationChanged(Item item, String oldFullName, String newFullName) { // update BuildTrigger of other projects that point to this object. // can't we generalize this? for( Project<?,?> p : Jenkins.getInstance().allItems(Project.class) ) { BuildTrigger t = p.getPublishersList().get(BuildTrigger.class); if(t!=null) { String cp2 = Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, t.childProjects, p.getParent()); if (!cp2.equals(t.childProjects)) { t.childProjects = cp2; try { p.save(); } catch (IOException e) { LOGGER.log(Level.WARNING, "Failed to persist project setting during rename from "+oldFullName+" to "+newFullName,e); } } } } } }
@Override public MatrixProject getParent() { return (MatrixProject)super.getParent(); }
@Override public MatrixProject getParent() { return (MatrixProject)super.getParent(); }
@Override public MatrixProject getParent() { return (MatrixProject)super.getParent(); }
@Override public MatrixProject getParent() { return (MatrixProject)super.getParent(); }
@Override public Hudson getParent() { return (Hudson) super.getParent(); }
@Override public MatrixProject getParent() { return (MatrixProject) super.getParent(); }
/** * removes the project references within all {@link TriggerBuilder}s which are wrapped by a conditional buildsteps * @param p the project the check * @param oldName the old project name * @return whether a change has been made */ private boolean deleteInConditionalBuildStep(Project<?,?> p, String oldName) { boolean changed = false; final List<TriggerBuilder> containedBuilders = ConditionalBuildStepHelper.getContainedBuilders(p, TriggerBuilder.class); for (TriggerBuilder triggerBuilder : containedBuilders) { for (ListIterator<BlockableBuildTriggerConfig> bbtc = triggerBuilder.getConfigs().listIterator(); bbtc.hasNext();) { BuildTriggerConfig c = bbtc.next(); if (c.onDeleted(p.getParent(), oldName)) { changed = true; if (c.getProjects().length() == 0){ bbtc.remove(); } } } } return changed; }
/** * renames the project references within all {@link TriggerBuilder}s which are wrapped by a conditional buildsteps * @param p the project the check * @param oldName the old project name * @param newName the new project name * @return whether a change has been made */ private boolean renameInConditionalBuildStep(Project<?,?> p, String oldName, String newName) { boolean changed = false; final List<TriggerBuilder> containedBuilders = ConditionalBuildStepHelper.getContainedBuilders(p, TriggerBuilder.class); for (TriggerBuilder triggerBuilder : containedBuilders) { for (BuildTriggerConfig co : triggerBuilder.getConfigs()){ changed |= co.onJobRenamed(p.getParent(), oldName, newName); } } return changed; }
private void locationChanged(Item item, String oldFullName, String newFullName) { // update BuildTrigger of other projects that point to this object. // can't we generalize this? for( Project<?,?> p : Jenkins.getInstance().allItems(Project.class) ) { BuildTrigger t = p.getPublishersList().get(BuildTrigger.class); if(t!=null) { String cp2 = Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, t.childProjects, p.getParent()); if (!cp2.equals(t.childProjects)) { t.childProjects = cp2; try { p.save(); } catch (IOException e) { LOGGER.log(Level.WARNING, "Failed to persist project setting during rename from "+oldFullName+" to "+newFullName,e); } } } } } }
for (ListIterator<BuildTriggerConfig> btc = bt.getConfigs().listIterator(); btc.hasNext();) { BuildTriggerConfig c = btc.next(); if (c.onDeleted(p.getParent(), oldName)) { changed = true; if (c.getProjects().length() == 0){ for (ListIterator<BlockableBuildTriggerConfig> bbtc = tb.getConfigs().listIterator(); bbtc.hasNext();) { BuildTriggerConfig c = bbtc.next(); if (c.onDeleted(p.getParent(), oldName)) { changed = true; if (c.getProjects().length() == 0){