[java-identity-provider COMMIT] in /branches/3.1/idp-ui/src: main/java/net/shibboleth/idp/ui/context/RelyingPartyUICo...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jun 24 06:32:25 EDT 2015


Author: rdw
Date: Wed Jun 24 06:32:24 2015
New Revision: 7600

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7600&view=rev
Log:
IDP-754 RelyingPartyUIContext throws NPE when xml:lang is missing

https://issues.shibboleth.net/jira/browse/IDP-754

Merge of http://svn.shibboleth.net/view/java-identity-provider?view=revision&revision=7599

Modified:
    branches/3.1/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
    branches/3.1/idp-ui/src/test/resources/net/shibboleth/idp/ui/example-metadata.xml

Modified: branches/3.1/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
URL: http://svn.shibboleth.net/view/java-identity-provider/branches/3.1/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java?rev=7600&r1=7599&r2=7600&view=diff
==============================================================================
--- branches/3.1/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java	(original)
+++ branches/3.1/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java	Wed Jun 24 06:32:24 2015
@@ -306,8 +306,8 @@
         if (getRPUInfo() != null) {
             for (final DisplayName name : getRPUInfo().getDisplayNames()) {
                 log.trace("Found name in UIInfo, language '{}'", name.getXMLLang());
-                if (name.getXMLLang().equals(lang)) {
-                    log.debug("Language match, Returning name from UIInfo '{}'", name.getValue());
+                if (name.getXMLLang() != null && name.getXMLLang().equals(lang)) {
+                    log.debug("Returning name from UIInfo '{}'", name.getValue());
                     return name.getValue();
                 }
             }
@@ -330,7 +330,7 @@
 
         for (ServiceName name : getRPAttributeConsumingService().getNames()) {
             log.trace("Found name in AttributeConsumingService, language '{}'", name.getXMLLang());
-            if (name.getXMLLang().equals(lang)) {
+            if (name.getXMLLang() != null && name.getXMLLang().equals(lang)) {
                 log.debug("Returning name from AttributeConsumingService '{}", name.getValue());
                 return name.getValue();
             }
@@ -357,14 +357,14 @@
             final String scheme = entityId.getScheme();
 
             if ("http".equals(scheme) || "https".equals(scheme)) {
-                log.debug("found matching schema, returning name of '{}'", entityId.getHost());
+                log.debug("Found matching scheme, returning name of '{}'", entityId.getHost());
                 return entityId.getHost();
             }
-            log.debug("Not a usual schema returning name of '{}'", spName);
+            log.debug("Not a usual scheme, returning name of '{}'", spName);
 
             return spName;
-        } catch (URISyntaxException e) {
-            log.debug("Not a URI returning name of '{}'", spName);
+        } catch (final URISyntaxException e) {
+            log.debug("Not a URI, returning name of '{}'", spName);
             return spName;
         }
     }
@@ -382,8 +382,8 @@
         }
         for (final Description desc : getRPUInfo().getDescriptions()) {
             log.trace("Found description in UIInfo, language '{}'", desc.getXMLLang());
-            if (desc.getXMLLang().equals(lang)) {
-                log.trace("Found language match, returning description from UIInfo '{}'", desc.getValue());
+            if (desc.getXMLLang() != null && desc.getXMLLang().equals(lang)) {
+                log.trace("Returning description from UIInfo '{}'", desc.getValue());
                 return desc.getValue();
             }
         }
@@ -404,8 +404,8 @@
         }
         for (final ServiceDescription desc : getRPAttributeConsumingService().getDescriptions()) {
             log.trace("Found name in AttributeConsumingService, language=" + desc.getXMLLang());
-            if (desc.getXMLLang().equals(lang)) {
-                log.debug("returning name from AttributeConsumingService " + desc.getValue());
+            if (desc.getXMLLang() != null && desc.getXMLLang().equals(lang)) {
+                log.debug("Returning name from AttributeConsumingService " + desc.getValue());
                 return desc.getValue();
             }
         }
@@ -541,17 +541,14 @@
             log.debug("No Organization, OrganizationDisplayName or names, returning null");
             return null;
         }
+        
         for (final String lang : getUsableLanguages()) {
 
             for (final OrganizationDisplayName name : org.getDisplayNames()) {
-                if (name.getXMLLang() == null) {
-                    continue;
-                } else {
-                    log.trace("Found OrganizationDisplayName in Organization, language={}", name.getXMLLang());
-                }
-
-                if (name.getXMLLang().equals(lang)) {
-                    log.debug("returning OrganizationDisplayName from Organization, {}", name.getValue());

[... 170 lines stripped ...]


More information about the commits mailing list