<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I wanted to know if anyone can answer my question regarding Shibboleth’s static variables in the attribute-resolver.xml file. How can I make my static variable “SwitchOn” to be single value and not an array.<o:p></o:p></p>
<p class="MsoNormal">When I display the value of “SwitchOn”, it displays as an array like this<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[true, value1, value2]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Because I have this based on other examples:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><resolver:DataConnector id="staticAttributes" xsi:type="dc:Static"><o:p></o:p></p>
<p class="MsoNormal"><dc:Attribute id="SwitchOn"><o:p></o:p></p>
<p class="MsoNormal">            <dc:Value>true</dc:Value><o:p></o:p></p>
<p class="MsoNormal">           <dc:Value>value1</dc:Value><o:p></o:p></p>
<p class="MsoNormal">          <dc:Value>value2</dc:Value><o:p></o:p></p>
<p class="MsoNormal"></dc:Attribute><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If I were to only have a single value, how can I avoid the array and be just one single value.<o:p></o:p></p>
<p class="MsoNormal">If I decide to display it should be only <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">true<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">instead of [true]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">and how can I access it to check for true. <o:p></o:p></p>
<p class="MsoNormal">Below I have the usual for an array which works but I wanted to switch the If statement to be more for a single value, rather than an array.<o:p></o:p></p>
<p class="MsoNormal">If I can do something like this would be great if (SwitchOn==”true”).  I don’t know if that’s possible.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Code:<o:p></o:p></p>
<p class="MsoNormal"><resolver:DataConnector id="staticAttributes" xsi:type="dc:Static"><o:p></o:p></p>
<p class="MsoNormal"><dc:Attribute id="SwitchOn"><o:p></o:p></p>
<p class="MsoNormal">            <dc:Value>true</dc:Value><o:p></o:p></p>
<p class="MsoNormal"></dc:Attribute><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Which I later use in a script in an attribute definition which
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><resolver:AttributeDefinition xsi:type="ad:Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="Groups"><o:p></o:p></p>
<p class="MsoNormal">                                <resolver:Dependency ref="staticAttributes" /> 
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in;text-indent:.5in"><resolver:AttributeEncoder xsi:type="SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"<o:p></o:p></p>
<p class="MsoNormal">                                                   name="Groups" friendlyName="Groups" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"/><o:p></o:p></p>
<p class="MsoNormal">                                <o:p></o:p></p>
<p class="MsoNormal">                                <Script><![CDATA[<o:p></o:p></p>
<p class="MsoNormal">                                                importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                                                // Create attribute to be returned from definition<o:p></o:p></p>
<p class="MsoNormal">                                                Groups = new BasicAttribute("Groups");<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                                                if (SwitchOn.getValues().get(0).toLowerCase().contains("true"))<o:p></o:p></p>
<p class="MsoNormal">                                                {<o:p></o:p></p>
<p class="MsoNormal">                                                                //TO DO<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in;text-indent:.5in">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                                ]]></Script><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"></resolver:AttributeDefinition><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’d appreciate any help, please<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Dyana<o:p></o:p></p>
</div>
</body>
</html>