You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2016/11/26 07:41:24 UTC

svn commit: r1771434 - /sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java

Author: sseifert
Date: Sat Nov 26 07:41:24 2016
New Revision: 1771434

URL: http://svn.apache.org/viewvc?rev=1771434&view=rev
Log:
SLING-6115 add select box for choosing predefined config names

Modified:
    sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java

Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java?rev=1771434&r1=1771433&r2=1771434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationWebConsolePlugin.java Sat Nov 26 07:41:24 2016
@@ -107,7 +107,14 @@ public class ConfigurationWebConsolePlug
 
     private void printResolutionTestTool(HttpServletRequest request, PrintWriter pw) {
         final String path = this.getParameter(request, "path", null);
-        final String configName = this.getParameter(request, "configName", null);
+        String configNameOther = this.getParameter(request, "configNameOther", null);
+        String configName = this.getParameter(request, "configName", null);
+        if (configName == null) {
+            configName = configNameOther;
+        }
+        else {
+            configNameOther = null;
+        }
         final boolean resourceCollection = BooleanUtils.toBoolean(this.getParameter(request, "resourceCollection", "false"));
 
         ResourceResolver resolver = null;
@@ -136,7 +143,10 @@ public class ConfigurationWebConsolePlug
             textField(pw, "Content Path", "path", path, alertMessage);
             
             tableRows(pw);
-            textField(pw, "Config Name", "configName", configName);
+            selectField(pw, "Config Name", "configName", configName, configurationManager.getConfigurationNames());
+            
+            tableRows(pw);
+            textField(pw, "Other Config Name", "configNameOther", configNameOther);
             
             tableRows(pw);
             checkboxField(pw, "Resource collection", "resourceCollection", resourceCollection);
@@ -268,6 +278,27 @@ public class ConfigurationWebConsolePlug
         pw.println("</td>");
     }
     
+    private void selectField(PrintWriter pw, String label, String fieldName, String value, Collection<String> options) {
+        pw.print("<td style='width:20%'>");
+        pw.print(xss.encodeForHTMLAttr(label));
+        pw.println("</td>");
+        pw.print("<td><select name='");
+        pw.print(xss.encodeForHTMLAttr(fieldName));
+        pw.print("' style='width:100%'>");
+        pw.print("<option value=''>(please select)</option>");
+        for (String option : options) {
+            pw.print("<option");
+            if (StringUtils.equals(option, value)) {
+                pw.print(" selected");
+            }
+            pw.print(">");
+            pw.print(xss.encodeForHTMLAttr(option));
+            pw.print("</option>");
+        }
+        pw.print("</select>");
+        pw.println("</td>");
+    }
+    
     private void checkboxField(PrintWriter pw, String label, String fieldName, boolean checked) {
         pw.print("<td style='width:20%'>");
         pw.print(xss.encodeForHTMLAttr(label));