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..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 @@ -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 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.
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

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