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 2bef405  [OPENMEETINGS-1929] pictureUri can be set via SOAP/REST API
2bef405 is described below

commit 2bef405367cd138db616fe8ce7ff0ad975be3e94
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sat Sep 8 18:34:18 2018 +0700

    [OPENMEETINGS-1929] pictureUri can be set via SOAP/REST API
---
 .../apache/openmeetings/core/converter/ImageConverter.java   |  4 ++--
 .../org/apache/openmeetings/core/ldap/LdapLoginManager.java  |  6 +++---
 .../java/org/apache/openmeetings/db/dao/user/UserDao.java    |  4 ++--
 .../java/org/apache/openmeetings/db/dto/user/UserDTO.java    | 12 ++++++++++++
 .../java/org/apache/openmeetings/db/entity/user/User.java    | 12 ++++++------
 .../main/java/org/apache/openmeetings/cli/CleanupHelper.java |  2 +-
 .../java/org/apache/openmeetings/web/app/UserManager.java    |  2 +-
 .../java/org/apache/openmeetings/web/app/WebSession.java     |  4 ++--
 .../org/apache/openmeetings/web/user/rooms/RoomsPanel.java   |  2 +-
 .../openmeetings/web/util/ProfileImageResourceReference.java |  4 ++--
 .../org/apache/openmeetings/webservice/TestUserService.java  |  2 +-
 11 files changed, 33 insertions(+), 21 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
index d0c27db..24cb01a 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/ImageConverter.java
@@ -105,10 +105,10 @@ public class ImageConverter extends BaseConverter {
                        file.delete();
                }
 
-               String pictureuri = destinationFile.getName();
+               String img = destinationFile.getName();
                User us = userDao.get(userId);
                us.setUpdated(new Date());
-               us.setPictureuri(pictureuri);
+               us.setPictureUri(img);
                userDao.update(us, userId);
 
                return returnMap;
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
index 1ccdfbd..917b996 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
@@ -370,9 +370,9 @@ public class LdapLoginManager {
                        
u.getAddress().setCountry(validateCountry(getStringAttr(config, entry, 
CONFIGKEY_LDAP_KEY_COUNTRY, LDAP_KEY_COUNTRY)));
                        u.getAddress().setTown(getStringAttr(config, entry, 
CONFIGKEY_LDAP_KEY_TOWN, LDAP_KEY_TOWN));
                        u.getAddress().setPhone(getStringAttr(config, entry, 
CONFIGKEY_LDAP_KEY_PHONE, LDAP_KEY_PHONE));
-                       u.setPictureuri(getStringAttr(config, entry, 
CONFIGKEY_LDAP_KEY_PICTURE, ""));
-                       if (Strings.isEmpty(u.getPictureuri()) && 
!Strings.isEmpty(options.pictureUri)) {
-                               u.setPictureuri(options.pictureUri);
+                       u.setPictureUri(getStringAttr(config, entry, 
CONFIGKEY_LDAP_KEY_PICTURE, ""));
+                       if (Strings.isEmpty(u.getPictureUri()) && 
!Strings.isEmpty(options.pictureUri)) {
+                               u.setPictureUri(options.pictureUri);
                        }
                        String tz = getStringAttr(config, entry, 
LdapOptions.CONFIGKEY_LDAP_TIMEZONE_NAME, LDAP_KEY_TIMEZONE);
                        if (tz == null) {
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
index be8fa16..7d303bd 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
@@ -357,8 +357,8 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                        u.setGroupUsers(new ArrayList<>());
                        u.setRights(new HashSet<>());
                        u.setTimeZoneId(getDefaultTimezone());
-                       File pic = 
OmFileHelper.getUserProfilePicture(u.getId(), u.getPictureuri(), null);
-                       u.setPictureuri(null);
+                       File pic = 
OmFileHelper.getUserProfilePicture(u.getId(), u.getPictureUri(), null);
+                       u.setPictureUri(null);
                        ICrypt crypt = CryptProvider.get();
                        try {
                                u.updatePassword(crypt.randomPassword(25));
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
index f8da684..fe60bd4 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java
@@ -52,6 +52,7 @@ public class UserDTO implements Serializable {
        private String timeZoneId;
        private String externalId;
        private String externalType;
+       private String pictureUri;
        private Type type = Type.user;
 
        public UserDTO() {
@@ -70,6 +71,7 @@ public class UserDTO implements Serializable {
                type = u.getType();
                externalId = u.getExternalId();
                externalType = u.getExternalType();
+               pictureUri = u.getPictureUri();
        }
 
        public User get(UserDao userDao) {
@@ -84,6 +86,7 @@ public class UserDTO implements Serializable {
                u.setExternalId(externalId);
                u.setExternalType(externalType);
                u.setType(type);
+               u.setPictureUri(pictureUri);
                return u;
        }
 
@@ -193,6 +196,14 @@ public class UserDTO implements Serializable {
                this.externalType = externalType;
        }
 
+       public String getPictureUri() {
+               return pictureUri;
+       }
+
+       public void setPictureUri(String pictureUri) {
+               this.pictureUri = pictureUri;
+       }
+
        public static UserDTO fromString(String s) {
                return get(new JSONObject(s));
        }
@@ -219,6 +230,7 @@ public class UserDTO implements Serializable {
                u.externalId = o.optString("externalId", null);
                u.externalType = o.optString("externalType", null);
                u.type = optEnum(Type.class, o, "type");
+               u.pictureUri = o.optString("pictureUri", null);
                return u;
        }
 
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
index 910cee3..5090e75 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
@@ -215,7 +215,7 @@ public class User extends HistoricalEntity {
 
        @Column(name = "pictureuri")
        @Element(data = true, required = false)
-       private String pictureuri;
+       private String pictureUri;
 
        @Column(name = "language_id")
        @Element(name = "language_id", data = true, required = false)
@@ -417,12 +417,12 @@ public class User extends HistoricalEntity {
                this.salutation = salutation;
        }
 
-       public String getPictureuri() {
-               return pictureuri;
+       public String getPictureUri() {
+               return pictureUri;
        }
 
-       public void setPictureuri(String pictureuri) {
-               this.pictureuri = pictureuri;
+       public void setPictureUri(String pictureUri) {
+               this.pictureUri = pictureUri;
        }
 
        public long getLanguageId() {
@@ -582,7 +582,7 @@ public class User extends HistoricalEntity {
        public String toString() {
                return "User [id=" + id + ", firstname=" + firstname
                                + ", lastname=" + lastname + ", login=" + login
-                               + ", pictureuri=" + pictureuri + ", deleted=" + 
isDeleted()
+                               + ", pictureuri=" + pictureUri + ", deleted=" + 
isDeleted()
                                + ", languageId=" + languageId + ", address=" + 
address
                                + ", externalId=" + externalId + ", 
externalType=" + externalType
                                + ", type=" + type + "]";
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
index 963a415..aa679e5 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
@@ -58,7 +58,7 @@ public class CleanupHelper {
                        }
                }
                for (User u : udao.getAllBackupUsers()) {
-                       if (!u.isDeleted() && u.getPictureuri() != null && !new 
File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureuri()).exists()) {
+                       if (!u.isDeleted() && u.getPictureUri() != null && !new 
File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureUri()).exists()) {
                                missing++;
                        }
                }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
index ae23f74..df76ee5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
@@ -274,7 +274,7 @@ public class UserManager implements IUserManager {
                        u.getAddress().setEmail(user.getEmail());
                        String picture = user.getPicture();
                        if (picture != null) {
-                               u.setPictureuri(picture);
+                               u.setPictureUri(picture);
                        }
                        String locale = user.getLocale();
                        if (locale != null) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
index 157b9b1..0e8cc34 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
@@ -246,11 +246,11 @@ public class WebSession extends 
AbstractAuthenticatedWebSession implements IWebS
                                                user.getRights().clear();
                                                
user.getRights().add(Right.Room);
                                                
user.getAddress().setEmail(remoteUser.getEmail());
-                                               
user.setPictureuri(remoteUser.getPictureUrl());
+                                               
user.setPictureUri(remoteUser.getPictureUrl());
                                        } else {
                                                
user.setFirstname(remoteUser.getFirstname());
                                                
user.setLastname(remoteUser.getLastname());
-                                               
user.setPictureuri(remoteUser.getPictureUrl());
+                                               
user.setPictureUri(remoteUser.getPictureUrl());
                                        }
                                        user = userDao.update(user, null);
                                        if (markUsed) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
index 9d1a267..612f7d5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
@@ -83,7 +83,7 @@ public class RoomsPanel extends UserPanel {
                                        protected byte[] getData(Attributes 
attributes) {
                                                String uri = null;
                                                if (userId != null) {
-                                                       uri = 
userDao.get(userId > 0 ? userId : -userId).getPictureuri();
+                                                       uri = 
userDao.get(userId > 0 ? userId : -userId).getPictureUri();
                                                }
                                                File img = 
OmFileHelper.getUserProfilePicture(userId, uri);
                                                try (InputStream is = new 
FileInputStream(img)) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
index 929225d..76fba36 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
@@ -59,7 +59,7 @@ public class ProfileImageResourceReference extends 
ResourceReference {
        }
 
        public static String getUrl(RequestCycle rc, User u) {
-               String uri = u.getPictureuri();
+               String uri = u.getPictureUri();
                if (!isAbsolute(uri)) {
                        File img = 
OmFileHelper.getUserProfilePicture(u.getId(), uri);
                        uri = rc.urlFor(new ProfileImageResourceReference()
@@ -92,7 +92,7 @@ public class ProfileImageResourceReference extends 
ResourceReference {
                                        PageParameters params = 
attributes.getParameters();
                                        try {
                                                userId = 
params.get("id").toOptionalLong();
-                                               uri = 
SIP_USER_ID.equals(userId) ? null : userDao.get(userId).getPictureuri();
+                                               uri = 
SIP_USER_ID.equals(userId) ? null : userDao.get(userId).getPictureUri();
                                        } catch (Exception e) {
                                                // no-op, junk filter
                                        }
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
index bbe326a..5276275 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
@@ -116,7 +116,7 @@ public class TestUserService extends AbstractWebServiceTest 
{
                assertNotEquals(userId0, userId1);
                User u = getBean(UserDao.class).get(userId1);
                assertNotNull("User should be created successfuly", u);
-               assertEquals("Picture URL should be preserved", 
DUMMY_PICTURE_URL, u.getPictureuri());
+               assertEquals("Picture URL should be preserved", 
DUMMY_PICTURE_URL, u.getPictureUri());
        }
 
        @Test

Reply via email to