From 60b131ad2acc4b6d06ebbe031d6e51a7fb294e10 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 11 Jan 2010 10:27:40 +0000 Subject: [PATCH] [LMS-1302] using SYSTEM user settings for as default settings for newly created users SVN: 14223 --- .../cisd/openbis/generic/server/AbstractServer.java | 7 +++++-- .../systemsx/cisd/openbis/generic/server/CommonServer.java | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java index 64df17fdcf0..df70852635d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java @@ -147,7 +147,8 @@ public abstract class AbstractServer<T extends IServer> extends AbstractServiceW return roleAssignmentPE; } - protected final PersonPE createPerson(final Principal principal, final PersonPE registrator) + protected final PersonPE createPerson(final Principal principal, final PersonPE registrator, + DisplaySettings defaultDisplaySettings) { final PersonPE person = new PersonPE(); person.setUserId(principal.getUserId()); @@ -156,6 +157,7 @@ public abstract class AbstractServer<T extends IServer> extends AbstractServiceW person.setEmail(principal.getEmail()); person.setRegistrator(registrator); person.setDatabaseInstance(daoFactory.getHomeDatabaseInstance()); + person.setDisplaySettings(defaultDisplaySettings); try { daoFactory.getPersonDAO().createPerson(person); @@ -249,7 +251,8 @@ public abstract class AbstractServer<T extends IServer> extends AbstractServiceW if (person == null) { final PersonPE systemUser = getSystemUser(persons); - person = createPerson(session.getPrincipal(), systemUser); + final DisplaySettings defaultDisplaySettings = getDefaultDisplaySettings(sessionToken); + person = createPerson(session.getPrincipal(), systemUser, defaultDisplaySettings); } else { HibernateUtils.initialize(person.getAllPersonRoles()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index c1650a92f67..58a097cb13d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -87,6 +87,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DeletedDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DetailedSearchCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; @@ -277,13 +278,14 @@ public final class CommonServer extends AbstractCommonServer<ICommonServer> impl throw new EnvironmentFailureException("Authentication service cannot be accessed."); } List<String> unknownUsers = new ArrayList<String>(); + final DisplaySettings defaultDisplaySettings = getDefaultDisplaySettings(sessionToken); for (String userID : userIDs) { try { final Principal principal = authenticationService.getPrincipal(applicationToken, userID); - createPerson(principal, session.tryGetPerson()); + createPerson(principal, session.tryGetPerson(), defaultDisplaySettings); } catch (final IllegalArgumentException e) { unknownUsers.add(userID); -- GitLab