Details
-
Bug
-
Resolution: Fixed
-
Low
-
None
-
None
-
None
Description
If the group entity that comes back from a Crowd server lacks the <attributes> tag, a NPE is thrown when parsing it:
2015-08-07 09:40:32.479898500 java.lang.NullPointerException 2015-08-07 09:40:32.479899500 at com.atlassian.crowd.integration.rest.entity.GroupEntity.getKeys(GroupEntity.java:112) 2015-08-07 09:40:32.479899500 at com.atlassian.crowd.model.group.GroupTemplateWithAttributes.<init>(GroupTemplateWithAttributes.java:30) 2015-08-07 09:40:32.479900500 at com.atlassian.crowd.directory.RemoteCrowdDirectory.buildGroupWithDirectoryId(RemoteCrowdDirectory.java:1049) 2015-08-07 09:40:32.479911500 at com.atlassian.crowd.directory.RemoteCrowdDirectory.buildGroupListWithDirectoryId(RemoteCrowdDirectory.java:1065) 2015-08-07 09:40:32.479912500 at com.atlassian.crowd.directory.RemoteCrowdDirectory.searchGroups(RemoteCrowdDirectory.java:549) 2015-08-07 09:40:32.479912500 at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.findAllRemoteGroups(RemoteDirectoryCacheRefresher.java:80) 2015-08-07 09:40:32.479914500 at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.synchroniseAllGroups(RemoteDirectoryCacheRefresher.java:108) 2015-08-07 09:40:32.479915500 at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:91) 2015-08-07 09:40:32.479921500 at com.atlassian.crowd.directory.ldap.cache.EventTokenChangedCacheRefresher.synchroniseAll(EventTokenChangedCacheRefresher.java:67) 2015-08-07 09:40:32.479921500 at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1055) 2015-08-07 09:40:32.479922500 at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:76)
The parser could be a bit more tolerant and interpret the absence of an empty <attributes> tag as the absence of attributes.