| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
| <title>Coverage Report</title> |
| <link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/> |
| <script type="text/javascript" src="js/popup.js"></script> |
| </head> |
| <body> |
| <h5>Coverage Report - com.google.enterprise.adaptor.secmgr.saml.OpenSamlUtil</h5> |
| <div class="separator"> </div> |
| <table class="report"> |
| <thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead> |
| <tr><td><a href="com.google.enterprise.adaptor.secmgr.saml.OpenSamlUtil.html">OpenSamlUtil</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">75</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:71px"><span class="text">185/260</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">14</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:53px"><span class="text">16/30</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.4912280701754386;</span>1.491</td></tr> |
| |
| </table> |
| <div class="separator"> </div> |
| <table cellspacing="0" cellpadding="0" class="src"> |
| <tr> <td class="numLine"> 1</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Copyright 2008 Google Inc.</span></pre></td></tr> |
| <tr> <td class="numLine"> 2</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">//</span></pre></td></tr> |
| <tr> <td class="numLine"> 3</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></pre></td></tr> |
| <tr> <td class="numLine"> 4</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// you may not use this file except in compliance with the License.</span></pre></td></tr> |
| <tr> <td class="numLine"> 5</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// You may obtain a copy of the License at</span></pre></td></tr> |
| <tr> <td class="numLine"> 6</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">//</span></pre></td></tr> |
| <tr> <td class="numLine"> 7</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></pre></td></tr> |
| <tr> <td class="numLine"> 8</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">//</span></pre></td></tr> |
| <tr> <td class="numLine"> 9</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Unless required by applicable law or agreed to in writing, software</span></pre></td></tr> |
| <tr> <td class="numLine"> 10</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></pre></td></tr> |
| <tr> <td class="numLine"> 11</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></pre></td></tr> |
| <tr> <td class="numLine"> 12</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// See the License for the specific language governing permissions and</span></pre></td></tr> |
| <tr> <td class="numLine"> 13</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// limitations under the License.</span></pre></td></tr> |
| <tr> <td class="numLine"> 14</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 15</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">package</span> com.google.enterprise.adaptor.secmgr.saml;</pre></td></tr> |
| <tr> <td class="numLine"> 16</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 17</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> <span class="keyword">static</span> org.opensaml.common.xml.SAMLConstants.SAML20P_NS;</pre></td></tr> |
| <tr> <td class="numLine"> 18</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 19</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> com.google.common.collect.Lists;</pre></td></tr> |
| <tr> <td class="numLine"> 20</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 21</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.joda.time.DateTime;</pre></td></tr> |
| <tr> <td class="numLine"> 22</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.Configuration;</pre></td></tr> |
| <tr> <td class="numLine"> 23</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.DefaultBootstrap;</pre></td></tr> |
| <tr> <td class="numLine"> 24</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.IdentifierGenerator;</pre></td></tr> |
| <tr> <td class="numLine"> 25</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.SAMLObject;</pre></td></tr> |
| <tr> <td class="numLine"> 26</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.SAMLObjectBuilder;</pre></td></tr> |
| <tr> <td class="numLine"> 27</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.SAMLVersion;</pre></td></tr> |
| <tr> <td class="numLine"> 28</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.BasicEndpointSelector;</pre></td></tr> |
| <tr> <td class="numLine"> 29</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.BasicSAMLMessageContext;</pre></td></tr> |
| <tr> <td class="numLine"> 30</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.SAMLMessageContext;</pre></td></tr> |
| <tr> <td class="numLine"> 31</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.artifact.BasicSAMLArtifactMap;</pre></td></tr> |
| <tr> <td class="numLine"> 32</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.artifact.SAMLArtifactMap;</pre></td></tr> |
| <tr> <td class="numLine"> 33</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.binding.artifact.SAMLArtifactMap.SAMLArtifactMapEntry;</pre></td></tr> |
| <tr> <td class="numLine"> 34</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.common.impl.SecureRandomIdentifierGenerator;</pre></td></tr> |
| <tr> <td class="numLine"> 35</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Action;</pre></td></tr> |
| <tr> <td class="numLine"> 36</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Artifact;</pre></td></tr> |
| <tr> <td class="numLine"> 37</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.ArtifactResolve;</pre></td></tr> |
| <tr> <td class="numLine"> 38</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.ArtifactResponse;</pre></td></tr> |
| <tr> <td class="numLine"> 39</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Assertion;</pre></td></tr> |
| <tr> <td class="numLine"> 40</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Attribute;</pre></td></tr> |
| <tr> <td class="numLine"> 41</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AttributeStatement;</pre></td></tr> |
| <tr> <td class="numLine"> 42</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Audience;</pre></td></tr> |
| <tr> <td class="numLine"> 43</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AudienceRestriction;</pre></td></tr> |
| <tr> <td class="numLine"> 44</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthnContext;</pre></td></tr> |
| <tr> <td class="numLine"> 45</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthnContextClassRef;</pre></td></tr> |
| <tr> <td class="numLine"> 46</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthnRequest;</pre></td></tr> |
| <tr> <td class="numLine"> 47</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthnStatement;</pre></td></tr> |
| <tr> <td class="numLine"> 48</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthzDecisionQuery;</pre></td></tr> |
| <tr> <td class="numLine"> 49</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.AuthzDecisionStatement;</pre></td></tr> |
| <tr> <td class="numLine"> 50</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Conditions;</pre></td></tr> |
| <tr> <td class="numLine"> 51</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.DecisionTypeEnumeration;</pre></td></tr> |
| <tr> <td class="numLine"> 52</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Issuer;</pre></td></tr> |
| <tr> <td class="numLine"> 53</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.NameID;</pre></td></tr> |
| <tr> <td class="numLine"> 54</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.RequestAbstractType;</pre></td></tr> |
| <tr> <td class="numLine"> 55</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Response;</pre></td></tr> |
| <tr> <td class="numLine"> 56</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Statement;</pre></td></tr> |
| <tr> <td class="numLine"> 57</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Status;</pre></td></tr> |
| <tr> <td class="numLine"> 58</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.StatusCode;</pre></td></tr> |
| <tr> <td class="numLine"> 59</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.StatusMessage;</pre></td></tr> |
| <tr> <td class="numLine"> 60</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.StatusResponseType;</pre></td></tr> |
| <tr> <td class="numLine"> 61</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.Subject;</pre></td></tr> |
| <tr> <td class="numLine"> 62</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.SubjectConfirmation;</pre></td></tr> |
| <tr> <td class="numLine"> 63</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.core.SubjectConfirmationData;</pre></td></tr> |
| <tr> <td class="numLine"> 64</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.EntityDescriptor;</pre></td></tr> |
| <tr> <td class="numLine"> 65</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.KeyDescriptor;</pre></td></tr> |
| <tr> <td class="numLine"> 66</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.AssertionConsumerService;</pre></td></tr> |
| <tr> <td class="numLine"> 67</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.RoleDescriptor;</pre></td></tr> |
| <tr> <td class="numLine"> 68</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.SingleSignOnService;</pre></td></tr> |
| <tr> <td class="numLine"> 69</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 70</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.provider.MetadataProviderException;</pre></td></tr> |
| <tr> <td class="numLine"> 71</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.saml2.metadata.provider.ObservableMetadataProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 72</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.security.MetadataCredentialResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 73</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.util.storage.MapBasedStorageService;</pre></td></tr> |
| <tr> <td class="numLine"> 74</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.message.MessageContext;</pre></td></tr> |
| <tr> <td class="numLine"> 75</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.message.decoder.MessageDecoder;</pre></td></tr> |
| <tr> <td class="numLine"> 76</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.message.decoder.MessageDecodingException;</pre></td></tr> |
| <tr> <td class="numLine"> 77</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.message.encoder.MessageEncoder;</pre></td></tr> |
| <tr> <td class="numLine"> 78</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.message.encoder.MessageEncodingException;</pre></td></tr> |
| <tr> <td class="numLine"> 79</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.security.SecurityPolicy;</pre></td></tr> |
| <tr> <td class="numLine"> 80</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.security.SecurityPolicyResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 81</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.security.SecurityPolicyRule;</pre></td></tr> |
| <tr> <td class="numLine"> 82</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.security.provider.BasicSecurityPolicy;</pre></td></tr> |
| <tr> <td class="numLine"> 83</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.ws.security.provider.StaticSecurityPolicyResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 84</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.ConfigurationException;</pre></td></tr> |
| <tr> <td class="numLine"> 85</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.XMLObject;</pre></td></tr> |
| <tr> <td class="numLine"> 86</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.XMLObjectBuilderFactory;</pre></td></tr> |
| <tr> <td class="numLine"> 87</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.io.MarshallingException;</pre></td></tr> |
| <tr> <td class="numLine"> 88</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.io.UnmarshallingException;</pre></td></tr> |
| <tr> <td class="numLine"> 89</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.parse.BasicParserPool;</pre></td></tr> |
| <tr> <td class="numLine"> 90</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.CriteriaSet;</pre></td></tr> |
| <tr> <td class="numLine"> 91</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.SecurityException;</pre></td></tr> |
| <tr> <td class="numLine"> 92</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.SecurityHelper;</pre></td></tr> |
| <tr> <td class="numLine"> 93</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.credential.Credential;</pre></td></tr> |
| <tr> <td class="numLine"> 94</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.credential.CredentialResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 95</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.credential.UsageType;</pre></td></tr> |
| <tr> <td class="numLine"> 96</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.BasicProviderKeyInfoCredentialResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 97</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.KeyInfoCredentialResolver;</pre></td></tr> |
| <tr> <td class="numLine"> 98</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.KeyInfoCriteria;</pre></td></tr> |
| <tr> <td class="numLine"> 99</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.KeyInfoProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 100</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.provider.DSAKeyValueProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 101</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.provider.InlineX509DataProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 102</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.keyinfo.provider.RSAKeyValueProvider;</pre></td></tr> |
| <tr> <td class="numLine"> 103</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.security.trust.TrustEngine;</pre></td></tr> |
| <tr> <td class="numLine"> 104</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.opensaml.xml.signature.KeyInfo;</pre></td></tr> |
| <tr> <td class="numLine"> 105</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> org.w3c.dom.Element;</pre></td></tr> |
| <tr> <td class="numLine"> 106</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 107</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.io.File;</pre></td></tr> |
| <tr> <td class="numLine"> 108</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.io.IOException;</pre></td></tr> |
| <tr> <td class="numLine"> 109</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.security.KeyException;</pre></td></tr> |
| <tr> <td class="numLine"> 110</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.security.NoSuchAlgorithmException;</pre></td></tr> |
| <tr> <td class="numLine"> 111</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.security.PrivateKey;</pre></td></tr> |
| <tr> <td class="numLine"> 112</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.util.Arrays;</pre></td></tr> |
| <tr> <td class="numLine"> 113</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.util.List;</pre></td></tr> |
| <tr> <td class="numLine"> 114</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> java.util.logging.Logger;</pre></td></tr> |
| <tr> <td class="numLine"> 115</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 116</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> javax.annotation.concurrent.Immutable;</pre></td></tr> |
| <tr> <td class="numLine"> 117</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">import</span> javax.xml.namespace.QName;</pre></td></tr> |
| <tr> <td class="numLine"> 118</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 119</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 120</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * A collection of utilities to support OpenSAML programming. The majority of the</span></pre></td></tr> |
| <tr> <td class="numLine"> 121</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * definitions here are static factory methods for SAML objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 122</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <p></span></pre></td></tr> |
| <tr> <td class="numLine"> 123</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <strong>Notes on security policies and credential resolution:</strong></span></pre></td></tr> |
| <tr> <td class="numLine"> 124</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <p></span></pre></td></tr> |
| <tr> <td class="numLine"> 125</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * OpenSAML has a very complicated mechanism for dealing with credentials and trust, of</span></pre></td></tr> |
| <tr> <td class="numLine"> 126</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * which we use only a small part. Here are the basic components:</span></pre></td></tr> |
| <tr> <td class="numLine"> 127</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 128</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dl></span></pre></td></tr> |
| <tr> <td class="numLine"> 129</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link Credential}</span></pre></td></tr> |
| <tr> <td class="numLine"> 130</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>Some information that can be used for signing or encryption.</span></pre></td></tr> |
| <tr> <td class="numLine"> 131</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 132</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link CredentialResolver}</span></pre></td></tr> |
| <tr> <td class="numLine"> 133</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>Selects one or more credentials based on a set of criteria. We currently use only</span></pre></td></tr> |
| <tr> <td class="numLine"> 134</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * {@link MetadataCredentialResolver}, which gets credentials from metadata using criteria</span></pre></td></tr> |
| <tr> <td class="numLine"> 135</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * like entity ID and role.</span></pre></td></tr> |
| <tr> <td class="numLine"> 136</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 137</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link KeyInfoCredentialResolver}</span></pre></td></tr> |
| <tr> <td class="numLine"> 138</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>Extracts one or more credentials from a {@link KeyInfo} element; it's allowed to</span></pre></td></tr> |
| <tr> <td class="numLine"> 139</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * choose between different credentials based on internal criteria. We currently use a</span></pre></td></tr> |
| <tr> <td class="numLine"> 140</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * KeyInfoCredentialResolver that selects only X.509 certificate credentials.</span></pre></td></tr> |
| <tr> <td class="numLine"> 141</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 142</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link TrustEngine}</span></pre></td></tr> |
| <tr> <td class="numLine"> 143</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>Evaluates the trustworthiness and validity of a given object against some given</span></pre></td></tr> |
| <tr> <td class="numLine"> 144</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * criteria. It is used as an element of some policy rules.</span></pre></td></tr> |
| <tr> <td class="numLine"> 145</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 146</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link SecurityPolicy}</span></pre></td></tr> |
| <tr> <td class="numLine"> 147</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>A collection of policy rules, evaluated against a message context, that determines</span></pre></td></tr> |
| <tr> <td class="numLine"> 148</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * if a message is well-formed, valid, and otherwise okay to process.</span></pre></td></tr> |
| <tr> <td class="numLine"> 149</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 150</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link SecurityPolicyRule}</span></pre></td></tr> |
| <tr> <td class="numLine"> 151</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>A component of a security policy, also evaluated against a message context.</span></pre></td></tr> |
| <tr> <td class="numLine"> 152</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 153</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dt>{@link SecurityPolicyResolver}</span></pre></td></tr> |
| <tr> <td class="numLine"> 154</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <dd>Uses a given set of criteria to select a security policy. We currently use only a</span></pre></td></tr> |
| <tr> <td class="numLine"> 155</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * static policy resolver, which always returns the same policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 156</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * </dl></span></pre></td></tr> |
| <tr> <td class="numLine"> 157</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 158</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * <p></span></pre></td></tr> |
| <tr> <td class="numLine"> 159</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * The programmer simply attaches a security-policy resolver to the SAML message context</span></pre></td></tr> |
| <tr> <td class="numLine"> 160</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * and OpenSAML will automatically enforce the security policy as appropriate.</span></pre></td></tr> |
| <tr> <td class="numLine"> 161</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 162</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> @Immutable</pre></td></tr> |
| <tr> <td class="numLine"> 163</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> OpenSamlUtil {</pre></td></tr> |
| <tr> <td class="numLineCover"> 164</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = Logger.getLogger(OpenSamlUtil.<span class="keyword">class</span>.getName());</pre></td></tr> |
| <tr> <td class="numLine"> 165</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 166</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 167</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * The human-readable name of the (GSA) service provider.</span></pre></td></tr> |
| <tr> <td class="numLine"> 168</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 169</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GOOGLE_PROVIDER_NAME = <span class="string">"Google Search Appliance"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 170</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 171</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 172</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * The human-readable name of the (Security Manager) service provider.</span></pre></td></tr> |
| <tr> <td class="numLine"> 173</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 174</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String SM_PROVIDER_NAME = <span class="string">"Google Security Manager"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 175</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 176</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 177</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * The SAML "bearer" method, normally used in SubjectConfirmation.</span></pre></td></tr> |
| <tr> <td class="numLine"> 178</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 179</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String BEARER_METHOD = <span class="string">"urn:oasis:names:tc:SAML:2.0:cm:bearer"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 180</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 181</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String SAML_EXTENSIONS_TAG = <span class="string">"Extensions"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 182</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 183</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GSA_SESSION_ID_TAG = <span class="string">"GsaSessionId"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 184</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 185</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GSA_FLAG_FAST_AUTHZ_TAG = <span class="string">"EnableFastAuthz"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 186</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GSA_FAST_AUTHZ_FAST = <span class="string">"FAST"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 187</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GSA_FAST_AUTHZ_ALL = <span class="string">"ALL"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 188</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 189</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GOOGLE_NS_URI = <span class="string">"http://www.google.com/"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 190</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GOOGLE_NS_PREFIX = <span class="string">"google:"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 191</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String GOOGLE_NS_PREFIX_NOCOLON = <span class="string">"google"</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 192</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/*public static final Namespace GOOGLE_NS =</span></pre></td></tr> |
| <tr> <td class="numLine"> 193</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> Namespace.getNamespace(GOOGLE_NS_PREFIX_NOCOLON, GOOGLE_NS_URI);*/</span></pre></td></tr> |
| <tr> <td class="numLine"> 194</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 195</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">static</span> {</pre></td></tr> |
| <tr> <td class="numLine"> 196</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> DefaultBootstrap.bootstrap();</pre></td></tr> |
| <tr> <td class="numLineCover"> 198</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (ConfigurationException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 199</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 201</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 202</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// This is required in order to patch around missing code in OpenSAML.</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> Configuration.registerObjectProvider(</pre></td></tr> |
| <tr> <td class="numLine"> 204</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> AttributeValue.DEFAULT_ELEMENT_NAME,</pre></td></tr> |
| <tr> <td class="numLine"> 205</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">new</span> AttributeValueBuilder(),</pre></td></tr> |
| <tr> <td class="numLine"> 206</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">new</span> AttributeValueMarshaller(),</pre></td></tr> |
| <tr> <td class="numLine"> 207</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">new</span> AttributeValueUnmarshaller());</pre></td></tr> |
| <tr> <td class="numLine"> 208</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 209</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> XMLObjectBuilderFactory objectBuilderFactory =</pre></td></tr> |
| <tr> <td class="numLine"> 211</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> Configuration.getBuilderFactory();</pre></td></tr> |
| <tr> <td class="numLine"> 212</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 213</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// TODO(cph): @SuppressWarnings is needed because objectBuilderFactory.getBuilder() returns a</span></pre></td></tr> |
| <tr> <td class="numLine"> 214</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// supertype of the actual type.</span></pre></td></tr> |
| <tr> <td class="numLine"> 215</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> @SuppressWarnings(<span class="string">"unchecked"</span>)</pre></td></tr> |
| <tr> <td class="numLine"> 216</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <T <span class="keyword">extends</span> SAMLObject> SAMLObjectBuilder<T> makeSamlObjectBuilder(QName name) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">return</span> (SAMLObjectBuilder<T>) objectBuilderFactory.getBuilder(name);</pre></td></tr> |
| <tr> <td class="numLine"> 218</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 219</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Action> actionBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 221</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Action.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Artifact> artifactBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 223</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Artifact.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<ArtifactResolve> artifactResolveBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 225</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(ArtifactResolve.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 226</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<ArtifactResponse> artifactResponseBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 227</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(ArtifactResponse.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Assertion> assertionBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 229</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Assertion.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AssertionConsumerService> assertionConsumerServiceBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 231</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AssertionConsumerService.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Attribute> attributeBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 233</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Attribute.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AttributeStatement> attributeStatementBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 235</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AttributeStatement.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AttributeValue> attributeValueBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 237</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AttributeValue.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Audience> audienceBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 239</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Audience.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AudienceRestriction> audienceRestrictionBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 241</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AudienceRestriction.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 242</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthnContext> authnContextBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 243</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthnContext.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthnContextClassRef> authnContextClassRefBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 245</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthnContextClassRef.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthnRequest> authnRequestBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 247</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthnRequest.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthnStatement> authnStatementBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 249</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthnStatement.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthzDecisionQuery> authzDecisionQueryBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 251</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthzDecisionQuery.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<AuthzDecisionStatement> authzDecisionStatementBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 253</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(AuthzDecisionStatement.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Conditions> conditionsBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 255</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Conditions.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Issuer> issuerBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 257</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Issuer.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<NameID> nameIDBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 259</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(NameID.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Response> responseBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 261</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Response.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Status> statusBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 263</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Status.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<StatusCode> statusCodeBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 265</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(StatusCode.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<StatusMessage> statusMessageBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 267</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(StatusMessage.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 268</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<Subject> subjectBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 269</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(Subject.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<SubjectConfirmation> subjectConfirmationBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 271</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(SubjectConfirmation.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<SubjectConfirmationData> subjectConfirmationDataBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 273</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(SubjectConfirmationData.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLine"> 274</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 275</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Metadata builders</span></pre></td></tr> |
| <tr> <td class="numLine"> 276</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> SAMLObjectBuilder<SingleSignOnService> singleSignOnServiceBuilder =</pre></td></tr> |
| <tr> <td class="numLine"> 278</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> makeSamlObjectBuilder(SingleSignOnService.DEFAULT_ELEMENT_NAME);</pre></td></tr> |
| <tr> <td class="numLine"> 279</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 280</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Identifier generator</span></pre></td></tr> |
| <tr> <td class="numLine"> 281</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 282</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> IdentifierGenerator idGenerator;</pre></td></tr> |
| <tr> <td class="numLine"> 283</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">static</span> {</pre></td></tr> |
| <tr> <td class="numLine"> 284</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> idGenerator = <span class="keyword">new</span> SecureRandomIdentifierGenerator();</pre></td></tr> |
| <tr> <td class="numLineCover"> 286</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (NoSuchAlgorithmException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 287</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 289</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 290</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 291</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Non-instantiable class.</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 292</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">private</span> OpenSamlUtil() {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 293</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr> |
| <tr> <td class="numLine"> 294</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 295</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">void</span> initializeRequest(RequestAbstractType request, String issuer,</pre></td></tr> |
| <tr> <td class="numLine"> 296</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> DateTime issueInstant) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> request.setID(generateIdentifier());</pre></td></tr> |
| <tr> <td class="numLineCover"> 298</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> request.setVersion(SAMLVersion.VERSION_20);</pre></td></tr> |
| <tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> request.setIssuer(makeIssuer(issuer));</pre></td></tr> |
| <tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> request.setIssueInstant(issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 302</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 303</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">void</span> initializeResponse(StatusResponseType response, String issuer,</pre></td></tr> |
| <tr> <td class="numLine"> 304</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> DateTime issueInstant, Status status, String inResponseTo) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setID(generateIdentifier());</pre></td></tr> |
| <tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setVersion(SAMLVersion.VERSION_20);</pre></td></tr> |
| <tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setIssuer(makeIssuer(issuer));</pre></td></tr> |
| <tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setIssueInstant(issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setStatus(status);</pre></td></tr> |
| <tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.setInResponseTo(inResponseTo);</pre></td></tr> |
| <tr> <td class="numLineCover"> 311</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 312</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 313</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 314</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Action} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 315</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 316</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param name A URI identifying the represented action.</span></pre></td></tr> |
| <tr> <td class="numLine"> 317</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param namespace A URI identifying the class of names being specified.</span></pre></td></tr> |
| <tr> <td class="numLine"> 318</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Action</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 319</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 320</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Action makeAction(String name, String namespace) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> Action action = actionBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> action.setAction(name);</pre></td></tr> |
| <tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> action.setNamespace(namespace);</pre></td></tr> |
| <tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">return</span> action;</pre></td></tr> |
| <tr> <td class="numLine"> 325</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 326</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 327</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 328</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Artifact} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 329</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 330</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value The artifact string.</span></pre></td></tr> |
| <tr> <td class="numLine"> 331</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Artifact</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 332</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 333</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> Artifact makeArtifact(String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> Artifact element = artifactBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> element.setArtifact(value);</pre></td></tr> |
| <tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> element;</pre></td></tr> |
| <tr> <td class="numLine"> 337</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 338</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 339</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 340</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link ArtifactResolve} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 341</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 342</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this request.</span></pre></td></tr> |
| <tr> <td class="numLine"> 343</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 344</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value The artifact string to be resolved.</span></pre></td></tr> |
| <tr> <td class="numLine"> 345</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>ArtifactResolve</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 346</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 347</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> ArtifactResolve makeArtifactResolve(String issuer, DateTime issueInstant,</pre></td></tr> |
| <tr> <td class="numLine"> 348</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> ArtifactResolve request = artifactResolveBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> initializeRequest(request, issuer, issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> request.setArtifact(makeArtifact(value));</pre></td></tr> |
| <tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> request;</pre></td></tr> |
| <tr> <td class="numLine"> 353</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 354</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 355</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 356</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link ArtifactResponse} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 357</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 358</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this response.</span></pre></td></tr> |
| <tr> <td class="numLine"> 359</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 360</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param status The <code>Status</code> object indicating the success of the resolution.</span></pre></td></tr> |
| <tr> <td class="numLine"> 361</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param inResponseTo The message ID of the request this is a response to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 362</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param message The embedded message.</span></pre></td></tr> |
| <tr> <td class="numLine"> 363</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>ArtifactResponse</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 364</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 365</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> ArtifactResponse makeArtifactResponse(String issuer, DateTime issueInstant,</pre></td></tr> |
| <tr> <td class="numLine"> 366</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> Status status, String inResponseTo, SAMLObject message) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 367</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> ArtifactResponse response = artifactResponseBuilder.buildObject();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 368</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> initializeResponse(response, issuer, issueInstant, status, inResponseTo);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 369</td> <td class="nbHitsUncovered"><a title="Line 369: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 369: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (message != <span class="keyword">null</span>) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 370</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> response.setMessage(message);</span></pre></td></tr> |
| <tr> <td class="numLine"> 371</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 372</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> response;</span></pre></td></tr> |
| <tr> <td class="numLine"> 373</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 374</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 375</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 376</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Assertion} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 377</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 378</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this assertion.</span></pre></td></tr> |
| <tr> <td class="numLine"> 379</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 380</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param subject The subject of the assertion.</span></pre></td></tr> |
| <tr> <td class="numLine"> 381</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param conditions The conditions under which this assertion is valid.</span></pre></td></tr> |
| <tr> <td class="numLine"> 382</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param statements Statements being made by this assertion.</span></pre></td></tr> |
| <tr> <td class="numLine"> 383</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Assertion</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 384</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 385</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Assertion makeAssertion(String issuer, DateTime issueInstant, Subject subject,</pre></td></tr> |
| <tr> <td class="numLine"> 386</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> Conditions conditions, Statement... statements) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 387</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> Assertion assertion = assertionBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 388</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> assertion.setID(generateIdentifier());</pre></td></tr> |
| <tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> assertion.setVersion(SAMLVersion.VERSION_20);</pre></td></tr> |
| <tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> assertion.setIssuer(makeIssuer(issuer));</pre></td></tr> |
| <tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> assertion.setIssueInstant(issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 392</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> assertion.setSubject(subject);</pre></td></tr> |
| <tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"><a title="Line 393: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 393: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conditions != <span class="keyword">null</span>) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 394</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> assertion.setConditions(conditions);</pre></td></tr> |
| <tr> <td class="numLine"> 395</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 396</td> <td class="nbHitsCovered"><a title="Line 396: Conditional coverage 100% (2/2)."> 25</a></td> <td class="src"><pre class="src"> <a title="Line 396: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Statement statement : statements) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"><a title="Line 397: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 397: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (statement <span class="keyword">instanceof</span> AuthnStatement) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 398</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> assertion.getAuthnStatements().add((AuthnStatement) statement);</pre></td></tr> |
| <tr> <td class="numLineCover"> 399</td> <td class="nbHitsCovered"><a title="Line 399: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 399: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (statement <span class="keyword">instanceof</span> AuthzDecisionStatement) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 400</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> assertion.getAuthzDecisionStatements().add((AuthzDecisionStatement) statement);</pre></td></tr> |
| <tr> <td class="numLineCover"> 401</td> <td class="nbHitsUncovered"><a title="Line 401: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 401: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (statement <span class="keyword">instanceof</span> AttributeStatement) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 402</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> assertion.getAttributeStatements().add((AttributeStatement) statement);</pre></td></tr> |
| <tr> <td class="numLine"> 403</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 404</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"Unknown statement type: "</span> + statement);</span></pre></td></tr> |
| <tr> <td class="numLine"> 405</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 406</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 407</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> assertion;</pre></td></tr> |
| <tr> <td class="numLine"> 408</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 409</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 410</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 411</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AssertionConsumerService} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 412</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 413</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param location A URL for this service.</span></pre></td></tr> |
| <tr> <td class="numLine"> 414</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param binding A SAML binding used to communicate with the service.</span></pre></td></tr> |
| <tr> <td class="numLine"> 415</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new {@code AssertionConsumerService} object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 416</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 417</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AssertionConsumerService makeAssertionConsumerService(String location,</pre></td></tr> |
| <tr> <td class="numLine"> 418</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> String binding) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 419</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> AssertionConsumerService endpoint = assertionConsumerServiceBuilder.buildObject();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 420</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> endpoint.setLocation(location);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 421</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> endpoint.setBinding(binding);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 422</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> endpoint.setIndex(0);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 423</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> endpoint.setIsDefault(<span class="keyword">true</span>);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 424</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> endpoint;</span></pre></td></tr> |
| <tr> <td class="numLine"> 425</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 426</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 427</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 428</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Attribute} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 429</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 430</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param name The attribute name.</span></pre></td></tr> |
| <tr> <td class="numLine"> 431</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Attribute</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 432</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 433</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Attribute makeAttribute(String name) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> Attribute attribute = attributeBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 435</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> attribute.setName(name);</pre></td></tr> |
| <tr> <td class="numLineCover"> 436</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> attribute;</pre></td></tr> |
| <tr> <td class="numLine"> 437</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 438</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 439</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 440</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AttributeStatement} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 441</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 442</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param attributes The attributes to include in the statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 443</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AttributeStatement</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 444</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 445</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AttributeStatement makeAttributeStatement(Attribute... attributes) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 446</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> AttributeStatement statement = attributeStatementBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 447</td> <td class="nbHitsCovered"><a title="Line 447: Conditional coverage 100% (2/2)."> 2</a></td> <td class="src"><pre class="src"> <a title="Line 447: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Attribute attribute : attributes) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 448</td> <td class="nbHitsUncovered"><a title="Line 448: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 448: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 449</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> statement.getAttributes().add(attribute);</pre></td></tr> |
| <tr> <td class="numLine"> 450</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 451</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 452</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> statement;</pre></td></tr> |
| <tr> <td class="numLine"> 453</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 454</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 455</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 456</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AttributeValue} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 457</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 458</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AttributeValue</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 459</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 460</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AttributeValue makeAttributeValue(String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 461</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> AttributeValue attrValue = attributeValueBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 462</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> attrValue.setValue(value);</pre></td></tr> |
| <tr> <td class="numLineCover"> 463</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> attrValue;</pre></td></tr> |
| <tr> <td class="numLine"> 464</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 465</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 466</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 467</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Audience} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 468</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 469</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param uri The audience URI.</span></pre></td></tr> |
| <tr> <td class="numLine"> 470</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Audience</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 471</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 472</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> Audience makeAudience(String uri) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 473</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> Audience audience = audienceBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> audience.setAudienceURI(uri);</pre></td></tr> |
| <tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> audience;</pre></td></tr> |
| <tr> <td class="numLine"> 476</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 477</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 478</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 479</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AudienceRestriction} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 480</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 481</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param uris The audience URIs.</span></pre></td></tr> |
| <tr> <td class="numLine"> 482</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AudienceRestriction</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 483</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 484</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AudienceRestriction makeAudienceRestriction(String... uris) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 485</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> AudienceRestriction restriction = audienceRestrictionBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 486</td> <td class="nbHitsCovered"><a title="Line 486: Conditional coverage 100% (2/2)."> 2</a></td> <td class="src"><pre class="src"> <a title="Line 486: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String uri : uris) {</a></pre></td></tr> |
| <tr> <td class="numLineCover"> 487</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> restriction.getAudiences().add(makeAudience(uri));</pre></td></tr> |
| <tr> <td class="numLine"> 488</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 489</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> restriction;</pre></td></tr> |
| <tr> <td class="numLine"> 490</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 491</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 492</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 493</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthnContext} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 494</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 495</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param classRef An <code>AuthnContextClassRef</code> identifying an authentication context</span></pre></td></tr> |
| <tr> <td class="numLine"> 496</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * class.</span></pre></td></tr> |
| <tr> <td class="numLine"> 497</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthnContext</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 498</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 499</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> AuthnContext makeAuthnContext(AuthnContextClassRef classRef) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> AuthnContext context = authnContextBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 501</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> context.setAuthnContextClassRef(classRef);</pre></td></tr> |
| <tr> <td class="numLineCover"> 502</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> context;</pre></td></tr> |
| <tr> <td class="numLine"> 503</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 504</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 505</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 506</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthnContext} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 507</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 508</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * A convenience method that wraps the given URI in an {@link AuthnContextClassRef} object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 509</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 510</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param uri A URI identifying an authentication context class.</span></pre></td></tr> |
| <tr> <td class="numLine"> 511</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthnContext</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 512</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 513</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> AuthnContext makeAuthnContext(String uri) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 514</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> makeAuthnContext(makeAuthnContextClassRef(uri));</pre></td></tr> |
| <tr> <td class="numLine"> 515</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 516</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 517</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 518</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthnContextClassRef} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 519</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 520</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param uri A URI identifying an authentication context class.</span></pre></td></tr> |
| <tr> <td class="numLine"> 521</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthnContextClassRef</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 522</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 523</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> AuthnContextClassRef makeAuthnContextClassRef(String uri) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 524</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> AuthnContextClassRef classRef = authnContextClassRefBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 525</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> classRef.setAuthnContextClassRef(uri);</pre></td></tr> |
| <tr> <td class="numLineCover"> 526</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> classRef;</pre></td></tr> |
| <tr> <td class="numLine"> 527</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 528</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 529</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 530</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthnRequest} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 531</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 532</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this request.</span></pre></td></tr> |
| <tr> <td class="numLine"> 533</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 534</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthnRequest</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 535</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 536</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AuthnRequest makeAuthnRequest(String issuer, DateTime issueInstant) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> AuthnRequest request = authnRequestBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 538</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> initializeRequest(request, issuer, issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 539</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> request;</pre></td></tr> |
| <tr> <td class="numLine"> 540</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 541</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 542</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 543</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthnStatement} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 544</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 545</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 546</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param uri A URI identifying an authentication context class.</span></pre></td></tr> |
| <tr> <td class="numLine"> 547</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthnStatement</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 548</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 549</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AuthnStatement makeAuthnStatement(DateTime issueInstant, String uri) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 550</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> AuthnStatement statement = authnStatementBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 551</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> statement.setAuthnInstant(issueInstant);</pre></td></tr> |
| <tr> <td class="numLineCover"> 552</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> statement.setAuthnContext(makeAuthnContext(uri));</pre></td></tr> |
| <tr> <td class="numLineCover"> 553</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> statement;</pre></td></tr> |
| <tr> <td class="numLine"> 554</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 555</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 556</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 557</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthzDecisionQuery} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 558</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 559</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this query.</span></pre></td></tr> |
| <tr> <td class="numLine"> 560</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this query.</span></pre></td></tr> |
| <tr> <td class="numLine"> 561</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param subject The subject requesting access to a resource.</span></pre></td></tr> |
| <tr> <td class="numLine"> 562</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param resource The resource for which access is being requested.</span></pre></td></tr> |
| <tr> <td class="numLine"> 563</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param action The action on the resource for which access is being requested.</span></pre></td></tr> |
| <tr> <td class="numLine"> 564</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthzDecisionQuery</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 565</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 566</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AuthzDecisionQuery makeAuthzDecisionQuery(String issuer, DateTime issueInstant,</pre></td></tr> |
| <tr> <td class="numLine"> 567</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> Subject subject, String resource, Action action) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 568</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> AuthzDecisionQuery query = authzDecisionQueryBuilder.buildObject();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 569</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> initializeRequest(query, issuer, issueInstant);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 570</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> query.setSubject(subject);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 571</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> query.setResource(resource);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 572</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> query.getActions().add(action);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 573</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> query;</span></pre></td></tr> |
| <tr> <td class="numLine"> 574</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 575</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 576</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 577</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link AuthzDecisionStatement} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 578</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 579</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param resource The resource referred to by this access decision.</span></pre></td></tr> |
| <tr> <td class="numLine"> 580</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param decision The access decision made by the authorization service.</span></pre></td></tr> |
| <tr> <td class="numLine"> 581</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param actions The actions authorized to perform on the stated resource.</span></pre></td></tr> |
| <tr> <td class="numLine"> 582</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>AuthzDecisionStatement</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 583</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 584</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> AuthzDecisionStatement makeAuthzDecisionStatement(String resource,</pre></td></tr> |
| <tr> <td class="numLine"> 585</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> DecisionTypeEnumeration decision, Action... actions) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> AuthzDecisionStatement statement = authzDecisionStatementBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 587</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> statement.setResource(resource);</pre></td></tr> |
| <tr> <td class="numLineCover"> 588</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> statement.setDecision(decision);</pre></td></tr> |
| <tr> <td class="numLineCover"> 589</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> statement.getActions().addAll(Arrays.asList(actions));</pre></td></tr> |
| <tr> <td class="numLineCover"> 590</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">return</span> statement;</pre></td></tr> |
| <tr> <td class="numLine"> 591</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 592</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 593</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 594</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Conditions} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 595</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 596</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param notBefore Earliest time at which assertion is valid.</span></pre></td></tr> |
| <tr> <td class="numLine"> 597</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param notOnOrAfter Latest time at which assertion is valid.</span></pre></td></tr> |
| <tr> <td class="numLine"> 598</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param restriction The audience restriction that must be satisfied.</span></pre></td></tr> |
| <tr> <td class="numLine"> 599</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Conditions</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 600</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 601</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Conditions makeConditions(DateTime notBefore, DateTime notOnOrAfter,</pre></td></tr> |
| <tr> <td class="numLine"> 602</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> AudienceRestriction restriction) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> Conditions conditions = conditionsBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 604</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> conditions.setNotBefore(notBefore);</pre></td></tr> |
| <tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> conditions.setNotOnOrAfter(notOnOrAfter);</pre></td></tr> |
| <tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> conditions.getAudienceRestrictions().add(restriction);</pre></td></tr> |
| <tr> <td class="numLineCover"> 607</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conditions;</pre></td></tr> |
| <tr> <td class="numLine"> 608</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 609</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 610</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 611</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Issuer} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 612</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 613</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param name The issuer of a response object. In the absence of a specific format, this is a</span></pre></td></tr> |
| <tr> <td class="numLine"> 614</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * URI identifying the issuer.</span></pre></td></tr> |
| <tr> <td class="numLine"> 615</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Issuer</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 616</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 617</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> Issuer makeIssuer(String name) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 618</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> Issuer issuer = issuerBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 619</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> issuer.setValue(name);</pre></td></tr> |
| <tr> <td class="numLineCover"> 620</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> issuer;</pre></td></tr> |
| <tr> <td class="numLine"> 621</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 622</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 623</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 624</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link NameID} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 625</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 626</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param name The name represented by this object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 627</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>NameID</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 628</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 629</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> NameID makeNameId(String name) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 630</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> NameID id = nameIDBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 631</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> id.setValue(name);</pre></td></tr> |
| <tr> <td class="numLineCover"> 632</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> id;</pre></td></tr> |
| <tr> <td class="numLine"> 633</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 634</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 635</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 636</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Response} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 637</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 638</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this response.</span></pre></td></tr> |
| <tr> <td class="numLine"> 639</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 640</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param status The <code>Status</code> object indicating the success of requested action.</span></pre></td></tr> |
| <tr> <td class="numLine"> 641</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param request The request that this is a response to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 642</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param assertions The assertions carried by this response.</span></pre></td></tr> |
| <tr> <td class="numLine"> 643</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Response</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 644</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 645</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Response makeResponse(String issuer, DateTime issueInstant,</pre></td></tr> |
| <tr> <td class="numLine"> 646</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> Status status, RequestAbstractType request, Assertion... assertions) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 647</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">return</span> makeResponse(issuer, issueInstant, status, request.getID(), assertions);</pre></td></tr> |
| <tr> <td class="numLine"> 648</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 649</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 650</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 651</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Response} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 652</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 653</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issuer The entity issuing this response.</span></pre></td></tr> |
| <tr> <td class="numLine"> 654</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param issueInstant The time of issue for this statement.</span></pre></td></tr> |
| <tr> <td class="numLine"> 655</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param status The <code>Status</code> object indicating the success of requested action.</span></pre></td></tr> |
| <tr> <td class="numLine"> 656</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param inResponseTo The message ID of the request this is a response to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 657</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param assertions The assertions carried by this response.</span></pre></td></tr> |
| <tr> <td class="numLine"> 658</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Response</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 659</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 660</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Response makeResponse(String issuer, DateTime issueInstant, Status status,</pre></td></tr> |
| <tr> <td class="numLine"> 661</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> String inResponseTo, Assertion... assertions) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 662</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> Response response = responseBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 663</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> initializeResponse(response, issuer, issueInstant, status, inResponseTo);</pre></td></tr> |
| <tr> <td class="numLineCover"> 664</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> response.getAssertions().addAll(Arrays.asList(assertions));</pre></td></tr> |
| <tr> <td class="numLineCover"> 665</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> response;</pre></td></tr> |
| <tr> <td class="numLine"> 666</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 667</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 668</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 669</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Status} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 670</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 671</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value A URI specifying one of the standard SAML status codes.</span></pre></td></tr> |
| <tr> <td class="numLine"> 672</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Status</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 673</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 674</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Status makeStatus(String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 675</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> Status status = statusBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 676</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> status.setStatusCode(makeStatusCode(value));</pre></td></tr> |
| <tr> <td class="numLineCover"> 677</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">return</span> status;</pre></td></tr> |
| <tr> <td class="numLine"> 678</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 679</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 680</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 681</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Status} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 682</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 683</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * A convenience method that generates a status object with a message.</span></pre></td></tr> |
| <tr> <td class="numLine"> 684</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 685</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value A URI specifying one of the standard SAML status codes.</span></pre></td></tr> |
| <tr> <td class="numLine"> 686</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param message A string describing the status.</span></pre></td></tr> |
| <tr> <td class="numLine"> 687</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Status</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 688</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 689</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Status makeStatus(String value, String message) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 690</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Status status = makeStatus(value);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 691</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> status.setStatusMessage(makeStatusMessage(message));</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 692</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> status;</span></pre></td></tr> |
| <tr> <td class="numLine"> 693</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 694</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 695</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 696</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Status} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 697</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 698</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param statusCode A status code indicating result status of a request.</span></pre></td></tr> |
| <tr> <td class="numLine"> 699</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param statusMessage An optional message providing human-readable detail of the status.</span></pre></td></tr> |
| <tr> <td class="numLine"> 700</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new {@link Status} object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 701</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 702</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Status makeStatus(StatusCode statusCode, StatusMessage statusMessage) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 703</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> Status status = statusBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 704</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> status.setStatusCode(statusCode);</pre></td></tr> |
| <tr> <td class="numLineCover"> 705</td> <td class="nbHitsUncovered"><a title="Line 705: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 705: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (statusMessage != <span class="keyword">null</span>) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 706</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> status.setStatusMessage(statusMessage);</span></pre></td></tr> |
| <tr> <td class="numLine"> 707</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 708</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> status;</pre></td></tr> |
| <tr> <td class="numLine"> 709</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 710</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 711</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 712</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for a successful SAML status element.</span></pre></td></tr> |
| <tr> <td class="numLine"> 713</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 714</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A successful {@link Status} element.</span></pre></td></tr> |
| <tr> <td class="numLine"> 715</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 716</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Status makeSuccessfulStatus() {</pre></td></tr> |
| <tr> <td class="numLineCover"> 717</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> makeStatus(makeStatusCode(StatusCode.SUCCESS_URI), <span class="keyword">null</span>);</pre></td></tr> |
| <tr> <td class="numLine"> 718</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 719</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 720</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 721</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link StatusCode} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 722</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 723</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value A URI specifying one of the standard SAML status codes.</span></pre></td></tr> |
| <tr> <td class="numLine"> 724</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>StatusCode</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 725</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 726</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> StatusCode makeStatusCode(String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 727</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> StatusCode code = statusCodeBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 728</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> code.setValue(value);</pre></td></tr> |
| <tr> <td class="numLineCover"> 729</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> code;</pre></td></tr> |
| <tr> <td class="numLine"> 730</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 731</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 732</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 733</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link StatusMessage} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 734</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 735</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param value A status message string.</span></pre></td></tr> |
| <tr> <td class="numLine"> 736</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>StatusMessage</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 737</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 738</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> StatusMessage makeStatusMessage(String value) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 739</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> StatusMessage message = statusMessageBuilder.buildObject();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 740</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> message.setMessage(value);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 741</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> message;</span></pre></td></tr> |
| <tr> <td class="numLine"> 742</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 743</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 744</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 745</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link Subject} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 746</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 747</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param name The name identifying the subject.</span></pre></td></tr> |
| <tr> <td class="numLine"> 748</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param confirmations The confirmations for this subject.</span></pre></td></tr> |
| <tr> <td class="numLine"> 749</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>Subject</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 750</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 751</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Subject makeSubject(String name, SubjectConfirmation... confirmations) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 752</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> Subject samlSubject = subjectBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 753</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> samlSubject.setNameID(makeNameId(name));</pre></td></tr> |
| <tr> <td class="numLineCover"> 754</td> <td class="nbHitsUncovered"><a title="Line 754: Conditional coverage 50% (1/2)."> 12</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 754: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (confirmations != <span class="keyword">null</span>) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 755</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> samlSubject.getSubjectConfirmations().addAll(Arrays.asList(confirmations));</pre></td></tr> |
| <tr> <td class="numLine"> 756</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 757</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> samlSubject;</pre></td></tr> |
| <tr> <td class="numLine"> 758</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 759</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 760</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 761</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link SubjectConfirmation} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 762</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 763</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param method The method used to confirm the subject.</span></pre></td></tr> |
| <tr> <td class="numLine"> 764</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param data The data about the confirmation.</span></pre></td></tr> |
| <tr> <td class="numLine"> 765</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>SubjectConfirmation</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 766</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 767</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SubjectConfirmation makeSubjectConfirmation(String method,</pre></td></tr> |
| <tr> <td class="numLine"> 768</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SubjectConfirmationData data) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 769</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> SubjectConfirmation confirmation = subjectConfirmationBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 770</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> confirmation.setMethod(method);</pre></td></tr> |
| <tr> <td class="numLineCover"> 771</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> confirmation.setSubjectConfirmationData(data);</pre></td></tr> |
| <tr> <td class="numLineCover"> 772</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> confirmation;</pre></td></tr> |
| <tr> <td class="numLine"> 773</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 774</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 775</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 776</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link SubjectConfirmationData} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 777</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 778</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param recipient The entity ID of the intended recipient.</span></pre></td></tr> |
| <tr> <td class="numLine"> 779</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param expirationTime The expiration time for this subject.</span></pre></td></tr> |
| <tr> <td class="numLine"> 780</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param inResponseTo The message ID of the AuthnRequest this is a response to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 781</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>SubjectConfirmationData</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 782</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 783</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SubjectConfirmationData makeSubjectConfirmationData(String recipient,</pre></td></tr> |
| <tr> <td class="numLine"> 784</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> DateTime expirationTime, String inResponseTo) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 785</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> SubjectConfirmationData data = subjectConfirmationDataBuilder.buildObject();</pre></td></tr> |
| <tr> <td class="numLineCover"> 786</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> data.setRecipient(recipient);</pre></td></tr> |
| <tr> <td class="numLineCover"> 787</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> data.setNotOnOrAfter(expirationTime);</pre></td></tr> |
| <tr> <td class="numLineCover"> 788</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> data.setInResponseTo(inResponseTo);</pre></td></tr> |
| <tr> <td class="numLineCover"> 789</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> data;</pre></td></tr> |
| <tr> <td class="numLine"> 790</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 791</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 792</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr> |
| <tr> <td class="numLine"> 793</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Metadata descriptions.</span></pre></td></tr> |
| <tr> <td class="numLine"> 794</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 795</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 796</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 797</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for SAML {@link SingleSignOnService} objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 798</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 799</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param binding The SAML binding implemented by this service.</span></pre></td></tr> |
| <tr> <td class="numLine"> 800</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param location The URL that the service listens to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 801</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new <code>SingleSignOnService</code> object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 802</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 803</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SingleSignOnService makeSingleSignOnService(String binding, String location) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 804</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> SingleSignOnService service = singleSignOnServiceBuilder.buildObject();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 805</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> service.setBinding(binding);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 806</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> service.setLocation(location);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 807</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> service;</span></pre></td></tr> |
| <tr> <td class="numLine"> 808</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 809</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 810</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr> |
| <tr> <td class="numLine"> 811</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Endpoint selection</span></pre></td></tr> |
| <tr> <td class="numLine"> 812</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 813</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 814</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> initializeLocalEntity(</pre></td></tr> |
| <tr> <td class="numLine"> 815</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SAMLMessageContext<? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject> context,</pre></td></tr> |
| <tr> <td class="numLine"> 816</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> EntityDescriptor entity, RoleDescriptor role) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 817</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> initializeLocalEntity(context, entity);</pre></td></tr> |
| <tr> <td class="numLineCover"> 818</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> context.setLocalEntityRole(role.getElementQName());</pre></td></tr> |
| <tr> <td class="numLineCover"> 819</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> context.setLocalEntityRoleMetadata(role);</pre></td></tr> |
| <tr> <td class="numLineCover"> 820</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 821</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 822</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> initializeLocalEntity(</pre></td></tr> |
| <tr> <td class="numLine"> 823</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SAMLMessageContext<? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject> context,</pre></td></tr> |
| <tr> <td class="numLine"> 824</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> EntityDescriptor entity) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 825</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> context.setLocalEntityId(entity.getEntityID());</pre></td></tr> |
| <tr> <td class="numLineCover"> 826</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> context.setLocalEntityMetadata(entity);</pre></td></tr> |
| <tr> <td class="numLineCover"> 827</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> context.setOutboundMessageIssuer(entity.getEntityID());</pre></td></tr> |
| <tr> <td class="numLineCover"> 828</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 829</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 830</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> initializePeerEntity(</pre></td></tr> |
| <tr> <td class="numLine"> 831</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SAMLMessageContext<? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject> context,</pre></td></tr> |
| <tr> <td class="numLine"> 832</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> EntityDescriptor entity, RoleDescriptor role, QName endpointType, String binding) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 833</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> context.setPeerEntityId(entity.getEntityID());</pre></td></tr> |
| <tr> <td class="numLineCover"> 834</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> context.setPeerEntityMetadata(entity);</pre></td></tr> |
| <tr> <td class="numLineCover"> 835</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> context.setPeerEntityRole(role.getElementQName());</pre></td></tr> |
| <tr> <td class="numLineCover"> 836</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> context.setPeerEntityRoleMetadata(role);</pre></td></tr> |
| <tr> <td class="numLine"> 837</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 838</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> BasicEndpointSelector selector = <span class="keyword">new</span> BasicEndpointSelector();</pre></td></tr> |
| <tr> <td class="numLineCover"> 839</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> selector.setEntityMetadata(entity);</pre></td></tr> |
| <tr> <td class="numLineCover"> 840</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> selector.setEndpointType(endpointType);</pre></td></tr> |
| <tr> <td class="numLineCover"> 841</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> selector.setEntityRoleMetadata(role);</pre></td></tr> |
| <tr> <td class="numLineCover"> 842</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> selector.getSupportedIssuerBindings().add(binding);</pre></td></tr> |
| <tr> <td class="numLineCover"> 843</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> context.setPeerEntityEndpoint(selector.selectEndpoint());</pre></td></tr> |
| <tr> <td class="numLine"> 844</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 845</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 846</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 847</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr> |
| <tr> <td class="numLine"> 848</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Identifiers</span></pre></td></tr> |
| <tr> <td class="numLine"> 849</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 850</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 851</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 852</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Generate a random identifier.</span></pre></td></tr> |
| <tr> <td class="numLine"> 853</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 854</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new identifier string.</span></pre></td></tr> |
| <tr> <td class="numLine"> 855</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 856</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> String generateIdentifier() {</pre></td></tr> |
| <tr> <td class="numLineCover"> 857</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> idGenerator.generateIdentifier();</pre></td></tr> |
| <tr> <td class="numLine"> 858</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 859</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 860</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr> |
| <tr> <td class="numLine"> 861</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Context and codecs</span></pre></td></tr> |
| <tr> <td class="numLine"> 862</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 863</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 864</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 865</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Static factory for OpenSAML message-context objects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 866</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 867</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param <TI> The type of the request object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 868</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param <TO> The type of the response object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 869</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param <TN> The type of the name identifier used for subjects.</span></pre></td></tr> |
| <tr> <td class="numLine"> 870</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new message-context object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 871</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 872</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <TI <span class="keyword">extends</span> SAMLObject, TO <span class="keyword">extends</span> SAMLObject, TN <span class="keyword">extends</span> SAMLObject></pre></td></tr> |
| <tr> <td class="numLine"> 873</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SAMLMessageContext<TI, TO, TN> makeSamlMessageContext() {</pre></td></tr> |
| <tr> <td class="numLineCover"> 874</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> SAMLMessageContext<TI, TO, TN> context = <span class="keyword">new</span> BasicSAMLMessageContext<TI, TO, TN>();</pre></td></tr> |
| <tr> <td class="numLineCover"> 875</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> context.setInboundSAMLProtocol(SAML20P_NS); <span class="comment">// we only use SAML 2.0</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 876</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> context.setOutboundSAMLProtocol(SAML20P_NS);</pre></td></tr> |
| <tr> <td class="numLineCover"> 877</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> <span class="keyword">return</span> context;</pre></td></tr> |
| <tr> <td class="numLine"> 878</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 879</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 880</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 881</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Run a message encoder.</span></pre></td></tr> |
| <tr> <td class="numLine"> 882</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 883</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param encoder The message encoder to run.</span></pre></td></tr> |
| <tr> <td class="numLine"> 884</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param context The message context to pass to the encoder.</span></pre></td></tr> |
| <tr> <td class="numLine"> 885</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws IOException if unable to encode message.</span></pre></td></tr> |
| <tr> <td class="numLine"> 886</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 887</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> runEncoder(MessageEncoder encoder, MessageContext context)</pre></td></tr> |
| <tr> <td class="numLine"> 888</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr> |
| <tr> <td class="numLine"> 889</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 890</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> encoder.encode(context);</pre></td></tr> |
| <tr> <td class="numLineCover"> 891</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (MessageEncodingException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 892</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 893</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 894</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 895</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 896</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 897</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Run a message decoder.</span></pre></td></tr> |
| <tr> <td class="numLine"> 898</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 899</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param decoder The message decoder to run.</span></pre></td></tr> |
| <tr> <td class="numLine"> 900</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param context The message context to pass to the decoder.</span></pre></td></tr> |
| <tr> <td class="numLine"> 901</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws IOException if unable to decode message.</span></pre></td></tr> |
| <tr> <td class="numLine"> 902</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 903</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> runDecoder(MessageDecoder decoder, MessageContext context)</pre></td></tr> |
| <tr> <td class="numLine"> 904</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr> |
| <tr> <td class="numLine"> 905</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 906</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> decoder.decode(context);</pre></td></tr> |
| <tr> <td class="numLineCover"> 907</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (MessageDecodingException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 908</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 909</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SecurityException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 910</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 911</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 912</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 913</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 914</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 915</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Get a string for the current date/time, in the correct format for SAML.</span></pre></td></tr> |
| <tr> <td class="numLine"> 916</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 917</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The corresponding string.</span></pre></td></tr> |
| <tr> <td class="numLine"> 918</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 919</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> String samlDateString() {</pre></td></tr> |
| <tr> <td class="numLineCover"> 920</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> samlDateString(<span class="keyword">new</span> DateTime());</span></pre></td></tr> |
| <tr> <td class="numLine"> 921</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 922</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 923</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 924</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Get a string for a given date/time, in the correct format for SAML.</span></pre></td></tr> |
| <tr> <td class="numLine"> 925</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 926</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param date The date/time to convert.</span></pre></td></tr> |
| <tr> <td class="numLine"> 927</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The corresponding string.</span></pre></td></tr> |
| <tr> <td class="numLine"> 928</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 929</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> String samlDateString(DateTime date) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 930</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">synchronized</span> (samlDateStringLock) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 931</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> Configuration.getSAMLDateFormatter().print(date);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 932</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr> |
| <tr> <td class="numLine"> 933</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 934</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLineCover"> 935</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Object samlDateStringLock = <span class="keyword">new</span> Object();</pre></td></tr> |
| <tr> <td class="numLine"> 936</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 937</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 938</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Get a SAML metadata provider that reads from a specified file. The provider adjusts</span></pre></td></tr> |
| <tr> <td class="numLine"> 939</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * its output as the file is changed.</span></pre></td></tr> |
| <tr> <td class="numLine"> 940</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 941</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param file The file containing the metadata.</span></pre></td></tr> |
| <tr> <td class="numLine"> 942</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A metadata provider for the given file.</span></pre></td></tr> |
| <tr> <td class="numLine"> 943</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws MetadataProviderException if there are problems reading the file.</span></pre></td></tr> |
| <tr> <td class="numLine"> 944</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 945</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> ObservableMetadataProvider getMetadataFromFile(File file)</pre></td></tr> |
| <tr> <td class="numLine"> 946</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">throws</span> MetadataProviderException {</pre></td></tr> |
| <tr> <td class="numLineCover"> 947</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> FilesystemMetadataProvider provider = <span class="keyword">new</span> FilesystemMetadataProvider(file);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 948</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> provider.setParserPool(<span class="keyword">new</span> BasicParserPool());</span></pre></td></tr> |
| <tr> <td class="numLine"> 949</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">// Causes null-pointer errors in OpenSAML code:</span></pre></td></tr> |
| <tr> <td class="numLine"> 950</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">//provider.setRequireValidMetadata(true);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 951</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> provider;</span></pre></td></tr> |
| <tr> <td class="numLine"> 952</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 953</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 954</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 955</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Make a static security-policy resolver that resolves to a given policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 956</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 957</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param policy The security policy to resolve to.</span></pre></td></tr> |
| <tr> <td class="numLine"> 958</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A security-policy resolver that resolves to the given policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 959</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 960</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SecurityPolicyResolver makeStaticSecurityPolicyResolver(SecurityPolicy policy) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 961</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> StaticSecurityPolicyResolver(policy);</span></pre></td></tr> |
| <tr> <td class="numLine"> 962</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 963</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 964</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 965</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Make a static security-policy resolver that resolves to a given policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 966</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 967</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param rules The policy rules that comprise the returned policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 968</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A security-policy resolver that resolves to the given policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 969</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 970</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SecurityPolicyResolver makeStaticSecurityPolicyResolver(</pre></td></tr> |
| <tr> <td class="numLine"> 971</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SecurityPolicyRule... rules) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 972</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> makeStaticSecurityPolicyResolver(makeBasicSecurityPolicy(rules));</span></pre></td></tr> |
| <tr> <td class="numLine"> 973</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 974</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 975</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 976</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Make a basic security policy, consisting of a set of rules that must all be satisfied.</span></pre></td></tr> |
| <tr> <td class="numLine"> 977</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 978</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param rules The rules comprising the policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 979</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new security policy.</span></pre></td></tr> |
| <tr> <td class="numLine"> 980</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 981</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SecurityPolicy makeBasicSecurityPolicy(SecurityPolicyRule... rules) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 982</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> BasicSecurityPolicy securityPolicy = <span class="keyword">new</span> BasicSecurityPolicy();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 983</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> securityPolicy.getPolicyRules().addAll(Arrays.asList(rules));</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 984</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> securityPolicy;</span></pre></td></tr> |
| <tr> <td class="numLine"> 985</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 986</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLineCover"> 987</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> KeyInfoCredentialResolver standardKeyInfoCredentialResolver = <span class="keyword">null</span>;</pre></td></tr> |
| <tr> <td class="numLine"> 988</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 989</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 990</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Make a KeyInfoCredentialResolver that knows about some basic credential types.</span></pre></td></tr> |
| <tr> <td class="numLine"> 991</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 992</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new KeyInfoCredentialResolver.</span></pre></td></tr> |
| <tr> <td class="numLine"> 993</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 994</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">synchronized</span> KeyInfoCredentialResolver getStandardKeyInfoCredentialResolver() {</pre></td></tr> |
| <tr> <td class="numLineCover"> 995</td> <td class="nbHitsUncovered"><a title="Line 995: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 995: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (standardKeyInfoCredentialResolver == <span class="keyword">null</span>) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 996</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> List<KeyInfoProvider> providers = Lists.newArrayList();</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 997</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> providers.add(<span class="keyword">new</span> DSAKeyValueProvider());</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 998</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> providers.add(<span class="keyword">new</span> RSAKeyValueProvider());</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 999</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> providers.add(<span class="keyword">new</span> InlineX509DataProvider());</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1000</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> standardKeyInfoCredentialResolver = <span class="keyword">new</span> BasicProviderKeyInfoCredentialResolver(providers);</span></pre></td></tr> |
| <tr> <td class="numLine"> 1001</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 1002</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> standardKeyInfoCredentialResolver;</span></pre></td></tr> |
| <tr> <td class="numLine"> 1003</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1004</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1005</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1006</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Return the standard credentials from a given KeyInfo object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1007</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1008</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param keyInfo The KeyInfo object to examine.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1009</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The standard credentials found in the object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1010</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws SecurityException</span></pre></td></tr> |
| <tr> <td class="numLine"> 1011</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1012</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Iterable<Credential> resolveStandardKeyInfoCredentials(KeyInfo keyInfo)</pre></td></tr> |
| <tr> <td class="numLine"> 1013</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">throws</span> SecurityException {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1014</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> getStandardKeyInfoCredentialResolver()</span></pre></td></tr> |
| <tr> <td class="numLine"> 1015</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> .resolve(<span class="keyword">new</span> CriteriaSet(<span class="keyword">new</span> KeyInfoCriteria(keyInfo)));</pre></td></tr> |
| <tr> <td class="numLine"> 1016</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1017</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1018</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1019</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Does a given peer's metadata support verification of signed messages?</span></pre></td></tr> |
| <tr> <td class="numLine"> 1020</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1021</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param context The SAML message context containing the peer's metadata.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1022</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return True if the role supports verification of signed messages.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1023</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1024</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> peerSupportsSignatureVerification(</pre></td></tr> |
| <tr> <td class="numLine"> 1025</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> SAMLMessageContext<? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject, ? <span class="keyword">extends</span> SAMLObject></pre></td></tr> |
| <tr> <td class="numLine"> 1026</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> context) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1027</td> <td class="nbHitsUncovered"><a title="Line 1027: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 1027: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (KeyDescriptor keyDescriptor : context.getPeerEntityRoleMetadata().getKeyDescriptors()) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1028</td> <td class="nbHitsUncovered"><a title="Line 1028: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 1028: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (keyDescriptor.getUse() == UsageType.SIGNING) {</a></span></pre></td></tr> |
| <tr> <td class="numLine"> 1029</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1030</td> <td class="nbHitsUncovered"><a title="Line 1030: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 1030: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (resolveStandardKeyInfoCredentials(keyDescriptor.getKeyInfo()).iterator().hasNext()) {</a></span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1031</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr> |
| <tr> <td class="numLine"> 1032</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 1033</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SecurityException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1034</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(<span class="string">"Got SecurityException while extracting credentials:"</span>, e);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1035</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr> |
| <tr> <td class="numLine"> 1036</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1037</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLineCover"> 1038</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr> |
| <tr> <td class="numLine"> 1039</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1040</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1041</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1042</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Read a PEM-encoded private-key file and return it as a {@link PrivateKey} object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1043</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1044</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param file The file to read.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1045</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The private-key object, never null.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1046</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws IOException if there's some kind of error reading or converting the file.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1047</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1048</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> PrivateKey readPrivateKeyFile(File file)</pre></td></tr> |
| <tr> <td class="numLine"> 1049</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr> |
| <tr> <td class="numLine"> 1050</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1051</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> SecurityHelper.decodePrivateKey(file, <span class="keyword">new</span> <span class="keyword">char</span>[0]);</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1052</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (KeyException e) {</span></pre></td></tr> |
| <tr> <td class="numLineCover"> 1053</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(e);</span></pre></td></tr> |
| <tr> <td class="numLine"> 1054</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1055</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1056</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1057</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1058</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Convert an OpenSAML object to a DOM object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1059</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1060</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param xmlObject The OpenSAML object to convert.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1061</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The corresponding DOM object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1062</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws MarshallingException if unable to convert object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1063</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1064</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> Element marshallXmlObject(XMLObject xmlObject) <span class="keyword">throws</span> MarshallingException {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1065</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> Configuration.getMarshallerFactory().getMarshaller(xmlObject).marshall(xmlObject);</span></pre></td></tr> |
| <tr> <td class="numLine"> 1066</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1067</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1068</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1069</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Convert a DOM object to an OpenSAML object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1070</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1071</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param element A DOM object representing a SAML element.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1072</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return The corresponding OpenSAML object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1073</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @throws UnmarshallingException if unable to convert object.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1074</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1075</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> XMLObject unmarshallXmlObject(Element element) <span class="keyword">throws</span> UnmarshallingException {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1076</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> Configuration.getUnmarshallerFactory().getUnmarshaller(element).unmarshall(element);</span></pre></td></tr> |
| <tr> <td class="numLine"> 1077</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1078</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> </pre></td></tr> |
| <tr> <td class="numLine"> 1079</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr> |
| <tr> <td class="numLine"> 1080</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * Make a new artifact map.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1081</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> |
| <tr> <td class="numLine"> 1082</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @param artifactLifetime The lifetime of the map's artifacts, in milliseconds.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1083</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> * @return A new artifact map.</span></pre></td></tr> |
| <tr> <td class="numLine"> 1084</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> |
| <tr> <td class="numLine"> 1085</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> SAMLArtifactMap makeArtifactMap(<span class="keyword">int</span> artifactLifetime) {</pre></td></tr> |
| <tr> <td class="numLineCover"> 1086</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> BasicSAMLArtifactMap(</span></pre></td></tr> |
| <tr> <td class="numLine"> 1087</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">new</span> BasicParserPool(),</pre></td></tr> |
| <tr> <td class="numLine"> 1088</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> <span class="keyword">new</span> MapBasedStorageService<String, SAMLArtifactMapEntry>(),</pre></td></tr> |
| <tr> <td class="numLine"> 1089</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> artifactLifetime);</pre></td></tr> |
| <tr> <td class="numLine"> 1090</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| <tr> <td class="numLine"> 1091</td> <td class="nbHits"> </td> |
| <td class="src"><pre class="src"> }</pre></td></tr> |
| </table> |
| |
| <div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1.</div> |
| </body> |
| </html> |