diff options
| author | Simon Rettberg | 2015-08-04 15:34:32 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2015-08-04 15:34:32 +0200 |
| commit | f976fcd147f5426f41f7adffd233aad35d3a5d2e (patch) | |
| tree | 31e90a3f3146c7182471f99d56d63c524d78562c /dozentenmodul/src/main/java | |
| parent | [server] Forgot one occurence of version.isenabled in an SQL query (diff) | |
| download | tutor-module-f976fcd147f5426f41f7adffd233aad35d3a5d2e.tar.gz tutor-module-f976fcd147f5426f41f7adffd233aad35d3a5d2e.tar.xz tutor-module-f976fcd147f5426f41f7adffd233aad35d3a5d2e.zip | |
[client] getPageSize() -> getConfiguration()
Diffstat (limited to 'dozentenmodul/src/main/java')
4 files changed, 46 insertions, 13 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageCache.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageCache.java index 380b51ea..d9795ace 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageCache.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ImageCache.java @@ -18,7 +18,7 @@ public class ImageCache { @Override protected List<ImageSummaryRead> update() throws TAuthorizationException, TInternalServerError, TException { List<ImageSummaryRead> result = null; - int pageSize = ThriftManager.getSatClient().getPageSize(); + int pageSize = Session.getSatelliteConfig().pageSize; for (int i = 0;; ++i) { List<ImageSummaryRead> page = ThriftManager.getSatClient().getImageList(Session.getSatelliteToken(), null, i); if (result == null) { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/LectureCache.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/LectureCache.java index eb80b61e..bbed5adc 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/LectureCache.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/LectureCache.java @@ -18,7 +18,7 @@ public class LectureCache { @Override protected List<LectureSummary> update() throws TAuthorizationException, TInternalServerError, TException { List<LectureSummary> result = null; - int pageSize = ThriftManager.getSatClient().getPageSize(); + int pageSize = Session.getSatelliteConfig().pageSize; for (int i = 0;; ++i) { List<LectureSummary> page = ThriftManager.getSatClient().getLectureList(Session.getSatelliteToken(), i); if (result == null) { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java index 36c6f617..c1c52fcb 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java @@ -1,7 +1,11 @@ package org.openslx.dozmod.thrift; +import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.bwlp.thrift.iface.ClientSessionData; +import org.openslx.bwlp.thrift.iface.ImagePermissions; +import org.openslx.bwlp.thrift.iface.LecturePermissions; +import org.openslx.bwlp.thrift.iface.SatelliteConfig; import org.openslx.bwlp.thrift.iface.SessionData; import org.openslx.bwlp.thrift.iface.TInvalidTokenException; import org.openslx.bwlp.thrift.iface.UserInfo; @@ -10,23 +14,25 @@ import org.openslx.dozmod.authentication.ServiceProviderResponse; import org.openslx.thrifthelper.ThriftManager; public class Session { - + + private static final Logger LOGGER = Logger.getLogger(Session.class); + private static String firstName = null; - + private static String lastName = null; - + private static String eMail = null; - + private static String userId = null; - + private static String organizationId = null; private static String satelliteToken = null; - + private static String masterToken = null; private static String satelliteAddress = null; - + public static void fromClientSessionData(ClientSessionData session) { if (userId != null && !userId.equals(session.userInfo.userId)) throw new IllegalArgumentException("Cannot set new session data with different user id!"); @@ -50,7 +56,7 @@ public class Session { masterToken = session.sessionId; satelliteToken = session.authToken; } - + public static void fromEcpLogin(ServiceProviderResponse response) { if (userId != null && !userId.equals(response.userId)) throw new IllegalArgumentException("Cannot set new session data with different user id!"); @@ -62,12 +68,12 @@ public class Session { masterToken = response.sessionId; satelliteToken = response.token; } - + public static void fromSavedSession(SavedSession session) { satelliteToken = session.token; // TODO: Satellite whoami call } - + /** * @return the first name */ @@ -131,4 +137,31 @@ public class Session { Session.satelliteAddress = satelliteAddress; } + private static SatelliteConfig satConf = null; + + /** + * Query the satellite server for its configuration and default values. + * + * @return + */ + public static SatelliteConfig getSatelliteConfig() { + synchronized (SatelliteConfig.class) { + if (satConf != null) + return satConf; + try { + satConf = ThriftManager.getSatClient().getConfiguration(); + return satConf; + } catch (TException e) { + LOGGER.warn("Could not get satellite configuration, falling back to builtin defaults", e); + SatelliteConfig satConfig = new SatelliteConfig(); + satConfig.setDefaultImagePermissions(new ImagePermissions(true, true, false, false)); + satConfig.setDefaultLecturePermissions(new LecturePermissions(false, false)); + satConfig.setMaxImageValidityDays(200); + satConfig.setMaxLectureValidityDays(100); + satConfig.setPageSize(200); + return satConfig; + } + } + } + } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/UserCache.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/UserCache.java index 50c02f08..949d01c1 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/UserCache.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/UserCache.java @@ -22,7 +22,7 @@ public class UserCache { @Override protected List<UserInfo> update() throws Exception { List<UserInfo> result = null; - int pageSize = ThriftManager.getSatClient().getPageSize(); + int pageSize = Session.getSatelliteConfig().pageSize; for (int i = 0;; ++i) { List<UserInfo> page = ThriftManager.getSatClient() .getUserList(Session.getSatelliteToken(), i); |
