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