1 <?xml version="1.0" encoding="UTF-8"?>
3 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4 "DTD/xhtml1-strict.dtd">
5 <%@ page import="edu.internet2.middleware.shibboleth.aa.*" %>
6 <%@ page import="javax.naming.*" %>
7 <%@ page import="javax.naming.directory.*" %>
8 <%@ page import="java.util.*" %>
9 <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
10 <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
11 <jsp:useBean id="requestURL" scope="request" class="java.lang.String"/>
12 <jsp:useBean id="username" scope="request" class="java.lang.String"/>
13 <jsp:useBean id="userCtx" scope="request" class="javax.naming.directory.DirContext"/>
14 <jsp:useBean id="attr" scope="request" class="edu.internet2.middleware.shibboleth.aa.ArpAttribute"/>
15 <jsp:useBean id="userAttr" scope="request" class="edu.internet2.middleware.shibboleth.aa.ArpAttribute"/>
16 <jsp:useBean id="resource" scope="request" class="java.lang.String"/>
17 <jsp:useBean id="close" scope="request" class="java.lang.String"/>
18 <jsp:useBean id="adminArp" scope="request" class="edu.internet2.middleware.shibboleth.aa.Arp"/>
19 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
21 <link rel="stylesheet" type="text/css" href="main.css" />
22 <title>Shibboleth ARP</title>
28 if (close.equals("true"))
29 out.println(" onLoad=window.close()");
33 <p><b>Editing filter for attribute <bean:write name="attr" /></b></p>
35 Select values for this attribute that should <b>not</b> be released:
37 <p><form name="filter_form" action="<bean:write name="requestURL" />" method="POST">
41 ArpAttribute adminAttr = getAdminAttr(adminArp, resource, userAttr.getName());
42 if (adminAttr == null) {
43 adminAttr = new ArpAttribute(attr.getName(), false);
45 ArpFilter admFilter = adminAttr.getFilter();
47 ArpFilter filter = userAttr.getFilter();
49 Attribute dAttr = attr.getDirAttribute(userCtx, true);
51 if (dAttr != null && dAttr.size() > 0) {
52 for (int j=0; j < dAttr.size(); j++) {
55 ArpFilterValue afv = new ArpFilterValue(dAttr.get(j), false);
56 if (filter.contains(afv)) {
57 checked = "<input type=\"checkbox\" name=\"filterval\" value=\""+dAttr.get(j)+"\" checked> Yes";
59 checked = "<input type=\"checkbox\" name=\"filterval\" value=\""+dAttr.get(j)+"\"> Yes";
61 if (admFilter != null) {
62 ArpFilterValue[] afvi = admFilter.getFilterValues();
63 for (int k=0;k<afvi.length;k++) {
64 if (afvi[k].equals(afv) && (afvi[k].mustInclude() == false)) {
65 checked = "<i>filtered</i>";
67 if (afvi[k].equals(afv) && (afvi[k].mustInclude())) {
68 checked = "<i>released</i>";
73 checked = "<input type=\"checkbox\" name=\"filterval\" value=\""+dAttr.get(j)+"\"> Yes";
76 out.println("<tr><td>"+dAttr.get(j)+"</td>");
77 out.println("<td>"+checked+"</td></tr>");
84 <input type=hidden name="Attr" value="<jsp:getProperty name="attr" property="name"/>">
85 <input type=hidden name="username" value="<bean:write name="username"/>">
86 <input type=hidden name="Resource" value="<bean:write name="resource"/>">
87 <input type=submit name="Submit" value="Save Filter">
88 <input type=submit name="Submit" value="Cancel" onClick="javascript:window.close();">
92 public ArpAttribute getAdminAttr(Arp admin,
93 String resource, String attr) {
94 ArpShar s = admin.getShar(resource);
96 s = admin.getDefaultShar();
100 ArpResource r = s.bestFit(resource);
103 ArpAttribute a = r.getAttribute(attr);