From 9300dab566131e002657bdba606c99ddb10a97c1 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Fri, 14 Aug 2015 14:34:21 -0400 Subject: [PATCH] [FIXED JENKINS-25276] NestedView extends View implements ViewGroup, so need to search recursively. --- core/src/main/java/hudson/model/ListView.java | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/core/src/main/java/hudson/model/ListView.java b/core/src/main/java/hudson/model/ListView.java index 73b63b491500..282e5a38276d 100644 --- a/core/src/main/java/hudson/model/ListView.java +++ b/core/src/main/java/hudson/model/ListView.java @@ -435,25 +435,26 @@ public static List getDefaultColumns() { @Override public void onLocationChanged(final Item item, final String oldFullName, final String newFullName) { ACL.impersonate(ACL.SYSTEM, new Runnable() { @Override public void run() { - locationChanged(item, oldFullName, newFullName); + locationChanged(oldFullName, newFullName); } }); } - private void locationChanged(Item item, String oldFullName, String newFullName) { + private void locationChanged(String oldFullName, String newFullName) { final Jenkins jenkins = Jenkins.getInstance(); - for (View view: jenkins.getViews()) { - if (view instanceof ListView) { - renameViewItem(oldFullName, newFullName, jenkins, (ListView) view); - } - } + locationChanged(jenkins, oldFullName, newFullName); for (Item g : jenkins.getAllItems()) { if (g instanceof ViewGroup) { - ViewGroup vg = (ViewGroup) g; - for (View v : vg.getViews()) { - if (v instanceof ListView) { - renameViewItem(oldFullName, newFullName, vg, (ListView) v); - } - } + locationChanged((ViewGroup) g, oldFullName, newFullName); + } + } + } + private void locationChanged(ViewGroup vg, String oldFullName, String newFullName) { + for (View v : vg.getViews()) { + if (v instanceof ListView) { + renameViewItem(oldFullName, newFullName, vg, (ListView) v); + } + if (v instanceof ViewGroup) { + locationChanged((ViewGroup) v, oldFullName, newFullName); } } } @@ -486,19 +487,20 @@ private void renameViewItem(String oldFullName, String newFullName, ViewGroup vg } private void deleted(Item item) { final Jenkins jenkins = Jenkins.getInstance(); - for (View view: jenkins.getViews()) { - if (view instanceof ListView) { - deleteViewItem(item, jenkins, (ListView) view); - } - } + deleted(jenkins, item); for (Item g : jenkins.getAllItems()) { if (g instanceof ViewGroup) { - ViewGroup vg = (ViewGroup) g; - for (View v : vg.getViews()) { - if (v instanceof ListView) { - deleteViewItem(item, vg, (ListView) v); - } - } + deleted((ViewGroup) g, item); + } + } + } + private void deleted(ViewGroup vg, Item item) { + for (View v : vg.getViews()) { + if (v instanceof ListView) { + deleteViewItem(item, vg, (ListView) v); + } + if (v instanceof ViewGroup) { + deleted((ViewGroup) v, item); } } }