This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 1bfb1c1  [OPENMEETINGS-2177] import of external users is fixed
1bfb1c1 is described below

commit 1bfb1c1f1ea489968203ff65bcb234a5c00005f3
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 27 20:53:32 2020 +0700

    [OPENMEETINGS-2177] import of external users is fixed
---
 .../org/apache/openmeetings/backup/BackupImport.java |  4 ++++
 .../apache/openmeetings/backup/TestImportUser.java   |  6 +++++-
 .../org/apache/openmeetings/backup/user/users.xml    | 20 ++++++++++++++++++++
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
index 7cbe33a..af849b6 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
@@ -661,6 +661,10 @@ public class BackupImport {
                        if (AuthLevelUtil.hasLoginLevel(u.getRights()) && 
!Strings.isEmpty(u.getActivatehash())) {
                                u.setActivatehash(null);
                        }
+                       if (u.getExternalType() != null) {
+                               Group g = 
groupDao.getExternal(u.getExternalType());
+                               u.addGroup(g);
+                       }
                        userDao.update(u, Long.valueOf(-1));
                        userMap.put(userId, u.getId());
                });
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
index 0709af4..e493689 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
@@ -19,9 +19,11 @@
 package org.apache.openmeetings.backup;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.File;
 
+import org.apache.openmeetings.db.entity.user.User;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -39,7 +41,9 @@ public class TestImportUser extends AbstractTestImport {
                long userCount = userDao.count();
                File configs = new 
File(getClass().getClassLoader().getResource("org/apache/openmeetings/backup/user/users.xml").toURI());
                backupImport.importUsers(configs.getParentFile());
-               assertEquals(userCount + 7, userDao.count(), "Users should be 
added");
+               assertEquals(userCount + 8, userDao.count(), "Users should be 
added");
+               User ext = userDao.getExternalUser("234", "TheBestCms");
+               assertNotNull(ext, "External user should be imported");
        }
 
        @Test
diff --git 
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
 
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
index 2e2bf56..3d28b60 100644
--- 
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
+++ 
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
@@ -221,5 +221,25 @@ see http://openmeetings.apache.org/Upgrade.html for Details
          <type><![CDATA[UsER]]></type>
          <rights class="org.apache.openjpa.util.java$util$HashSet$proxy"/>
       </user>
+      <user>
+         <user_id><![CDATA[8]]></user_id>
+         <firstname><![CDATA[Bogin]]></firstname>
+         <lastname><![CDATA[Mig]]></lastname>
+         <login><![CDATA[bogin.mig]]></login>
+         <deleted><![CDATA[false]]></deleted>
+         <language_id><![CDATA[3]]></language_id>
+         <address>
+            <country><![CDATA[DE]]></country>
+            <mail><![CDATA[bogin.mig@local]]></mail>
+         </address>
+         <forceTimeZoneCheck><![CDATA[false]]></forceTimeZoneCheck>
+         <sendSMS>false</sendSMS>
+         <showContactData><![CDATA[false]]></showContactData>
+         
<showContactDataToContacts><![CDATA[false]]></showContactDataToContacts>
+         <type><![CDATA[eXtErNaL]]></type>
+         <rights class="org.apache.openjpa.util.java$util$HashSet$proxy"/>
+         <externalUserId>234</externalUserId>
+         <externalUserType>TheBestCms</externalUserType>
+      </user>
    </users>
 </root>

Reply via email to