private void renameViewItem(String oldFullName, String newFullName, ViewGroup vg, ListView lv) { boolean needsSave; synchronized (lv) { Set<String> oldJobNames = new HashSet<String>(lv.jobNames); lv.jobNames.clear(); for (String oldName : oldJobNames) { lv.jobNames.add(Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, oldName, vg.getItemGroup())); } needsSave = !oldJobNames.equals(lv.jobNames); } if (needsSave) { // do not hold ListView lock at the time try { lv.save(); } catch (IOException x) { Logger.getLogger(ListView.class.getName()).log(Level.WARNING, null, x); } } }
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 void onLocationChanged(Item item, final String oldFullName, final String newFullName) { try (ACLContext acl = ACL.as(ACL.SYSTEM)) { for (Job<?, ?> p : Jenkins.getInstance().allItems(Job.class)) { ReverseBuildTrigger t = ParameterizedJobMixIn.getTrigger(p, ReverseBuildTrigger.class); if (t != null) { String revised = Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, t.getUpstreamProjects(), p.getParent()); if (!revised.equals(t.upstreamProjects)) { t.upstreamProjects = revised; try { p.save(); } catch (IOException e) { LOGGER.log(Level.WARNING, "Failed to persist project setting during rename from " + oldFullName + " to " + newFullName, e); } } } } } } }
private void renameViewItem(String oldFullName, String newFullName, ViewGroup vg, ListView lv) { boolean needsSave; synchronized (lv) { Set<String> oldJobNames = new HashSet<String>(lv.jobNames); lv.jobNames.clear(); for (String oldName : oldJobNames) { lv.jobNames.add(Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, oldName, vg.getItemGroup())); } needsSave = !oldJobNames.equals(lv.jobNames); } if (needsSave) { // do not hold ListView lock at the time try { lv.save(); } catch (IOException x) { Logger.getLogger(ListView.class.getName()).log(Level.WARNING, null, x); } } }
return Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, relativeNames, context);
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); } } } } } }
String newProjectName = Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, projectName, context); if (!projectName.equals(newProjectName)) { ca.project = newProjectName + suffix;
@Override public void onLocationChanged(Item item, final String oldFullName, final String newFullName) { try (ACLContext _ = ACL.as(ACL.SYSTEM)) { for (Job<?, ?> p : Jenkins.getInstance().allItems(Job.class)) { ReverseBuildTrigger t = ParameterizedJobMixIn.getTrigger(p, ReverseBuildTrigger.class); if (t != null) { String revised = Items.computeRelativeNamesAfterRenaming(oldFullName, newFullName, t.getUpstreamProjects(), p.getParent()); if (!revised.equals(t.upstreamProjects)) { t.upstreamProjects = revised; try { p.save(); } catch (IOException e) { LOGGER.log(Level.WARNING, "Failed to persist project setting during rename from " + oldFullName + " to " + newFullName, e); } } } } } } }