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 3af9ce0793f17ea84cc7fd6684c92a6adcfe6c21..f22e01f11c0c9e4e318adaf62769e2f4f9042b99 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 12010a004ecd1d826da1f3b31c5cef315331898f..46db030cb423c40e1b86de9af173665cf3b5637e 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,33 @@ public abstract class UISample implements ExtensionPoint, Action, Describable getGroovySamples() { + List r = new ArrayList(); + for (UISample uiSample : UISample.all()) { + for (SourceFile src : uiSample.getSourceFiles()) { + if (src.name.contains("groovy")) { + r.add(uiSample); + break; + } + } + } + return r; + } + + public static List getOtherSamples() { + List r = new ArrayList(); + OUTER: + for (UISample uiSample : UISample.all()) { + for (SourceFile src : uiSample.getSourceFiles()) { + if (src.name.contains("groovy")) { + r.add(uiSample); + continue OUTER; + } + } + } + return r; + } + /** * @author Kohsuke Kawaguchi */ diff --git a/ui-samples-plugin/src/main/resources/index.jelly b/ui-samples-plugin/src/main/resources/index.jelly index 298c582a971851845992c19724acb3be055125df..42497a610a8278829a3bbac272ee5b3c1fa5a4d4 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.
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 77b85d53408cb0d2f8f6cd5be50795bd0e03eb03..baa8682cfa279daab1efc0e8eb27fe97be5e4be4 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,24 @@ THE SOFTWARE.

UI Samples

+

Groovy Templates

+ + + + + +
+ +
+
+
+
+ +

Jelly Templates

+ - + @@ -38,6 +54,7 @@ THE SOFTWARE.
+