CugSupportWebConsolePlugin.java
5.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* javax.servlet.ServletException
* javax.servlet.http.HttpServlet
* javax.servlet.http.HttpServletRequest
* javax.servlet.http.HttpServletResponse
* org.apache.sling.api.request.ResponseUtil
* org.osgi.framework.BundleContext
* org.osgi.framework.ServiceRegistration
*/
package com.day.cq.auth.impl.cug;
import com.day.cq.auth.impl.cug.CugRoot;
import com.day.cq.auth.impl.cug.CugSupportImpl;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Dictionary;
import java.util.Hashtable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.sling.api.request.ResponseUtil;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
class CugSupportWebConsolePlugin
extends HttpServlet {
private static final long serialVersionUID = 1;
private static final String LABEL = "cug";
private static final String TITLE = "Closed User Groups (CUG)";
private final CugSupportImpl cugSupport;
private final ServiceRegistration registration;
CugSupportWebConsolePlugin(BundleContext bundleContext, CugSupportImpl cugSupport) {
Hashtable<String, String> props = new Hashtable<String, String>();
props.put("service.description", "Day CQ Closed User Group (CUG) Support WebConsole Plugin");
props.put("service.vendor", "Day Management AG");
props.put("felix.webconsole.label", "cug");
props.put("felix.webconsole.title", "Closed User Groups (CUG)");
props.put("felix.webconsole.configprinter.modes", (String)new String[]{"txt", "zip"});
this.registration = bundleContext.registerService(new String[]{"javax.servlet.Servlet"}, (Object)this, props);
this.cugSupport = cugSupport;
}
void dispose() {
if (this.registration != null) {
this.registration.unregister();
}
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
PrintWriter pw = res.getWriter();
String[] exemptedPrincipals = this.cugSupport.getExemptedPrincipals();
CugRoot[] cugRoots = this.cugSupport.getCugRoots();
Object[] arrobject = new Object[3];
arrobject[0] = this.cugSupport.isEnabled() ? "en" : "dis";
arrobject[1] = cugRoots.length;
arrobject[2] = exemptedPrincipals.length;
pw.printf("<p class='statline ui-state-highlight'>Closed User Groups support is %sabled (%d configured CUG Root(s), %d exempted Principal(s))</p>%n", arrobject);
pw.println("<div class='ui-widget-header ui-corner-top buttonGroup' style='text-align: left; padding-left: 1em'>");
pw.println("CUG Roots");
pw.println("</div>");
pw.println("<table class='nicetable ui-widget'>");
pw.println("<tbody>");
pw.println("<tr><th>Root</th><th>Login Form</th><th>Principals</th><th>Realm</th></tr>");
for (CugRoot cugRoot : cugRoots) {
Object[] arrobject2 = new Object[4];
arrobject2[0] = ResponseUtil.escapeXml((String)cugRoot.getRoot());
arrobject2[1] = cugRoot.getLoginPath() == null ? "[Default]" : ResponseUtil.escapeXml((String)cugRoot.getLoginPath());
arrobject2[2] = cugRoot.getPrincipals() == null ? "-" : Arrays.asList(cugRoot.getPrincipals());
arrobject2[3] = cugRoot.getRealm() == null ? "-" : ResponseUtil.escapeXml((String)cugRoot.getRealm());
pw.printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%n", arrobject2);
}
pw.println("</tbody>");
pw.println("</table>");
pw.println("<p> </p>");
pw.println("<div class='ui-widget-header ui-corner-top buttonGroup' style='text-align: left; padding-left: 1em'>");
pw.println("Exempted Principals");
pw.println("</div>");
pw.println("<table class='nicetable ui-widget'>");
pw.println("<tbody>");
for (CugRoot ep : exemptedPrincipals) {
pw.printf("<tr><td>%s</td></tr>%n", ep);
}
pw.println("</tbody>");
pw.println("</table>");
}
public void printConfiguration(PrintWriter pw, String mode) {
pw.println("Configuration");
pw.printf(" Enabled: %s%n", this.cugSupport.isEnabled());
pw.printf(" Exempted Principals: %s%n", Arrays.asList(this.cugSupport.getExemptedPrincipals()));
pw.println();
pw.println("Closed User Group Roots");
for (CugRoot cugRoot : this.cugSupport.getCugRoots()) {
pw.printf(" %s%n", cugRoot.getRoot());
Object[] arrobject = new Object[1];
arrobject[0] = cugRoot.getLoginPath() == null ? "[Default]" : cugRoot.getLoginPath();
pw.printf(" Login Form: %s%n", arrobject);
Object[] arrobject2 = new Object[1];
arrobject2[0] = cugRoot.getPrincipals() == null ? "-" : Arrays.asList(cugRoot.getPrincipals());
pw.printf(" Principals: %s%n", arrobject2);
Object[] arrobject3 = new Object[1];
arrobject3[0] = cugRoot.getRealm() == null ? "-" : cugRoot.getRealm();
pw.printf(" Realm: %s%n", arrobject3);
}
}
}