From c3152c829714679243e8ac728f7fe9c35ff1b976 Mon Sep 17 00:00:00 2001 From: Toomas Romer Date: Fri, 21 Jun 2013 17:19:19 +0300 Subject: [PATCH 1/5] JENKINS-18429 fixes --- .../java/jenkins/plugins/ui_samples/Root.java | 8 ++++ .../jenkins/plugins/ui_samples/UISample.java | 48 +++++++++++++++++-- .../plugins/ui_samples/Root/index.jelly | 19 +++++++- 3 files changed, 69 insertions(+), 6 deletions(-) diff --git a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/Root.java b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/Root.java index 3af9ce0793..f22e01f11c 100644 --- a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/Root.java +++ b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/Root.java @@ -37,7 +37,15 @@ public class Root implements RootAction, ModelObjectWithContextMenu { public List getAll() { return UISample.all(); } + + public List getAllGroovy() { + return UISample.getGroovySamples(); + } + public List getAllOther() { + return UISample.getOtherSamples(); + } + public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { return new ContextMenu().addAll(getAll()); } diff --git a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java index 12010a004e..705b75363b 100644 --- a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java +++ b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java @@ -1,20 +1,21 @@ package jenkins.plugins.ui_samples; +import static org.apache.commons.io.IOUtils.copy; import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.model.Action; import hudson.model.Describable; -import jenkins.model.Jenkins; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; import java.io.IOException; import java.net.URL; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Iterator; import java.util.List; -import static org.apache.commons.io.IOUtils.copy; +import jenkins.model.Jenkins; + +import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerResponse; /** * @author Kohsuke Kawaguchi @@ -80,6 +81,43 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getGroovySamples() { + ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); + List r = new ArrayList(); + for (Iterator ite = list.iterator(); ite.hasNext();) { + UISample uiSample = ite.next(); + List sourceFiles = uiSample.getSourceFiles(); + for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext();) { + SourceFile src = (SourceFile) srcFileITe.next(); + if (src.name.contains("groovy")) { + r.add(uiSample); + break; + } + } + } + return r; + } + + public static List getOtherSamples() { + ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); + List r = new ArrayList(); + for (Iterator ite = list.iterator(); ite.hasNext();) { + UISample uiSample = ite.next(); + List sourceFiles = uiSample.getSourceFiles(); + boolean returnSample = true; + for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext();) { + SourceFile src = (SourceFile) srcFileITe.next(); + if (src.name.contains("groovy")) { + returnSample = false; + break; + } + } + if (returnSample) + r.add(uiSample); + } + return r; + } + /** * @author Kohsuke Kawaguchi */ diff --git a/ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/Root/index.jelly b/ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/Root/index.jelly index 77b85d5340..baa8682cfa 100644 --- a/ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/Root/index.jelly +++ b/ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/Root/index.jelly @@ -27,8 +27,10 @@ THE SOFTWARE.

UI Samples

+

Groovy Templates

+ - + @@ -38,6 +40,21 @@ THE SOFTWARE.
+ +

Jelly Templates

+ + + + + +
+ +
+
+
+
+
From 22b8ae2b67411ff54a8a962b14e78e602f7a2055 Mon Sep 17 00:00:00 2001 From: Toomas Romer Date: Tue, 25 Jun 2013 11:20:45 +0300 Subject: [PATCH 2/5] Better plugin description in root jelly --- ui-samples-plugin/src/main/resources/index.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-samples-plugin/src/main/resources/index.jelly b/ui-samples-plugin/src/main/resources/index.jelly index 298c582a97..42497a610a 100644 --- a/ui-samples-plugin/src/main/resources/index.jelly +++ b/ui-samples-plugin/src/main/resources/index.jelly @@ -1,3 +1,3 @@
- Demonstration of UI controls available in Jenkins based on Stapler, Jelly, etc. + Demonstration of UI controls available in Jenkins based on Stapler, Jelly, Groovy and etc.
From 8b4f3042700b14dbf4d9fc177e42fadc5ddebb30 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Tue, 16 Jul 2013 22:00:28 -0700 Subject: [PATCH 3/5] Simplified a bit. This was the change suggested by Jesse. --- .../main/java/jenkins/plugins/ui_samples/UISample.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java index 705b75363b..dae4f7c8de 100644 --- a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java +++ b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java @@ -101,19 +101,17 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getOtherSamples() { ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); List r = new ArrayList(); + OUTER: for (Iterator ite = list.iterator(); ite.hasNext();) { UISample uiSample = ite.next(); List sourceFiles = uiSample.getSourceFiles(); - boolean returnSample = true; for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext();) { SourceFile src = (SourceFile) srcFileITe.next(); if (src.name.contains("groovy")) { - returnSample = false; - break; + r.add(uiSample); + continue OUTER; } } - if (returnSample) - r.add(uiSample); } return r; } From 4f211a624a8ba82a922e0e58ce525c4197a15835 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Tue, 16 Jul 2013 22:00:54 -0700 Subject: [PATCH 4/5] following the coding convention in Jenkins of 4 ws --- .../jenkins/plugins/ui_samples/UISample.java | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java index dae4f7c8de..aef00a2b09 100644 --- a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java +++ b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java @@ -82,38 +82,38 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getGroovySamples() { - ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); - List r = new ArrayList(); - for (Iterator ite = list.iterator(); ite.hasNext();) { - UISample uiSample = ite.next(); - List sourceFiles = uiSample.getSourceFiles(); - for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext();) { - SourceFile src = (SourceFile) srcFileITe.next(); - if (src.name.contains("groovy")) { - r.add(uiSample); - break; - } + ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); + List r = new ArrayList(); + for (Iterator ite = list.iterator(); ite.hasNext(); ) { + UISample uiSample = ite.next(); + List sourceFiles = uiSample.getSourceFiles(); + for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext(); ) { + SourceFile src = (SourceFile) srcFileITe.next(); + if (src.name.contains("groovy")) { + r.add(uiSample); + break; + } + } } - } - return r; + return r; } - + public static List getOtherSamples() { - ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); - List r = new ArrayList(); - OUTER: - for (Iterator ite = list.iterator(); ite.hasNext();) { - UISample uiSample = ite.next(); - List sourceFiles = uiSample.getSourceFiles(); - for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext();) { - SourceFile src = (SourceFile) srcFileITe.next(); - if (src.name.contains("groovy")) { - r.add(uiSample); - continue OUTER; - } + ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); + List r = new ArrayList(); + OUTER: + for (Iterator ite = list.iterator(); ite.hasNext(); ) { + UISample uiSample = ite.next(); + List sourceFiles = uiSample.getSourceFiles(); + for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext(); ) { + SourceFile src = (SourceFile) srcFileITe.next(); + if (src.name.contains("groovy")) { + r.add(uiSample); + continue OUTER; + } + } } - } - return r; + return r; } /** From c137de3bf828ba5e1a44a77e96e4e8e07ee9b890 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Tue, 16 Jul 2013 22:02:45 -0700 Subject: [PATCH 5/5] simplified further --- .../jenkins/plugins/ui_samples/UISample.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java index aef00a2b09..46db030cb4 100644 --- a/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java +++ b/ui-samples-plugin/src/main/java/jenkins/plugins/ui_samples/UISample.java @@ -82,13 +82,9 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getGroovySamples() { - ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); List r = new ArrayList(); - for (Iterator ite = list.iterator(); ite.hasNext(); ) { - UISample uiSample = ite.next(); - List sourceFiles = uiSample.getSourceFiles(); - for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext(); ) { - SourceFile src = (SourceFile) srcFileITe.next(); + for (UISample uiSample : UISample.all()) { + for (SourceFile src : uiSample.getSourceFiles()) { if (src.name.contains("groovy")) { r.add(uiSample); break; @@ -99,14 +95,10 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getOtherSamples() { - ExtensionList list = Jenkins.getInstance().getExtensionList(UISample.class); List r = new ArrayList(); OUTER: - for (Iterator ite = list.iterator(); ite.hasNext(); ) { - UISample uiSample = ite.next(); - List sourceFiles = uiSample.getSourceFiles(); - for (Iterator srcFileITe = sourceFiles.iterator(); srcFileITe.hasNext(); ) { - SourceFile src = (SourceFile) srcFileITe.next(); + for (UISample uiSample : UISample.all()) { + for (SourceFile src : uiSample.getSourceFiles()) { if (src.name.contains("groovy")) { r.add(uiSample); continue OUTER;