diff options
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/thrift/cache/OrganizationCache.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/cache/OrganizationCache.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/cache/OrganizationCache.java index 2c224006..c76da623 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/cache/OrganizationCache.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/cache/OrganizationCache.java @@ -28,17 +28,22 @@ public class OrganizationCache { List<Organization> orgs = null; try { orgs = ThriftManager.getMasterClient().getOrganizations(); - Collections.sort(orgs, Sorters.organization); - return orgs; } catch (Exception e) { LOGGER.warn( "Failed to get organization list from master server, trying satellite for backup..", e); } - orgs = ThriftManager.getSatClient().getAllOrganizations(); - Collections.sort(orgs, Sorters.organization); + if (orgs == null) { + try { + orgs = ThriftManager.getSatClient().getAllOrganizations(); + } catch (Exception e) { + LOGGER.error("Failed to get organization list from satellite server. ", e); + // both failed, can this ever happen? TODO if it does, what do we do? + } + } + if (orgs != null) + Collections.sort(orgs, Sorters.organization); return orgs; - // TODO: Sort list by display name? (Check whether ok) } }; |
